diff options
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/NEWS | 4 | ||||
-rw-r--r-- | binutils/doc/binutils.texi | 12 | ||||
-rw-r--r-- | gas/ChangeLog | 8 | ||||
-rw-r--r-- | gas/config/tc-ppc.c | 20 | ||||
-rw-r--r-- | gas/doc/as.texinfo | 3 | ||||
-rw-r--r-- | gas/doc/c-ppc.texi | 5 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 9 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/booke.d | 182 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/booke.s | 118 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/booke_xcoff.d | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/booke_xcoff.s | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/booke_xcoff64.d | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/booke_xcoff64.s | 2 | ||||
-rw-r--r-- | opcodes/ChangeLog | 10 | ||||
-rw-r--r-- | opcodes/ppc-dis.c | 4 | ||||
-rw-r--r-- | opcodes/ppc-opc.c | 176 |
17 files changed, 97 insertions, 471 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index db2a7e0..6892138 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2008-12-04 Ben Elliston <bje@au.ibm.com> + + * doc/binutils.texi (objdump): Update booke documentation. + * NEWS: Document user-visible changes to command line options. + 2008-12-04 Nick Clifton <nickc@redhat.com> * objdump.c (dump_reloc_set): Append "()" to symbol names which diff --git a/binutils/NEWS b/binutils/NEWS index 9b0298f..f31446a 100644 --- a/binutils/NEWS +++ b/binutils/NEWS @@ -1,5 +1,9 @@ -*- text -*- +* Support for PowerPC booke64 instructions has been removed. The assembler no + longer accepts -mbooke32 or -mbooke64 and the disassembler no longer accepts + -Mbooke32 or -Mbooke64. Instead, -mbooke and -Mbooke should be used. + Changes in 2.19: * Added -wL switch to dump decoded contents of .debug_line. diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi index 100b0f5..4c1f024 100644 --- a/binutils/doc/binutils.texi +++ b/binutils/doc/binutils.texi @@ -1843,12 +1843,12 @@ option string. Lastly, @option{suffix}, when in AT&T mode, instructs the disassembler to print a mnemonic suffix even when the suffix could be inferred by the operands. -For PPC, @option{booke}, @option{booke32} and @option{booke64} select -disassembly of BookE instructions. @option{32} and @option{64} select -PowerPC and PowerPC64 disassembly, respectively. @option{e300} -selects disassembly for the e300 family. @option{440} selects -disassembly for the PowerPC 440. @option{ppcps} selects disassembly -for the paired single instructions of the PPC750CL. +For PowerPC, @option{booke} controls the disassembly of BookE +instructions. @option{32} and @option{64} select PowerPC and +PowerPC64 disassembly, respectively. @option{e300} selects +disassembly for the e300 family. @option{440} selects disassembly for +the PowerPC 440. @option{ppcps} selects disassembly for the paired +single instructions of the PPC750CL. For MIPS, this option controls the printing of instruction mnemonic names and register names in disassembled instructions. Multiple diff --git a/gas/ChangeLog b/gas/ChangeLog index 004a620..cde9b85 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,11 @@ +2008-12-04 Ben Elliston <bje@au.ibm.com> + + * config/tc-ppc.c (parse_cpu): Remove booke64 support. Update + usage strings. + (ppc_setup_opcodes): Likewise, remove booke64 support. + * doc/c-ppc.texi (PowerPC-Opts): Remove -mbooke32 and -mbooke64. + * doc/as.texinfo (Overview): Likewise. + 2008-12-04 Nick Clifton <nickc@redhat.com> * doc/as.texinfo (Type): Reword description of STT_IFUNC type. diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index 648ed72..cf67a01 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -919,12 +919,6 @@ parse_cpu (const char *arg) { ppc_cpu = PPC_OPCODE_PPC | PPC_OPCODE_BOOKE | PPC_OPCODE_32; } - /* -mbooke64 means enable 64-bit BookE support. */ - else if (strcmp (arg, "booke64") == 0) - { - ppc_cpu = (PPC_OPCODE_PPC | PPC_OPCODE_BOOKE - | PPC_OPCODE_BOOKE64 | PPC_OPCODE_64); - } else if (strcmp (arg, "power4") == 0) { ppc_cpu = (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC @@ -1149,8 +1143,7 @@ PowerPC options:\n\ fprintf (stream, _("\ -mppc64, -m620 generate code for PowerPC 620/625/630\n\ -mppc64bridge generate code for PowerPC 64, including bridge insns\n\ --mbooke64 generate code for 64-bit PowerPC BookE\n\ --mbooke, mbooke32 generate code for 32-bit PowerPC BookE\n\ +-mbooke generate code for 32-bit PowerPC BookE\n\ -mpower4 generate code for Power4 architecture\n\ -mpower5 generate code for Power5 architecture\n\ -mpower6 generate code for Power6 architecture\n\ @@ -1359,8 +1352,7 @@ ppc_setup_opcodes (void) There are also cases where the table needs to be out of order to disassemble the correct instruction for - processor variants. eg. "lhae" booke64 insn must be - found before "ld" ppc64 insn. */ + processor variants. */ else if (0) { unsigned long t1 = op[0].opcode; @@ -1420,14 +1412,6 @@ ppc_setup_opcodes (void) || ((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) && ((ppc_cpu & PPC_OPCODE_POWER4) == 0 || (op->flags & PPC_OPCODE_NOPOWER4) == 0)) { diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo index a5d936b..d1f60dd 100644 --- a/gas/doc/as.texinfo +++ b/gas/doc/as.texinfo @@ -409,8 +409,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}. @emph{Target PowerPC options:} [@b{-mpwrx}|@b{-mpwr2}|@b{-mpwr}|@b{-m601}|@b{-mppc}|@b{-mppc32}|@b{-m603}|@b{-m604}| - @b{-m403}|@b{-m405}|@b{-mppc64}|@b{-m620}|@b{-mppc64bridge}|@b{-mbooke}| - @b{-mbooke32}|@b{-mbooke64}] + @b{-m403}|@b{-m405}|@b{-mppc64}|@b{-m620}|@b{-mppc64bridge}|@b{-mbooke}] [@b{-mcom}|@b{-many}|@b{-maltivec}|@b{-mvsx}] [@b{-memb}] [@b{-mregnames}|@b{-mno-regnames}] [@b{-mrelocatable}|@b{-mrelocatable-lib}] diff --git a/gas/doc/c-ppc.texi b/gas/doc/c-ppc.texi index bc65685..70877cd 100644 --- a/gas/doc/c-ppc.texi +++ b/gas/doc/c-ppc.texi @@ -70,10 +70,7 @@ Generate code for Motorola SPE instructions. @item -mppc64bridge Generate code for PowerPC 64, including bridge insns. -@item -mbooke64 -Generate code for 64-bit BookE. - -@item -mbooke, mbooke32 +@item -mbooke Generate code for 32-bit BookE. @item -me300 diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 523275a..3335301 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2008-12-04 Ben Elliston <bje@au.ibm.com> + + * gas/ppc/booke.s: Remove booke64 instructions. + * gas/ppc/booke.d: Update expected disassembly output. + * gas/ppc/booke_xcoff.s: Use -mbooke/-Mbooke. + * gas/ppc/booke_xcoff.d: Likewise. + * gas/ppc/booke_xcoff64.d: Likewise. + * gas/ppc/booke_xcoff64.s: Likewise. + 2008-12-03 Nick Clifton <nickc@redhat.com> * gas/elf/type.s: Add test of STT_IFUNC symbol type. diff --git a/gas/testsuite/gas/ppc/booke.d b/gas/testsuite/gas/ppc/booke.d index b07033f..403fa3f 100644 --- a/gas/testsuite/gas/ppc/booke.d +++ b/gas/testsuite/gas/ppc/booke.d @@ -1,4 +1,4 @@ -#as: -mbooke64 +#as: -mbooke #objdump: -dr -Mbooke #name: BookE tests @@ -6,151 +6,35 @@ Disassembly of section \.text: -0+0000000 <start>: - 0: 24 25 00 30 bce 1,4\*cr1\+gt,30 <branch_target_1> - 4: 24 46 00 3d bcel 2,4\*cr1\+eq,40 <branch_target_2> - 8: 24 67 00 52 bcea 3,4\*cr1\+so,50 <branch_target_3> - 8: R_PPC(64)?_ADDR14 \.text\+0x50 - c: 24 88 00 73 bcela 4,4\*cr2\+lt,70 <branch_target_4> - c: R_PPC(64)?_ADDR14 \.text\+0x70 - 10: 4c a9 00 22 bclre 5,4\*cr2\+gt - 14: 4c aa 00 23 bclrel 5,4\*cr2\+eq - 18: 4d 0b 04 22 bcctre 8,4\*cr2\+so - 1c: 4d 0c 04 23 bcctrel 8,4\*cr3\+lt - 20: 58 00 00 74 be 94 <branch_target_5> - 24: 58 00 00 89 bel ac <branch_target_6> - 28: 58 00 00 f6 bea f4 <branch_target_7> - 28: R_PPC(64)?_ADDR24 \.text\+0xf4 - 2c: 58 00 01 2b bela 128 <branch_target_8> - 2c: R_PPC(64)?_ADDR24 \.text\+0x128 - -0+0000030 <branch_target_1>: - 30: e9 09 00 80 lbze r8,8\(r9\) - 34: e9 8f 00 41 lbzue r12,4\(r15\) - 38: 7c 86 40 fe lbzuxe r4,r6,r8 - 3c: 7c 65 38 be lbzxe r3,r5,r7 - -0+0000040 <branch_target_2>: - 40: f8 a6 06 40 lde r5,400\(r6\) - 44: f8 c7 07 11 ldue r6,452\(r7\) - 48: 7c e8 4e 3e ldxe r7,r8,r9 - 4c: 7d 4b 66 7e lduxe r10,r11,r12 - -0+0000050 <branch_target_3>: - 50: f9 81 02 06 lfde f12,128\(r1\) - 54: f8 25 00 47 lfdue f1,16\(r5\) - 58: 7c a1 1c be lfdxe f5,r1,r3 - 5c: 7c c2 24 fe lfduxe f6,r2,r4 - 60: f9 09 00 c4 lfse f8,48\(r9\) - 64: f9 2a 01 15 lfsue f9,68\(r10\) - 68: 7d 44 44 7e lfsuxe f10,r4,r8 - 6c: 7d 23 3c 3e lfsxe f9,r3,r7 - -0+0000070 <branch_target_4>: - 70: e9 45 03 24 lhae r10,50\(r5\) - 74: e8 23 00 55 lhaue r1,5\(r3\) - 78: 7c a1 1a fe lhauxe r5,r1,r3 - 7c: 7f be fa be lhaxe r29,r30,r31 - 80: 7c 22 1e 3c lhbrxe r1,r2,r3 - 84: e8 83 01 22 lhze r4,18\(r3\) - 88: e8 c9 01 43 lhzue r6,20\(r9\) - 8c: 7c a7 4a 7e lhzuxe r5,r7,r9 - 90: 7d 27 2a 3e lhzxe r9,r7,r5 - -0+0000094 <branch_target_5>: - 94: 7d 4f a0 fc lwarxe r10,r15,r20 - 98: 7c aa 94 3c lwbrxe r5,r10,r18 - 9c: eb 9d 00 46 lwze r28,4\(r29\) - a0: e9 0a 02 87 lwzue r8,40\(r10\) - a4: 7c 66 48 7e lwzuxe r3,r6,r9 - a8: 7f dd e0 3e lwzxe r30,r29,r28 - -0+00000ac <branch_target_6>: - ac: 7c 06 3d fc dcbae r6,r7 - b0: 7c 08 48 bc dcbfe r8,r9 - b4: 7c 0a 5b bc dcbie r10,r11 - b8: 7c 08 f0 7c dcbste r8,r30 - bc: 7c c3 0a 3c dcbte 6,r3,r1 - c0: 7c a4 11 fa dcbtste 5,r4,r2 - c4: 7c 0f 77 fc dcbze r15,r14 - c8: 7c 03 27 bc icbie r3,r4 - cc: 7c a8 48 2c icbt 5,r8,r9 - d0: 7c ca 78 3c icbte 6,r10,r15 - d4: 7c a6 02 26 mfapidi r5,r6 - d8: 7c 07 46 24 tlbivax r7,r8 - dc: 7c 09 56 26 tlbivaxe r9,r10 - e0: 7c 0b 67 24 tlbsx r11,r12 - e4: 7c 0d 77 26 tlbsxe r13,r14 - e8: 7c 00 07 a4 tlbwe - ec: 7c 00 07 a4 tlbwe - f0: 7c 21 0f a4 tlbwe r1,r1,1 - -0+00000f4 <branch_target_7>: - f4: 7c 22 1b 14 adde64 r1,r2,r3 - f8: 7c 85 37 14 adde64o r4,r5,r6 - fc: 7c e8 03 d4 addme64 r7,r8 - 100: 7d 2a 07 d4 addme64o r9,r10 - 104: 7d 6c 03 94 addze64 r11,r12 - 108: 7d ae 07 94 addze64o r13,r14 - 10c: 7e 80 04 40 mcrxr64 cr5 - 110: 7d f0 8b 10 subfe64 r15,r16,r17 - 114: 7e 53 a7 10 subfe64o r18,r19,r20 - 118: 7e b6 03 d0 subfme64 r21,r22 - 11c: 7e f8 07 d0 subfme64o r23,r24 - 120: 7f 3a 03 90 subfze64 r25,r26 - 124: 7f 7c 07 90 subfze64o r27,r28 - -0+0000128 <branch_target_8>: - 128: e8 22 03 28 stbe r1,50\(r2\) - 12c: e8 64 02 89 stbue r3,40\(r4\) - 130: 7c a6 39 fe stbuxe r5,r6,r7 - 134: 7d 09 51 be stbxe r8,r9,r10 - 138: 7d 6c 6b ff stdcxe\. r11,r12,r13 - 13c: f9 cf 00 78 stde r14,28\(r15\) - 140: fa 11 00 59 stdue r16,20\(r17\) - 144: 7e 53 a7 3e stdxe r18,r19,r20 - 148: 7e b6 bf 7e stduxe r21,r22,r23 - 14c: f8 38 00 3e stfde f1,12\(r24\) - 150: f8 59 00 0f stfdue f2,0\(r25\) - 154: 7c 7a dd be stfdxe f3,r26,r27 - 158: 7c 9c ed fe stfduxe f4,r28,r29 - 15c: 7c be ff be stfiwxe f5,r30,r31 - 160: f8 de 00 6c stfse f6,24\(r30\) - 164: f8 fd 00 5d stfsue f7,20\(r29\) - 168: 7d 1c dd 3e stfsxe f8,r28,r27 - 16c: 7d 3a cd 7e stfsuxe f9,r26,r25 - 170: 7f 17 b7 3c sthbrxe r24,r23,r22 - 174: ea b4 01 ea sthe r21,30\(r20\) - 178: ea 72 02 8b sthue r19,40\(r18\) - 17c: 7e 30 7b 7e sthuxe r17,r16,r15 - 180: 7d cd 63 3e sthxe r14,r13,r12 - 184: 7d 6a 4d 3c stwbrxe r11,r10,r9 - 188: 7d 07 31 3d stwcxe\. r8,r7,r6 - 18c: e8 a4 03 2e stwe r5,50\(r4\) - 190: e8 62 02 8f stwue r3,40\(r2\) - 194: 7c 22 19 7e stwuxe r1,r2,r3 - 198: 7c 85 31 3e stwxe r4,r5,r6 - 19c: 4c 00 00 66 rfci - 1a0: 7c 60 01 06 wrtee r3 - 1a4: 7c 00 81 46 wrteei 1 - 1a8: 7c 85 02 06 mfdcrx r4,r5 - 1ac: 7c aa 3a 86 mfdcr r5,234 - 1b0: 7c e6 03 06 mtdcrx r6,r7 - 1b4: 7d 10 6b 86 mtdcr 432,r8 - 1b8: 7c 00 04 ac msync - 1bc: 7c 09 55 ec dcba r9,r10 - 1c0: 7c 00 06 ac mbar - 1c4: 7c 00 06 ac mbar - 1c8: 7c 20 06 ac mbar 1 - 1cc: 7d 8d 77 24 tlbsx r12,r13,r14 - 1d0: 7d 8d 77 25 tlbsx\. r12,r13,r14 - 1d4: 7d 8d 77 26 tlbsxe r12,r13,r14 - 1d8: 7d 8d 77 27 tlbsxe\. r12,r13,r14 - 1dc: 7c 12 42 a6 mfsprg r0,2 - 1e0: 7c 12 42 a6 mfsprg r0,2 - 1e4: 7c 12 43 a6 mtsprg 2,r0 - 1e8: 7c 12 43 a6 mtsprg 2,r0 - 1ec: 7c 07 42 a6 mfsprg r0,7 - 1f0: 7c 07 42 a6 mfsprg r0,7 - 1f4: 7c 17 43 a6 mtsprg 7,r0 - 1f8: 7c 17 43 a6 mtsprg 7,r0 +0+0000000 <branch_target_1>: + 0: 7c a8 48 2c icbt 5,r8,r9 + 4: 7c a6 02 26 mfapidi r5,r6 + 8: 7c 07 46 24 tlbivax r7,r8 + c: 7c 0b 67 24 tlbsx r11,r12 + 10: 7c 00 07 a4 tlbwe + 14: 7c 00 07 a4 tlbwe + 18: 7c 21 0f a4 tlbwe r1,r1,1 + +0+000001c <branch_target_2>: + 1c: 4c 00 00 66 rfci + 20: 7c 60 01 06 wrtee r3 + 24: 7c 00 81 46 wrteei 1 + 28: 7c 85 02 06 mfdcrx r4,r5 + 2c: 7c aa 3a 86 mfdcr r5,234 + 30: 7c e6 03 06 mtdcrx r6,r7 + 34: 7d 10 6b 86 mtdcr 432,r8 + 38: 7c 00 04 ac msync + 3c: 7c 09 55 ec dcba r9,r10 + 40: 7c 00 06 ac mbar + 44: 7c 00 06 ac mbar + 48: 7c 20 06 ac mbar 1 + 4c: 7d 8d 77 24 tlbsx r12,r13,r14 + 50: 7d 8d 77 25 tlbsx\. r12,r13,r14 + 54: 7c 12 42 a6 mfsprg r0,2 + 58: 7c 12 42 a6 mfsprg r0,2 + 5c: 7c 12 43 a6 mtsprg 2,r0 + 60: 7c 12 43 a6 mtsprg 2,r0 + 64: 7c 07 42 a6 mfsprg r0,7 + 68: 7c 07 42 a6 mfsprg r0,7 + 6c: 7c 17 43 a6 mtsprg 7,r0 + 70: 7c 17 43 a6 mtsprg 7,r0 diff --git a/gas/testsuite/gas/ppc/booke.s b/gas/testsuite/gas/ppc/booke.s index fa53c01..4e51305 100644 --- a/gas/testsuite/gas/ppc/booke.s +++ b/gas/testsuite/gas/ppc/booke.s @@ -1,127 +1,17 @@ # Motorola PowerPC BookE tests -#as: -mbooke32 +#as: -mbooke .section ".text" -start: - bce 1, 5, branch_target_1 - bcel 2, 6, branch_target_2 - bcea 3, 7, branch_target_3 - bcela 4, 8, branch_target_4 - bclre 5, 9 - bclrel 5, 10 - bcctre 8, 11 - bcctrel 8, 12 - be branch_target_5 - bel branch_target_6 - bea branch_target_7 - bela branch_target_8 -branch_target_1: - lbze 8, 8(9) - lbzue 12, 4(15) - lbzuxe 4, 6, 8 - lbzxe 3, 5, 7 - -branch_target_2: - lde 5, 400(6) - ldue 6, 452(7) - ldxe 7, 8, 9 - lduxe 10, 11, 12 - -branch_target_3: - lfde 12, 128(1) - lfdue 1, 16(5) - lfdxe 5, 1, 3 - lfduxe 6, 2, 4 - lfse 8, 48(9) - lfsue 9, 68(10) - lfsuxe 10, 4, 8 - lfsxe 9, 3, 7 - -branch_target_4: - lhae 10, 50(5) - lhaue 1, 5(3) - lhauxe 5, 1, 3 - lhaxe 29, 30, 31 - lhbrxe 1, 2, 3 - lhze 4, 18(3) - lhzue 6, 20(9) - lhzuxe 5, 7, 9 - lhzxe 9, 7, 5 - -branch_target_5: - lwarxe 10, 15, 20 - lwbrxe 5, 10, 18 - lwze 28, 4(29) - lwzue 8, 40(10) - lwzuxe 3, 6, 9 - lwzxe 30, 29, 28 - -branch_target_6: - dcbae 6, 7 - dcbfe 8, 9 - dcbie 10, 11 - dcbste 8, 30 - dcbte 6, 3, 1 - dcbtste 5, 4, 2 - dcbze 15, 14 - icbie 3, 4 +branch_target_1: icbt 5, 8, 9 - icbte 6, 10, 15 mfapidi 5, 6 tlbivax 7, 8 - tlbivaxe 9, 10 tlbsx 11, 12 - tlbsxe 13, 14 tlbwe tlbwe 0,0,0 tlbwe 1,1,1 -branch_target_7: - adde64 1, 2, 3 - adde64o 4, 5, 6 - addme64 7, 8 - addme64o 9, 10 - addze64 11, 12 - addze64o 13, 14 - mcrxr64 5 - subfe64 15, 16, 17 - subfe64o 18, 19, 20 - subfme64 21, 22 - subfme64o 23, 24 - subfze64 25, 26 - subfze64o 27, 28 - -branch_target_8: - stbe 1, 50(2) - stbue 3, 40(4) - stbuxe 5, 6, 7 - stbxe 8, 9, 10 - stdcxe. 11, 12, 13 - stde 14, 28(15) - stdue 16, 20(17) - stdxe 18, 19, 20 - stduxe 21, 22, 23 - stfde 1, 12(24) - stfdue 2, 0(25) - stfdxe 3, 26, 27 - stfduxe 4, 28, 29 - stfiwxe 5, 30, 31 - stfse 6, 24(30) - stfsue 7, 20(29) - stfsxe 8, 28, 27 - stfsuxe 9, 26, 25 - sthbrxe 24, 23, 22 - sthe 21, 30(20) - sthue 19, 40(18) - sthuxe 17, 16, 15 - sthxe 14, 13, 12 - stwbrxe 11, 10, 9 - stwcxe. 8, 7, 6 - stwe 5, 50(4) - stwue 3, 40(2) - stwuxe 1, 2, 3 - stwxe 4, 5, 6 - +branch_target_2: rfci wrtee 3 wrteei 1 @@ -137,8 +27,6 @@ branch_target_8: tlbsx 12, 13, 14 tlbsx. 12, 13, 14 - tlbsxe 12, 13, 14 - tlbsxe. 12, 13, 14 mfsprg 0, 2 mfsprg2 0 diff --git a/gas/testsuite/gas/ppc/booke_xcoff.d b/gas/testsuite/gas/ppc/booke_xcoff.d index dfb308d..fee6970 100644 --- a/gas/testsuite/gas/ppc/booke_xcoff.d +++ b/gas/testsuite/gas/ppc/booke_xcoff.d @@ -1,5 +1,5 @@ -#as: -mppc32 -mbooke32 -#objdump: -mpowerpc -dr -Mbooke32 +#as: -mppc32 -mbooke +#objdump: -mpowerpc -dr -Mbooke #name: xcoff BookE tests .*: file format aixcoff-rs6000 diff --git a/gas/testsuite/gas/ppc/booke_xcoff.s b/gas/testsuite/gas/ppc/booke_xcoff.s index db3578d..7475a46 100644 --- a/gas/testsuite/gas/ppc/booke_xcoff.s +++ b/gas/testsuite/gas/ppc/booke_xcoff.s @@ -1,5 +1,5 @@ # Motorola PowerPC BookE tests -#as: -mbooke32 +#as: -mbooke .csect .text[PR] .csect main[DS] main: diff --git a/gas/testsuite/gas/ppc/booke_xcoff64.d b/gas/testsuite/gas/ppc/booke_xcoff64.d index bd0e6c8..4a301bd 100644 --- a/gas/testsuite/gas/ppc/booke_xcoff64.d +++ b/gas/testsuite/gas/ppc/booke_xcoff64.d @@ -1,5 +1,5 @@ -#as: -a64 -mppc64 -mbooke64 -#objdump: -dr -Mbooke64 +#as: -a64 -mppc64 -mbooke +#objdump: -dr -Mbooke #name: xcoff64 BookE tests .*: file format aix5?coff64-rs6000 diff --git a/gas/testsuite/gas/ppc/booke_xcoff64.s b/gas/testsuite/gas/ppc/booke_xcoff64.s index e915703..f3f58b3 100644 --- a/gas/testsuite/gas/ppc/booke_xcoff64.s +++ b/gas/testsuite/gas/ppc/booke_xcoff64.s @@ -1,5 +1,5 @@ # Motorola PowerPC BookE tests -#as: -a64 -mppc64 -mbooke64 +#as: -a64 -mppc64 -mbooke .csect .text[PR] .csect main[DS] main: diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index dc62aa2..b8655d0 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,13 @@ +2008-12-04 Ben Elliston <bje@au.ibm.com> + + * ppc-dis.c (powerpc_init_dialect): Do not set PPC_OPCODE_BOOKE + for -Mbooke. + (print_ppc_disassembler_options): Update usage. + * ppc-opc.c (DE, DES, DEO, DE_MASK): Remove. + (BOOKE64): Remove. + (PPCCHLK64): Likewise. + (powerpc_opcodes): Remove all BOOKE64 instructions. + 2008-11-28 Joshua Kinard <kumba@gentoo.org> * mips-dis.c (mips_arch_choices): Add r14000, r16000. diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c index bde4c49..061aa84 100644 --- a/opcodes/ppc-dis.c +++ b/opcodes/ppc-dis.c @@ -63,7 +63,7 @@ powerpc_init_dialect (struct disassemble_info *info) dialect |= PPC_OPCODE_PPCPS; else if (info->disassembler_options && strstr (info->disassembler_options, "booke") != NULL) - dialect |= PPC_OPCODE_BOOKE | PPC_OPCODE_BOOKE64; + dialect |= PPC_OPCODE_BOOKE; else if ((info->mach == bfd_mach_ppc_e500mc) || (info->disassembler_options && strstr (info->disassembler_options, "e500mc") != NULL)) @@ -402,7 +402,7 @@ print_ppc_disassembler_options (FILE *stream) The following PPC specific disassembler options are supported for use with\n\ the -M switch:\n"); - fprintf (stream, " booke|booke32|booke64 Disassemble the BookE instructions\n"); + fprintf (stream, " booke Disassemble the BookE instructions\n"); fprintf (stream, " e300 Disassemble the e300 instructions\n"); fprintf (stream, " e500|e500x2 Disassemble the e500 instructions\n"); fprintf (stream, " e500mc Disassemble the e500mc instructions\n"); diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index 7d05f5f..0326df3 100644 --- a/opcodes/ppc-opc.c +++ b/opcodes/ppc-opc.c @@ -223,19 +223,9 @@ const struct powerpc_operand powerpc_operands[] = #define D CT + 1 { 0xffff, 0, NULL, NULL, PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED }, - /* The DE field in a DE form instruction. This is like D, but is 12 - bits only. */ -#define DE D + 1 - { 0xfff, 4, NULL, NULL, PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED }, - - /* The DES field in a DES form instruction. This is like DS, but is 14 - bits only (12 stored.) */ -#define DES DE + 1 - { 0x3ffc, 2, NULL, NULL, PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED }, - /* The DQ field in a DQ form instruction. This is like D, but the lower four bits are forced to zero. */ -#define DQ DES + 1 +#define DQ D + 1 { 0xfff0, 0, NULL, NULL, PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED | PPC_OPERAND_DQ }, @@ -1487,10 +1477,6 @@ extract_xb6s (unsigned long insn, #define DSO(op, xop) (OP (op) | ((xop) & 0x3)) #define DS_MASK DSO (0x3f, 3) -/* A DE form instruction. */ -#define DEO(op, xop) (OP (op) | ((xop) & 0xf)) -#define DE_MASK DEO (0x3e, 0xf) - /* An EVSEL form instruction. */ #define EVSEL(op, xop) (OP (op) | (((unsigned long)(xop)) & 0xff) << 3) #define EVSEL_MASK EVSEL(0x3f, 0xff) @@ -1841,7 +1827,6 @@ extract_xb6s (unsigned long insn, #define MFDEC1 PPC_OPCODE_POWER #define MFDEC2 PPC_OPCODE_PPC | PPC_OPCODE_601 | PPC_OPCODE_BOOKE #define BOOKE PPC_OPCODE_BOOKE -#define BOOKE64 PPC_OPCODE_BOOKE64 #define CLASSIC PPC_OPCODE_CLASSIC #define PPCE300 PPC_OPCODE_E300 #define PPCSPE PPC_OPCODE_SPE @@ -1850,7 +1835,6 @@ extract_xb6s (unsigned long insn, #define PPCBRLK PPC_OPCODE_BRLOCK #define PPCPMR PPC_OPCODE_PMR #define PPCCHLK PPC_OPCODE_CACHELCK -#define PPCCHLK64 PPC_OPCODE_CACHELCK | PPC_OPCODE_BOOKE64 #define PPCRFMCI PPC_OPCODE_RFMCI #define E500MC PPC_OPCODE_E500MC @@ -2525,11 +2509,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"dozi", OP(9), OP_MASK, M601, {RT, RA, SI}}, -{"bce", B(9,0,0), B_MASK, BOOKE64, {BO, BI, BD}}, -{"bcel", B(9,0,1), B_MASK, BOOKE64, {BO, BI, BD}}, -{"bcea", B(9,1,0), B_MASK, BOOKE64, {BO, BI, BDA}}, -{"bcela", B(9,1,1), B_MASK, BOOKE64, {BO, BI, BDA}}, - {"cmplwi", OPL(10,0), OPL_MASK, PPCCOM, {OBF, RA, UI}}, {"cmpldi", OPL(10,1), OPL_MASK, PPC64, {OBF, RA, UI}}, {"cmpli", OP(10), OP_MASK, PPC, {BF, L, RA, UI}}, @@ -3070,9 +3049,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"bclrl", XLLK(19,16,1), XLBH_MASK, PPCCOM, {BO, BI, BH}}, {"bcrl", XLLK(19,16,1), XLBB_MASK, PWRCOM, {BO, BI}}, -{"bclre", XLLK(19,17,0), XLBB_MASK, BOOKE64, {BO, BI}}, -{"bclrel", XLLK(19,17,1), XLBB_MASK, BOOKE64, {BO, BI}}, - {"rfid", XL(19,18), 0xffffffff, PPC64, {0}}, {"crnot", XL(19,33), XL_MASK, PPCCOM, {BT, BA, BBA}}, @@ -3272,9 +3248,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"bcctrl", XLLK(19,528,1), XLBH_MASK, PPCCOM, {BO, BI, BH}}, {"bccl", XLLK(19,528,1), XLBB_MASK, PWRCOM, {BO, BI}}, -{"bcctre", XLLK(19,529,0), XLBB_MASK, BOOKE64, {BO, BI}}, -{"bcctrel", XLLK(19,529,1), XLBB_MASK, BOOKE64, {BO, BI}}, - {"rlwimi", M(20,0), M_MASK, PPCCOM, {RA, RS, SH, MBE, ME}}, {"rlimi", M(20,0), M_MASK, PWRCOM, {RA, RS, SH, MBE, ME}}, @@ -3291,11 +3264,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"rlinm.", M(21,1), M_MASK, PWRCOM, {RA, RS, SH, MBE, ME}}, {"rlmi", M(22,0), M_MASK, M601, {RA, RS, RB, MBE, ME}}, -{"be", B(22,0,0), B_MASK, BOOKE64, {LI}}, -{"bel", B(22,0,1), B_MASK, BOOKE64, {LI}}, {"rlmi.", M(22,1), M_MASK, M601, {RA, RS, RB, MBE, ME}}, -{"bea", B(22,1,0), B_MASK, BOOKE64, {LIA}}, -{"bela", B(22,1,1), B_MASK, BOOKE64, {LIA}}, {"rotlw", MME(23,31,0), MMBME_MASK, PPCCOM, {RA, RS, RB}}, {"rlwnm", M(23,0), M_MASK, PPCCOM, {RA, RS, RB, MBE, ME}}, @@ -3441,10 +3410,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"maskg.", XRC(31,29,1), X_MASK, M601, {RA, RS, RB}}, {"ldepx", X(31,29), X_MASK, E500MC, {RT, RA, RB}}, - -{"icbte", X(31,30), X_MASK, BOOKE64, {CT, RA, RB}}, - -{"lwzxe", X(31,31), X_MASK, BOOKE64, {RT, RA0, RB}}, {"lwepx", X(31,31), X_MASK, E500MC, {RT, RA, RB}}, {"cmplw", XOPL(31,32,0), XCMPL_MASK, PPCCOM, {OBF, RA, RB}}, @@ -3482,12 +3447,8 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"andc", XRC(31,60,0), X_MASK, COM, {RA, RS, RB}}, {"andc.", XRC(31,60,1), X_MASK, COM, {RA, RS, RB}}, -{"dcbste", X(31,62), XRT_MASK, BOOKE64, {RA, RB}}, - {"wait", X(31,62), 0xffffffff, E500MC, {0}}, -{"lwzuxe", X(31,63), X_MASK, BOOKE64, {RT, RAL, RB}}, - {"dcbstep", XRT(31,63,0), XRT_MASK, E500MC, {RA, RB}}, {"tdlgt", XTO(31,68,TOLGT), XTO_MASK, PPC64, {RA, RB}}, @@ -3527,9 +3488,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"lbzx", X(31,87), X_MASK, COM, {RT, RA0, RB}}, -{"dcbfe", X(31,94), XRT_MASK, BOOKE64, {RA, RB}}, - -{"lbzxe", X(31,95), X_MASK, BOOKE64, {RT, RA0, RB}}, {"lbepx", X(31,95), X_MASK, E500MC, {RT, RA, RB}}, {"lvx", X(31,103), X_MASK, PPCVEC, {VD, RA, RB}}, @@ -3554,10 +3512,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"not.", XRC(31,124,1), X_MASK, COM, {RA, RS, RBS}}, {"nor.", XRC(31,124,1), X_MASK, COM, {RA, RS, RB}}, -{"lwarxe", X(31,126), X_MASK, BOOKE64, {RT, RA0, RB}}, - -{"lbzuxe", X(31,127), X_MASK, BOOKE64, {RT, RAL, RB}}, - {"dcbfep", XRT(31,127,0), XRT_MASK, E500MC, {RA, RB}}, {"wrtee", X(31,131), XRARB_MASK, PPC403|BOOKE, {RS}}, @@ -3577,7 +3531,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"adde.", XO(31,138,0,1), XO_MASK, PPCCOM, {RT, RA, RB}}, {"ae.", XO(31,138,0,1), XO_MASK, PWRCOM, {RT, RA, RB}}, -{"dcbtstlse", X(31,142), X_MASK, PPCCHLK64, {CT, RA, RB}}, +{"dcbtstlse", X(31,142), X_MASK, PPCCHLK, {CT, RA, RB}}, {"mtcr", XFXM(31,144,0xff,0), XRARB_MASK, COM, {RS}}, {"mtcrf", XFXM(31,144,0,0), XFXFXM_MASK, COM, {FXM, RS}}, @@ -3602,9 +3556,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"stdepx", X(31,157), X_MASK, E500MC, {RS, RA, RB}}, -{"stwcxe.", XRC(31,158,1), X_MASK, BOOKE64, {RS, RA0, RB}}, - -{"stwxe", X(31,159), X_MASK, BOOKE64, {RS, RA0, RB}}, {"stwepx", X(31,159), X_MASK, E500MC, {RS, RA, RB}}, {"wrteei", X(31,163), XE_MASK, PPC403|BOOKE, {E}}, @@ -3614,7 +3565,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"stvehx", X(31,167), X_MASK, PPCVEC, {VS, RA, RB}}, {"sthfcmx", APU(31,167,0), APU_MASK, PPC405, {FCRT, RA, RB}}, -{"dcbtlse", X(31,174), X_MASK, PPCCHLK64, {CT, RA, RB}}, +{"dcbtlse", X(31,174), X_MASK, PPCCHLK, {CT, RA, RB}}, {"mtmsrd", X(31,178), XRLARB_MASK, PPC64, {RS, A_L}}, @@ -3628,8 +3579,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"prtyd", X(31,186), XRB_MASK, POWER6, {RA, RS}}, -{"stwuxe", X(31,191), X_MASK, BOOKE64, {RS, RAS, RB}}, - {"stvewx", X(31,199), X_MASK, PPCVEC, {VS, RA, RB}}, {"stwfcmx", APU(31,199,0), APU_MASK, PPC405, {FCRT, RA, RB}}, @@ -3657,7 +3606,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"sleq", XRC(31,217,0), X_MASK, M601, {RA, RS, RB}}, {"sleq.", XRC(31,217,1), X_MASK, M601, {RA, RS, RB}}, -{"stbxe", X(31,223), X_MASK, BOOKE64, {RS, RA0, RB}}, {"stbepx", X(31,223), X_MASK, E500MC, {RS, RA, RB}}, {"icblc", X(31,230), X_MASK, PPCCHLK, {CT, RA, RB}}, @@ -3684,7 +3632,7 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"muls.", XO(31,235,0,1), XO_MASK, PWRCOM, {RT, RA, RB}}, {"msgclr", XRTRA(31,238,0,0),XRTRA_MASK,E500MC, {RB}}, -{"icblce", X(31,238), X_MASK, PPCCHLK64, {CT, RA, RB}}, +{"icblce", X(31,238), X_MASK, PPCCHLK, {CT, RA, RB}}, {"mtsrin", X(31,242), XRA_MASK, PPC32, {RS, RB}}, {"mtsri", X(31,242), XRA_MASK, POWER32, {RS, RB}}, @@ -3695,10 +3643,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"slliq", XRC(31,248,0), X_MASK, M601, {RA, RS, SH}}, {"slliq.", XRC(31,248,1), X_MASK, M601, {RA, RS, SH}}, -{"dcbtste", X(31,253), X_MASK, BOOKE64, {CT, RA, RB}}, - -{"stbuxe", X(31,255), X_MASK, BOOKE64, {RS, RAS, RB}}, - {"dcbtstep", XRT(31,255,0), X_MASK, E500MC, {RT, RA, RB}}, {"mfdcrx", X(31,259), X_MASK, BOOKE, {RS, RA}}, @@ -3730,9 +3674,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"eqv", XRC(31,284,0), X_MASK, COM, {RA, RS, RB}}, {"eqv.", XRC(31,284,1), X_MASK, COM, {RA, RS, RB}}, -{"dcbte", X(31,286), X_MASK, BOOKE64, {CT, RA, RB}}, - -{"lhzxe", X(31,287), X_MASK, BOOKE64, {RT, RA0, RB}}, {"lhepx", X(31,287), X_MASK, E500MC, {RT, RA, RB}}, {"mfdcrux", X(31,291), X_MASK, PPC464, {RS, RA}}, @@ -3747,8 +3688,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"xor", XRC(31,316,0), X_MASK, COM, {RA, RS, RB}}, {"xor.", XRC(31,316,1), X_MASK, COM, {RA, RS, RB}}, -{"lhzuxe", X(31,319), X_MASK, BOOKE64, {RT, RAL, RB}}, - {"dcbtep", XRT(31,319,0), X_MASK, E500MC, {RT, RA, RB}}, {"mfexisr", XSPR(31,323, 64), XSPR_MASK, PPC403, {RT}}, @@ -3984,8 +3923,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"lhax", X(31,343), X_MASK, COM, {RT, RA0, RB}}, -{"lhaxe", X(31,351), X_MASK, BOOKE64, {RT, RA0, RB}}, - {"lvxl", X(31,359), X_MASK, PPCVEC, {VD, RA, RB}}, {"abs", XO(31,360,0,0), XORB_MASK, M601, {RT, RA}}, @@ -4006,18 +3943,12 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"lhaux", X(31,375), X_MASK, COM, {RT, RAL, RB}}, -{"lhauxe", X(31,383), X_MASK, BOOKE64, {RT, RAL, RB}}, - {"mtdcrx", X(31,387), X_MASK, BOOKE, {RA, RS}}, {"dcblc", X(31,390), X_MASK, PPCCHLK, {CT, RA, RB}}, {"stdfcmx", APU(31,391,0), APU_MASK, PPC405, {FCRT, RA, RB}}, -{"subfe64", XO(31,392,0,0), XO_MASK, BOOKE64, {RT, RA, RB}}, - -{"adde64", XO(31,394,0,0), XO_MASK, BOOKE64, {RT, RA, RB}}, - -{"dcblce", X(31,398), X_MASK, PPCCHLK64, {CT, RA, RB}}, +{"dcblce", X(31,398), X_MASK, PPCCHLK, {CT, RA, RB}}, {"slbmte", X(31,402), XRA_MASK, PPC64, {RS, RB}}, @@ -4026,7 +3957,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"orc", XRC(31,412,0), X_MASK, COM, {RA, RS, RB}}, {"orc.", XRC(31,412,1), X_MASK, COM, {RA, RS, RB}}, -{"sthxe", X(31,415), X_MASK, BOOKE64, {RS, RA0, RB}}, {"sthepx", X(31,415), X_MASK, E500MC, {RS, RA, RB}}, {"mtdcrux", X(31,419), X_MASK, PPC464, {RA, RS}}, @@ -4044,8 +3974,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"mr.", XRC(31,444,1), X_MASK, COM, {RA, RS, RBS}}, {"or.", XRC(31,444,1), X_MASK, COM, {RA, RS, RB}}, -{"sthuxe", X(31,447), X_MASK, BOOKE64, {RS, RAS, RB}}, - {"mtexisr", XSPR(31,451, 64), XSPR_MASK, PPC403, {RS}}, {"mtexier", XSPR(31,451, 66), XSPR_MASK, PPC403, {RS}}, {"mtbr0", XSPR(31,451,128), XSPR_MASK, PPC403, {RS}}, @@ -4084,13 +4012,9 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"dccci", X(31,454), XRT_MASK, PPC403|PPC440, {RA, RB}}, -{"subfze64", XO(31,456,0,0), XORB_MASK, BOOKE64, {RT, RA}}, - {"divdu", XO(31,457,0,0), XO_MASK, PPC64, {RT, RA, RB}}, {"divdu.", XO(31,457,0,1), XO_MASK, PPC64, {RT, RA, RB}}, -{"addze64", XO(31,458,0,0), XORB_MASK, BOOKE64, {RT, RA}}, - {"divwu", XO(31,459,0,0), XO_MASK, PPC, {RT, RA, RB}}, {"divwu.", XO(31,459,0,1), XO_MASK, PPC, {RT, RA, RB}}, @@ -4255,8 +4179,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"nand", XRC(31,476,0), X_MASK, COM, {RA, RS, RB}}, {"nand.", XRC(31,476,1), X_MASK, COM, {RA, RS, RB}}, -{"dcbie", X(31,478), XRT_MASK, BOOKE64, {RA, RB}}, - {"dsn", X(31,483), XRT_MASK, E500MC, {RA, RB}}, {"dcread", X(31,486), X_MASK, PPC403|PPC440, {RT, RA, RB}}, @@ -4266,18 +4188,15 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"stvxl", X(31,487), X_MASK, PPCVEC, {VS, RA, RB}}, {"nabs", XO(31,488,0,0), XORB_MASK, M601, {RT, RA}}, -{"subfme64", XO(31,488,0,0), XORB_MASK, BOOKE64, {RT, RA}}, {"nabs.", XO(31,488,0,1), XORB_MASK, M601, {RT, RA}}, {"divd", XO(31,489,0,0), XO_MASK, PPC64, {RT, RA, RB}}, {"divd.", XO(31,489,0,1), XO_MASK, PPC64, {RT, RA, RB}}, -{"addme64", XO(31,490,0,0), XORB_MASK, BOOKE64, {RT, RA}}, - {"divw", XO(31,491,0,0), XO_MASK, PPC, {RT, RA, RB}}, {"divw.", XO(31,491,0,1), XO_MASK, PPC, {RT, RA, RB}}, -{"icbtlse", X(31,494), X_MASK, PPCCHLK64, {CT, RA, RB}}, +{"icbtlse", X(31,494), X_MASK, PPCCHLK, {CT, RA, RB}}, {"slbia", X(31,498), 0xffffffff, PPC64, {0}}, @@ -4285,8 +4204,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"cmpb", X(31,508), X_MASK, POWER6, {RA, RS, RB}}, -{"stdcxe.", XRC(31,511,1), X_MASK, BOOKE64, {RS, RA, RB}}, - {"mcrxr", X(31,512), XRARB_MASK|(3<<21), COM, {BF}}, {"lbdx", X(31,515), X_MASK, E500MC, {RT, RA, RB}}, @@ -4334,12 +4251,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"maskir", XRC(31,541,0), X_MASK, M601, {RA, RS, RB}}, {"maskir.", XRC(31,541,1), X_MASK, M601, {RA, RS, RB}}, -{"lwbrxe", X(31,542), X_MASK, BOOKE64, {RT, RA0, RB}}, - -{"lfsxe", X(31,543), X_MASK, BOOKE64, {FRT, RA0, RB}}, - -{"mcrxr64", X(31,544), XRARB_MASK|(3<<21), BOOKE64, {BF}}, - {"lhdx", X(31,547), X_MASK, E500MC, {RT, RA, RB}}, {"bbelr", X(31,550), X_MASK, PPCBRLK, {0}}, @@ -4356,8 +4267,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"lfsux", X(31,567), X_MASK, COM, {FRT, RAS, RB}}, -{"lfsuxe", X(31,575), X_MASK, BOOKE64, {FRT, RAS, RB}}, - {"lwdx", X(31,579), X_MASK, E500MC, {RT, RA, RB}}, {"lwfcmux", APU(31,583,0), APU_MASK, PPC405, {FCRT, RA, RB}}, @@ -4375,7 +4284,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"lfdx", X(31,599), X_MASK, COM, {FRT, RA0, RB}}, -{"lfdxe", X(31,607), X_MASK, BOOKE64, {FRT, RA0, RB}}, {"lfdepx", X(31,607), X_MASK, E500MC, {RT, RA, RB}}, {"mffgpr", XRC(31,607,0), XRA_MASK, POWER6, {FRT, RB}}, @@ -4395,8 +4303,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"lfdux", X(31,631), X_MASK, COM, {FRT, RAS, RB}}, -{"lfduxe", X(31,639), X_MASK, BOOKE64, {FRT, RAS, RB}}, - {"stbdx", X(31,643), X_MASK, E500MC, {RS, RA, RB}}, {"stvlx", X(31,647), X_MASK, CELL, {VS, RA0, RB}}, @@ -4430,10 +4336,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"sre", XRC(31,665,0), X_MASK, M601, {RA, RS, RB}}, {"sre.", XRC(31,665,1), X_MASK, M601, {RA, RS, RB}}, -{"stwbrxe", X(31,670), X_MASK, BOOKE64, {RS, RA0, RB}}, - -{"stfsxe", X(31,671), X_MASK, BOOKE64, {FRS, RA0, RB}}, - {"sthdx", X(31,675), X_MASK, E500MC, {RS, RA, RB}}, {"stvrx", X(31,679), X_MASK, CELL, {VS, RA0, RB}}, @@ -4444,8 +4346,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"sriq", XRC(31,696,0), X_MASK, M601, {RA, RS, SH}}, {"sriq.", XRC(31,696,1), X_MASK, M601, {RA, RS, SH}}, -{"stfsuxe", X(31,703), X_MASK, BOOKE64, {FRS, RAS, RB}}, - {"stwdx", X(31,707), X_MASK, E500MC, {RS, RA, RB}}, {"stwfcmux", APU(31,711,0), APU_MASK, PPC405, {FCRT, RA, RB}}, @@ -4471,7 +4371,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"sreq", XRC(31,729,0), X_MASK, M601, {RA, RS, RB}}, {"sreq.", XRC(31,729,1), X_MASK, M601, {RA, RS, RB}}, -{"stfdxe", X(31,735), X_MASK, BOOKE64, {FRS, RA0, RB}}, {"stfdepx", X(31,735), X_MASK, E500MC, {RS, RA, RB}}, {"mftgpr", XRC(31,735,0), XRA_MASK, POWER6, {RT, FRB}}, @@ -4505,10 +4404,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"srliq", XRC(31,760,0), X_MASK, M601, {RA, RS, SH}}, {"srliq.", XRC(31,760,1), X_MASK, M601, {RA, RS, SH}}, -{"dcbae", X(31,766), XRT_MASK, BOOKE64, {RA, RB}}, - -{"stfduxe", X(31,767), X_MASK, BOOKE64, {FRS, RAS, RB}}, - {"lvlxl", X(31,775), X_MASK, CELL, {VD, RA0, RB}}, {"ldfcmux", APU(31,775,0), APU_MASK, PPC405, {FCRT, RA, RB}}, @@ -4521,7 +4416,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"caxo.", XO(31,266,1,1), XO_MASK, PWRCOM, {RT, RA, RB}}, {"tlbivax", X(31,786), XRT_MASK, BOOKE, {RA, RB}}, -{"tlbivaxe", X(31,787), XRT_MASK, BOOKE64, {RA, RB}}, {"tlbilx", X(31,787), X_MASK, E500MC, {T, RA0, RB}}, {"tlbilxlpid", XTO(31,787,0), XTO_MASK, E500MC, {0}}, {"tlbilxpid", XTO(31,787,1), XTO_MASK, E500MC, {0}}, @@ -4542,10 +4436,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"srad", XRC(31,794,0), X_MASK, PPC64, {RA, RS, RB}}, {"srad.", XRC(31,794,1), X_MASK, PPC64, {RA, RS, RB}}, -{"lhbrxe", X(31,798), X_MASK, BOOKE64, {RT, RA0, RB}}, - -{"ldxe", X(31,799), X_MASK, BOOKE64, {RT, RA0, RB}}, - {"lfddx", X(31,803), X_MASK, E500MC, {FRT, RA, RB}}, {"lvrxl", X(31,807), X_MASK, CELL, {VD, RA0, RB}}, @@ -4568,7 +4458,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"divo", XO(31,331,1,0), XO_MASK, M601, {RT, RA, RB}}, {"divo.", XO(31,331,1,1), XO_MASK, M601, {RT, RA, RB}}, -{"lduxe", X(31,831), X_MASK, BOOKE64, {RT, RA0, RB}}, {"lxvd2x", X(31,844), XX1_MASK, PPCVSX, {XT6, RA, RB}}, @@ -4594,15 +4483,9 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"stvlxl", X(31,903), X_MASK, CELL, {VS, RA0, RB}}, {"stdfcmux", APU(31,903,0), APU_MASK, PPC405, {FCRT, RA, RB}}, -{"subfe64o", XO(31,392,1,0), XO_MASK, BOOKE64, {RT, RA, RB}}, - -{"adde64o", XO(31,394,1,0), XO_MASK, BOOKE64, {RT, RA, RB}}, - {"tlbsx", XRC(31,914,0), X_MASK, PPC403|BOOKE, {RTO, RA, RB}}, {"tlbsx.", XRC(31,914,1), X_MASK, PPC403|BOOKE, {RTO, RA, RB}}, -{"tlbsxe", XRC(31,915,0), X_MASK, BOOKE64, {RTO, RA, RB}}, -{"tlbsxe.", XRC(31,915,1), X_MASK, BOOKE64, {RTO, RA, RB}}, {"slbmfee", X(31,915), XRA_MASK, PPC64, {RT, RB}}, {"stwcix", X(31,917), X_MASK, POWER6, {RS, RA0, RB}}, @@ -4623,10 +4506,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"extsh.", XRC(31,922,1), XRB_MASK, PPCCOM, {RA, RS}}, {"exts.", XRC(31,922,1), XRB_MASK, PWRCOM, {RA, RS}}, -{"sthbrxe", X(31,926), X_MASK, BOOKE64, {RS, RA0, RB}}, - -{"stdxe", X(31,927), X_MASK, BOOKE64, {RS, RA0, RB}}, - {"stfddx", X(31,931), X_MASK, E500MC, {FRS, RA, RB}}, {"stvrxl", X(31,935), X_MASK, CELL, {VS, RA0, RB}}, @@ -4645,17 +4524,11 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"extsb", XRC(31,954,0), XRB_MASK, PPC, {RA, RS}}, {"extsb.", XRC(31,954,1), XRB_MASK, PPC, {RA, RS}}, -{"stduxe", X(31,959), X_MASK, BOOKE64, {RS, RAS, RB}}, - {"iccci", X(31,966), XRT_MASK, PPC403|PPC440, {RA, RB}}, -{"subfze64o", XO(31,456,1,0), XORB_MASK, BOOKE64, {RT, RA}}, - {"divduo", XO(31,457,1,0), XO_MASK, PPC64, {RT, RA, RB}}, {"divduo.", XO(31,457,1,1), XO_MASK, PPC64, {RT, RA, RB}}, -{"addze64o", XO(31,458,1,0), XORB_MASK, BOOKE64, {RT, RA}}, - {"divwuo", XO(31,459,1,0), XO_MASK, PPC, {RT, RA, RB}}, {"divwuo.", XO(31,459,1,1), XO_MASK, PPC, {RT, RA, RB}}, @@ -4672,25 +4545,19 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"stfiwx", X(31,983), X_MASK, PPC, {FRS, RA0, RB}}, -{"extsw", XRC(31,986,0), XRB_MASK, PPC64|BOOKE64, {RA, RS}}, +{"extsw", XRC(31,986,0), XRB_MASK, PPC64, {RA, RS}}, {"extsw.", XRC(31,986,1), XRB_MASK, PPC64, {RA, RS}}, -{"icbie", X(31,990), XRT_MASK, BOOKE64, {RA, RB}}, -{"stfiwxe", X(31,991), X_MASK, BOOKE64, {FRS, RA0, RB}}, - {"icbiep", XRT(31,991,0), XRT_MASK, E500MC, {RA, RB}}, {"icread", X(31,998), XRT_MASK, PPC403|PPC440, {RA, RB}}, {"nabso", XO(31,488,1,0), XORB_MASK, M601, {RT, RA}}, -{"subfme64o", XO(31,488,1,0), XORB_MASK, BOOKE64, {RT, RA}}, {"nabso.", XO(31,488,1,1), XORB_MASK, M601, {RT, RA}}, {"divdo", XO(31,489,1,0), XO_MASK, PPC64, {RT, RA, RB}}, {"divdo.", XO(31,489,1,1), XO_MASK, PPC64, {RT, RA, RB}}, -{"addme64o", XO(31,490,1,0), XORB_MASK, BOOKE64, {RT, RA}}, - {"divwo", XO(31,491,1,0), XO_MASK, PPC, {RT, RA, RB}}, {"divwo.", XO(31,491,1,1), XO_MASK, PPC, {RT, RA, RB}}, @@ -4703,7 +4570,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"dcbz", X(31,1014), XRT_MASK, PPC, {RA, RB}}, {"dclz", X(31,1014), XRT_MASK, PPC, {RA, RB}}, -{"dcbze", X(31,1022), XRT_MASK, BOOKE64, {RA, RB}}, {"dcbzep", XRT(31,1023,0), XRT_MASK, E500MC, {RA, RB}}, {"dcbzl", XOPL(31,1014,1), XRT_MASK, POWER4, {RA, RB}}, @@ -4788,21 +4654,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"lfdp", OP(57), OP_MASK, POWER6, {FRT, D, RA0}}, -{"lbze", DEO(58,0), DE_MASK, BOOKE64, {RT, DE, RA0}}, -{"lbzue", DEO(58,1), DE_MASK, BOOKE64, {RT, DE, RAL}}, -{"lhze", DEO(58,2), DE_MASK, BOOKE64, {RT, DE, RA0}}, -{"lhzue", DEO(58,3), DE_MASK, BOOKE64, {RT, DE, RAL}}, -{"lhae", DEO(58,4), DE_MASK, BOOKE64, {RT, DE, RA0}}, -{"lhaue", DEO(58,5), DE_MASK, BOOKE64, {RT, DE, RAL}}, -{"lwze", DEO(58,6), DE_MASK, BOOKE64, {RT, DE, RA0}}, -{"lwzue", DEO(58,7), DE_MASK, BOOKE64, {RT, DE, RAL}}, -{"stbe", DEO(58,8), DE_MASK, BOOKE64, {RS, DE, RA0}}, -{"stbue", DEO(58,9), DE_MASK, BOOKE64, {RS, DE, RAS}}, -{"sthe", DEO(58,10), DE_MASK, BOOKE64, {RS, DE, RA0}}, -{"sthue", DEO(58,11), DE_MASK, BOOKE64, {RS, DE, RAS}}, -{"stwe", DEO(58,14), DE_MASK, BOOKE64, {RS, DE, RA0}}, -{"stwue", DEO(58,15), DE_MASK, BOOKE64, {RS, DE, RAS}}, - {"ld", DSO(58,0), DS_MASK, PPC64, {RT, DS, RA0}}, {"ldu", DSO(58,1), DS_MASK, PPC64, {RT, DS, RAL}}, {"lwa", DSO(58,2), DS_MASK, PPC64, {RT, DS, RA0}}, @@ -4920,19 +4771,6 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"stfdp", OP(61), OP_MASK, POWER6, {FRT, D, RA0}}, -{"lde", DEO(62,0), DE_MASK, BOOKE64, {RT, DES, RA0}}, -{"ldue", DEO(62,1), DE_MASK, BOOKE64, {RT, DES, RA0}}, -{"lfse", DEO(62,4), DE_MASK, BOOKE64, {FRT, DES, RA0}}, -{"lfsue", DEO(62,5), DE_MASK, BOOKE64, {FRT, DES, RAS}}, -{"lfde", DEO(62,6), DE_MASK, BOOKE64, {FRT, DES, RA0}}, -{"lfdue", DEO(62,7), DE_MASK, BOOKE64, {FRT, DES, RAS}}, -{"stde", DEO(62,8), DE_MASK, BOOKE64, {RS, DES, RA0}}, -{"stdue", DEO(62,9), DE_MASK, BOOKE64, {RS, DES, RAS}}, -{"stfse", DEO(62,12), DE_MASK, BOOKE64, {FRS, DES, RA0}}, -{"stfsue", DEO(62,13), DE_MASK, BOOKE64, {FRS, DES, RAS}}, -{"stfde", DEO(62,14), DE_MASK, BOOKE64, {FRS, DES, RA0}}, -{"stfdue", DEO(62,15), DE_MASK, BOOKE64, {FRS, DES, RAS}}, - {"std", DSO(62,0), DS_MASK, PPC64, {RS, DS, RA0}}, {"stdu", DSO(62,1), DS_MASK, PPC64, {RS, DS, RAS}}, {"stq", DSO(62,2), DS_MASK, POWER4, {RSQ, DS, RA0}}, |