mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-01 13:26:47 +08:00
gas/
* config/tc-ppc.c (ppc_handle_align): Handle power7's group ending nop. gas/testsuite/ * gas/ppc/power7.d ("ori", ".p2align"): Add tests for group ending nop. * gas/ppc/power7.s: Likewise. * gas/ppc/power6.d: Likewise. * gas/ppc/power6.s: Likewise.
This commit is contained in:
parent
1aa34cc52c
commit
42240548bf
@ -1,3 +1,7 @@
|
||||
2009-03-31 Peter Bergner <bergner@vnet.ibm.com>
|
||||
|
||||
* config/tc-ppc.c (ppc_handle_align): Handle power7's group ending nop.
|
||||
|
||||
2009-03-31 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||
|
||||
* doc/internals.texi: Fix trivial syntax errors.
|
||||
|
@ -5687,13 +5687,14 @@ ppc_handle_align (struct frag *fragP)
|
||||
fragP->fr_var = 4;
|
||||
md_number_to_chars (dest, 0x60000000, 4);
|
||||
|
||||
if ((ppc_cpu & PPC_OPCODE_POWER6) != 0)
|
||||
if ((ppc_cpu & PPC_OPCODE_POWER6) != 0
|
||||
|| (ppc_cpu & PPC_OPCODE_POWER7) != 0)
|
||||
{
|
||||
/* For power6, we want the last nop to be a group terminating
|
||||
one, "ori 1,1,0". 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 and power7, 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);
|
||||
@ -5707,7 +5708,12 @@ ppc_handle_align (struct frag *fragP)
|
||||
dest = group_nop->fr_literal;
|
||||
}
|
||||
|
||||
md_number_to_chars (dest, 0x60210000, 4);
|
||||
if ((ppc_cpu & PPC_OPCODE_POWER7) != 0)
|
||||
/* power7 group terminating nop: "ori 2,2,0". */
|
||||
md_number_to_chars (dest, 0x60420000, 4);
|
||||
else
|
||||
/* power6 group terminating nop: "ori 1,1,0". */
|
||||
md_number_to_chars (dest, 0x60210000, 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +1,10 @@
|
||||
2009-03-31 Peter Bergner <bergner@vnet.ibm.com>
|
||||
|
||||
* gas/ppc/power7.d ("ori", ".p2align"): Add tests for group ending nop.
|
||||
* gas/ppc/power7.s: Likewise.
|
||||
* gas/ppc/power6.d: Likewise.
|
||||
* gas/ppc/power6.s: Likewise.
|
||||
|
||||
2009-03-30 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* gas/arm/mapsecs.d, gas/arm/mapsecs.s: New.
|
||||
|
@ -69,3 +69,5 @@ Disassembly of section \.text:
|
||||
ec: 7d 6a 02 74 cbcdtd r10,r11
|
||||
f0: 7d 6a 02 34 cdtbcd r10,r11
|
||||
f4: 7d 4b 60 94 addg6s r10,r11,r12
|
||||
f8: 60 21 00 00 ori r1,r1,0
|
||||
fc: 60 21 00 00 ori r1,r1,0
|
||||
|
@ -64,3 +64,5 @@ start:
|
||||
cbcdtd 10,11
|
||||
cdtbcd 10,11
|
||||
addg6s 10,11,12
|
||||
ori 1,1,0
|
||||
.p2align 4,,15
|
||||
|
@ -111,3 +111,7 @@ Disassembly of section \.text:
|
||||
194: ed c0 78 34 frsqrtes f14,f15
|
||||
198: ed c0 78 35 frsqrtes\. f14,f15
|
||||
19c: 7c 43 27 1e isel r2,r3,r4,28
|
||||
1a0: 60 42 00 00 ori r2,r2,0
|
||||
1a4: 60 00 00 00 nop
|
||||
1a8: 60 00 00 00 nop
|
||||
1ac: 60 42 00 00 ori r2,r2,0
|
||||
|
@ -104,3 +104,5 @@ power7:
|
||||
frsqrtes 14,15
|
||||
frsqrtes. 14,15
|
||||
isel 2,3,4,28
|
||||
ori 2,2,0
|
||||
.p2align 4,,15
|
||||
|
Loading…
Reference in New Issue
Block a user