aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog24
-rw-r--r--gas/config/tc-ppc.c53
-rw-r--r--gas/doc/as.texinfo2
-rw-r--r--gas/doc/c-ppc.texi3
-rw-r--r--gas/testsuite/gas/ppc/efs.d25
-rw-r--r--gas/testsuite/gas/ppc/efs.s29
-rw-r--r--gas/testsuite/gas/ppc/efs2.d19
-rw-r--r--gas/testsuite/gas/ppc/efs2.s18
-rw-r--r--gas/testsuite/gas/ppc/ppc.exp8
-rw-r--r--gas/testsuite/gas/ppc/spe.d267
-rw-r--r--gas/testsuite/gas/ppc/spe.s274
-rw-r--r--gas/testsuite/gas/ppc/spe2-checks.d3
-rw-r--r--gas/testsuite/gas/ppc/spe2-checks.l73
-rw-r--r--gas/testsuite/gas/ppc/spe2-checks.s99
-rw-r--r--gas/testsuite/gas/ppc/spe2.d815
-rw-r--r--gas/testsuite/gas/ppc/spe2.s834
-rw-r--r--gas/testsuite/gas/ppc/spe_ambiguous.d15
-rw-r--r--gas/testsuite/gas/ppc/spe_ambiguous.s21
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