diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 24 | ||||
-rw-r--r-- | gas/config/tc-ppc.c | 53 | ||||
-rw-r--r-- | gas/doc/as.texinfo | 2 | ||||
-rw-r--r-- | gas/doc/c-ppc.texi | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/efs.d | 25 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/efs.s | 29 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/efs2.d | 19 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/efs2.s | 18 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/ppc.exp | 8 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/spe.d | 267 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/spe.s | 274 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/spe2-checks.d | 3 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/spe2-checks.l | 73 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/spe2-checks.s | 99 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/spe2.d | 815 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/spe2.s | 834 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/spe_ambiguous.d | 15 | ||||
-rw-r--r-- | gas/testsuite/gas/ppc/spe_ambiguous.s | 21 |
18 files changed, 2581 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 328037e..8bea1df 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,27 @@ +2017-08-23 Alexander Fedotov <alexander.fedotov@nxp.com> + Edmar Wienskoski <edmar.wienskoski@nxp.com + + * config/tc-ppc.c: + (md_parse_option): Add mspe2 switch. + (md_show_usage): Document -mspe2. + (ppc_setup_opcodes): Handle spe2_opcodes. + * doc/as.texinfo: Document -mspe2. + * doc/c-ppc.texi: Likewise. + * testsuite/gas/ppc/efs.d: New file. + * testsuite/gas/ppc/efs.s: Likewise. + * testsuite/gas/ppc/efs2.d: Likewise. + * testsuite/gas/ppc/efs2.s: Likewise. + * testsuite/gas/ppc/ppc.exp: Run new tests. + * testsuite/gas/ppc/spe.d: New file. + * testsuite/gas/ppc/spe.s: Likewise. + * testsuite/gas/ppc/spe2-checks.d: Likewise. + * testsuite/gas/ppc/spe2-checks.l: Likewise. + * testsuite/gas/ppc/spe2-checks.s: Likewise. + * testsuite/gas/ppc/spe2.d: Likewise. + * testsuite/gas/ppc/spe2.s: Likewise. + * testsuite/gas/ppc/spe_ambiguous.d: Likewise. + * testsuite/gas/ppc/spe_ambiguous.s: Likewise. + 2017-08-23 James Clarke <jrtc27@jrtc27.com> * config/tc-sparc.c (tc_gen_reloc): Convert BFD_RELOC_8/16/32/64 diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index e8dfbc4..d20fac6 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -1258,6 +1258,10 @@ md_parse_option (int c, const char *arg) msolaris = FALSE; ppc_comment_chars = ppc_eabi_comment_chars; } + else if (strcmp (arg, "spe2") == 0) + { + ppc_cpu |= PPC_OPCODE_SPE2; + } #endif else { @@ -1353,6 +1357,7 @@ PowerPC options:\n\ -me5500, generate code for Freescale e5500 core complex\n\ -me6500, generate code for Freescale e6500 core complex\n\ -mspe generate code for Motorola SPE instructions\n\ +-mspe2 generate code for Freescale SPE2 instructions\n\ -mvle generate code for Freescale VLE instructions\n\ -mtitan generate code for AppliedMicro Titan core complex\n\ -mregnames Allow symbolic names for registers\n\ @@ -1688,6 +1693,54 @@ ppc_setup_opcodes (void) } } + /* SPE2 instructions */ + if ((ppc_cpu & PPC_OPCODE_SPE2) == PPC_OPCODE_SPE2) + { + op_end = spe2_opcodes + spe2_num_opcodes; + for (op = spe2_opcodes; op < op_end; op++) + { + if (ENABLE_CHECKING) + { + if (op != spe2_opcodes) + { + unsigned old_seg, new_seg; + + old_seg = VLE_OP (op[-1].opcode, op[-1].mask); + old_seg = VLE_OP_TO_SEG (old_seg); + new_seg = VLE_OP (op[0].opcode, op[0].mask); + new_seg = VLE_OP_TO_SEG (new_seg); + + /* The major opcodes had better be sorted. Code in the + disassembler assumes the insns are sorted according to + major opcode. */ + if (new_seg < old_seg) + { + as_bad (_("major opcode is not sorted for %s"), op->name); + bad_insn = TRUE; + } + } + + bad_insn |= insn_validate (op); + } + + if ((ppc_cpu & op->flags) != 0 && !(ppc_cpu & op->deprecated)) + { + const char *retval; + + retval = hash_insert (ppc_hash, op->name, (void *) op); + if (retval != NULL) + { + as_bad (_("duplicate instruction %s"), + op->name); + bad_insn = TRUE; + } + } + } + + for (op = spe2_opcodes; op < op_end; op++) + hash_insert (ppc_hash, op->name, (void *) op); + } + /* Insert the macros into a hash table. */ ppc_macro_hash = hash_new (); diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo index 8aa83ef..8c125fd 100644 --- a/gas/doc/as.texinfo +++ b/gas/doc/as.texinfo @@ -487,7 +487,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}. @b{-m620}|@b{-me500}|@b{-e500x2}|@b{-me500mc}|@b{-me500mc64}|@b{-me5500}|@b{-me6500}|@b{-mppc64bridge}| @b{-mbooke}|@b{-mpower4}|@b{-mpwr4}|@b{-mpower5}|@b{-mpwr5}|@b{-mpwr5x}|@b{-mpower6}|@b{-mpwr6}| @b{-mpower7}|@b{-mpwr7}|@b{-mpower8}|@b{-mpwr8}|@b{-mpower9}|@b{-mpwr9}@b{-ma2}| - @b{-mcell}|@b{-mspe}|@b{-mtitan}|@b{-me300}|@b{-mcom}] + @b{-mcell}|@b{-mspe}|@b{-mspe2}|@b{-mtitan}|@b{-me300}|@b{-mcom}] [@b{-many}] [@b{-maltivec}|@b{-mvsx}|@b{-mhtm}|@b{-mvle}] [@b{-mregnames}|@b{-mno-regnames}] [@b{-mrelocatable}|@b{-mrelocatable-lib}|@b{-K PIC}] [@b{-memb}] diff --git a/gas/doc/c-ppc.texi b/gas/doc/c-ppc.texi index d94b418..7e66625 100644 --- a/gas/doc/c-ppc.texi +++ b/gas/doc/c-ppc.texi @@ -99,6 +99,9 @@ Generate code for Freescale e6500 core complex. @item -mspe Generate code for Motorola SPE instructions. +@item -mspe2 +Generate code for Freescale SPE2 instructions. + @item -mtitan Generate code for AppliedMicro Titan core complex. diff --git a/gas/testsuite/gas/ppc/efs.d b/gas/testsuite/gas/ppc/efs.d new file mode 100644 index 0000000..5f1a847 --- /dev/null +++ b/gas/testsuite/gas/ppc/efs.d @@ -0,0 +1,25 @@ +#as: -a32 -mvle +#objdump: -d -Mefs -Mvle -Mefs2 +#name: Validate EFS instructions + +.*: +file format elf.*-powerpc.* + +Disassembly of section .text: + +00000000 <.text>: + 0: 10 00 12 d1 efscfsi r0,r2 + 4: 10 00 12 d5 efsctsi r0,r2 + 8: 10 00 12 f1 efdcfsi r0,r2 + c: 10 00 12 f5 efdctsi r0,r2 + 10: 10 01 12 c2 efsmadd r0,r1,r2 + 14: 10 01 12 c3 efsmsub r0,r1,r2 + 18: 10 01 12 ca efsnmadd r0,r1,r2 + 1c: 10 01 12 cb efsnmsub r0,r1,r2 + 20: 10 01 12 e2 efdmadd r0,r1,r2 + 24: 10 01 12 e3 efdmsub r0,r1,r2 + 28: 10 01 12 ea efdnmadd r0,r1,r2 + 2c: 10 01 12 eb efdnmsub r0,r1,r2 + 30: 10 01 12 f0 efdcfuid r0,r2 + 34: 10 01 12 f1 efdcfsid r0,r2 + 38: 10 01 12 f8 efdctuidz r0,r2 + 3c: 10 01 12 fa efdctsidz r0,r2
\ No newline at end of file diff --git a/gas/testsuite/gas/ppc/efs.s b/gas/testsuite/gas/ppc/efs.s new file mode 100644 index 0000000..7afcfd8 --- /dev/null +++ b/gas/testsuite/gas/ppc/efs.s @@ -0,0 +1,29 @@ +# PA EFS 1.0 and 1.1 instructions +# CMPE200GCC-62 + .section ".text" + + .equ rA,1 + .equ rB,2 + .equ rD,0 + +;# EFS 1.0 instructions in accordance with EFP2_rev.1.4_spec + efscfsi rD, rB + efsctsi rD, rB + efdcfsi rD, rB + efdctsi rD, rB + +;# EFS 1.1 instructions in accordance with EFP2_rev.1.4_spec + efsmadd rD, rA, rB + efsmsub rD, rA, rB + efsnmadd rD, rA, rB + efsnmsub rD, rA, rB + efdmadd rD, rA, rB + efdmsub rD, rA, rB + efdnmadd rD, rA, rB + efdnmsub rD, rA, rB + +;# moved EFS opcodes in accordance with EFP2_rev.1.4_spec + efdcfuid rD, rB + efdcfsid rD, rB + efdctuidz rD, rB + efdctsidz rD, rB diff --git a/gas/testsuite/gas/ppc/efs2.d b/gas/testsuite/gas/ppc/efs2.d new file mode 100644 index 0000000..5914101 --- /dev/null +++ b/gas/testsuite/gas/ppc/efs2.d @@ -0,0 +1,19 @@ +#as: -a32 -mvle +#objdump: -d -Mvle -Mefs2 +#name: Validate EFS2 instructions + +.*: +file format elf.*-powerpc.* + +Disassembly of section .text: + +00000000 <.text>: + 0: 10 01 12 b0 efsmax r0,r1,r2 + 4: 10 01 12 b1 efsmin r0,r1,r2 + 8: 10 01 12 b8 efdmax r0,r1,r2 + c: 10 01 12 b9 efdmin r0,r1,r2 + 10: 10 01 02 c7 efssqrt r0,r1 + 14: 10 04 12 d1 efscfh r0,r2 + 18: 10 04 12 d5 efscth r0,r2 + 1c: 10 01 02 e7 efdsqrt r0,r1 + 20: 10 04 12 f1 efdcfh r0,r2 + 24: 10 04 12 f5 efdcth r0,r2 diff --git a/gas/testsuite/gas/ppc/efs2.s b/gas/testsuite/gas/ppc/efs2.s new file mode 100644 index 0000000..5d35e98 --- /dev/null +++ b/gas/testsuite/gas/ppc/efs2.s @@ -0,0 +1,18 @@ +# PA EFS2 instructions in accordance with EFP2_rev.1.4_spec +# CMPE200GCC-62 + .section ".text" + + .equ rA,1 + .equ rB,2 + .equ rD,0 + + efsmax rD, rA, rB + efsmin rD, rA, rB + efdmax rD, rA, rB + efdmin rD, rA, rB + efssqrt rD, rA + efscfh rD, rB + efscth rD, rB + efdsqrt rD, rA + efdcfh rD, rB + efdcth rD, rB diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp index bbe64be..cdcd8a1 100644 --- a/gas/testsuite/gas/ppc/ppc.exp +++ b/gas/testsuite/gas/ppc/ppc.exp @@ -65,6 +65,14 @@ if { [istarget powerpc*-*-*] } then { setup_xfail "*-*-*" run_dump_test "lsp" run_dump_test "lsp-checks" + run_dump_test "efs" + run_dump_test "efs2" + run_dump_test "spe2" + run_dump_test "spe2-checks" + run_dump_test "spe" + + setup_xfail "*-*-*" + run_dump_test "spe_ambiguous" } } diff --git a/gas/testsuite/gas/ppc/spe.d b/gas/testsuite/gas/ppc/spe.d new file mode 100644 index 0000000..7391028 --- /dev/null +++ b/gas/testsuite/gas/ppc/spe.d @@ -0,0 +1,267 @@ +#as: -a32 -mvle +#objdump: -d -Mspe +#name: Validate SPE instructions + +.*: +file format elf.*-powerpc.* + + +Disassembly of section .text: + +00000000 <.text>: + 0: 10 01 12 00 evaddw r0,r1,r2 + 4: 10 1f 12 02 evaddiw r0,r2,31 + 8: 10 01 12 04 evsubfw r0,r1,r2 + c: 10 01 12 04 evsubfw r0,r1,r2 + 10: 10 1f 12 06 evsubifw r0,31,r2 + 14: 10 1f 12 06 evsubifw r0,31,r2 + 18: 10 01 02 08 evabs r0,r1 + 1c: 10 01 02 09 evneg r0,r1 + 20: 10 01 02 0a evextsb r0,r1 + 24: 10 01 02 0b evextsh r0,r1 + 28: 10 01 02 0c evrndw r0,r1 + 2c: 10 01 02 0d evcntlzw r0,r1 + 30: 10 01 02 0e evcntlsw r0,r1 + 34: 10 01 12 0f brinc r0,r1,r2 + 38: 10 01 12 11 evand r0,r1,r2 + 3c: 10 01 12 12 evandc r0,r1,r2 + 40: 10 01 12 16 evxor r0,r1,r2 + 44: 10 01 0a 17 evmr r0,r1 + 48: 10 01 12 17 evor r0,r1,r2 + 4c: 10 01 12 18 evnor r0,r1,r2 + 50: 10 01 0a 18 evnor r0,r1,r1 + 54: 10 01 12 19 eveqv r0,r1,r2 + 58: 10 01 12 1b evorc r0,r1,r2 + 5c: 10 01 12 1e evnand r0,r1,r2 + 60: 10 01 12 20 evsrwu r0,r1,r2 + 64: 10 01 12 21 evsrws r0,r1,r2 + 68: 10 01 fa 22 evsrwiu r0,r1,31 + 6c: 10 01 fa 23 evsrwis r0,r1,31 + 70: 10 01 12 24 evslw r0,r1,r2 + 74: 10 01 fa 26 evslwi r0,r1,31 + 78: 10 01 12 28 evrlw r0,r1,r2 + 7c: 10 10 02 29 evsplati r0,-16 + 80: 10 01 fa 2a evrlwi r0,r1,31 + 84: 10 10 02 2b evsplatfi r0,-16 + 88: 10 01 12 2c evmergehi r0,r1,r2 + 8c: 10 01 12 2d evmergelo r0,r1,r2 + 90: 10 01 12 2e evmergehilo r0,r1,r2 + 94: 10 01 12 2f evmergelohi r0,r1,r2 + 98: 10 01 12 30 evcmpgtu cr0,r1,r2 + 9c: 10 01 12 31 evcmpgts cr0,r1,r2 + a0: 10 01 12 32 evcmpltu cr0,r1,r2 + a4: 10 01 12 33 evcmplts cr0,r1,r2 + a8: 10 01 12 34 evcmpeq cr0,r1,r2 + ac: 10 01 12 78 evsel r0,r1,r2,cr0 + b0: 10 01 12 80 evfsadd r0,r1,r2 + b4: 10 01 12 81 evfssub r0,r1,r2 + b8: 10 01 12 82 evfsmadd r0,r1,r2 + bc: 10 01 12 83 evfsmsub r0,r1,r2 + c0: 10 01 02 84 evfsabs r0,r1 + c4: 10 01 02 85 evfsnabs r0,r1 + c8: 10 01 02 86 evfsneg r0,r1 + cc: 10 01 12 88 evfsmul r0,r1,r2 + d0: 10 01 12 89 evfsdiv r0,r1,r2 + d4: 10 01 12 8a evfsnmadd r0,r1,r2 + d8: 10 01 12 8b evfsnmsub r0,r1,r2 + dc: 10 01 12 8c evfscmpgt cr0,r1,r2 + e0: 10 01 12 8d evfscmplt cr0,r1,r2 + e4: 10 01 12 8e evfscmpeq cr0,r1,r2 + e8: 10 00 12 90 evfscfui r0,r2 + ec: 10 00 12 91 evfscfsi r0,r2 + f0: 10 00 12 92 evfscfuf r0,r2 + f4: 10 00 12 93 evfscfsf r0,r2 + f8: 10 00 12 94 evfsctui r0,r2 + fc: 10 00 12 95 evfsctsi r0,r2 + 100: 10 00 12 96 evfsctuf r0,r2 + 104: 10 00 12 97 evfsctsf r0,r2 + 108: 10 00 12 98 evfsctuiz r0,r2 + 10c: 10 00 12 9a evfsctsiz r0,r2 + 110: 10 01 12 9c evfststgt cr0,r1,r2 + 114: 10 01 12 9d evfststlt cr0,r1,r2 + 118: 10 01 12 9e evfststeq cr0,r1,r2 + 11c: 10 01 13 00 evlddx r0,r1,r2 + 120: 10 01 0b 01 evldd r0,8\(r1\) + 124: 10 01 13 02 evldwx r0,r1,r2 + 128: 10 01 0b 03 evldw r0,8\(r1\) + 12c: 10 01 13 04 evldhx r0,r1,r2 + 130: 10 01 0b 05 evldh r0,8\(r1\) + 134: 10 01 13 08 evlhhesplatx r0,r1,r2 + 138: 10 01 0b 09 evlhhesplat r0,2\(r1\) + 13c: 10 01 13 0c evlhhousplatx r0,r1,r2 + 140: 10 01 0b 0d evlhhousplat r0,2\(r1\) + 144: 10 01 13 0e evlhhossplatx r0,r1,r2 + 148: 10 01 0b 0f evlhhossplat r0,2\(r1\) + 14c: 10 01 13 10 evlwhex r0,r1,r2 + 150: 10 01 0b 11 evlwhe r0,4\(r1\) + 154: 10 01 13 14 evlwhoux r0,r1,r2 + 158: 10 01 0b 15 evlwhou r0,4\(r1\) + 15c: 10 01 13 16 evlwhosx r0,r1,r2 + 160: 10 01 0b 17 evlwhos r0,4\(r1\) + 164: 10 01 13 18 evlwwsplatx r0,r1,r2 + 168: 10 01 0b 19 evlwwsplat r0,4\(r1\) + 16c: 10 01 13 1c evlwhsplatx r0,r1,r2 + 170: 10 01 0b 1d evlwhsplat r0,4\(r1\) + 174: 10 01 13 20 evstddx r0,r1,r2 + 178: 10 01 0b 21 evstdd r0,8\(r1\) + 17c: 10 01 13 22 evstdwx r0,r1,r2 + 180: 10 01 0b 23 evstdw r0,8\(r1\) + 184: 10 01 13 24 evstdhx r0,r1,r2 + 188: 10 01 0b 25 evstdh r0,8\(r1\) + 18c: 10 01 13 30 evstwhex r0,r1,r2 + 190: 10 01 0b 31 evstwhe r0,4\(r1\) + 194: 10 01 13 34 evstwhox r0,r1,r2 + 198: 10 01 0b 35 evstwho r0,4\(r1\) + 19c: 10 01 13 38 evstwwex r0,r1,r2 + 1a0: 10 01 0b 39 evstwwe r0,4\(r1\) + 1a4: 10 01 13 3c evstwwox r0,r1,r2 + 1a8: 10 01 0b 3d evstwwo r0,4\(r1\) + 1ac: 10 01 14 03 evmhessf r0,r1,r2 + 1b0: 10 01 14 07 evmhossf r0,r1,r2 + 1b4: 10 01 14 08 evmheumi r0,r1,r2 + 1b8: 10 01 14 09 evmhesmi r0,r1,r2 + 1bc: 10 01 14 0b evmhesmf r0,r1,r2 + 1c0: 10 01 14 0c evmhoumi r0,r1,r2 + 1c4: 10 01 14 0d evmhosmi r0,r1,r2 + 1c8: 10 01 14 0f evmhosmf r0,r1,r2 + 1cc: 10 01 14 23 evmhessfa r0,r1,r2 + 1d0: 10 01 14 27 evmhossfa r0,r1,r2 + 1d4: 10 01 14 28 evmheumia r0,r1,r2 + 1d8: 10 01 14 29 evmhesmia r0,r1,r2 + 1dc: 10 01 14 2b evmhesmfa r0,r1,r2 + 1e0: 10 01 14 2c evmhoumia r0,r1,r2 + 1e4: 10 01 14 2d evmhosmia r0,r1,r2 + 1e8: 10 01 14 2f evmhosmfa r0,r1,r2 + 1ec: 10 01 14 43 evmwlssf r0,r1,r2 + 1f0: 10 01 14 47 evmwhssf r0,r1,r2 + 1f4: 10 01 14 48 evmwlumi r0,r1,r2 + 1f8: 10 01 14 4b evmwlsmf r0,r1,r2 + 1fc: 10 01 14 4c evmwhumi r0,r1,r2 + 200: 10 01 14 4d evmwhsmi r0,r1,r2 + 204: 10 01 14 4f evmwhsmf r0,r1,r2 + 208: 10 01 14 53 evmwssf r0,r1,r2 + 20c: 10 01 14 58 evmwumi r0,r1,r2 + 210: 10 01 14 59 evmwsmi r0,r1,r2 + 214: 10 01 14 5b evmwsmf r0,r1,r2 + 218: 10 01 14 63 evmwlssfa r0,r1,r2 + 21c: 10 01 14 67 evmwhssfa r0,r1,r2 + 220: 10 01 14 68 evmwlumia r0,r1,r2 + 224: 10 01 14 6b evmwlsmfa r0,r1,r2 + 228: 10 01 14 6c evmwhumia r0,r1,r2 + 22c: 10 01 14 6d evmwhsmia r0,r1,r2 + 230: 10 01 14 6f evmwhsmfa r0,r1,r2 + 234: 10 01 14 73 evmwssfa r0,r1,r2 + 238: 10 01 14 78 evmwumia r0,r1,r2 + 23c: 10 01 14 79 evmwsmia r0,r1,r2 + 240: 10 01 14 7b evmwsmfa r0,r1,r2 + 244: 10 01 04 c0 evaddusiaaw r0,r1 + 248: 10 01 04 c1 evaddssiaaw r0,r1 + 24c: 10 01 04 c2 evsubfusiaaw r0,r1 + 250: 10 01 04 c3 evsubfssiaaw r0,r1 + 254: 10 01 04 c4 evmra r0,r1 + 258: 10 01 14 c6 evdivws r0,r1,r2 + 25c: 10 01 14 c7 evdivwu r0,r1,r2 + 260: 10 01 04 c8 evaddumiaaw r0,r1 + 264: 10 01 04 c9 evaddsmiaaw r0,r1 + 268: 10 01 04 ca evsubfumiaaw r0,r1 + 26c: 10 01 04 cb evsubfsmiaaw r0,r1 + 270: 10 01 15 00 evmheusiaaw r0,r1,r2 + 274: 10 01 15 01 evmhessiaaw r0,r1,r2 + 278: 10 01 15 03 evmhessfaaw r0,r1,r2 + 27c: 10 01 15 04 evmhousiaaw r0,r1,r2 + 280: 10 01 15 05 evmhossiaaw r0,r1,r2 + 284: 10 01 15 07 evmhossfaaw r0,r1,r2 + 288: 10 01 15 08 evmheumiaaw r0,r1,r2 + 28c: 10 01 15 09 evmhesmiaaw r0,r1,r2 + 290: 10 01 15 0b evmhesmfaaw r0,r1,r2 + 294: 10 01 15 0c evmhoumiaaw r0,r1,r2 + 298: 10 01 15 0d evmhosmiaaw r0,r1,r2 + 29c: 10 01 15 0f evmhosmfaaw r0,r1,r2 + 2a0: 10 01 15 28 evmhegumiaa r0,r1,r2 + 2a4: 10 01 15 29 evmhegsmiaa r0,r1,r2 + 2a8: 10 01 15 2b evmhegsmfaa r0,r1,r2 + 2ac: 10 01 15 2c evmhogumiaa r0,r1,r2 + 2b0: 10 01 15 2d evmhogsmiaa r0,r1,r2 + 2b4: 10 01 15 2f evmhogsmfaa r0,r1,r2 + 2b8: 10 01 15 40 evmwlusiaaw r0,r1,r2 + 2bc: 10 01 15 41 evmwlssiaaw r0,r1,r2 + 2c0: 10 01 15 43 evmwlssfaaw r0,r1,r2 + 2c4: 10 01 15 44 evmwhusiaa r0,r1,r2 + 2c8: 10 01 15 45 evmwhssmaa r0,r1,r2 + 2cc: 10 01 15 47 evmwhssfaa r0,r1,r2 + 2d0: 10 01 15 48 evmwlumiaaw r0,r1,r2 + 2d4: 10 01 15 49 evmwlsmiaaw r0,r1,r2 + 2d8: 10 01 15 4b evmwlsmfaaw r0,r1,r2 + 2dc: 10 01 15 4c evmwhumiaa r0,r1,r2 + 2e0: 10 01 15 4d evmwhsmiaa r0,r1,r2 + 2e4: 10 01 15 4f evmwhsmfaa r0,r1,r2 + 2e8: 10 01 15 53 evmwssfaa r0,r1,r2 + 2ec: 10 01 15 58 evmwumiaa r0,r1,r2 + 2f0: 10 01 15 59 evmwsmiaa r0,r1,r2 + 2f4: 10 01 15 5b evmwsmfaa r0,r1,r2 + 2f8: 10 01 15 64 evmwhgumiaa r0,r1,r2 + 2fc: 10 01 15 65 evmwhgsmiaa r0,r1,r2 + 300: 10 01 15 67 evmwhgssfaa r0,r1,r2 + 304: 10 01 15 6f evmwhgsmfaa r0,r1,r2 + 308: 10 01 15 80 evmheusianw r0,r1,r2 + 30c: 10 01 15 81 evmhessianw r0,r1,r2 + 310: 10 01 15 83 evmhessfanw r0,r1,r2 + 314: 10 01 15 84 evmhousianw r0,r1,r2 + 318: 10 01 15 85 evmhossianw r0,r1,r2 + 31c: 10 01 15 87 evmhossfanw r0,r1,r2 + 320: 10 01 15 88 evmheumianw r0,r1,r2 + 324: 10 01 15 89 evmhesmianw r0,r1,r2 + 328: 10 01 15 8b evmhesmfanw r0,r1,r2 + 32c: 10 01 15 8c evmhoumianw r0,r1,r2 + 330: 10 01 15 8d evmhosmianw r0,r1,r2 + 334: 10 01 15 8f evmhosmfanw r0,r1,r2 + 338: 10 01 15 a8 evmhegumian r0,r1,r2 + 33c: 10 01 15 a9 evmhegsmian r0,r1,r2 + 340: 10 01 15 ab evmhegsmfan r0,r1,r2 + 344: 10 01 15 ac evmhogumian r0,r1,r2 + 348: 10 01 15 ad evmhogsmian r0,r1,r2 + 34c: 10 01 15 af evmhogsmfan r0,r1,r2 + 350: 10 01 15 c0 evmwlusianw r0,r1,r2 + 354: 10 01 15 c1 evmwlssianw r0,r1,r2 + 358: 10 01 15 c3 evmwlssfanw r0,r1,r2 + 35c: 10 01 15 c4 evmwhusian r0,r1,r2 + 360: 10 01 15 c5 evmwhssian r0,r1,r2 + 364: 10 01 15 c7 evmwhssfan r0,r1,r2 + 368: 10 01 15 c8 evmwlumianw r0,r1,r2 + 36c: 10 01 15 c9 evmwlsmianw r0,r1,r2 + 370: 10 01 15 cb evmwlsmfanw r0,r1,r2 + 374: 10 01 15 cc evmwhumian r0,r1,r2 + 378: 10 01 15 cd evmwhsmian r0,r1,r2 + 37c: 10 01 15 cf evmwhsmfan r0,r1,r2 + 380: 10 01 15 d3 evmwssfan r0,r1,r2 + 384: 10 01 15 d8 evmwumian r0,r1,r2 + 388: 10 01 15 d9 evmwsmian r0,r1,r2 + 38c: 10 01 15 db evmwsmfan r0,r1,r2 + 390: 10 01 15 e4 evmwhgumian r0,r1,r2 + 394: 10 01 15 e5 evmwhgsmian r0,r1,r2 + 398: 10 01 15 e7 evmwhgssfan r0,r1,r2 + 39c: 10 01 15 ef evmwhgsmfan r0,r1,r2 + 3a0: 7c 01 16 3e evlddepx r0,r1,r2 + 3a4: 7c 01 17 3e evstddepx r0,r1,r2 + 3a8: 10 01 12 c0 efsadd r0,r1,r2 + 3ac: 10 01 12 c1 efssub r0,r1,r2 + 3b0: 10 01 02 c4 efsabs r0,r1 + 3b4: 10 01 02 c5 efsnabs r0,r1 + 3b8: 10 01 02 c6 efsneg r0,r1 + 3bc: 10 01 12 c8 efsmul r0,r1,r2 + 3c0: 10 01 12 c9 efsdiv r0,r1,r2 + 3c4: 10 01 12 cc efscmpgt cr0,r1,r2 + 3c8: 10 01 12 cd efscmplt cr0,r1,r2 + 3cc: 10 01 12 ce efscmpeq cr0,r1,r2 + 3d0: 10 00 12 d0 efscfui r0,r2 + 3d4: 10 00 12 d1 efscfsi r0,r2 + 3d8: 10 00 12 d2 efscfuf r0,r2 + 3dc: 10 00 12 d3 efscfsf r0,r2 + 3e0: 10 00 12 d4 efsctui r0,r2 + 3e4: 10 00 12 d5 efsctsi r0,r2 + 3e8: 10 00 12 d6 efsctuf r0,r2 + 3ec: 10 00 12 d7 efsctsf r0,r2 + 3f0: 10 00 12 d8 efsctuiz r0,r2 + 3f4: 10 00 12 da efsctsiz r0,r2 + 3f8: 10 01 12 dc efststgt cr0,r1,r2 + 3fc: 10 01 12 dd efststlt cr0,r1,r2 + 400: 10 01 12 de efststeq cr0,r1,r2 diff --git a/gas/testsuite/gas/ppc/spe.s b/gas/testsuite/gas/ppc/spe.s new file mode 100644 index 0000000..5be3386 --- /dev/null +++ b/gas/testsuite/gas/ppc/spe.s @@ -0,0 +1,274 @@ +# PA SPE instructions + .section ".text" + .equ rA,1 + .equ rB,2 + .equ rD,0 + .equ rS,0 + .equ rT,0 + .equ UIMM, 31 + .equ UIMM_2, 2 + .equ UIMM_4, 4 + .equ UIMM_8, 8 + .equ SIMM, -16 + .equ crD, 0 + .equ crS, 0 + + evaddw rS, rA, rB + evaddiw rS, rB, UIMM + evsubfw rS, rA, rB + evsubw rS, rB, rA + evsubifw rS, UIMM, rB + evsubiw rS, rB, UIMM + evabs rS, rA + evneg rS, rA + evextsb rS, rA + evextsh rS, rA + evrndw rS, rA + evcntlzw rS, rA + evcntlsw rS, rA + brinc rS, rA, rB + evand rS, rA, rB + evandc rS, rA, rB + evxor rS, rA, rB + evmr rS, rA + evor rS, rA, rB + evnor rS, rA, rB + evnot rS, rA + eveqv rS, rA, rB + evorc rS, rA, rB + evnand rS, rA, rB + evsrwu rS, rA, rB + evsrws rS, rA, rB + evsrwiu rS, rA, UIMM + evsrwis rS, rA, UIMM + evslw rS, rA, rB + evslwi rS, rA, UIMM + evrlw rS, rA, rB + evsplati rS, SIMM + evrlwi rS, rA, UIMM + evsplatfi rS, SIMM + evmergehi rS, rA, rB + evmergelo rS, rA, rB + evmergehilo rS, rA, rB + evmergelohi rS, rA, rB + evcmpgtu crD, rA, rB + evcmpgts crD, rA, rB + evcmpltu crD, rA, rB + evcmplts crD, rA, rB + evcmpeq crD, rA, rB + evsel rS, rA, rB, crS + evfsadd rS, rA, rB + evfssub rS, rA, rB + evfsmadd rS, rA, rB + evfsmsub rS, rA, rB + evfsabs rS, rA + evfsnabs rS, rA + evfsneg rS, rA + evfsmul rS, rA, rB + evfsdiv rS, rA, rB + evfsnmadd rS, rA, rB + evfsnmsub rS, rA, rB + evfscmpgt crD, rA, rB + evfscmplt crD, rA, rB + evfscmpeq crD, rA, rB + evfscfui rS, rB + evfscfsi rS, rB + evfscfuf rS, rB + evfscfsf rS, rB + evfsctui rS, rB + evfsctsi rS, rB + evfsctuf rS, rB + evfsctsf rS, rB + evfsctuiz rS, rB + evfsctsiz rS, rB + evfststgt crD, rA, rB + evfststlt crD, rA, rB + evfststeq crD, rA, rB + evlddx rS, rA, rB + evldd rS, UIMM_8(rA) + evldwx rS, rA, rB + evldw rS, UIMM_8(rA) + evldhx rS, rA, rB + evldh rS, UIMM_8(rA) + evlhhesplatx rS, rA, rB + evlhhesplat rS, UIMM_2(rA) + evlhhousplatx rS, rA, rB + evlhhousplat rS, UIMM_2(rA) + evlhhossplatx rS, rA, rB + evlhhossplat rS, UIMM_2(rA) + evlwhex rS, rA, rB + evlwhe rS, UIMM_4(rA) + evlwhoux rS, rA, rB + evlwhou rS, UIMM_4(rA) + evlwhosx rS, rA, rB + evlwhos rS, UIMM_4(rA) + evlwwsplatx rS, rA, rB + evlwwsplat rS, UIMM_4(rA) + evlwhsplatx rS, rA, rB + evlwhsplat rS, UIMM_4(rA) + evstddx rS, rA, rB + evstdd rS, UIMM_8(rA) + evstdwx rS, rA, rB + evstdw rS, UIMM_8(rA) + evstdhx rS, rA, rB + evstdh rS, UIMM_8(rA) + evstwhex rS, rA, rB + evstwhe rS, UIMM_4(rA) + evstwhox rS, rA, rB + evstwho rS, UIMM_4(rA) + evstwwex rS, rA, rB + evstwwe rS, UIMM_4(rA) + evstwwox rS, rA, rB + evstwwo rS, UIMM_4(rA) + evmhessf rS, rA, rB + evmhossf rS, rA, rB + evmheumi rS, rA, rB + evmhesmi rS, rA, rB + evmhesmf rS, rA, rB + evmhoumi rS, rA, rB + evmhosmi rS, rA, rB + evmhosmf rS, rA, rB + evmhessfa rS, rA, rB + evmhossfa rS, rA, rB + evmheumia rS, rA, rB + evmhesmia rS, rA, rB + evmhesmfa rS, rA, rB + evmhoumia rS, rA, rB + evmhosmia rS, rA, rB + evmhosmfa rS, rA, rB + evmwlssf rD, rA, rB + evmwhssf rS, rA, rB + evmwlumi rS, rA, rB + evmwlsmf rD, rA, rB + evmwhumi rS, rA, rB + evmwhsmi rS, rA, rB + evmwhsmf rS, rA, rB + evmwssf rS, rA, rB + evmwumi rS, rA, rB + evmwsmi rS, rA, rB + evmwsmf rS, rA, rB + evmwlssfa rD, rA, rB + evmwhssfa rS, rA, rB + evmwlumia rS, rA, rB + evmwlsmfa rD, rA, rB + evmwhumia rS, rA, rB + evmwhsmia rS, rA, rB + evmwhsmfa rS, rA, rB + evmwssfa rS, rA, rB + evmwumia rS, rA, rB + evmwsmia rS, rA, rB + evmwsmfa rS, rA, rB + evaddusiaaw rS, rA + evaddssiaaw rS, rA + evsubfusiaaw rS, rA + evsubfssiaaw rS, rA + evmra rS, rA + evdivws rS, rA, rB + evdivwu rS, rA, rB + evaddumiaaw rS, rA + evaddsmiaaw rS, rA + evsubfumiaaw rS, rA + evsubfsmiaaw rS, rA + evmheusiaaw rS, rA, rB + evmhessiaaw rS, rA, rB + evmhessfaaw rS, rA, rB + evmhousiaaw rS, rA, rB + evmhossiaaw rS, rA, rB + evmhossfaaw rS, rA, rB + evmheumiaaw rS, rA, rB + evmhesmiaaw rS, rA, rB + evmhesmfaaw rS, rA, rB + evmhoumiaaw rS, rA, rB + evmhosmiaaw rS, rA, rB + evmhosmfaaw rS, rA, rB + evmhegumiaa rS, rA, rB + evmhegsmiaa rS, rA, rB + evmhegsmfaa rS, rA, rB + evmhogumiaa rS, rA, rB + evmhogsmiaa rS, rA, rB + evmhogsmfaa rS, rA, rB + evmwlusiaaw rS, rA, rB + evmwlssiaaw rS, rA, rB + evmwlssfaaw rD, rA, rB + evmwhusiaa rD, rA, rB + evmwhssmaa rD, rA, rB + evmwhssfaa rD, rA, rB + evmwlumiaaw rS, rA, rB + evmwlsmiaaw rS, rA, rB + evmwlsmfaaw rD, rA, rB + evmwhumiaa rD, rA, rB + evmwhsmiaa rD, rA, rB + evmwhsmfaa rD, rA, rB + evmwssfaa rS, rA, rB + evmwumiaa rS, rA, rB + evmwsmiaa rS, rA, rB + evmwsmfaa rS, rA, rB + evmwhgumiaa rD, rA, rB + evmwhgsmiaa rD, rA, rB + evmwhgssfaa rD, rA, rB + evmwhgsmfaa rD, rA, rB + evmheusianw rS, rA, rB + evmhessianw rS, rA, rB + evmhessfanw rS, rA, rB + evmhousianw rS, rA, rB + evmhossianw rS, rA, rB + evmhossfanw rS, rA, rB + evmheumianw rS, rA, rB + evmhesmianw rS, rA, rB + evmhesmfanw rS, rA, rB + evmhoumianw rS, rA, rB + evmhosmianw rS, rA, rB + evmhosmfanw rS, rA, rB + evmhegumian rS, rA, rB + evmhegsmian rS, rA, rB + evmhegsmfan rS, rA, rB + evmhogumian rS, rA, rB + evmhogsmian rS, rA, rB + evmhogsmfan rS, rA, rB + evmwlusianw rS, rA, rB + evmwlssianw rS, rA, rB + evmwlssfanw rD, rA, rB + evmwhusian rD, rA, rB + evmwhssian rD, rA, rB + evmwhssfan rD, rA, rB + evmwlumianw rS, rA, rB + evmwlsmianw rS, rA, rB + evmwlsmfanw rD, rA, rB + evmwhumian rD, rA, rB + evmwhsmian rD, rA, rB + evmwhsmfan rD, rA, rB + evmwssfan rS, rA, rB + evmwumian rS, rA, rB + evmwsmian rS, rA, rB + evmwsmfan rS, rA, rB + evmwhgumian rD, rA, rB + evmwhgsmian rD, rA, rB + evmwhgssfan rD, rA, rB + evmwhgsmfan rD, rA, rB + evlddepx rT, rA, rB + evstddepx rT, rA, rB + +;#SPE mapped by macro + evsadd rS, rA, rB + evssub rS, rA, rB + evsabs rS, rA + evsnabs rS, rA + evsneg rS, rA + evsmul rS, rA, rB + evsdiv rS, rA, rB + evscmpgt crD, rA, rB + evsgmplt crD, rA, rB + evsgmpeq crD, rA, rB + evscfui rS, rB + evscfsi rS, rB + evscfuf rS, rB + evscfsf rS, rB + evsctui rS, rB + evsctsi rS, rB + evsctuf rS, rB + evsctsf rS, rB + evsctuiz rS, rB + evsctsiz rS, rB + evststgt crD, rA, rB + evststlt crD, rA, rB + evststeq crD, rA, rB diff --git a/gas/testsuite/gas/ppc/spe2-checks.d b/gas/testsuite/gas/ppc/spe2-checks.d new file mode 100644 index 0000000..ec86e66 --- /dev/null +++ b/gas/testsuite/gas/ppc/spe2-checks.d @@ -0,0 +1,3 @@ +#as: -a32 -mvle -mspe2 +#name: Test SPE2 operands checks +#error-output: spe2-checks.l diff --git a/gas/testsuite/gas/ppc/spe2-checks.l b/gas/testsuite/gas/ppc/spe2-checks.l new file mode 100644 index 0000000..6094f48 --- /dev/null +++ b/gas/testsuite/gas/ppc/spe2-checks.l @@ -0,0 +1,73 @@ +[^:]*: Assembler messages: +.*:29: Error: operand out of range \(32 is not between 0 and 31\) +.*:30: Error: operand out of range \(32 is not between 0 and 31\) +.*:31: Error: operand out of range \(32 is not between 0 and 31\) +.*:32: Error: operand out of range \(32 is not between 0 and 31\) +.*:33: Error: operand out of range \(8 is not between 0 and 7\) +.*:34: Error: operand out of range \(8 is not between 0 and 7\) +.*:35: Error: operand out of range \(4 is not between 0 and 3\) +.*:36: Error: operand out of range \(8 is not between 0 and 7\) +.*:37: Error: operand out of range \(4 is not between 0 and 3\) +.*:38: Error: operand out of range \(16 is not between 0 and 15\) +.*:39: Error: operand out of range \(16 is not between 0 and 15\) +.*:40: Error: operand out of range \(16 is not between 0 and 15\) +.*:41: Error: operand out of range \(4 is not between 0 and 3\) +.*:42: Error: operand out of range \(4 is not between 0 and 3\) +.*:43: Error: invalid offset +.*:44: Error: operand out of range \(8 is not between 0 and 7\) +.*:44: Error: invalid offset +.*:45: Error: UIMM values >7 are illegal +.*:46: Error: UIMM values >7 are illegal +.*:47: Error: UIMM values >7 are illegal +.*:48: Error: UIMM values >7 are illegal +.*:49: Error: UIMM values >15 are illegal +.*:50: Error: UIMM values >15 are illegal +.*:51: Error: UIMM values >15 are illegal +.*:52: Error: UIMM values >15 are illegal +.*:53: Error: operand out of range \(8 is not between 0 and 7\) +.*:54: Error: operand out of range \(8 is not between 0 and 7\) +.*:55: Error: operand out of range \(8 is not between 0 and 7\) +.*:56: Error: operand out of domain \(7 is not a multiple of 8\) +.*:57: Error: operand out of domain \(1 is not a multiple of 2\) +.*:58: Error: operand out of domain \(3 is not a multiple of 4\) +.*:59: Error: operand out of domain \(3 is not a multiple of 4\) +.*:60: Error: operand out of range \(32 is not between 0 and 31\) +.*:61: Error: operand out of domain \(7 is not a multiple of 8\) +.*:62: Error: operand out of domain \(3 is not a multiple of 4\) +.*:63: Error: operand out of domain \(3 is not a multiple of 4\) +.*:64: Error: operand out of domain \(3 is not a multiple of 4\) +.*:65: Error: operand out of domain \(3 is not a multiple of 4\) +.*:66: Error: operand out of domain \(3 is not a multiple of 4\) +.*:67: Error: operand out of domain \(3 is not a multiple of 4\) +.*:68: Error: operand out of domain \(1 is not a multiple of 2\) +.*:69: Error: operand out of domain \(7 is not a multiple of 8\) +.*:70: Error: operand out of domain \(7 is not a multiple of 8\) +.*:71: Error: operand out of domain \(7 is not a multiple of 8\) +.*:72: Error: operand out of domain \(7 is not a multiple of 8\) +.*:73: Error: operand out of domain \(1 is not a multiple of 2\) +.*:74: Error: operand out of domain \(1 is not a multiple of 2\) +.*:75: Error: operand out of domain \(1 is not a multiple of 2\) +.*:76: Error: operand out of domain \(1 is not a multiple of 2\) +.*:77: Error: operand out of domain \(3 is not a multiple of 4\) +.*:78: Error: operand out of domain \(3 is not a multiple of 4\) +.*:79: Error: operand out of domain \(3 is not a multiple of 4\) +.*:80: Error: operand out of domain \(3 is not a multiple of 4\) +.*:81: Error: operand out of domain \(3 is not a multiple of 4\) +.*:82: Error: operand out of domain \(3 is not a multiple of 4\) +.*:83: Error: operand out of domain \(3 is not a multiple of 4\) +.*:84: Error: UIMM = 00000 is illegal +.*:85: Error: operand out of domain \(7 is not a multiple of 8\) +.*:86: Error: operand out of domain \(7 is not a multiple of 8\) +.*:87: Error: operand out of domain \(7 is not a multiple of 8\) +.*:88: Error: operand out of domain \(7 is not a multiple of 8\) +.*:89: Error: operand out of domain \(3 is not a multiple of 4\) +.*:90: Error: operand out of domain \(3 is not a multiple of 4\) +.*:91: Error: operand out of domain \(3 is not a multiple of 4\) +.*:92: Error: operand out of domain \(3 is not a multiple of 4\) +.*:93: Error: operand out of domain \(3 is not a multiple of 4\) +.*:94: Error: operand out of domain \(3 is not a multiple of 4\) +.*:95: Error: operand out of domain \(3 is not a multiple of 4\) +.*:96: Error: operand out of domain \(3 is not a multiple of 4\) +.*:97: Error: operand out of domain \(3 is not a multiple of 4\) +.*:98: Error: operand out of domain \(3 is not a multiple of 4\) +.*:99: Error: operand out of domain \(1 is not a multiple of 2\) diff --git a/gas/testsuite/gas/ppc/spe2-checks.s b/gas/testsuite/gas/ppc/spe2-checks.s new file mode 100644 index 0000000..b1fd776 --- /dev/null +++ b/gas/testsuite/gas/ppc/spe2-checks.s @@ -0,0 +1,99 @@ +# PA SPE2 instructions + .section ".text" + + .equ rA,1 + .equ rB,2 + .equ rD,0 + .equ rS,0 + .equ UIMM_ILL, 32 + .equ UIMM_1_ZERO, 0 + .equ UIMM_1_ILL, 32 + .equ UIMM_2_ILL, 1 + .equ UIMM_4_ILL, 3 + .equ UIMM_8_ILL, 7 + .equ UIMM_GT7, 8 + .equ UIMM_GT15, 16 + .equ nnn_ILL, 8 + .equ bbb_ILL, 8 + .equ dd, 3 + .equ dd_ILL, 4 + .equ Ddd, 7 + .equ Ddd_ILL, 8 + .equ hh, 3 + .equ hh_ILL, 4 + .equ mask_ILL, 16 + .equ offset_ILL0, 0 + .equ offset_ILL, 8 + + + evaddib rD, rB, UIMM_ILL + evaddih rD, rB, UIMM_ILL + evsubifh rD, UIMM_ILL, rB + evsubifb rD, UIMM_ILL, rB + evinsb rD, rA, Ddd, bbb_ILL + evxtrb rD, rA, Ddd, bbb_ILL + evsplath rD, rA, hh_ILL + evsplatb rD, rA, bbb_ILL + evinsh rD, rA, dd_ILL, hh + evclrbe rD, rA, mask_ILL + evclrbo rD, rA, mask_ILL + evclrh rD, rA, mask_ILL + evxtrh rD, rA, dd_ILL, hh + evxtrh rD, rA, dd, hh_ILL + evxtrd rD, rA, rB, offset_ILL0 + evxtrd rD, rA, rB, offset_ILL + evsrbiu rD, rA, UIMM_GT7 + evsrbis rD, rA, UIMM_GT7 + evslbi rD, rA, UIMM_GT7 + evrlbi rD, rA, UIMM_GT7 + evsrhiu rD, rA, UIMM_GT15 + evsrhis rD, rA, UIMM_GT15 + evslhi rD, rA, UIMM_GT15 + evrlhi rD, rA, UIMM_GT15 + evsroiu rD, rA, nnn_ILL + evsrois rD, rA, nnn_ILL + evsloi rD, rA, nnn_ILL + evldb rD, UIMM_8_ILL (rA) + evlhhsplath rD, UIMM_2_ILL (rA) + evlwbsplatw rD, UIMM_4_ILL (rA) + evlwhsplatw rD, UIMM_4_ILL (rA) + evlbbsplatb rD, UIMM_1_ILL (rA) + evstdb rS, UIMM_8_ILL (rA) + evlwbe rD, UIMM_4_ILL (rA) + evlwbou rD, UIMM_4_ILL (rA) + evlwbos rD, UIMM_4_ILL (rA) + evstwbe rS, UIMM_4_ILL (rA) + evstwbo rS, UIMM_4_ILL (rA) + evstwb rS, UIMM_4_ILL (rA) + evsthb rS, UIMM_2_ILL (rA) + evlddu rD, UIMM_8_ILL (rA) + evldwu rD, UIMM_8_ILL (rA) + evldhu rD, UIMM_8_ILL (rA) + evldbu rD, UIMM_8_ILL (rA) + evlhhesplatu rD, UIMM_2_ILL (rA) + evlhhsplathu rD, UIMM_2_ILL (rA) + evlhhousplatu rD, UIMM_2_ILL (rA) + evlhhossplatu rD, UIMM_2_ILL (rA) + evlwheu rD, UIMM_4_ILL (rA) + evlwbsplatwu rD, UIMM_4_ILL (rA) + evlwhouu rD, UIMM_4_ILL (rA) + evlwhosu rD, UIMM_4_ILL (rA) + evlwwsplatu rD, UIMM_4_ILL (rA) + evlwhsplatwu rD, UIMM_4_ILL (rA) + evlwhsplatu rD, UIMM_4_ILL (rA) + evlbbsplatbu rD, UIMM_1_ZERO (rA) + evstddu rS, UIMM_8_ILL (rA) + evstdwu rS, UIMM_8_ILL (rA) + evstdhu rS, UIMM_8_ILL (rA) + evstdbu rS, UIMM_8_ILL (rA) + evlwbeu rD, UIMM_4_ILL (rA) + evlwbouu rD, UIMM_4_ILL (rA) + evlwbosu rD, UIMM_4_ILL (rA) + evstwheu rS, UIMM_4_ILL (rA) + evstwbeu rS, UIMM_4_ILL (rA) + evstwhou rS, UIMM_4_ILL (rA) + evstwbou rS, UIMM_4_ILL (rA) + evstwweu rS, UIMM_4_ILL (rA) + evstwbu rS, UIMM_4_ILL (rA) + evstwwou rS, UIMM_4_ILL (rA) + evsthbu rS, UIMM_2_ILL (rA) diff --git a/gas/testsuite/gas/ppc/spe2.d b/gas/testsuite/gas/ppc/spe2.d new file mode 100644 index 0000000..e4c45de --- /dev/null +++ b/gas/testsuite/gas/ppc/spe2.d @@ -0,0 +1,815 @@ +#as: -a32 -mvle -mspe2 +#objdump: -d -Mspe2 -Mefs2 +#name: Validate SPE2 instructions + +.*: +file format elf.*-powerpc.* + +Disassembly of section .text: + +00000000 <.text>: + 0: 10 01 10 80 evdotpwcssi r0,r1,r2 + 4: 10 01 10 81 evdotpwcsmi r0,r1,r2 + 8: 10 01 10 82 evdotpwcssfr r0,r1,r2 + c: 10 01 10 83 evdotpwcssf r0,r1,r2 + 10: 10 01 10 88 evdotpwgasmf r0,r1,r2 + 14: 10 01 10 89 evdotpwxgasmf r0,r1,r2 + 18: 10 01 10 8a evdotpwgasmfr r0,r1,r2 + 1c: 10 01 10 8b evdotpwxgasmfr r0,r1,r2 + 20: 10 01 10 8c evdotpwgssmf r0,r1,r2 + 24: 10 01 10 8d evdotpwxgssmf r0,r1,r2 + 28: 10 01 10 8e evdotpwgssmfr r0,r1,r2 + 2c: 10 01 10 8f evdotpwxgssmfr r0,r1,r2 + 30: 10 01 10 90 evdotpwcssiaaw3 r0,r1,r2 + 34: 10 01 10 91 evdotpwcsmiaaw3 r0,r1,r2 + 38: 10 01 10 92 evdotpwcssfraaw3 r0,r1,r2 + 3c: 10 01 10 93 evdotpwcssfaaw3 r0,r1,r2 + 40: 10 01 10 98 evdotpwgasmfaa3 r0,r1,r2 + 44: 10 01 10 99 evdotpwxgasmfaa3 r0,r1,r2 + 48: 10 01 10 9a evdotpwgasmfraa3 r0,r1,r2 + 4c: 10 01 10 9b evdotpwxgasmfraa3 r0,r1,r2 + 50: 10 01 10 9c evdotpwgssmfaa3 r0,r1,r2 + 54: 10 01 10 9d evdotpwxgssmfaa3 r0,r1,r2 + 58: 10 01 10 9e evdotpwgssmfraa3 r0,r1,r2 + 5c: 10 01 10 9f evdotpwxgssmfraa3 r0,r1,r2 + 60: 10 01 10 a0 evdotpwcssia r0,r1,r2 + 64: 10 01 10 a1 evdotpwcsmia r0,r1,r2 + 68: 10 01 10 a2 evdotpwcssfra r0,r1,r2 + 6c: 10 01 10 a3 evdotpwcssfa r0,r1,r2 + 70: 10 01 10 a8 evdotpwgasmfa r0,r1,r2 + 74: 10 01 10 a9 evdotpwxgasmfa r0,r1,r2 + 78: 10 01 10 aa evdotpwgasmfra r0,r1,r2 + 7c: 10 01 10 ab evdotpwxgasmfra r0,r1,r2 + 80: 10 01 10 ac evdotpwgssmfa r0,r1,r2 + 84: 10 01 10 ad evdotpwxgssmfa r0,r1,r2 + 88: 10 01 10 ae evdotpwgssmfra r0,r1,r2 + 8c: 10 01 10 af evdotpwxgssmfra r0,r1,r2 + 90: 10 01 10 b0 evdotpwcssiaaw r0,r1,r2 + 94: 10 01 10 b1 evdotpwcsmiaaw r0,r1,r2 + 98: 10 01 10 b2 evdotpwcssfraaw r0,r1,r2 + 9c: 10 01 10 b3 evdotpwcssfaaw r0,r1,r2 + a0: 10 01 10 b8 evdotpwgasmfaa r0,r1,r2 + a4: 10 01 10 b9 evdotpwxgasmfaa r0,r1,r2 + a8: 10 01 10 ba evdotpwgasmfraa r0,r1,r2 + ac: 10 01 10 bb evdotpwxgasmfraa r0,r1,r2 + b0: 10 01 10 bc evdotpwgssmfaa r0,r1,r2 + b4: 10 01 10 bd evdotpwxgssmfaa r0,r1,r2 + b8: 10 01 10 be evdotpwgssmfraa r0,r1,r2 + bc: 10 01 10 bf evdotpwxgssmfraa r0,r1,r2 + c0: 10 01 11 00 evdotphihcssi r0,r1,r2 + c4: 10 01 11 01 evdotplohcssi r0,r1,r2 + c8: 10 01 11 02 evdotphihcssf r0,r1,r2 + cc: 10 01 11 03 evdotplohcssf r0,r1,r2 + d0: 10 01 11 08 evdotphihcsmi r0,r1,r2 + d4: 10 01 11 09 evdotplohcsmi r0,r1,r2 + d8: 10 01 11 0a evdotphihcssfr r0,r1,r2 + dc: 10 01 11 0b evdotplohcssfr r0,r1,r2 + e0: 10 01 11 10 evdotphihcssiaaw3 r0,r1,r2 + e4: 10 01 11 11 evdotplohcssiaaw3 r0,r1,r2 + e8: 10 01 11 12 evdotphihcssfaaw3 r0,r1,r2 + ec: 10 01 11 13 evdotplohcssfaaw3 r0,r1,r2 + f0: 10 01 11 18 evdotphihcsmiaaw3 r0,r1,r2 + f4: 10 01 11 19 evdotplohcsmiaaw3 r0,r1,r2 + f8: 10 01 11 1a evdotphihcssfraaw3 r0,r1,r2 + fc: 10 01 11 1b evdotplohcssfraaw3 r0,r1,r2 + 100: 10 01 11 20 evdotphihcssia r0,r1,r2 + 104: 10 01 11 21 evdotplohcssia r0,r1,r2 + 108: 10 01 11 22 evdotphihcssfa r0,r1,r2 + 10c: 10 01 11 23 evdotplohcssfa r0,r1,r2 + 110: 10 01 11 28 evdotphihcsmia r0,r1,r2 + 114: 10 01 11 29 evdotplohcsmia r0,r1,r2 + 118: 10 01 11 2a evdotphihcssfra r0,r1,r2 + 11c: 10 01 11 2b evdotplohcssfra r0,r1,r2 + 120: 10 01 11 30 evdotphihcssiaaw r0,r1,r2 + 124: 10 01 11 31 evdotplohcssiaaw r0,r1,r2 + 128: 10 01 11 32 evdotphihcssfaaw r0,r1,r2 + 12c: 10 01 11 33 evdotplohcssfaaw r0,r1,r2 + 130: 10 01 11 38 evdotphihcsmiaaw r0,r1,r2 + 134: 10 01 11 39 evdotplohcsmiaaw r0,r1,r2 + 138: 10 01 11 3a evdotphihcssfraaw r0,r1,r2 + 13c: 10 01 11 3b evdotplohcssfraaw r0,r1,r2 + 140: 10 01 11 40 evdotphausi r0,r1,r2 + 144: 10 01 11 41 evdotphassi r0,r1,r2 + 148: 10 01 11 42 evdotphasusi r0,r1,r2 + 14c: 10 01 11 43 evdotphassf r0,r1,r2 + 150: 10 01 11 47 evdotphsssf r0,r1,r2 + 154: 10 01 11 48 evdotphaumi r0,r1,r2 + 158: 10 01 11 49 evdotphasmi r0,r1,r2 + 15c: 10 01 11 4a evdotphasumi r0,r1,r2 + 160: 10 01 11 4b evdotphassfr r0,r1,r2 + 164: 10 01 11 4d evdotphssmi r0,r1,r2 + 168: 10 01 11 4f evdotphsssfr r0,r1,r2 + 16c: 10 01 11 50 evdotphausiaaw3 r0,r1,r2 + 170: 10 01 11 51 evdotphassiaaw3 r0,r1,r2 + 174: 10 01 11 52 evdotphasusiaaw3 r0,r1,r2 + 178: 10 01 11 53 evdotphassfaaw3 r0,r1,r2 + 17c: 10 01 11 55 evdotphsssiaaw3 r0,r1,r2 + 180: 10 01 11 57 evdotphsssfaaw3 r0,r1,r2 + 184: 10 01 11 58 evdotphaumiaaw3 r0,r1,r2 + 188: 10 01 11 59 evdotphasmiaaw3 r0,r1,r2 + 18c: 10 01 11 5a evdotphasumiaaw3 r0,r1,r2 + 190: 10 01 11 5b evdotphassfraaw3 r0,r1,r2 + 194: 10 01 11 5d evdotphssmiaaw3 r0,r1,r2 + 198: 10 01 11 5f evdotphsssfraaw3 r0,r1,r2 + 19c: 10 01 11 60 evdotphausia r0,r1,r2 + 1a0: 10 01 11 61 evdotphassia r0,r1,r2 + 1a4: 10 01 11 62 evdotphasusia r0,r1,r2 + 1a8: 10 01 11 63 evdotphassfa r0,r1,r2 + 1ac: 10 01 11 67 evdotphsssfa r0,r1,r2 + 1b0: 10 01 11 68 evdotphaumia r0,r1,r2 + 1b4: 10 01 11 69 evdotphasmia r0,r1,r2 + 1b8: 10 01 11 6a evdotphasumia r0,r1,r2 + 1bc: 10 01 11 6b evdotphassfra r0,r1,r2 + 1c0: 10 01 11 6d evdotphssmia r0,r1,r2 + 1c4: 10 01 11 6f evdotphsssfra r0,r1,r2 + 1c8: 10 01 11 70 evdotphausiaaw r0,r1,r2 + 1cc: 10 01 11 71 evdotphassiaaw r0,r1,r2 + 1d0: 10 01 11 72 evdotphasusiaaw r0,r1,r2 + 1d4: 10 01 11 73 evdotphassfaaw r0,r1,r2 + 1d8: 10 01 11 75 evdotphsssiaaw r0,r1,r2 + 1dc: 10 01 11 77 evdotphsssfaaw r0,r1,r2 + 1e0: 10 01 11 78 evdotphaumiaaw r0,r1,r2 + 1e4: 10 01 11 79 evdotphasmiaaw r0,r1,r2 + 1e8: 10 01 11 7a evdotphasumiaaw r0,r1,r2 + 1ec: 10 01 11 7b evdotphassfraaw r0,r1,r2 + 1f0: 10 01 11 7d evdotphssmiaaw r0,r1,r2 + 1f4: 10 01 11 7f evdotphsssfraaw r0,r1,r2 + 1f8: 10 01 11 80 evdotp4hgaumi r0,r1,r2 + 1fc: 10 01 11 81 evdotp4hgasmi r0,r1,r2 + 200: 10 01 11 82 evdotp4hgasumi r0,r1,r2 + 204: 10 01 11 83 evdotp4hgasmf r0,r1,r2 + 208: 10 01 11 84 evdotp4hgssmi r0,r1,r2 + 20c: 10 01 11 85 evdotp4hgssmf r0,r1,r2 + 210: 10 01 11 86 evdotp4hxgasmi r0,r1,r2 + 214: 10 01 11 87 evdotp4hxgasmf r0,r1,r2 + 218: 10 01 11 88 evdotpbaumi r0,r1,r2 + 21c: 10 01 11 89 evdotpbasmi r0,r1,r2 + 220: 10 01 11 8a evdotpbasumi r0,r1,r2 + 224: 10 01 11 8e evdotp4hxgssmi r0,r1,r2 + 228: 10 01 11 8f evdotp4hxgssmf r0,r1,r2 + 22c: 10 01 11 90 evdotp4hgaumiaa3 r0,r1,r2 + 230: 10 01 11 91 evdotp4hgasmiaa3 r0,r1,r2 + 234: 10 01 11 92 evdotp4hgasumiaa3 r0,r1,r2 + 238: 10 01 11 93 evdotp4hgasmfaa3 r0,r1,r2 + 23c: 10 01 11 94 evdotp4hgssmiaa3 r0,r1,r2 + 240: 10 01 11 95 evdotp4hgssmfaa3 r0,r1,r2 + 244: 10 01 11 96 evdotp4hxgasmiaa3 r0,r1,r2 + 248: 10 01 11 97 evdotp4hxgasmfaa3 r0,r1,r2 + 24c: 10 01 11 98 evdotpbaumiaaw3 r0,r1,r2 + 250: 10 01 11 99 evdotpbasmiaaw3 r0,r1,r2 + 254: 10 01 11 9a evdotpbasumiaaw3 r0,r1,r2 + 258: 10 01 11 9e evdotp4hxgssmiaa3 r0,r1,r2 + 25c: 10 01 11 9f evdotp4hxgssmfaa3 r0,r1,r2 + 260: 10 01 11 a0 evdotp4hgaumia r0,r1,r2 + 264: 10 01 11 a1 evdotp4hgasmia r0,r1,r2 + 268: 10 01 11 a2 evdotp4hgasumia r0,r1,r2 + 26c: 10 01 11 a3 evdotp4hgasmfa r0,r1,r2 + 270: 10 01 11 a4 evdotp4hgssmia r0,r1,r2 + 274: 10 01 11 a5 evdotp4hgssmfa r0,r1,r2 + 278: 10 01 11 a6 evdotp4hxgasmia r0,r1,r2 + 27c: 10 01 11 a7 evdotp4hxgasmfa r0,r1,r2 + 280: 10 01 11 a8 evdotpbaumia r0,r1,r2 + 284: 10 01 11 a9 evdotpbasmia r0,r1,r2 + 288: 10 01 11 aa evdotpbasumia r0,r1,r2 + 28c: 10 01 11 ae evdotp4hxgssmia r0,r1,r2 + 290: 10 01 11 af evdotp4hxgssmfa r0,r1,r2 + 294: 10 01 11 b0 evdotp4hgaumiaa r0,r1,r2 + 298: 10 01 11 b1 evdotp4hgasmiaa r0,r1,r2 + 29c: 10 01 11 b2 evdotp4hgasumiaa r0,r1,r2 + 2a0: 10 01 11 b3 evdotp4hgasmfaa r0,r1,r2 + 2a4: 10 01 11 b4 evdotp4hgssmiaa r0,r1,r2 + 2a8: 10 01 11 b5 evdotp4hgssmfaa r0,r1,r2 + 2ac: 10 01 11 b6 evdotp4hxgasmiaa r0,r1,r2 + 2b0: 10 01 11 b7 evdotp4hxgasmfaa r0,r1,r2 + 2b4: 10 01 11 b8 evdotpbaumiaaw r0,r1,r2 + 2b8: 10 01 11 b9 evdotpbasmiaaw r0,r1,r2 + 2bc: 10 01 11 ba evdotpbasumiaaw r0,r1,r2 + 2c0: 10 01 11 be evdotp4hxgssmiaa r0,r1,r2 + 2c4: 10 01 11 bf evdotp4hxgssmfaa r0,r1,r2 + 2c8: 10 01 11 c0 evdotpwausi r0,r1,r2 + 2cc: 10 01 11 c1 evdotpwassi r0,r1,r2 + 2d0: 10 01 11 c2 evdotpwasusi r0,r1,r2 + 2d4: 10 01 11 c8 evdotpwaumi r0,r1,r2 + 2d8: 10 01 11 c9 evdotpwasmi r0,r1,r2 + 2dc: 10 01 11 ca evdotpwasumi r0,r1,r2 + 2e0: 10 01 11 cd evdotpwssmi r0,r1,r2 + 2e4: 10 01 11 d0 evdotpwausiaa3 r0,r1,r2 + 2e8: 10 01 11 d1 evdotpwassiaa3 r0,r1,r2 + 2ec: 10 01 11 d2 evdotpwasusiaa3 r0,r1,r2 + 2f0: 10 01 11 d5 evdotpwsssiaa3 r0,r1,r2 + 2f4: 10 01 11 d8 evdotpwaumiaa3 r0,r1,r2 + 2f8: 10 01 11 d9 evdotpwasmiaa3 r0,r1,r2 + 2fc: 10 01 11 da evdotpwasumiaa3 r0,r1,r2 + 300: 10 01 11 dd evdotpwssmiaa3 r0,r1,r2 + 304: 10 01 11 e0 evdotpwausia r0,r1,r2 + 308: 10 01 11 e1 evdotpwassia r0,r1,r2 + 30c: 10 01 11 e2 evdotpwasusia r0,r1,r2 + 310: 10 01 11 e8 evdotpwaumia r0,r1,r2 + 314: 10 01 11 e9 evdotpwasmia r0,r1,r2 + 318: 10 01 11 ea evdotpwasumia r0,r1,r2 + 31c: 10 01 11 ed evdotpwssmia r0,r1,r2 + 320: 10 01 11 f0 evdotpwausiaa r0,r1,r2 + 324: 10 01 11 f1 evdotpwassiaa r0,r1,r2 + 328: 10 01 11 f2 evdotpwasusiaa r0,r1,r2 + 32c: 10 01 11 f5 evdotpwsssiaa r0,r1,r2 + 330: 10 01 11 f8 evdotpwaumiaa r0,r1,r2 + 334: 10 01 11 f9 evdotpwasmiaa r0,r1,r2 + 338: 10 01 11 fa evdotpwasumiaa r0,r1,r2 + 33c: 10 01 11 fd evdotpwssmiaa r0,r1,r2 + 340: 10 1f 12 03 evaddib r0,r2,31 + 344: 10 1f 12 01 evaddih r0,r2,31 + 348: 10 1f 12 05 evsubifh r0,31,r2 + 34c: 10 1f 12 07 evsubifb r0,31,r2 + 350: 10 01 12 08 evabsb r0,r1 + 354: 10 01 22 08 evabsh r0,r1 + 358: 10 01 32 08 evabsd r0,r1 + 35c: 10 01 42 08 evabss r0,r1 + 360: 10 01 52 08 evabsbs r0,r1 + 364: 10 01 62 08 evabshs r0,r1 + 368: 10 01 72 08 evabsds r0,r1 + 36c: 10 01 0a 09 evnegwo r0,r1 + 370: 10 01 12 09 evnegb r0,r1 + 374: 10 01 1a 09 evnegbo r0,r1 + 378: 10 01 22 09 evnegh r0,r1 + 37c: 10 01 2a 09 evnegho r0,r1 + 380: 10 01 32 09 evnegd r0,r1 + 384: 10 01 42 09 evnegs r0,r1 + 388: 10 01 4a 09 evnegwos r0,r1 + 38c: 10 01 52 09 evnegbs r0,r1 + 390: 10 01 5a 09 evnegbos r0,r1 + 394: 10 01 62 09 evneghs r0,r1 + 398: 10 01 6a 09 evneghos r0,r1 + 39c: 10 01 72 09 evnegds r0,r1 + 3a0: 10 01 0a 0a evextzb r0,r1 + 3a4: 10 01 22 0a evextsbh r0,r1 + 3a8: 10 01 32 0b evextsw r0,r1 + 3ac: 10 01 02 0c evrndwh r0,r1 + 3b0: 10 01 22 0c evrndhb r0,r1 + 3b4: 10 01 32 0c evrnddw r0,r1 + 3b8: 10 01 42 0c evrndwhus r0,r1 + 3bc: 10 01 4a 0c evrndwhss r0,r1 + 3c0: 10 01 62 0c evrndhbus r0,r1 + 3c4: 10 01 6a 0c evrndhbss r0,r1 + 3c8: 10 01 72 0c evrnddwus r0,r1 + 3cc: 10 01 7a 0c evrnddwss r0,r1 + 3d0: 10 01 82 0c evrndwnh r0,r1 + 3d4: 10 01 a2 0c evrndhnb r0,r1 + 3d8: 10 01 b2 0c evrnddnw r0,r1 + 3dc: 10 01 c2 0c evrndwnhus r0,r1 + 3e0: 10 01 ca 0c evrndwnhss r0,r1 + 3e4: 10 01 e2 0c evrndhnbus r0,r1 + 3e8: 10 01 ea 0c evrndhnbss r0,r1 + 3ec: 10 01 f2 0c evrnddnwus r0,r1 + 3f0: 10 01 fa 0c evrnddnwss r0,r1 + 3f4: 10 01 22 0d evcntlzh r0,r1 + 3f8: 10 01 22 0e evcntlsh r0,r1 + 3fc: 10 01 d2 0e evpopcntb r0,r1 + 400: 10 01 12 10 circinc r0,r1,r2 + 404: 10 01 02 1c evunpkhibui r0,r1 + 408: 10 01 0a 1c evunpkhibsi r0,r1 + 40c: 10 01 12 1c evunpkhihui r0,r1 + 410: 10 01 1a 1c evunpkhihsi r0,r1 + 414: 10 01 22 1c evunpklobui r0,r1 + 418: 10 01 2a 1c evunpklobsi r0,r1 + 41c: 10 01 32 1c evunpklohui r0,r1 + 420: 10 01 3a 1c evunpklohsi r0,r1 + 424: 10 01 42 1c evunpklohf r0,r1 + 428: 10 01 4a 1c evunpkhihf r0,r1 + 42c: 10 01 62 1c evunpklowgsf r0,r1 + 430: 10 01 6a 1c evunpkhiwgsf r0,r1 + 434: 10 01 82 1c evsatsduw r0,r1 + 438: 10 01 8a 1c evsatsdsw r0,r1 + 43c: 10 01 92 1c evsatshub r0,r1 + 440: 10 01 9a 1c evsatshsb r0,r1 + 444: 10 01 a2 1c evsatuwuh r0,r1 + 448: 10 01 aa 1c evsatswsh r0,r1 + 44c: 10 01 b2 1c evsatswuh r0,r1 + 450: 10 01 ba 1c evsatuhub r0,r1 + 454: 10 01 c2 1c evsatuduw r0,r1 + 458: 10 01 ca 1c evsatuwsw r0,r1 + 45c: 10 01 d2 1c evsatshuh r0,r1 + 460: 10 01 da 1c evsatuhsh r0,r1 + 464: 10 01 e2 1c evsatswuw r0,r1 + 468: 10 01 ea 1c evsatswgsdf r0,r1 + 46c: 10 01 f2 1c evsatsbub r0,r1 + 470: 10 01 fa 1c evsatubsb r0,r1 + 474: 10 01 02 1d evmaxhpuw r0,r1 + 478: 10 01 0a 1d evmaxhpsw r0,r1 + 47c: 10 01 22 1d evmaxbpuh r0,r1 + 480: 10 01 2a 1d evmaxbpsh r0,r1 + 484: 10 01 32 1d evmaxwpud r0,r1 + 488: 10 01 3a 1d evmaxwpsd r0,r1 + 48c: 10 01 42 1d evminhpuw r0,r1 + 490: 10 01 4a 1d evminhpsw r0,r1 + 494: 10 01 62 1d evminbpuh r0,r1 + 498: 10 01 6a 1d evminbpsh r0,r1 + 49c: 10 01 72 1d evminwpud r0,r1 + 4a0: 10 01 7a 1d evminwpsd r0,r1 + 4a4: 10 01 12 1f evmaxmagws r0,r1,r2 + 4a8: 10 01 12 25 evsl r0,r1,r2 + 4ac: 10 01 fa 27 evsli r0,r1,31 + 4b0: 10 10 0a 29 evsplatie r0,-16 + 4b4: 10 10 12 29 evsplatib r0,-16 + 4b8: 10 10 1a 29 evsplatibe r0,-16 + 4bc: 10 10 22 29 evsplatih r0,-16 + 4c0: 10 10 2a 29 evsplatihe r0,-16 + 4c4: 10 10 32 29 evsplatid r0,-16 + 4c8: 10 10 82 29 evsplatia r0,-16 + 4cc: 10 10 8a 29 evsplatiea r0,-16 + 4d0: 10 10 92 29 evsplatiba r0,-16 + 4d4: 10 10 9a 29 evsplatibea r0,-16 + 4d8: 10 10 a2 29 evsplatiha r0,-16 + 4dc: 10 10 aa 29 evsplatihea r0,-16 + 4e0: 10 10 b2 29 evsplatida r0,-16 + 4e4: 10 10 0a 2b evsplatfio r0,-16 + 4e8: 10 10 12 2b evsplatfib r0,-16 + 4ec: 10 10 1a 2b evsplatfibo r0,-16 + 4f0: 10 10 22 2b evsplatfih r0,-16 + 4f4: 10 10 2a 2b evsplatfiho r0,-16 + 4f8: 10 10 32 2b evsplatfid r0,-16 + 4fc: 10 10 82 2b evsplatfia r0,-16 + 500: 10 10 8a 2b evsplatfioa r0,-16 + 504: 10 10 92 2b evsplatfiba r0,-16 + 508: 10 10 9a 2b evsplatfiboa r0,-16 + 50c: 10 10 a2 2b evsplatfiha r0,-16 + 510: 10 10 aa 2b evsplatfihoa r0,-16 + 514: 10 10 b2 2b evsplatfida r0,-16 + 518: 10 21 12 30 evcmpgtdu cr0,r1,r2 + 51c: 10 21 12 31 evcmpgtds cr0,r1,r2 + 520: 10 21 12 32 evcmpltdu cr0,r1,r2 + 524: 10 21 12 33 evcmpltds cr0,r1,r2 + 528: 10 21 12 34 evcmpeqd cr0,r1,r2 + 52c: 10 01 12 38 evswapbhilo r0,r1,r2 + 530: 10 01 12 39 evswapblohi r0,r1,r2 + 534: 10 01 12 3a evswaphhilo r0,r1,r2 + 538: 10 01 12 3b evswaphlohi r0,r1,r2 + 53c: 10 01 12 3c evswaphe r0,r1,r2 + 540: 10 01 12 3d evswaphhi r0,r1,r2 + 544: 10 01 12 3e evswaphlo r0,r1,r2 + 548: 10 01 12 3f evswapho r0,r1,r2 + 54c: 10 01 fa 49 evinsb r0,r1,7,7 + 550: 10 01 fa 4b evxtrb r0,r1,7,7 + 554: 10 01 62 4c evsplath r0,r1,3 + 558: 10 01 f2 4c evsplatb r0,r1,7 + 55c: 10 01 7a 4d evinsh r0,r1,3,3 + 560: 10 01 7a 4e evclrbe r0,r1,15 + 564: 10 01 fa 4e evclrbo r0,r1,15 + 568: 10 01 fa 4f evclrh r0,r1,15 + 56c: 10 01 7a 4f evxtrh r0,r1,3,3 + 570: 10 01 12 50 evselbitm0 r0,r1,r2 + 574: 10 01 12 51 evselbitm1 r0,r1,r2 + 578: 10 01 12 52 evselbit r0,r1,r2 + 57c: 10 01 12 54 evperm r0,r1,r2 + 580: 10 01 12 55 evperm2 r0,r1,r2 + 584: 10 01 12 56 evperm3 r0,r1,r2 + 588: 10 01 12 5f evxtrd r0,r1,r2,7 + 58c: 10 01 12 60 evsrbu r0,r1,r2 + 590: 10 01 12 61 evsrbs r0,r1,r2 + 594: 10 01 3a 62 evsrbiu r0,r1,7 + 598: 10 01 3a 63 evsrbis r0,r1,7 + 59c: 10 01 12 64 evslb r0,r1,r2 + 5a0: 10 01 12 65 evrlb r0,r1,r2 + 5a4: 10 01 3a 66 evslbi r0,r1,7 + 5a8: 10 01 3a 67 evrlbi r0,r1,7 + 5ac: 10 01 12 68 evsrhu r0,r1,r2 + 5b0: 10 01 12 69 evsrhs r0,r1,r2 + 5b4: 10 01 7a 6a evsrhiu r0,r1,15 + 5b8: 10 01 7a 6b evsrhis r0,r1,15 + 5bc: 10 01 12 6c evslh r0,r1,r2 + 5c0: 10 01 12 6d evrlh r0,r1,r2 + 5c4: 10 01 7a 6e evslhi r0,r1,15 + 5c8: 10 01 7a 6f evrlhi r0,r1,15 + 5cc: 10 01 12 70 evsru r0,r1,r2 + 5d0: 10 01 12 71 evsrs r0,r1,r2 + 5d4: 10 01 fa 72 evsriu r0,r1,31 + 5d8: 10 01 fa 73 evsris r0,r1,31 + 5dc: 10 01 12 74 evlvsl r0,r1,r2 + 5e0: 10 01 12 75 evlvsr r0,r1,r2 + 5e4: 10 01 3a 77 evsroiu r0,r1,7 + 5e8: 10 01 7a 77 evsrois r0,r1,7 + 5ec: 10 01 ba 77 evsloi r0,r1,7 + 5f0: 10 01 02 87 evfssqrt r0,r1 + 5f4: 10 04 12 91 evfscfh r0,r2 + 5f8: 10 04 12 95 evfscth r0,r2 + 5fc: 10 01 12 a0 evfsmax r0,r1,r2 + 600: 10 01 12 a1 evfsmin r0,r1,r2 + 604: 10 01 12 a2 evfsaddsub r0,r1,r2 + 608: 10 01 12 a3 evfssubadd r0,r1,r2 + 60c: 10 01 12 a4 evfssum r0,r1,r2 + 610: 10 01 12 a5 evfsdiff r0,r1,r2 + 614: 10 01 12 a6 evfssumdiff r0,r1,r2 + 618: 10 01 12 a7 evfsdiffsum r0,r1,r2 + 61c: 10 01 12 a8 evfsaddx r0,r1,r2 + 620: 10 01 12 a9 evfssubx r0,r1,r2 + 624: 10 01 12 aa evfsaddsubx r0,r1,r2 + 628: 10 01 12 ab evfssubaddx r0,r1,r2 + 62c: 10 01 12 ac evfsmulx r0,r1,r2 + 630: 10 01 12 ae evfsmule r0,r1,r2 + 634: 10 01 12 af evfsmulo r0,r1,r2 + 638: 10 01 13 06 evldbx r0,r1,r2 + 63c: 10 01 0b 07 evldb r0,8\(r1\) + 640: 10 01 13 0a evlhhsplathx r0,r1,r2 + 644: 10 01 0b 0b evlhhsplath r0,2\(r1\) + 648: 10 01 13 12 evlwbsplatwx r0,r1,r2 + 64c: 10 01 0b 13 evlwbsplatw r0,4\(r1\) + 650: 10 01 13 1a evlwhsplatwx r0,r1,r2 + 654: 10 01 0b 1b evlwhsplatw r0,4\(r1\) + 658: 10 01 13 1e evlbbsplatbx r0,r1,r2 + 65c: 10 01 0b 1f evlbbsplatb r0,1\(r1\) + 660: 10 01 13 26 evstdbx r0,r1,r2 + 664: 10 01 0b 27 evstdb r0,8\(r1\) + 668: 10 01 13 2a evlwbex r0,r1,r2 + 66c: 10 01 0b 2b evlwbe r0,4\(r1\) + 670: 10 01 13 2c evlwboux r0,r1,r2 + 674: 10 01 0b 2d evlwbou r0,4\(r1\) + 678: 10 01 13 2e evlwbosx r0,r1,r2 + 67c: 10 01 0b 2f evlwbos r0,4\(r1\) + 680: 10 01 13 32 evstwbex r0,r1,r2 + 684: 10 01 0b 33 evstwbe r0,4\(r1\) + 688: 10 01 13 36 evstwbox r0,r1,r2 + 68c: 10 01 0b 37 evstwbo r0,4\(r1\) + 690: 10 01 13 3a evstwbx r0,r1,r2 + 694: 10 01 0b 3b evstwb r0,4\(r1\) + 698: 10 01 13 3e evsthbx r0,r1,r2 + 69c: 10 01 0b 3f evsthb r0,2\(r1\) + 6a0: 10 01 13 40 evlddmx r0,r1,r2 + 6a4: 10 01 0b 41 evlddu r0,8\(r1\) + 6a8: 10 01 13 42 evldwmx r0,r1,r2 + 6ac: 10 01 0b 43 evldwu r0,8\(r1\) + 6b0: 10 01 13 44 evldhmx r0,r1,r2 + 6b4: 10 01 0b 45 evldhu r0,8\(r1\) + 6b8: 10 01 13 46 evldbmx r0,r1,r2 + 6bc: 10 01 0b 47 evldbu r0,8\(r1\) + 6c0: 10 01 13 48 evlhhesplatmx r0,r1,r2 + 6c4: 10 01 0b 49 evlhhesplatu r0,2\(r1\) + 6c8: 10 01 13 4a evlhhsplathmx r0,r1,r2 + 6cc: 10 01 0b 4b evlhhsplathu r0,2\(r1\) + 6d0: 10 01 13 4c evlhhousplatmx r0,r1,r2 + 6d4: 10 01 0b 4d evlhhousplatu r0,2\(r1\) + 6d8: 10 01 13 4e evlhhossplatmx r0,r1,r2 + 6dc: 10 01 0b 4f evlhhossplatu r0,2\(r1\) + 6e0: 10 01 13 50 evlwhemx r0,r1,r2 + 6e4: 10 01 0b 51 evlwheu r0,4\(r1\) + 6e8: 10 01 13 52 evlwbsplatwmx r0,r1,r2 + 6ec: 10 01 0b 53 evlwbsplatwu r0,4\(r1\) + 6f0: 10 01 13 54 evlwhoumx r0,r1,r2 + 6f4: 10 01 0b 55 evlwhouu r0,4\(r1\) + 6f8: 10 01 13 56 evlwhosmx r0,r1,r2 + 6fc: 10 01 0b 57 evlwhosu r0,4\(r1\) + 700: 10 01 13 58 evlwwsplatmx r0,r1,r2 + 704: 10 01 0b 59 evlwwsplatu r0,4\(r1\) + 708: 10 01 13 5a evlwhsplatwmx r0,r1,r2 + 70c: 10 01 0b 5b evlwhsplatwu r0,4\(r1\) + 710: 10 01 13 5c evlwhsplatmx r0,r1,r2 + 714: 10 01 0b 5d evlwhsplatu r0,4\(r1\) + 718: 10 01 13 5e evlbbsplatbmx r0,r1,r2 + 71c: 10 01 0b 5f evlbbsplatbu r0,1\(r1\) + 720: 10 01 13 60 evstddmx r0,r1,r2 + 724: 10 01 0b 61 evstddu r0,8\(r1\) + 728: 10 01 13 62 evstdwmx r0,r1,r2 + 72c: 10 01 0b 63 evstdwu r0,8\(r1\) + 730: 10 01 13 64 evstdhmx r0,r1,r2 + 734: 10 01 0b 65 evstdhu r0,8\(r1\) + 738: 10 01 13 66 evstdbmx r0,r1,r2 + 73c: 10 01 0b 67 evstdbu r0,8\(r1\) + 740: 10 01 13 6a evlwbemx r0,r1,r2 + 744: 10 01 0b 6b evlwbeu r0,4\(r1\) + 748: 10 01 13 6c evlwboumx r0,r1,r2 + 74c: 10 01 0b 6d evlwbouu r0,4\(r1\) + 750: 10 01 13 6e evlwbosmx r0,r1,r2 + 754: 10 01 0b 6f evlwbosu r0,4\(r1\) + 758: 10 01 13 70 evstwhemx r0,r1,r2 + 75c: 10 01 0b 71 evstwheu r0,4\(r1\) + 760: 10 01 13 72 evstwbemx r0,r1,r2 + 764: 10 01 0b 73 evstwbeu r0,4\(r1\) + 768: 10 01 13 74 evstwhomx r0,r1,r2 + 76c: 10 01 0b 75 evstwhou r0,4\(r1\) + 770: 10 01 13 76 evstwbomx r0,r1,r2 + 774: 10 01 0b 77 evstwbou r0,4\(r1\) + 778: 10 01 13 78 evstwwemx r0,r1,r2 + 77c: 10 01 0b 79 evstwweu r0,4\(r1\) + 780: 10 01 13 7a evstwbmx r0,r1,r2 + 784: 10 01 0b 7b evstwbu r0,4\(r1\) + 788: 10 01 13 7c evstwwomx r0,r1,r2 + 78c: 10 01 0b 7d evstwwou r0,4\(r1\) + 790: 10 01 13 7e evsthbmx r0,r1,r2 + 794: 10 01 0b 7f evsthbu r0,2\(r1\) + 798: 10 01 14 00 evmhusi r0,r1,r2 + 79c: 10 01 14 01 evmhssi r0,r1,r2 + 7a0: 10 01 14 02 evmhsusi r0,r1,r2 + 7a4: 10 01 14 04 evmhssf r0,r1,r2 + 7a8: 10 01 14 05 evmhumi r0,r1,r2 + 7ac: 10 01 14 06 evmhssfr r0,r1,r2 + 7b0: 10 01 14 0a evmhesumi r0,r1,r2 + 7b4: 10 01 14 0e evmhosumi r0,r1,r2 + 7b8: 10 01 14 18 evmbeumi r0,r1,r2 + 7bc: 10 01 14 19 evmbesmi r0,r1,r2 + 7c0: 10 01 14 1a evmbesumi r0,r1,r2 + 7c4: 10 01 14 1c evmboumi r0,r1,r2 + 7c8: 10 01 14 1d evmbosmi r0,r1,r2 + 7cc: 10 01 14 1e evmbosumi r0,r1,r2 + 7d0: 10 01 14 2a evmhesumia r0,r1,r2 + 7d4: 10 01 14 2e evmhosumia r0,r1,r2 + 7d8: 10 01 14 38 evmbeumia r0,r1,r2 + 7dc: 10 01 14 39 evmbesmia r0,r1,r2 + 7e0: 10 01 14 3a evmbesumia r0,r1,r2 + 7e4: 10 01 14 3c evmboumia r0,r1,r2 + 7e8: 10 01 14 3d evmbosmia r0,r1,r2 + 7ec: 10 01 14 3e evmbosumia r0,r1,r2 + 7f0: 10 01 14 40 evmwusiw r0,r1,r2 + 7f4: 10 01 14 41 evmwssiw r0,r1,r2 + 7f8: 10 01 14 46 evmwhssfr r0,r1,r2 + 7fc: 10 01 14 56 evmwehgsmfr r0,r1,r2 + 800: 10 01 14 57 evmwehgsmf r0,r1,r2 + 804: 10 01 14 5e evmwohgsmfr r0,r1,r2 + 808: 10 01 14 5f evmwohgsmf r0,r1,r2 + 80c: 10 01 14 66 evmwhssfra r0,r1,r2 + 810: 10 01 14 76 evmwehgsmfra r0,r1,r2 + 814: 10 01 14 77 evmwehgsmfa r0,r1,r2 + 818: 10 01 14 7e evmwohgsmfra r0,r1,r2 + 81c: 10 01 14 7f evmwohgsmfa r0,r1,r2 + 820: 10 01 04 80 evaddusiaa r0,r1 + 824: 10 01 04 81 evaddssiaa r0,r1 + 828: 10 01 04 82 evsubfusiaa r0,r1 + 82c: 10 01 04 83 evsubfssiaa r0,r1 + 830: 10 01 04 84 evaddsmiaa r0,r1 + 834: 10 01 04 86 evsubfsmiaa r0,r1 + 838: 10 01 14 88 evaddh r0,r1,r2 + 83c: 10 01 14 89 evaddhss r0,r1,r2 + 840: 10 01 14 8a evsubfh r0,r1,r2 + 844: 10 01 14 8b evsubfhss r0,r1,r2 + 848: 10 01 14 8c evaddhx r0,r1,r2 + 84c: 10 01 14 8d evaddhxss r0,r1,r2 + 850: 10 01 14 8e evsubfhx r0,r1,r2 + 854: 10 01 14 8f evsubfhxss r0,r1,r2 + 858: 10 01 14 90 evaddd r0,r1,r2 + 85c: 10 01 14 91 evadddss r0,r1,r2 + 860: 10 01 14 92 evsubfd r0,r1,r2 + 864: 10 01 14 93 evsubfdss r0,r1,r2 + 868: 10 01 14 94 evaddb r0,r1,r2 + 86c: 10 01 14 95 evaddbss r0,r1,r2 + 870: 10 01 14 96 evsubfb r0,r1,r2 + 874: 10 01 14 97 evsubfbss r0,r1,r2 + 878: 10 01 14 98 evaddsubfh r0,r1,r2 + 87c: 10 01 14 99 evaddsubfhss r0,r1,r2 + 880: 10 01 14 9a evsubfaddh r0,r1,r2 + 884: 10 01 14 9b evsubfaddhss r0,r1,r2 + 888: 10 01 14 9c evaddsubfhx r0,r1,r2 + 88c: 10 01 14 9d evaddsubfhxss r0,r1,r2 + 890: 10 01 14 9e evsubfaddhx r0,r1,r2 + 894: 10 01 14 9f evsubfaddhxss r0,r1,r2 + 898: 10 01 14 a0 evadddus r0,r1,r2 + 89c: 10 01 14 a1 evaddbus r0,r1,r2 + 8a0: 10 01 14 a2 evsubfdus r0,r1,r2 + 8a4: 10 01 14 a3 evsubfbus r0,r1,r2 + 8a8: 10 01 14 a4 evaddwus r0,r1,r2 + 8ac: 10 01 14 a5 evaddwxus r0,r1,r2 + 8b0: 10 01 14 a6 evsubfwus r0,r1,r2 + 8b4: 10 01 14 a7 evsubfwxus r0,r1,r2 + 8b8: 10 01 14 a8 evadd2subf2h r0,r1,r2 + 8bc: 10 01 14 a9 evadd2subf2hss r0,r1,r2 + 8c0: 10 01 14 aa evsubf2add2h r0,r1,r2 + 8c4: 10 01 14 ab evsubf2add2hss r0,r1,r2 + 8c8: 10 01 14 ac evaddhus r0,r1,r2 + 8cc: 10 01 14 ad evaddhxus r0,r1,r2 + 8d0: 10 01 14 ae evsubfhus r0,r1,r2 + 8d4: 10 01 14 af evsubfhxus r0,r1,r2 + 8d8: 10 01 14 b1 evaddwss r0,r1,r2 + 8dc: 10 01 14 b3 evsubfwss r0,r1,r2 + 8e0: 10 01 14 b4 evaddwx r0,r1,r2 + 8e4: 10 01 14 b5 evaddwxss r0,r1,r2 + 8e8: 10 01 14 b6 evsubfwx r0,r1,r2 + 8ec: 10 01 14 b7 evsubfwxss r0,r1,r2 + 8f0: 10 01 14 b8 evaddsubfw r0,r1,r2 + 8f4: 10 01 14 b9 evaddsubfwss r0,r1,r2 + 8f8: 10 01 14 ba evsubfaddw r0,r1,r2 + 8fc: 10 01 14 bb evsubfaddwss r0,r1,r2 + 900: 10 01 14 bc evaddsubfwx r0,r1,r2 + 904: 10 01 14 bd evaddsubfwxss r0,r1,r2 + 908: 10 01 14 be evsubfaddwx r0,r1,r2 + 90c: 10 01 14 bf evsubfaddwxss r0,r1,r2 + 910: 10 00 0c c4 evmar r0 + 914: 10 01 04 c5 evsumwu r0,r1 + 918: 10 01 0c c5 evsumws r0,r1 + 91c: 10 01 14 c5 evsum4bu r0,r1 + 920: 10 01 1c c5 evsum4bs r0,r1 + 924: 10 01 24 c5 evsum2hu r0,r1 + 928: 10 01 2c c5 evsum2hs r0,r1 + 92c: 10 01 34 c5 evdiff2his r0,r1 + 930: 10 01 3c c5 evsum2his r0,r1 + 934: 10 01 84 c5 evsumwua r0,r1 + 938: 10 01 8c c5 evsumwsa r0,r1 + 93c: 10 01 94 c5 evsum4bua r0,r1 + 940: 10 01 9c c5 evsum4bsa r0,r1 + 944: 10 01 a4 c5 evsum2hua r0,r1 + 948: 10 01 ac c5 evsum2hsa r0,r1 + 94c: 10 01 b4 c5 evdiff2hisa r0,r1 + 950: 10 01 bc c5 evsum2hisa r0,r1 + 954: 10 01 c4 c5 evsumwuaa r0,r1 + 958: 10 01 cc c5 evsumwsaa r0,r1 + 95c: 10 01 d4 c5 evsum4buaaw r0,r1 + 960: 10 01 dc c5 evsum4bsaaw r0,r1 + 964: 10 01 e4 c5 evsum2huaaw r0,r1 + 968: 10 01 ec c5 evsum2hsaaw r0,r1 + 96c: 10 01 f4 c5 evdiff2hisaaw r0,r1 + 970: 10 01 fc c5 evsum2hisaaw r0,r1 + 974: 10 01 14 cc evdivwsf r0,r1,r2 + 978: 10 01 14 cd evdivwuf r0,r1,r2 + 97c: 10 01 14 ce evdivs r0,r1,r2 + 980: 10 01 14 cf evdivu r0,r1,r2 + 984: 10 01 14 d0 evaddwegsi r0,r1,r2 + 988: 10 01 14 d1 evaddwegsf r0,r1,r2 + 98c: 10 01 14 d2 evsubfwegsi r0,r1,r2 + 990: 10 01 14 d3 evsubfwegsf r0,r1,r2 + 994: 10 01 14 d4 evaddwogsi r0,r1,r2 + 998: 10 01 14 d5 evaddwogsf r0,r1,r2 + 99c: 10 01 14 d6 evsubfwogsi r0,r1,r2 + 9a0: 10 01 14 d7 evsubfwogsf r0,r1,r2 + 9a4: 10 01 14 d8 evaddhhiuw r0,r1,r2 + 9a8: 10 01 14 d9 evaddhhisw r0,r1,r2 + 9ac: 10 01 14 da evsubfhhiuw r0,r1,r2 + 9b0: 10 01 14 db evsubfhhisw r0,r1,r2 + 9b4: 10 01 14 dc evaddhlouw r0,r1,r2 + 9b8: 10 01 14 dd evaddhlosw r0,r1,r2 + 9bc: 10 01 14 de evsubfhlouw r0,r1,r2 + 9c0: 10 01 14 df evsubfhlosw r0,r1,r2 + 9c4: 10 01 15 02 evmhesusiaaw r0,r1,r2 + 9c8: 10 01 15 06 evmhosusiaaw r0,r1,r2 + 9cc: 10 01 15 0a evmhesumiaaw r0,r1,r2 + 9d0: 10 01 15 0e evmhosumiaaw r0,r1,r2 + 9d4: 10 01 15 10 evmbeusiaah r0,r1,r2 + 9d8: 10 01 15 11 evmbessiaah r0,r1,r2 + 9dc: 10 01 15 12 evmbesusiaah r0,r1,r2 + 9e0: 10 01 15 14 evmbousiaah r0,r1,r2 + 9e4: 10 01 15 15 evmbossiaah r0,r1,r2 + 9e8: 10 01 15 16 evmbosusiaah r0,r1,r2 + 9ec: 10 01 15 18 evmbeumiaah r0,r1,r2 + 9f0: 10 01 15 19 evmbesmiaah r0,r1,r2 + 9f4: 10 01 15 1a evmbesumiaah r0,r1,r2 + 9f8: 10 01 15 1c evmboumiaah r0,r1,r2 + 9fc: 10 01 15 1d evmbosmiaah r0,r1,r2 + a00: 10 01 15 1e evmbosumiaah r0,r1,r2 + a04: 10 01 15 42 evmwlusiaaw3 r0,r1,r2 + a08: 10 01 15 43 evmwlssiaaw3 r0,r1,r2 + a0c: 10 01 15 44 evmwhssfraaw3 r0,r1,r2 + a10: 10 01 15 45 evmwhssfaaw3 r0,r1,r2 + a14: 10 01 15 46 evmwhssfraaw r0,r1,r2 + a18: 10 01 15 47 evmwhssfaaw r0,r1,r2 + a1c: 10 01 15 4a evmwlumiaaw3 r0,r1,r2 + a20: 10 01 15 4b evmwlsmiaaw3 r0,r1,r2 + a24: 10 01 15 50 evmwusiaa r0,r1,r2 + a28: 10 01 15 51 evmwssiaa r0,r1,r2 + a2c: 10 01 15 56 evmwehgsmfraa r0,r1,r2 + a30: 10 01 15 57 evmwehgsmfaa r0,r1,r2 + a34: 10 01 15 5e evmwohgsmfraa r0,r1,r2 + a38: 10 01 15 5f evmwohgsmfaa r0,r1,r2 + a3c: 10 01 15 82 evmhesusianw r0,r1,r2 + a40: 10 01 15 86 evmhosusianw r0,r1,r2 + a44: 10 01 15 8a evmhesumianw r0,r1,r2 + a48: 10 01 15 8e evmhosumianw r0,r1,r2 + a4c: 10 01 15 90 evmbeusianh r0,r1,r2 + a50: 10 01 15 91 evmbessianh r0,r1,r2 + a54: 10 01 15 92 evmbesusianh r0,r1,r2 + a58: 10 01 15 94 evmbousianh r0,r1,r2 + a5c: 10 01 15 95 evmbossianh r0,r1,r2 + a60: 10 01 15 96 evmbosusianh r0,r1,r2 + a64: 10 01 15 98 evmbeumianh r0,r1,r2 + a68: 10 01 15 99 evmbesmianh r0,r1,r2 + a6c: 10 01 15 9a evmbesumianh r0,r1,r2 + a70: 10 01 15 9c evmboumianh r0,r1,r2 + a74: 10 01 15 9d evmbosmianh r0,r1,r2 + a78: 10 01 15 9e evmbosumianh r0,r1,r2 + a7c: 10 01 15 c2 evmwlusianw3 r0,r1,r2 + a80: 10 01 15 c3 evmwlssianw3 r0,r1,r2 + a84: 10 01 15 c4 evmwhssfranw3 r0,r1,r2 + a88: 10 01 15 c5 evmwhssfanw3 r0,r1,r2 + a8c: 10 01 15 c6 evmwhssfranw r0,r1,r2 + a90: 10 01 15 c7 evmwhssfanw r0,r1,r2 + a94: 10 01 15 ca evmwlumianw3 r0,r1,r2 + a98: 10 01 15 cb evmwlsmianw3 r0,r1,r2 + a9c: 10 01 15 d0 evmwusian r0,r1,r2 + aa0: 10 01 15 d1 evmwssian r0,r1,r2 + aa4: 10 01 15 d6 evmwehgsmfran r0,r1,r2 + aa8: 10 01 15 d7 evmwehgsmfan r0,r1,r2 + aac: 10 01 15 de evmwohgsmfran r0,r1,r2 + ab0: 10 01 15 df evmwohgsmfan r0,r1,r2 + ab4: 10 01 16 00 evseteqb r0,r1,r2 + ab8: 10 01 16 01 evseteqb. r0,r1,r2 + abc: 10 01 16 02 evseteqh r0,r1,r2 + ac0: 10 01 16 03 evseteqh. r0,r1,r2 + ac4: 10 01 16 04 evseteqw r0,r1,r2 + ac8: 10 01 16 05 evseteqw. r0,r1,r2 + acc: 10 01 16 08 evsetgthu r0,r1,r2 + ad0: 10 01 16 09 evsetgthu. r0,r1,r2 + ad4: 10 01 16 0a evsetgths r0,r1,r2 + ad8: 10 01 16 0b evsetgths. r0,r1,r2 + adc: 10 01 16 0c evsetgtwu r0,r1,r2 + ae0: 10 01 16 0d evsetgtwu. r0,r1,r2 + ae4: 10 01 16 0e evsetgtws r0,r1,r2 + ae8: 10 01 16 0f evsetgtws. r0,r1,r2 + aec: 10 01 16 10 evsetgtbu r0,r1,r2 + af0: 10 01 16 11 evsetgtbu. r0,r1,r2 + af4: 10 01 16 12 evsetgtbs r0,r1,r2 + af8: 10 01 16 13 evsetgtbs. r0,r1,r2 + afc: 10 01 16 14 evsetltbu r0,r1,r2 + b00: 10 01 16 15 evsetltbu. r0,r1,r2 + b04: 10 01 16 16 evsetltbs r0,r1,r2 + b08: 10 01 16 17 evsetltbs. r0,r1,r2 + b0c: 10 01 16 18 evsetlthu r0,r1,r2 + b10: 10 01 16 19 evsetlthu. r0,r1,r2 + b14: 10 01 16 1a evsetlths r0,r1,r2 + b18: 10 01 16 1b evsetlths. r0,r1,r2 + b1c: 10 01 16 1c evsetltwu r0,r1,r2 + b20: 10 01 16 1d evsetltwu. r0,r1,r2 + b24: 10 01 16 1e evsetltws r0,r1,r2 + b28: 10 01 16 1f evsetltws. r0,r1,r2 + b2c: 10 01 16 20 evsaduw r0,r1,r2 + b30: 10 01 16 21 evsadsw r0,r1,r2 + b34: 10 01 16 22 evsad4ub r0,r1,r2 + b38: 10 01 16 23 evsad4sb r0,r1,r2 + b3c: 10 01 16 24 evsad2uh r0,r1,r2 + b40: 10 01 16 25 evsad2sh r0,r1,r2 + b44: 10 01 16 28 evsaduwa r0,r1,r2 + b48: 10 01 16 29 evsadswa r0,r1,r2 + b4c: 10 01 16 2a evsad4uba r0,r1,r2 + b50: 10 01 16 2b evsad4sba r0,r1,r2 + b54: 10 01 16 2c evsad2uha r0,r1,r2 + b58: 10 01 16 2d evsad2sha r0,r1,r2 + b5c: 10 01 16 30 evabsdifuw r0,r1,r2 + b60: 10 01 16 31 evabsdifsw r0,r1,r2 + b64: 10 01 16 32 evabsdifub r0,r1,r2 + b68: 10 01 16 33 evabsdifsb r0,r1,r2 + b6c: 10 01 16 34 evabsdifuh r0,r1,r2 + b70: 10 01 16 35 evabsdifsh r0,r1,r2 + b74: 10 01 16 38 evsaduwaa r0,r1,r2 + b78: 10 01 16 39 evsadswaa r0,r1,r2 + b7c: 10 01 16 3a evsad4ubaaw r0,r1,r2 + b80: 10 01 16 3b evsad4sbaaw r0,r1,r2 + b84: 10 01 16 3c evsad2uhaaw r0,r1,r2 + b88: 10 01 16 3d evsad2shaaw r0,r1,r2 + b8c: 10 01 16 40 evpkshubs r0,r1,r2 + b90: 10 01 16 41 evpkshsbs r0,r1,r2 + b94: 10 01 16 42 evpkswuhs r0,r1,r2 + b98: 10 01 16 43 evpkswshs r0,r1,r2 + b9c: 10 01 16 44 evpkuhubs r0,r1,r2 + ba0: 10 01 16 45 evpkuwuhs r0,r1,r2 + ba4: 10 01 16 46 evpkswshilvs r0,r1,r2 + ba8: 10 01 16 47 evpkswgshefrs r0,r1,r2 + bac: 10 01 16 48 evpkswshfrs r0,r1,r2 + bb0: 10 01 16 49 evpkswshilvfrs r0,r1,r2 + bb4: 10 01 16 4a evpksdswfrs r0,r1,r2 + bb8: 10 01 16 4b evpksdshefrs r0,r1,r2 + bbc: 10 01 16 4c evpkuduws r0,r1,r2 + bc0: 10 01 16 4d evpksdsws r0,r1,r2 + bc4: 10 01 16 4e evpkswgswfrs r0,r1,r2 + bc8: 10 01 16 50 evilveh r0,r1,r2 + bcc: 10 01 16 51 evilveoh r0,r1,r2 + bd0: 10 01 16 52 evilvhih r0,r1,r2 + bd4: 10 01 16 53 evilvhiloh r0,r1,r2 + bd8: 10 01 16 54 evilvloh r0,r1,r2 + bdc: 10 01 16 55 evilvlohih r0,r1,r2 + be0: 10 01 16 56 evilvoeh r0,r1,r2 + be4: 10 01 16 57 evilvoh r0,r1,r2 + be8: 10 01 16 58 evdlveb r0,r1,r2 + bec: 10 01 16 59 evdlveh r0,r1,r2 + bf0: 10 01 16 5a evdlveob r0,r1,r2 + bf4: 10 01 16 5b evdlveoh r0,r1,r2 + bf8: 10 01 16 5c evdlvob r0,r1,r2 + bfc: 10 01 16 5d evdlvoh r0,r1,r2 + c00: 10 01 16 5e evdlvoeb r0,r1,r2 + c04: 10 01 16 5f evdlvoeh r0,r1,r2 + c08: 10 01 16 60 evmaxbu r0,r1,r2 + c0c: 10 01 16 61 evmaxbs r0,r1,r2 + c10: 10 01 16 62 evmaxhu r0,r1,r2 + c14: 10 01 16 63 evmaxhs r0,r1,r2 + c18: 10 01 16 64 evmaxwu r0,r1,r2 + c1c: 10 01 16 65 evmaxws r0,r1,r2 + c20: 10 01 16 66 evmaxdu r0,r1,r2 + c24: 10 01 16 67 evmaxds r0,r1,r2 + c28: 10 01 16 68 evminbu r0,r1,r2 + c2c: 10 01 16 69 evminbs r0,r1,r2 + c30: 10 01 16 6a evminhu r0,r1,r2 + c34: 10 01 16 6b evminhs r0,r1,r2 + c38: 10 01 16 6c evminwu r0,r1,r2 + c3c: 10 01 16 6d evminws r0,r1,r2 + c40: 10 01 16 6e evmindu r0,r1,r2 + c44: 10 01 16 6f evminds r0,r1,r2 + c48: 10 01 16 70 evavgwu r0,r1,r2 + c4c: 10 01 16 71 evavgws r0,r1,r2 + c50: 10 01 16 72 evavgbu r0,r1,r2 + c54: 10 01 16 73 evavgbs r0,r1,r2 + c58: 10 01 16 74 evavghu r0,r1,r2 + c5c: 10 01 16 75 evavghs r0,r1,r2 + c60: 10 01 16 76 evavgdu r0,r1,r2 + c64: 10 01 16 77 evavgds r0,r1,r2 + c68: 10 01 16 78 evavgwur r0,r1,r2 + c6c: 10 01 16 79 evavgwsr r0,r1,r2 + c70: 10 01 16 7a evavgbur r0,r1,r2 + c74: 10 01 16 7b evavgbsr r0,r1,r2 + c78: 10 01 16 7c evavghur r0,r1,r2 + c7c: 10 01 16 7d evavghsr r0,r1,r2 + c80: 10 01 16 7e evavgdur r0,r1,r2 + c84: 10 01 16 7f evavgdsr r0,r1,r2 + c88: 10 01 11 4d evdotphssmi r0,r1,r2 + c8c: 10 01 11 6d evdotphssmia r0,r1,r2 + c90: 10 01 11 cd evdotpwssmi r0,r1,r2 + c94: 10 01 11 ed evdotpwssmia r0,r1,r2 diff --git a/gas/testsuite/gas/ppc/spe2.s b/gas/testsuite/gas/ppc/spe2.s new file mode 100644 index 0000000..37b6cdb --- /dev/null +++ b/gas/testsuite/gas/ppc/spe2.s @@ -0,0 +1,834 @@ +# PA SPE2 instructions +# Testcase for CMPE200GCC-5, CMPE200GCC-62 + + .section ".text" + + .equ rA,1 + .equ rB,2 + .equ rD,0 + .equ rS,0 + .equ UIMM, 31 + .equ UIMM_LT8, 7 + .equ UIMM_LT16, 15 + .equ UIMM_1, 1 + .equ UIMM_2, 2 + .equ UIMM_4, 4 + .equ UIMM_8, 8 + .equ SIMM, -16 + .equ crD, 0 + .equ nnn, 7 + .equ bbb, 7 + .equ dd, 3 + .equ Ddd, 7 + .equ hh, 3 + .equ mask, 15 + .equ offset, 7 + + evdotpwcssi rD, rA, rB + evdotpwcsmi rD, rA, rB + evdotpwcssfr rD, rA, rB + evdotpwcssf rD, rA, rB + evdotpwgasmf rD, rA, rB + evdotpwxgasmf rD, rA, rB + evdotpwgasmfr rD, rA, rB + evdotpwxgasmfr rD, rA, rB + evdotpwgssmf rD, rA, rB + evdotpwxgssmf rD, rA, rB + evdotpwgssmfr rD, rA, rB + evdotpwxgssmfr rD, rA, rB + evdotpwcssiaaw3 rD, rA, rB + evdotpwcsmiaaw3 rD, rA, rB + evdotpwcssfraaw3 rD, rA, rB + evdotpwcssfaaw3 rD, rA, rB + evdotpwgasmfaa3 rD, rA, rB + evdotpwxgasmfaa3 rD, rA, rB + evdotpwgasmfraa3 rD, rA, rB + evdotpwxgasmfraa3 rD, rA, rB + evdotpwgssmfaa3 rD, rA, rB + evdotpwxgssmfaa3 rD, rA, rB + evdotpwgssmfraa3 rD, rA, rB + evdotpwxgssmfraa3 rD, rA, rB + evdotpwcssia rD, rA, rB + evdotpwcsmia rD, rA, rB + evdotpwcssfra rD, rA, rB + evdotpwcssfa rD, rA, rB + evdotpwgasmfa rD, rA, rB + evdotpwxgasmfa rD, rA, rB + evdotpwgasmfra rD, rA, rB + evdotpwxgasmfra rD, rA, rB + evdotpwgssmfa rD, rA, rB + evdotpwxgssmfa rD, rA, rB + evdotpwgssmfra rD, rA, rB + evdotpwxgssmfra rD, rA, rB + evdotpwcssiaaw rD, rA, rB + evdotpwcsmiaaw rD, rA, rB + evdotpwcssfraaw rD, rA, rB + evdotpwcssfaaw rD, rA, rB + evdotpwgasmfaa rD, rA, rB + evdotpwxgasmfaa rD, rA, rB + evdotpwgasmfraa rD, rA, rB + evdotpwxgasmfraa rD, rA, rB + evdotpwgssmfaa rD, rA, rB + evdotpwxgssmfaa rD, rA, rB + evdotpwgssmfraa rD, rA, rB + evdotpwxgssmfraa rD, rA, rB + evdotphihcssi rD, rA, rB + evdotplohcssi rD, rA, rB + evdotphihcssf rD, rA, rB + evdotplohcssf rD, rA, rB + evdotphihcsmi rD, rA, rB + evdotplohcsmi rD, rA, rB + evdotphihcssfr rD, rA, rB + evdotplohcssfr rD, rA, rB + evdotphihcssiaaw3 rD, rA, rB + evdotplohcssiaaw3 rD, rA, rB + evdotphihcssfaaw3 rD, rA, rB + evdotplohcssfaaw3 rD, rA, rB + evdotphihcsmiaaw3 rD, rA, rB + evdotplohcsmiaaw3 rD, rA, rB + evdotphihcssfraaw3 rD, rA, rB + evdotplohcssfraaw3 rD, rA, rB + evdotphihcssia rD, rA, rB + evdotplohcssia rD, rA, rB + evdotphihcssfa rD, rA, rB + evdotplohcssfa rD, rA, rB + evdotphihcsmia rD, rA, rB + evdotplohcsmia rD, rA, rB + evdotphihcssfra rD, rA, rB + evdotplohcssfra rD, rA, rB + evdotphihcssiaaw rD, rA, rB + evdotplohcssiaaw rD, rA, rB + evdotphihcssfaaw rD, rA, rB + evdotplohcssfaaw rD, rA, rB + evdotphihcsmiaaw rD, rA, rB + evdotplohcsmiaaw rD, rA, rB + evdotphihcssfraaw rD, rA, rB + evdotplohcssfraaw rD, rA, rB + evdotphausi rD, rA, rB + evdotphassi rD, rA, rB + evdotphasusi rD, rA, rB + evdotphassf rD, rA, rB + evdotphsssf rD, rA, rB + evdotphaumi rD, rA, rB + evdotphasmi rD, rA, rB + evdotphasumi rD, rA, rB + evdotphassfr rD, rA, rB + evdotphssmi rD, rA, rB + evdotphsssfr rD, rA, rB + evdotphausiaaw3 rD, rA, rB + evdotphassiaaw3 rD, rA, rB + evdotphasusiaaw3 rD, rA, rB + evdotphassfaaw3 rD, rA, rB + evdotphsssiaaw3 rD, rA, rB + evdotphsssfaaw3 rD, rA, rB + evdotphaumiaaw3 rD, rA, rB + evdotphasmiaaw3 rD, rA, rB + evdotphasumiaaw3 rD, rA, rB + evdotphassfraaw3 rD, rA, rB + evdotphssmiaaw3 rD, rA, rB + evdotphsssfraaw3 rD, rA, rB + evdotphausia rD, rA, rB + evdotphassia rD, rA, rB + evdotphasusia rD, rA, rB + evdotphassfa rD, rA, rB + evdotphsssfa rD, rA, rB + evdotphaumia rD, rA, rB + evdotphasmia rD, rA, rB + evdotphasumia rD, rA, rB + evdotphassfra rD, rA, rB + evdotphssmia rD, rA, rB + evdotphsssfra rD, rA, rB + evdotphausiaaw rD, rA, rB + evdotphassiaaw rD, rA, rB + evdotphasusiaaw rD, rA, rB + evdotphassfaaw rD, rA, rB + evdotphsssiaaw rD, rA, rB + evdotphsssfaaw rD, rA, rB + evdotphaumiaaw rD, rA, rB + evdotphasmiaaw rD, rA, rB + evdotphasumiaaw rD, rA, rB + evdotphassfraaw rD, rA, rB + evdotphssmiaaw rD, rA, rB + evdotphsssfraaw rD, rA, rB + evdotp4hgaumi rD, rA, rB + evdotp4hgasmi rD, rA, rB + evdotp4hgasumi rD, rA, rB + evdotp4hgasmf rD, rA, rB + evdotp4hgssmi rD, rA, rB + evdotp4hgssmf rD, rA, rB + evdotp4hxgasmi rD, rA, rB + evdotp4hxgasmf rD, rA, rB + evdotpbaumi rD, rA, rB + evdotpbasmi rD, rA, rB + evdotpbasumi rD, rA, rB + evdotp4hxgssmi rD, rA, rB + evdotp4hxgssmf rD, rA, rB + evdotp4hgaumiaa3 rD, rA, rB + evdotp4hgasmiaa3 rD, rA, rB + evdotp4hgasumiaa3 rD, rA, rB + evdotp4hgasmfaa3 rD, rA, rB + evdotp4hgssmiaa3 rD, rA, rB + evdotp4hgssmfaa3 rD, rA, rB + evdotp4hxgasmiaa3 rD, rA, rB + evdotp4hxgasmfaa3 rD, rA, rB + evdotpbaumiaaw3 rD, rA, rB + evdotpbasmiaaw3 rD, rA, rB + evdotpbasumiaaw3 rD, rA, rB + evdotp4hxgssmiaa3 rD, rA, rB + evdotp4hxgssmfaa3 rD, rA, rB + evdotp4hgaumia rD, rA, rB + evdotp4hgasmia rD, rA, rB + evdotp4hgasumia rD, rA, rB + evdotp4hgasmfa rD, rA, rB + evdotp4hgssmia rD, rA, rB + evdotp4hgssmfa rD, rA, rB + evdotp4hxgasmia rD, rA, rB + evdotp4hxgasmfa rD, rA, rB + evdotpbaumia rD, rA, rB + evdotpbasmia rD, rA, rB + evdotpbasumia rD, rA, rB + evdotp4hxgssmia rD, rA, rB + evdotp4hxgssmfa rD, rA, rB + evdotp4hgaumiaa rD, rA, rB + evdotp4hgasmiaa rD, rA, rB + evdotp4hgasumiaa rD, rA, rB + evdotp4hgasmfaa rD, rA, rB + evdotp4hgssmiaa rD, rA, rB + evdotp4hgssmfaa rD, rA, rB + evdotp4hxgasmiaa rD, rA, rB + evdotp4hxgasmfaa rD, rA, rB + evdotpbaumiaaw rD, rA, rB + evdotpbasmiaaw rD, rA, rB + evdotpbasumiaaw rD, rA, rB + evdotp4hxgssmiaa rD, rA, rB + evdotp4hxgssmfaa rD, rA, rB + evdotpwausi rD, rA, rB + evdotpwassi rD, rA, rB + evdotpwasusi rD, rA, rB + evdotpwaumi rD, rA, rB + evdotpwasmi rD, rA, rB + evdotpwasumi rD, rA, rB + evdotpwssmi rD, rA, rB + evdotpwausiaa3 rD, rA, rB + evdotpwassiaa3 rD, rA, rB + evdotpwasusiaa3 rD, rA, rB + evdotpwsssiaa3 rD, rA, rB + evdotpwaumiaa3 rD, rA, rB + evdotpwasmiaa3 rD, rA, rB + evdotpwasumiaa3 rD, rA, rB + evdotpwssmiaa3 rD, rA, rB + evdotpwausia rD, rA, rB + evdotpwassia rD, rA, rB + evdotpwasusia rD, rA, rB + evdotpwaumia rD, rA, rB + evdotpwasmia rD, rA, rB + evdotpwasumia rD, rA, rB + evdotpwssmia rD, rA, rB + evdotpwausiaa rD, rA, rB + evdotpwassiaa rD, rA, rB + evdotpwasusiaa rD, rA, rB + evdotpwsssiaa rD, rA, rB + evdotpwaumiaa rD, rA, rB + evdotpwasmiaa rD, rA, rB + evdotpwasumiaa rD, rA, rB + evdotpwssmiaa rD, rA, rB + evaddib rD, rB, UIMM + evaddih rD, rB, UIMM + evsubifh rD, UIMM, rB + evsubifb rD, UIMM, rB + evabsb rD, rA + evabsh rD, rA + evabsd rD, rA + evabss rD, rA + evabsbs rD, rA + evabshs rD, rA + evabsds rD, rA + evnegwo rD, rA + evnegb rD, rA + evnegbo rD, rA + evnegh rD, rA + evnegho rD, rA + evnegd rD, rA + evnegs rD, rA + evnegwos rD, rA + evnegbs rD, rA + evnegbos rD, rA + evneghs rD, rA + evneghos rD, rA + evnegds rD, rA + evextzb rD, rA + evextsbh rD, rA + evextsw rD, rA + evrndwh rD, rA + evrndhb rD, rA + evrnddw rD, rA + evrndwhus rD, rA + evrndwhss rD, rA + evrndhbus rD, rA + evrndhbss rD, rA + evrnddwus rD, rA + evrnddwss rD, rA + evrndwnh rD, rA + evrndhnb rD, rA + evrnddnw rD, rA + evrndwnhus rD, rA + evrndwnhss rD, rA + evrndhnbus rD, rA + evrndhnbss rD, rA + evrnddnwus rD, rA + evrnddnwss rD, rA + evcntlzh rD, rA + evcntlsh rD, rA + evpopcntb rD, rA + circinc rD, rA, rB + evunpkhibui rD, rA + evunpkhibsi rD, rA + evunpkhihui rD, rA + evunpkhihsi rD, rA + evunpklobui rD, rA + evunpklobsi rD, rA + evunpklohui rD, rA + evunpklohsi rD, rA + evunpklohf rD, rA + evunpkhihf rD, rA + evunpklowgsf rD, rA + evunpkhiwgsf rD, rA + evsatsduw rD, rA + evsatsdsw rD, rA + evsatshub rD, rA + evsatshsb rD, rA + evsatuwuh rD, rA + evsatswsh rD, rA + evsatswuh rD, rA + evsatuhub rD, rA + evsatuduw rD, rA + evsatuwsw rD, rA + evsatshuh rD, rA + evsatuhsh rD, rA + evsatswuw rD, rA + evsatswgsdf rD, rA + evsatsbub rD, rA + evsatubsb rD, rA + evmaxhpuw rD, rA + evmaxhpsw rD, rA + evmaxbpuh rD, rA + evmaxbpsh rD, rA + evmaxwpud rD, rA + evmaxwpsd rD, rA + evminhpuw rD, rA + evminhpsw rD, rA + evminbpuh rD, rA + evminbpsh rD, rA + evminwpud rD, rA + evminwpsd rD, rA + evmaxmagws rD, rA, rB + evsl rD, rA, rB + evsli rD, rA, UIMM + evsplatie rD, SIMM + evsplatib rD, SIMM + evsplatibe rD, SIMM + evsplatih rD, SIMM + evsplatihe rD, SIMM + evsplatid rD, SIMM + evsplatia rD, SIMM + evsplatiea rD, SIMM + evsplatiba rD, SIMM + evsplatibea rD, SIMM + evsplatiha rD, SIMM + evsplatihea rD, SIMM + evsplatida rD, SIMM + evsplatfio rD, SIMM + evsplatfib rD, SIMM + evsplatfibo rD, SIMM + evsplatfih rD, SIMM + evsplatfiho rD, SIMM + evsplatfid rD, SIMM + evsplatfia rD, SIMM + evsplatfioa rD, SIMM + evsplatfiba rD, SIMM + evsplatfiboa rD, SIMM + evsplatfiha rD, SIMM + evsplatfihoa rD, SIMM + evsplatfida rD, SIMM + evcmpgtdu crD, rA, rB + evcmpgtds crD, rA, rB + evcmpltdu crD, rA, rB + evcmpltds crD, rA, rB + evcmpeqd crD, rA, rB + evswapbhilo rD, rA, rB + evswapblohi rD, rA, rB + evswaphhilo rD, rA, rB + evswaphlohi rD, rA, rB + evswaphe rD, rA, rB + evswaphhi rD, rA, rB + evswaphlo rD, rA, rB + evswapho rD, rA, rB + evinsb rD, rA, Ddd, bbb + evxtrb rD, rA, Ddd, bbb + evsplath rD, rA, hh + evsplatb rD, rA, bbb + evinsh rD, rA, dd, hh + evclrbe rD, rA, mask + evclrbo rD, rA, mask + evclrh rD, rA, mask + evxtrh rD, rA, dd, hh + evselbitm0 rD, rA, rB + evselbitm1 rD, rA, rB + evselbit rD, rA, rB + evperm rD, rA, rB + evperm2 rD, rA, rB + evperm3 rD, rA, rB + evxtrd rD, rA, rB, offset + evsrbu rD, rA, rB + evsrbs rD, rA, rB + evsrbiu rD, rA, UIMM_LT8 + evsrbis rD, rA, UIMM_LT8 + evslb rD, rA, rB + evrlb rD, rA, rB + evslbi rD, rA, UIMM_LT8 + evrlbi rD, rA, UIMM_LT8 + evsrhu rD, rA, rB + evsrhs rD, rA, rB + evsrhiu rD, rA, UIMM_LT16 + evsrhis rD, rA, UIMM_LT16 + evslh rD, rA, rB + evrlh rD, rA, rB + evslhi rD, rA, UIMM_LT16 + evrlhi rD, rA, UIMM_LT16 + evsru rD, rA, rB + evsrs rD, rA, rB + evsriu rD, rA, UIMM + evsris rD, rA, UIMM + evlvsl rD, rA, rB + evlvsr rD, rA, rB + evsroiu rD, rA, nnn + evsrois rD, rA, nnn + evsloi rD, rA, nnn + evfssqrt rD, rA + evfscfh rD, rB + evfscth rD, rB + evfsmax rD, rA, rB + evfsmin rD, rA, rB + evfsaddsub rD, rA, rB + evfssubadd rD, rA, rB + evfssum rD, rA, rB + evfsdiff rD, rA, rB + evfssumdiff rD, rA, rB + evfsdiffsum rD, rA, rB + evfsaddx rD, rA, rB + evfssubx rD, rA, rB + evfsaddsubx rD, rA, rB + evfssubaddx rD, rA, rB + evfsmulx rD, rA, rB + evfsmule rD, rA, rB + evfsmulo rD, rA, rB + evldbx rD, rA, rB + evldb rD, UIMM_8 (rA) + evlhhsplathx rD, rA, rB + evlhhsplath rD, UIMM_2 (rA) + evlwbsplatwx rD, rA, rB + evlwbsplatw rD, UIMM_4 (rA) + evlwhsplatwx rD, rA, rB + evlwhsplatw rD, UIMM_4 (rA) + evlbbsplatbx rD, rA, rB + evlbbsplatb rD, UIMM_1 (rA) + evstdbx rS, rA, rB + evstdb rS, UIMM_8 (rA) + evlwbex rD, rA, rB + evlwbe rD, UIMM_4 (rA) + evlwboux rD, rA, rB + evlwbou rD, UIMM_4 (rA) + evlwbosx rD, rA, rB + evlwbos rD, UIMM_4 (rA) + evstwbex rS, rA, rB + evstwbe rS, UIMM_4 (rA) + evstwbox rS, rA, rB + evstwbo rS, UIMM_4 (rA) + evstwbx rS, rA, rB + evstwb rS, UIMM_4 (rA) + evsthbx rS, rA, rB + evsthb rS, UIMM_2 (rA) + evlddmx rD, rA, rB + evlddu rD, UIMM_8 (rA) + evldwmx rD, rA, rB + evldwu rD, UIMM_8 (rA) + evldhmx rD, rA, rB + evldhu rD, UIMM_8 (rA) + evldbmx rD, rA, rB + evldbu rD, UIMM_8 (rA) + evlhhesplatmx rD, rA, rB + evlhhesplatu rD, UIMM_2 (rA) + evlhhsplathmx rD, rA, rB + evlhhsplathu rD, UIMM_2 (rA) + evlhhousplatmx rD, rA, rB + evlhhousplatu rD, UIMM_2 (rA) + evlhhossplatmx rD, rA, rB + evlhhossplatu rD, UIMM_2 (rA) + evlwhemx rD, rA, rB + evlwheu rD, UIMM_4 (rA) + evlwbsplatwmx rD, rA, rB + evlwbsplatwu rD, UIMM_4 (rA) + evlwhoumx rD, rA, rB + evlwhouu rD, UIMM_4 (rA) + evlwhosmx rD, rA, rB + evlwhosu rD, UIMM_4 (rA) + evlwwsplatmx rD, rA, rB + evlwwsplatu rD, UIMM_4 (rA) + evlwhsplatwmx rD, rA, rB + evlwhsplatwu rD, UIMM_4 (rA) + evlwhsplatmx rD, rA, rB + evlwhsplatu rD, UIMM_4 (rA) + evlbbsplatbmx rD, rA, rB + evlbbsplatbu rD, UIMM_1 (rA) + evstddmx rS, rA, rB + evstddu rS, UIMM_8 (rA) + evstdwmx rS, rA, rB + evstdwu rS, UIMM_8 (rA) + evstdhmx rS, rA, rB + evstdhu rS, UIMM_8 (rA) + evstdbmx rS, rA, rB + evstdbu rS, UIMM_8 (rA) + evlwbemx rD, rA, rB + evlwbeu rD, UIMM_4 (rA) + evlwboumx rD, rA, rB + evlwbouu rD, UIMM_4 (rA) + evlwbosmx rD, rA, rB + evlwbosu rD, UIMM_4 (rA) + evstwhemx rS, rA, rB + evstwheu rS, UIMM_4 (rA) + evstwbemx rS, rA, rB + evstwbeu rS, UIMM_4 (rA) + evstwhomx rS, rA, rB + evstwhou rS, UIMM_4 (rA) + evstwbomx rS, rA, rB + evstwbou rS, UIMM_4 (rA) + evstwwemx rS, rA, rB + evstwweu rS, UIMM_4 (rA) + evstwbmx rS, rA, rB + evstwbu rS, UIMM_4 (rA) + evstwwomx rS, rA, rB + evstwwou rS, UIMM_4 (rA) + evsthbmx rS, rA, rB + evsthbu rS, UIMM_2 (rA) + evmhusi rD, rA, rB + evmhssi rD, rA, rB + evmhsusi rD, rA, rB + evmhssf rD, rA, rB + evmhumi rD, rA, rB + evmhssfr rD, rA, rB + evmhesumi rD, rA, rB + evmhosumi rD, rA, rB + evmbeumi rD, rA, rB + evmbesmi rD, rA, rB + evmbesumi rD, rA, rB + evmboumi rD, rA, rB + evmbosmi rD, rA, rB + evmbosumi rD, rA, rB + evmhesumia rD, rA, rB + evmhosumia rD, rA, rB + evmbeumia rD, rA, rB + evmbesmia rD, rA, rB + evmbesumia rD, rA, rB + evmboumia rD, rA, rB + evmbosmia rD, rA, rB + evmbosumia rD, rA, rB + evmwusiw rD, rA, rB + evmwssiw rD, rA, rB + evmwhssfr rD, rA, rB + evmwehgsmfr rD, rA, rB + evmwehgsmf rD, rA, rB + evmwohgsmfr rD, rA, rB + evmwohgsmf rD, rA, rB + evmwhssfra rD, rA, rB + evmwehgsmfra rD, rA, rB + evmwehgsmfa rD, rA, rB + evmwohgsmfra rD, rA, rB + evmwohgsmfa rD, rA, rB + evaddusiaa rD, rA + evaddssiaa rD, rA + evsubfusiaa rD, rA + evsubfssiaa rD, rA + evaddsmiaa rD, rA + evsubfsmiaa rD, rA + evaddh rD, rA, rB + evaddhss rD, rA, rB + evsubfh rD, rA, rB + evsubfhss rD, rA, rB + evaddhx rD, rA, rB + evaddhxss rD, rA, rB + evsubfhx rD, rA, rB + evsubfhxss rD, rA, rB + evaddd rD, rA, rB + evadddss rD, rA, rB + evsubfd rD, rA, rB + evsubfdss rD, rA, rB + evaddb rD, rA, rB + evaddbss rD, rA, rB + evsubfb rD, rA, rB + evsubfbss rD, rA, rB + evaddsubfh rD, rA, rB + evaddsubfhss rD, rA, rB + evsubfaddh rD, rA, rB + evsubfaddhss rD, rA, rB + evaddsubfhx rD, rA, rB + evaddsubfhxss rD, rA, rB + evsubfaddhx rD, rA, rB + evsubfaddhxss rD, rA, rB + evadddus rD, rA, rB + evaddbus rD, rA, rB + evsubfdus rD, rA, rB + evsubfbus rD, rA, rB + evaddwus rD, rA, rB + evaddwxus rD, rA, rB + evsubfwus rD, rA, rB + evsubfwxus rD, rA, rB + evadd2subf2h rD, rA, rB + evadd2subf2hss rD, rA, rB + evsubf2add2h rD, rA, rB + evsubf2add2hss rD, rA, rB + evaddhus rD, rA, rB + evaddhxus rD, rA, rB + evsubfhus rD, rA, rB + evsubfhxus rD, rA, rB + evaddwss rD, rA, rB + evsubfwss rD, rA, rB + evaddwx rD, rA, rB + evaddwxss rD, rA, rB + evsubfwx rD, rA, rB + evsubfwxss rD, rA, rB + evaddsubfw rD, rA, rB + evaddsubfwss rD, rA, rB + evsubfaddw rD, rA, rB + evsubfaddwss rD, rA, rB + evaddsubfwx rD, rA, rB + evaddsubfwxss rD, rA, rB + evsubfaddwx rD, rA, rB + evsubfaddwxss rD, rA, rB + evmar rD + evsumwu rD, rA + evsumws rD, rA + evsum4bu rD, rA + evsum4bs rD, rA + evsum2hu rD, rA + evsum2hs rD, rA + evdiff2his rD, rA + evsum2his rD, rA + evsumwua rD, rA + evsumwsa rD, rA + evsum4bua rD, rA + evsum4bsa rD, rA + evsum2hua rD, rA + evsum2hsa rD, rA + evdiff2hisa rD, rA + evsum2hisa rD, rA + evsumwuaa rD, rA + evsumwsaa rD, rA + evsum4buaaw rD, rA + evsum4bsaaw rD, rA + evsum2huaaw rD, rA + evsum2hsaaw rD, rA + evdiff2hisaaw rD, rA + evsum2hisaaw rD, rA + evdivwsf rD, rA, rB + evdivwuf rD, rA, rB + evdivs rD, rA, rB + evdivu rD, rA, rB + evaddwegsi rD, rA, rB + evaddwegsf rD, rA, rB + evsubfwegsi rD, rA, rB + evsubfwegsf rD, rA, rB + evaddwogsi rD, rA, rB + evaddwogsf rD, rA, rB + evsubfwogsi rD, rA, rB + evsubfwogsf rD, rA, rB + evaddhhiuw rD, rA, rB + evaddhhisw rD, rA, rB + evsubfhhiuw rD, rA, rB + evsubfhhisw rD, rA, rB + evaddhlouw rD, rA, rB + evaddhlosw rD, rA, rB + evsubfhlouw rD, rA, rB + evsubfhlosw rD, rA, rB + evmhesusiaaw rD, rA, rB + evmhosusiaaw rD, rA, rB + evmhesumiaaw rD, rA, rB + evmhosumiaaw rD, rA, rB + evmbeusiaah rD, rA, rB + evmbessiaah rD, rA, rB + evmbesusiaah rD, rA, rB + evmbousiaah rD, rA, rB + evmbossiaah rD, rA, rB + evmbosusiaah rD, rA, rB + evmbeumiaah rD, rA, rB + evmbesmiaah rD, rA, rB + evmbesumiaah rD, rA, rB + evmboumiaah rD, rA, rB + evmbosmiaah rD, rA, rB + evmbosumiaah rD, rA, rB + evmwlusiaaw3 rD, rA, rB + evmwlssiaaw3 rD, rA, rB + evmwhssfraaw3 rD, rA, rB + evmwhssfaaw3 rD, rA, rB + evmwhssfraaw rD, rA, rB + evmwhssfaaw rD, rA, rB + evmwlumiaaw3 rD, rA, rB + evmwlsmiaaw3 rD, rA, rB + evmwusiaa rD, rA, rB + evmwssiaa rD, rA, rB + evmwehgsmfraa rD, rA, rB + evmwehgsmfaa rD, rA, rB + evmwohgsmfraa rD, rA, rB + evmwohgsmfaa rD, rA, rB + evmhesusianw rD, rA, rB + evmhosusianw rD, rA, rB + evmhesumianw rD, rA, rB + evmhosumianw rD, rA, rB + evmbeusianh rD, rA, rB + evmbessianh rD, rA, rB + evmbesusianh rD, rA, rB + evmbousianh rD, rA, rB + evmbossianh rD, rA, rB + evmbosusianh rD, rA, rB + evmbeumianh rD, rA, rB + evmbesmianh rD, rA, rB + evmbesumianh rD, rA, rB + evmboumianh rD, rA, rB + evmbosmianh rD, rA, rB + evmbosumianh rD, rA, rB + evmwlusianw3 rD, rA, rB + evmwlssianw3 rD, rA, rB + evmwhssfranw3 rD, rA, rB + evmwhssfanw3 rD, rA, rB + evmwhssfranw rD, rA, rB + evmwhssfanw rD, rA, rB + evmwlumianw3 rD, rA, rB + evmwlsmianw3 rD, rA, rB + evmwusian rD, rA, rB + evmwssian rD, rA, rB + evmwehgsmfran rD, rA, rB + evmwehgsmfan rD, rA, rB + evmwohgsmfran rD, rA, rB + evmwohgsmfan rD, rA, rB + evseteqb rD, rA, rB + evseteqb. rD, rA, rB + evseteqh rD, rA, rB + evseteqh. rD, rA, rB + evseteqw rD, rA, rB + evseteqw. rD, rA, rB + evsetgthu rD, rA, rB + evsetgthu. rD, rA, rB + evsetgths rD, rA, rB + evsetgths. rD, rA, rB + evsetgtwu rD, rA, rB + evsetgtwu. rD, rA, rB + evsetgtws rD, rA, rB + evsetgtws. rD, rA, rB + evsetgtbu rD, rA, rB + evsetgtbu. rD, rA, rB + evsetgtbs rD, rA, rB + evsetgtbs. rD, rA, rB + evsetltbu rD, rA, rB + evsetltbu. rD, rA, rB + evsetltbs rD, rA, rB + evsetltbs. rD, rA, rB + evsetlthu rD, rA, rB + evsetlthu. rD, rA, rB + evsetlths rD, rA, rB + evsetlths. rD, rA, rB + evsetltwu rD, rA, rB + evsetltwu. rD, rA, rB + evsetltws rD, rA, rB + evsetltws. rD, rA, rB + evsaduw rD, rA, rB + evsadsw rD, rA, rB + evsad4ub rD, rA, rB + evsad4sb rD, rA, rB + evsad2uh rD, rA, rB + evsad2sh rD, rA, rB + evsaduwa rD, rA, rB + evsadswa rD, rA, rB + evsad4uba rD, rA, rB + evsad4sba rD, rA, rB + evsad2uha rD, rA, rB + evsad2sha rD, rA, rB + evabsdifuw rD, rA, rB + evabsdifsw rD, rA, rB + evabsdifub rD, rA, rB + evabsdifsb rD, rA, rB + evabsdifuh rD, rA, rB + evabsdifsh rD, rA, rB + evsaduwaa rD, rA, rB + evsadswaa rD, rA, rB + evsad4ubaaw rD, rA, rB + evsad4sbaaw rD, rA, rB + evsad2uhaaw rD, rA, rB + evsad2shaaw rD, rA, rB + evpkshubs rD, rA, rB + evpkshsbs rD, rA, rB + evpkswuhs rD, rA, rB + evpkswshs rD, rA, rB + evpkuhubs rD, rA, rB + evpkuwuhs rD, rA, rB + evpkswshilvs rD, rA, rB + evpkswgshefrs rD, rA, rB + evpkswshfrs rD, rA, rB + evpkswshilvfrs rD, rA, rB + evpksdswfrs rD, rA, rB + evpksdshefrs rD, rA, rB + evpkuduws rD, rA, rB + evpksdsws rD, rA, rB + evpkswgswfrs rD, rA, rB + evilveh rD, rA, rB + evilveoh rD, rA, rB + evilvhih rD, rA, rB + evilvhiloh rD, rA, rB + evilvloh rD, rA, rB + evilvlohih rD, rA, rB + evilvoeh rD, rA, rB + evilvoh rD, rA, rB + evdlveb rD, rA, rB + evdlveh rD, rA, rB + evdlveob rD, rA, rB + evdlveoh rD, rA, rB + evdlvob rD, rA, rB + evdlvoh rD, rA, rB + evdlvoeb rD, rA, rB + evdlvoeh rD, rA, rB + evmaxbu rD, rA, rB + evmaxbs rD, rA, rB + evmaxhu rD, rA, rB + evmaxhs rD, rA, rB + evmaxwu rD, rA, rB + evmaxws rD, rA, rB + evmaxdu rD, rA, rB + evmaxds rD, rA, rB + evminbu rD, rA, rB + evminbs rD, rA, rB + evminhu rD, rA, rB + evminhs rD, rA, rB + evminwu rD, rA, rB + evminws rD, rA, rB + evmindu rD, rA, rB + evminds rD, rA, rB + evavgwu rD, rA, rB + evavgws rD, rA, rB + evavgbu rD, rA, rB + evavgbs rD, rA, rB + evavghu rD, rA, rB + evavghs rD, rA, rB + evavgdu rD, rA, rB + evavgds rD, rA, rB + evavgwur rD, rA, rB + evavgwsr rD, rA, rB + evavgbur rD, rA, rB + evavgbsr rD, rA, rB + evavghur rD, rA, rB + evavghsr rD, rA, rB + evavgdur rD, rA, rB + evavgdsr rD, rA, rB + +;#SPE2 mapped by macro + evdotphsssi rD, rA, rB + evdotphsssia rD, rA, rB + evdotpwsssi rD, rA, rB + evdotpwsssia rD, rA, rB diff --git a/gas/testsuite/gas/ppc/spe_ambiguous.d b/gas/testsuite/gas/ppc/spe_ambiguous.d new file mode 100644 index 0000000..cdfb005 --- /dev/null +++ b/gas/testsuite/gas/ppc/spe_ambiguous.d @@ -0,0 +1,15 @@ +#as: -a32 -mvle +#objdump: -d -Mspe +#name: Validate SPE instructions + +.*: +file format elf.*-powerpc.* + +Disassembly of section .text: + +00000000 <.text>: + 0: 10 01 12 04 evsubfw r0,r1,r2 + 4: 10 01 12 04 evsubw r0,r2,r1 + 8: 10 1f 12 06 evsubifw r0,31,r2 + c: 10 1f 12 06 evsubiw r0,r2,31 + 10: 10 01 12 18 evnor r0,r1,r2 + 14: 10 01 0a 18 evnot r0,r1 diff --git a/gas/testsuite/gas/ppc/spe_ambiguous.s b/gas/testsuite/gas/ppc/spe_ambiguous.s new file mode 100644 index 0000000..b60e02b --- /dev/null +++ b/gas/testsuite/gas/ppc/spe_ambiguous.s @@ -0,0 +1,21 @@ +# PA SPE instructions + .section ".text" + .equ rA,1 + .equ rB,2 + .equ rD,0 + .equ rS,0 + .equ rT,0 + .equ UIMM, 31 + .equ UIMM_2, 2 + .equ UIMM_4, 4 + .equ UIMM_8, 8 + .equ SIMM, -16 + .equ crD, 0 + .equ crS, 0 + + evsubfw rS, rA, rB + evsubw rS, rB, rA + evsubifw rS, UIMM, rB + evsubiw rS, rB, UIMM + evnor rS, rA, rB + evnot rS, rA |