Do not insert non-BookE32 instructions into the hash table if the target cpu

is the BookE32. (case 107575)
This commit is contained in:
Nick Clifton 2002-09-04 12:37:30 +00:00
parent 07dd56a969
commit 341026c1c1
4 changed files with 19 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2002-09-04 Nick Clifton <nickc@redhat.com>
* config/tc-ppc.c (md_begin): Do not insert non-BookE32
instructions into the hash table if the target cpu is the BookE32.
2002-08-31 Hans-Peter Nilsson <hp@bitrange.com>
* read.c (do_align): Use ATTRIBUTE_UNUSED_LABEL for label, not

View file

@ -1207,6 +1207,14 @@ md_begin ()
|| ((op->flags & (PPC_OPCODE_32 | PPC_OPCODE_64))
== (ppc_cpu & (PPC_OPCODE_32 | PPC_OPCODE_64)))
|| (ppc_cpu & PPC_OPCODE_64_BRIDGE) != 0)
/* Certain instructions (eg: extsw) do not exist in the
32-bit BookE instruction set, but they do exist in the
64-bit BookE instruction set, and other PPC instruction
sets. Check to see if the opcode has the BOOKE64 flag set.
If it does make sure that the target CPU is not the BookE32. */
&& ((op->flags & PPC_OPCODE_BOOKE64) == 0
|| (ppc_cpu & PPC_OPCODE_BOOKE64) == PPC_OPCODE_BOOKE64
|| (ppc_cpu & PPC_OPCODE_BOOKE) == 0)
&& ((op->flags & (PPC_OPCODE_POWER4 | PPC_OPCODE_NOPOWER4)) == 0
|| ((op->flags & PPC_OPCODE_POWER4)
== (ppc_cpu & PPC_OPCODE_POWER4))))

View file

@ -1,3 +1,7 @@
2002-09-04 Nick Clifton <nickc@redhat.com>
* ppc-opc.c (extsw, extsw.): Do not allow for the BookE32.
2002-09-04 Nick Clifton <nickc@redhat.com>
* disassemble.c (disassembler_usage): Add invocation of

View file

@ -4238,8 +4238,8 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{ "stfiwx", X(31,983), X_MASK, PPC, { FRS, RA, RB } },
{ "extsw", XRC(31,986,0), XRB_MASK, PPC, { RA, RS } },
{ "extsw.", XRC(31,986,1), XRB_MASK, PPC, { RA, RS } },
{ "extsw", XRC(31,986,0), XRB_MASK, PPC | BOOKE64, { RA, RS } },
{ "extsw.", XRC(31,986,1), XRB_MASK, PPC | BOOKE64, { RA, RS } },
{ "icread", X(31,998), XRT_MASK, PPC403, { RA, RB } },