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] Really remove unnecessary power9 group terminating nop


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

commit 6a7524c6aa18f5afa4977314eb01f0360e752789
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.

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

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 7670ee2..8a6161d 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,11 @@
 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 dc63d60..ff76221 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -6549,8 +6549,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
@@ -6570,8 +6569,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]