From 3fea0c3b3fe53ea805f1289ec9ff5e785024362f Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 8 Mar 2018 10:17:41 +1030 Subject: [PATCH] Remove unnecessary power9 group terminating nop Power9 doesn't have a group terminating nop, so we may as well emit a normal nop for power9. Not that it matters a great deal, I believe ori 2,2,0 will be treated exactly as ori 0,0,0 by the hardware. * config/tc-ppc.c (ppc_handle_align): Don't emit a group terminating nop for power9. --- gas/ChangeLog | 5 +++++ gas/config/tc-ppc.c | 18 ++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 765270d..7670ee2 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2018-03-08 Alan Modra + + * config/tc-ppc.c (ppc_handle_align): Don't emit a group + terminating nop for power9. + 2018-03-07 H.J. Lu PR gas/22874 diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index f63003b..dc63d60 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -6550,14 +6550,13 @@ ppc_handle_align (struct frag *fragP) 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) + || (ppc_cpu & PPC_OPCODE_POWER8) != 0) { - /* For power6, power7, power8 and power9, we want the last nop to be - a group terminating one. Do this by inserting an rs_fill frag - immediately after this one, with its address set to the last nop - location. This will automatically reduce the number of nops in - the current frag by one. */ + /* For power6, power7, and power8, we want the last nop to + be a group terminating one. Do this by inserting an + rs_fill frag immediately after this one, with its address + set to the last nop location. This will automatically + reduce the number of nops in the current frag by one. */ if (count > 4) { struct frag *group_nop = xmalloc (SIZEOF_STRUCT_FRAG + 4); @@ -6572,14 +6571,13 @@ ppc_handle_align (struct frag *fragP) } if ((ppc_cpu & PPC_OPCODE_POWER7) != 0 - || (ppc_cpu & PPC_OPCODE_POWER8) != 0 - || (ppc_cpu & PPC_OPCODE_POWER9) != 0) + || (ppc_cpu & PPC_OPCODE_POWER8) != 0) { if (ppc_cpu & PPC_OPCODE_E500MC) /* e500mc group terminating nop: "ori 0,0,0". */ md_number_to_chars (dest, 0x60000000, 4); else - /* power7/power8/power9 group terminating nop: "ori 2,2,0". */ + /* power7/power8 group terminating nop: "ori 2,2,0". */ md_number_to_chars (dest, 0x60420000, 4); } else -- 2.7.4