diff options
author | Alan Modra <amodra@gmail.com> | 2018-03-08 10:17:41 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2018-03-08 14:17:01 +1030 |
commit | 3fea0c3b3fe53ea805f1289ec9ff5e785024362f (patch) | |
tree | 49696b751f102f7d74becafe7cdb5a1f031ef893 /gas | |
parent | 6d4f21f6eee9933a2883f2a214953432c13ee1c2 (diff) | |
download | gdb-3fea0c3b3fe53ea805f1289ec9ff5e785024362f.zip gdb-3fea0c3b3fe53ea805f1289ec9ff5e785024362f.tar.gz gdb-3fea0c3b3fe53ea805f1289ec9ff5e785024362f.tar.bz2 |
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.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | 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 <amodra@gmail.com> + + * config/tc-ppc.c (ppc_handle_align): Don't emit a group + terminating nop for power9. + 2018-03-07 H.J. Lu <hongjiu.lu@intel.com> 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 |