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.
This commit is contained in:
parent
6d4f21f6ee
commit
3fea0c3b3f
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue