diff options
author | Alan Modra <amodra@gmail.com> | 2010-06-14 14:48:05 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2010-06-14 14:48:05 +0000 |
commit | e01d869a3be23aa63825fa1a10e894c5aa3c31a9 (patch) | |
tree | f2f2b371b7366b4f3a755020b84ff16b520f2f75 /gas | |
parent | 92b729071eddfad07aa5df4f05fc1d3b7fca6923 (diff) | |
download | gdb-e01d869a3be23aa63825fa1a10e894c5aa3c31a9.zip gdb-e01d869a3be23aa63825fa1a10e894c5aa3c31a9.tar.gz gdb-e01d869a3be23aa63825fa1a10e894c5aa3c31a9.tar.bz2 |
gas/
* config/tc-ppc.c (md_assemble): Emit APUinfo section for
PPC_OPCODE_E500.
gas/testsuite/
* gas/ppc/e500.s: Add eieio, mbar and lwsync
* gas/ppc/e500.d: Likewise.
include/opcode/
* ppc.h (PPC_OPCODE_E500): Define.
opcodes/
* ppc-dis.c (ppc_opts): Remove PPC_OPCODE_E500MC from e500 and
e500x2. Add PPC_OPCODE_E500 to e500 and e500x2
* ppc-opc.c (powerpc_opcodes): Deprecate all opcodes on EFS which
touch floating point regs and are enabled by COM, PPC or PPCCOM.
Treat sync as msync on e500. Treat eieio as mbar 1 on e500.
Treat lwsync as msync on e500.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-ppc.c | 2 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/e500.d | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/e500.s | 9 |
5 files changed, 25 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 894b0ab..821955e 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2010-06-14 Alan Modra <amodra@gmail.com> + + * config/tc-ppc.c (md_assemble): Emit APUinfo section for + PPC_OPCODE_E500. + 2010-06-11 Jan Beulich <jbeulich@novell.com> * config/tc-i386.c (md_parse_option): Ignore impossible processor diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index b79f214..d36bbc9 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -2908,7 +2908,7 @@ md_assemble (char *str) #ifdef OBJ_ELF /* Do we need/want a APUinfo section? */ - if ((ppc_cpu & PPC_OPCODE_E500MC) != 0) + if ((ppc_cpu & (PPC_OPCODE_E500 | PPC_OPCODE_E500MC)) != 0) { /* These are all version "1". */ if (opcode->flags & PPC_OPCODE_SPE) diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index a1affb30..b4583a1 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-06-14 Sebastian Andrzej Siewior <bigeasy@linutronix.de> + + * gas/ppc/e500.s: Add eieio, mbar and lwsync + * gas/ppc/e500.d: Likewise. + 2010-06-09 Matthew Gretton-Dann <matthew.gretton-dann@arm.com> * gas/arm/vldm-arm.d: New test. diff --git a/gas/testsuite/gas/ppc/e500.d b/gas/testsuite/gas/ppc/e500.d index d338d38..19b17db 100644 --- a/gas/testsuite/gas/ppc/e500.d +++ b/gas/testsuite/gas/ppc/e500.d @@ -49,3 +49,8 @@ Disassembly of section \.text: 9c: 10 a0 22 f7 efdctsf r5,r4 a0: 10 a0 22 f6 efdctuf r5,r4 a4: 10 a0 22 ef efdcfs r5,r4 + a8: 7c 20 06 ac mbar 1 + ac: 7c 00 06 ac mbar + b0: 7c 20 06 ac mbar 1 + b4: 7c 00 04 ac msync + b8: 7c 00 04 ac msync diff --git a/gas/testsuite/gas/ppc/e500.s b/gas/testsuite/gas/ppc/e500.s index e78f251..c506078 100644 --- a/gas/testsuite/gas/ppc/e500.s +++ b/gas/testsuite/gas/ppc/e500.s @@ -45,3 +45,12 @@ start: efdctsf 5,4 efdctuf 5,4 efdcfs 5,4 + + # eieio handling + eieio + mbar + mbar 1 + + #sync and lwsync handling + sync + lwsync |