This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb/binutils-2_30-branch] Really remove unnecessary power9 group terminating nop


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=345da48bf531f73b87f68b0146f3cb3934a6a069

commit 345da48bf531f73b87f68b0146f3cb3934a6a069
Author: Alan Modra <amodra@gmail.com>
Date:   Thu Mar 8 14:34:09 2018 +1030

    Really remove unnecessary power9 group terminating nop
    
    Oops, not tested well enough.  -mpower9 sets all the PPC_OPCODE_POWERn
    for n <= 9.
    
    	* config/tc-ppc.c (ppc_handle_align): Correct last patch.  Really
    	don't emit a group terminating nop for power9.  Simplify cpu
    	tests.
    
    (cherry picked from commit 6a7524c6aa18f5afa4977314eb01f0360e752789)

Diff:
---
 gas/ChangeLog       | 5 +++++
 gas/config/tc-ppc.c | 6 ++----
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 2210d16..c266eb4 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -2,6 +2,11 @@
 
 	Apply from master
 	2018-03-08  Alan Modra  <amodra@gmail.com>
+	* config/tc-ppc.c (ppc_handle_align): Correct last patch.  Really
+	don't emit a group terminating nop for power9.  Simplify cpu
+	tests.
+
+	2018-03-08  Alan Modra  <amodra@gmail.com>
 	* config/tc-ppc.c (ppc_handle_align): Don't emit a group
 	terminating nop for power9.
 
diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index dbd0295..353648f 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -6555,8 +6555,7 @@ ppc_handle_align (struct frag *fragP)
       md_number_to_chars (dest, 0x60000000, 4);
 
       if ((ppc_cpu & PPC_OPCODE_POWER6) != 0
-	  || (ppc_cpu & PPC_OPCODE_POWER7) != 0
-	  || (ppc_cpu & PPC_OPCODE_POWER8) != 0)
+	  && (ppc_cpu & PPC_OPCODE_POWER9) == 0)
 	{
 	  /* For power6, power7, and power8, we want the last nop to
 	     be a group terminating one.  Do this by inserting an
@@ -6576,8 +6575,7 @@ ppc_handle_align (struct frag *fragP)
 	      dest = group_nop->fr_literal;
 	    }
 
-	  if ((ppc_cpu & PPC_OPCODE_POWER7) != 0
-	      || (ppc_cpu & PPC_OPCODE_POWER8) != 0)
+	  if ((ppc_cpu & PPC_OPCODE_POWER7) != 0)
 	    {
 	      if (ppc_cpu & PPC_OPCODE_E500MC)
 		/* e500mc group terminating nop: "ori 0,0,0".  */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]