This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb] Really remove unnecessary power9 group terminating nop
- From: Alan Modra <amodra at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 8 Mar 2018 04:14:31 -0000
- Subject: [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". */