TESTINST3("qadd16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
TESTINST3("qadd16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
+ printf("---------------- UQADD16 ---------------- \n");
+ TESTINST3("uqadd16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
+ TESTINST3("uqadd16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
+ TESTINST3("uqadd16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
+ TESTINST3("uqadd16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+TESTINST3("uqadd16 r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
+
printf("---------------- QSUB16 ---------------- \n");
TESTINST3("qsub16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
TESTINST3("qsub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
TESTINST3("qsax r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
TESTINST3("qsax r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
+ printf("----------------- UQSAX ----------------- \n");
+ TESTINST3("uqsax r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uqsax r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
+ TESTINST3("uqsax r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uqsax r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+ TESTINST3("uqsax r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
+ TESTINST3("uqsax r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+TESTINST3("uqsax r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
+
printf("----------------- QASX ----------------- \n");
TESTINST3("qasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
TESTINST3("qasx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
TESTINST3("qasx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
TESTINST3("qasx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
+ printf("----------------- UQASX ----------------- \n");
+ TESTINST3("uqasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uqasx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
+ TESTINST3("uqasx r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uqasx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+ TESTINST3("uqasx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
+ TESTINST3("uqasx r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+TESTINST3("uqasx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
+
printf("----------------- SASX ----------------- \n");
TESTINST3("sasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
TESTINST3("sasx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
TESTINST3("sasx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
TESTINST3("sasx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
+ printf("----------------- USAX ----------------- \n");
+ TESTINST3("usax r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("usax r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
+ TESTINST3("usax r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("usax r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+ TESTINST3("usax r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
+ TESTINST3("usax r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+TESTINST3("usax r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
+
+ printf("----------------- UASX ----------------- \n");
+ TESTINST3("uasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uasx r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
+ TESTINST3("uasx r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uasx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+ TESTINST3("uasx r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
+ TESTINST3("uasx r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+TESTINST3("uasx r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
+
+ printf("----------------- SSAX ----------------- \n");
+ TESTINST3("ssax r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("ssax r0, r1, r2", 0x7fff7fff, 0x00010001, r0, r1, r2, 0);
+ TESTINST3("ssax r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("ssax r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+ TESTINST3("ssax r0, r1, r2", 0x00640064, 0x00030003, r0, r1, r2, 0);
+ TESTINST3("ssax r0, r1, r2", 0x00030003, 0x00640064, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+TESTINST3("ssax r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
+
printf("----------------- SMUAD ----------------- \n");
TESTINST3("smuad r0, r1, r2", 0x80008000, 0x80008000, r0, r1, r2, 0);
TESTINST3("smuad r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
TESTINST3("shadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
TESTINST3("shadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+ printf("------------ SHSUB8 -----------------------------------\n");
+ TESTINST3("shsub8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
+ TESTINST3("shsub8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
+ TESTINST3("shsub8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
+ TESTINST3("shsub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+ TESTINST3("shsub8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("shsub8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0);
+ TESTINST3("shsub8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("shsub8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
+TESTINST3("shsub8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+
printf("------------ UHADD8 -----------------------------------\n");
TESTINST3("uhadd8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
TESTINST3("uhadd8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
TESTINST3("uxtab16 r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+ printf("----------- SXTAB16 -----------\n");
+ TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0);
+ TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0);
+ TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182819, r0, r1, r2, 0);
+ TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182819, r0, r1, r2, 0);
+
+ TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x31415927, 0x27182899, r0, r1, r2, 0);
+ TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x31415927, 0x27182899, r0, r1, r2, 0);
+ TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x31415927, 0x27182899, r0, r1, r2, 0);
+ TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x31415927, 0x27182899, r0, r1, r2, 0);
+ TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x3141FFFF, 0x27182899, r0, r1, r2, 0);
+
+TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #24", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+
+TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #16", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+
+TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #8", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+
+TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
+TESTINST3("sxtab16 r0, r1, r2, ROR #0", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+
printf("------------ SXTAH ------------\n");
TESTINST3("sxtah r0, r1, r2, ROR #24", 0x31415927, 0x27182819, r0, r1, r2, 0);
TESTINST3("sxtah r0, r1, r2, ROR #16", 0x31415927, 0x27182819, r0, r1, r2, 0);
TESTINST3("shadd16 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
TESTINST3("shadd16 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+ printf("------------ SHASX -----------------------------------\n");
+ TESTINST3("shasx r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
+ TESTINST3("shasx r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
+ TESTINST3("shasx r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
+ TESTINST3("shasx r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+ TESTINST3("shasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("shasx r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0);
+ TESTINST3("shasx r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("shasx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
+TESTINST3("shasx r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+
+ printf("------------ UHASX -----------------------------------\n");
+ TESTINST3("uhasx r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
+ TESTINST3("uhasx r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
+ TESTINST3("uhasx r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
+ TESTINST3("uhasx r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+ TESTINST3("uhasx r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uhasx r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0);
+ TESTINST3("uhasx r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uhasx r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
+TESTINST3("uhasx r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+
+ printf("------------ SHSAX -----------------------------------\n");
+ TESTINST3("shsax r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
+ TESTINST3("shsax r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
+ TESTINST3("shsax r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
+ TESTINST3("shsax r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+ TESTINST3("shsax r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("shsax r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0);
+ TESTINST3("shsax r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("shsax r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
+TESTINST3("shsax r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+
+ printf("------------ UHSAX -----------------------------------\n");
+ TESTINST3("uhsax r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
+ TESTINST3("uhsax r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
+ TESTINST3("uhsax r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
+ TESTINST3("uhsax r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+ TESTINST3("uhsax r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uhsax r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0);
+ TESTINST3("uhsax r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("uhsax r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
+TESTINST3("uhsax r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+
printf("------------ UHSUB8 -----------------------------------\n");
TESTINST3("uhsub8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
TESTINST3("uhsub8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
TESTINST3("uhsub16 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
TESTINST3("uhsub16 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+ printf("------------ SHSUB16 -----------------------------------\n");
+ TESTINST3("shsub16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
+ TESTINST3("shsub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
+ TESTINST3("shsub16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
+ TESTINST3("shsub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+ TESTINST3("shsub16 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("shsub16 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0);
+ TESTINST3("shsub16 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
+ TESTINST3("shsub16 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
+TESTINST3("shsub16 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+
printf("----------------- SMLALBB ----------------- \n");
TESTINST4("smlalbb r0, r1, r2, r3",
0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
qadd16 r0, r1, r2 :: rd 0x4ab260a3 rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
qadd16 r0, r1, r2 :: rd 0x01a8204f rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
qadd16 r0, r1, r2 :: rd 0xe7f2fb84 rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+---------------- UQADD16 ----------------
+uqadd16 r0, r1, r2 :: rd 0x0021ffff rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0x0021ffff rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffff0021 rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffff0021 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffdaa0 rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0x5d60ffff rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0x915affff rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffffff rm 0xfaceab39, rn 0x2973c051, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xf962ffff rm 0xa3e6f759, rn 0x557c7ba2, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xfffff4ba rm 0x72f33509, rn 0x9b41bfb1, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xd14ed502 rm 0xa5ec1aa8, rn 0x2b62ba5a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xc4a74327 rm 0x6ebd04d9, rn 0x55ea3e4e, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffffff rm 0x2eaea305, rn 0xe79fd570, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xf06dffff rm 0x22b65db1, rn 0xcdb7ed11, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xa622c6c7 rm 0x776c41c7, rn 0x2eb68500, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffffff rm 0xe50dd77c, rn 0xd6f9a698, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xf988807c rm 0x0be36f70, rn 0xeda5110c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffffff rm 0xebbff82b, rn 0xd759eb72, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffffff rm 0x50c28082, rn 0xd9c4b1f4, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xba34e1af rm 0x17962e8f, rn 0xa29eb320, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffff883e rm 0xc57243b7, rn 0xcf1e4487, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffdfbb rm 0x7eb226ac, rn 0xf20fb90f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffffff rm 0xbce0f026, rn 0xbb151055, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffb324 rm 0xa5757252, rn 0x957440d2, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffef32 rm 0xf4a477c1, rn 0x728b7771, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffff5b14 rm 0x76723a21, rn 0xf13c20f3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xfb099476 rm 0x74d01105, rn 0x86398371, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xc4f7ffff rm 0xc1273e2c, rn 0x03d0fb78, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffffff rm 0xdd9b7653, rn 0xd0d49b7c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffff7a29 rm 0xdde62fd1, rn 0x76354a58, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffaa4d rm 0xc3fb4a96, rn 0x9fa45fb7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffcd42 rm 0xa1a10f56, rn 0x7572bdec, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffee8f rm 0x4b7d4fd9, rn 0xfea59eb6, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffffff rm 0x9d0ddffc, rn 0xf2669090, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffffff rm 0x4f82d17c, rn 0xbc1ff573, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0x3c80c488 rm 0x08215ca2, rn 0x345f67e6, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffffff rm 0xf23595d0, rn 0x3f39d77e, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffffff rm 0xf244c158, rn 0xfb2db55b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0x3919ffff rm 0x256bfdd6, rn 0x13aebedf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffff3c05 rm 0xc02a0c05, rn 0x5b013000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffffff rm 0xee2fa46e, rn 0xed95b542, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xf862ffff rm 0x97a7da20, rn 0x60bb5ee8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffe04a rm 0xa231d5e6, rn 0xd9000a64, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0x7330ffff rm 0x10e1968a, rn 0x624f9467, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xb6cee004 rm 0x0e089270, rn 0xa8c64d94, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffff64ff rm 0x9e8e0185, rn 0x6b4f637a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0x428bffff rm 0x3096f12e, rn 0x11f5f4b9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffffff rm 0xffc134df, rn 0x0b02eb0c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffffff rm 0xe444dc25, rn 0xd5eef620, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xa8faffff rm 0x06ea9b2a, rn 0xa2108661, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0x5c3dffff rm 0x448f3a5f, rn 0x17aecf57, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffff60a3 rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xffffffff rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqadd16 r0, r1, r2 :: rd 0xfffffb84 rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x00000000 ge[3:0]=0000
---------------- QSUB16 ----------------
qsub16 r0, r1, r2 :: rd 0xfff1fffc rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
qsub16 r0, r1, r2 :: rd 0x000f0004 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
qsax r0, r1, r2 :: rd 0x0da022dd rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
qsax r0, r1, r2 :: rd 0x382467e1 rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
qsax r0, r1, r2 :: rd 0x3fd23338 rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+----------------- UQSAX -----------------
+uqsax r0, r1, r2 :: rd 0x7fff7fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x7ffe8000 rm 0x7fff7fff, rn 0x00010001, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x80008000 rm 0x80008000, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000ffff rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x00610067 rm 0x00640064, rn 0x00030003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x00000067 rm 0x00030003, rn 0x00640064, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x8236ffff rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000ffff rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000ffff rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x3a7dd4ac rm 0xfaceab39, rn 0x2973c051, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x2844ffff rm 0xa3e6f759, rn 0x557c7ba2, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000d04a rm 0x72f33509, rn 0x9b41bfb1, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000460a rm 0xa5ec1aa8, rn 0x2b62ba5a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x306f5ac3 rm 0x6ebd04d9, rn 0x55ea3e4e, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000ffff rm 0x2eaea305, rn 0xe79fd570, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000ffff rm 0x22b65db1, rn 0xcdb7ed11, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000707d rm 0x776c41c7, rn 0x2eb68500, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x3e75ffff rm 0xe50dd77c, rn 0xd6f9a698, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000ffff rm 0x0be36f70, rn 0xeda5110c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x004dffff rm 0xebbff82b, rn 0xd759eb72, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000ffff rm 0x50c28082, rn 0xd9c4b1f4, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000d12d rm 0x17962e8f, rn 0xa29eb320, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x80ebffff rm 0xc57243b7, rn 0xcf1e4487, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000ffff rm 0x7eb226ac, rn 0xf20fb90f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0xac8bffff rm 0xbce0f026, rn 0xbb151055, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x64a3ffff rm 0xa5757252, rn 0x957440d2, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x7d33ea4c rm 0xf4a477c1, rn 0x728b7771, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x557fffff rm 0x76723a21, rn 0xf13c20f3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000973e rm 0x74d01105, rn 0x86398371, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x000041fc rm 0xc1273e2c, rn 0x03d0fb78, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x421fffff rm 0xdd9b7653, rn 0xd0d49b7c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x938ea606 rm 0xdde62fd1, rn 0x76354a58, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x6444ea3a rm 0xc3fb4a96, rn 0x9fa45fb7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x000084c8 rm 0xa1a10f56, rn 0x7572bdec, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000ffff rm 0x4b7d4fd9, rn 0xfea59eb6, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0c7dffff rm 0x9d0ddffc, rn 0xf2669090, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000ffff rm 0x4f82d17c, rn 0xbc1ff573, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x00009101 rm 0x08215ca2, rn 0x345f67e6, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x1ab7d509 rm 0xf23595d0, rn 0x3f39d77e, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x3ce9ffff rm 0xf244c158, rn 0xfb2db55b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000ffff rm 0x256bfdd6, rn 0x13aebedf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x902a6706 rm 0xc02a0c05, rn 0x5b013000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x38edffff rm 0xee2fa46e, rn 0xed95b542, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x38bfffff rm 0x97a7da20, rn 0x60bb5ee8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x97cdffff rm 0xa231d5e6, rn 0xd9000a64, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000f8d9 rm 0x10e1968a, rn 0x624f9467, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000ffff rm 0x0e089270, rn 0xa8c64d94, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x3b146cd4 rm 0x9e8e0185, rn 0x6b4f637a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000ffff rm 0x3096f12e, rn 0x11f5f4b9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x14b53fe1 rm 0xffc134df, rn 0x0b02eb0c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000ffff rm 0xe444dc25, rn 0xd5eef620, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000ffff rm 0x06ea9b2a, rn 0xa2108661, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0000520d rm 0x448f3a5f, rn 0x17aecf57, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x0da0ffff rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x382467e1 rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqsax r0, r1, r2 :: rd 0x3fd2ffff rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x00000000 ge[3:0]=0000
----------------- QASX -----------------
qasx r0, r1, r2 :: rd 0x7fff7fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
qasx r0, r1, r2 :: rd 0x7fff7ffe rm 0x7fff7fff, rn 0x00010001, carryin 0, cpsr 0x00000000 ge[3:0]=0000
qasx r0, r1, r2 :: rd 0x7fff2391 rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
qasx r0, r1, r2 :: rd 0xba1656cb rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
qasx r0, r1, r2 :: rd 0xb03e5364 rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+----------------- UQASX -----------------
+uqasx r0, r1, r2 :: rd 0x7fff7fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0x80007ffe rm 0x7fff7fff, rn 0x00010001, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0x80008000 rm 0x80008000, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0x00670061 rm 0x00640064, rn 0x00030003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0x00670000 rm 0x00030003, rn 0x00640064, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0x5deeaa38 rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xb25186dd rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff81c6 rm 0xfaceab39, rn 0x2973c051, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffffa1dd rm 0xa3e6f759, rn 0x557c7ba2, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0x72f33509, rn 0x9b41bfb1, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0xa5ec1aa8, rn 0x2b62ba5a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xad0b0000 rm 0x6ebd04d9, rn 0x55ea3e4e, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0x2eaea305, rn 0xe79fd570, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0x22b65db1, rn 0xcdb7ed11, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xfc6c1311 rm 0x776c41c7, rn 0x2eb68500, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0083 rm 0xe50dd77c, rn 0xd6f9a698, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0x1cef0000 rm 0x0be36f70, rn 0xeda5110c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff20d2 rm 0xebbff82b, rn 0xd759eb72, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0x50c28082, rn 0xd9c4b1f4, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xcab60000 rm 0x17962e8f, rn 0xa29eb320, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0xc57243b7, rn 0xcf1e4487, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0x7eb226ac, rn 0xf20fb90f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xcd353511 rm 0xbce0f026, rn 0xbb151055, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xe6470000 rm 0xa5757252, rn 0x957440d2, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0536 rm 0xf4a477c1, rn 0x728b7771, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0x97650000 rm 0x76723a21, rn 0xf13c20f3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xf8410000 rm 0x74d01105, rn 0x86398371, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff3a5c rm 0xc1273e2c, rn 0x03d0fb78, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0xdd9b7653, rn 0xd0d49b7c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0xdde62fd1, rn 0x76354a58, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0xc3fb4a96, rn 0x9fa45fb7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0xa1a10f56, rn 0x7572bdec, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xea330000 rm 0x4b7d4fd9, rn 0xfea59eb6, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0x9d0ddffc, rn 0xf2669090, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff155d rm 0x4f82d17c, rn 0xbc1ff573, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0x70072843 rm 0x08215ca2, rn 0x345f67e6, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff5697 rm 0xf23595d0, rn 0x3f39d77e, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0xf244c158, rn 0xfb2db55b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xe44aea28 rm 0x256bfdd6, rn 0x13aebedf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xf02a0000 rm 0xc02a0c05, rn 0x5b013000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0xee2fa46e, rn 0xed95b542, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xf68f7965 rm 0x97a7da20, rn 0x60bb5ee8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xac950000 rm 0xa231d5e6, rn 0xd9000a64, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xa548343b rm 0x10e1968a, rn 0x624f9467, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0x5b9c0000 rm 0x0e089270, rn 0xa8c64d94, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0x9e8e0185, rn 0x6b4f637a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffffdf39 rm 0x3096f12e, rn 0x11f5f4b9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff29dd rm 0xffc134df, rn 0x0b02eb0c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0637 rm 0xe444dc25, rn 0xd5eef620, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0x8d4b0000 rm 0x06ea9b2a, rn 0xa2108661, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff22b1 rm 0x448f3a5f, rn 0x17aecf57, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0x88780000 rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff56cb rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uqasx r0, r1, r2 :: rd 0xffff0000 rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x00000000 ge[3:0]=0000
----------------- SASX -----------------
sasx r0, r1, r2 :: rd 0x7fff7fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
sasx r0, r1, r2 :: rd 0x80007ffe rm 0x7fff7fff, rn 0x00010001, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
sasx r0, r1, r2 :: rd 0x88782391 rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
sasx r0, r1, r2 :: rd 0xba1656cb rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00030000 ge[3:0]=0011
sasx r0, r1, r2 :: rd 0xb03e5364 rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+----------------- USAX -----------------
+usax r0, r1, r2 :: rd 0x7fff7fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usax r0, r1, r2 :: rd 0x7ffe8000 rm 0x7fff7fff, rn 0x00010001, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usax r0, r1, r2 :: rd 0x80008000 rm 0x80008000, rn 0x00000000, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usax r0, r1, r2 :: rd 0x80017fff rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usax r0, r1, r2 :: rd 0x00610067 rm 0x00640064, rn 0x00030003, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usax r0, r1, r2 :: rd 0xff9f0067 rm 0x00030003, rn 0x00640064, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usax r0, r1, r2 :: rd 0x82364ef9 rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usax r0, r1, r2 :: rd 0xbbc64b44 rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usax r0, r1, r2 :: rd 0x9c1f5b21 rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usax r0, r1, r2 :: rd 0x3a7dd4ac rm 0xfaceab39, rn 0x2973c051, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usax r0, r1, r2 :: rd 0x28444cd5 rm 0xa3e6f759, rn 0x557c7ba2, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usax r0, r1, r2 :: rd 0xb342d04a rm 0x72f33509, rn 0x9b41bfb1, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usax r0, r1, r2 :: rd 0xeb92460a rm 0xa5ec1aa8, rn 0x2b62ba5a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usax r0, r1, r2 :: rd 0x306f5ac3 rm 0x6ebd04d9, rn 0x55ea3e4e, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usax r0, r1, r2 :: rd 0x593e8aa4 rm 0x2eaea305, rn 0xe79fd570, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usax r0, r1, r2 :: rd 0x35a52b68 rm 0x22b65db1, rn 0xcdb7ed11, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usax r0, r1, r2 :: rd 0xf26c707d rm 0x776c41c7, rn 0x2eb68500, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usax r0, r1, r2 :: rd 0x3e75ae75 rm 0xe50dd77c, rn 0xd6f9a698, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usax r0, r1, r2 :: rd 0xfad75d15 rm 0x0be36f70, rn 0xeda5110c, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usax r0, r1, r2 :: rd 0x004dcf84 rm 0xebbff82b, rn 0xd759eb72, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usax r0, r1, r2 :: rd 0x9ece5a46 rm 0x50c28082, rn 0xd9c4b1f4, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usax r0, r1, r2 :: rd 0x6476d12d rm 0x17962e8f, rn 0xa29eb320, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usax r0, r1, r2 :: rd 0x80eb12d5 rm 0xc57243b7, rn 0xcf1e4487, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usax r0, r1, r2 :: rd 0xc5a318bb rm 0x7eb226ac, rn 0xf20fb90f, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usax r0, r1, r2 :: rd 0xac8bab3b rm 0xbce0f026, rn 0xbb151055, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usax r0, r1, r2 :: rd 0x64a307c6 rm 0xa5757252, rn 0x957440d2, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usax r0, r1, r2 :: rd 0x7d33ea4c rm 0xf4a477c1, rn 0x728b7771, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usax r0, r1, r2 :: rd 0x557f2b5d rm 0x76723a21, rn 0xf13c20f3, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usax r0, r1, r2 :: rd 0xf15f973e rm 0x74d01105, rn 0x86398371, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usax r0, r1, r2 :: rd 0xc5af41fc rm 0xc1273e2c, rn 0x03d0fb78, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usax r0, r1, r2 :: rd 0x421f4727 rm 0xdd9b7653, rn 0xd0d49b7c, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usax r0, r1, r2 :: rd 0x938ea606 rm 0xdde62fd1, rn 0x76354a58, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usax r0, r1, r2 :: rd 0x6444ea3a rm 0xc3fb4a96, rn 0x9fa45fb7, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usax r0, r1, r2 :: rd 0xe3b584c8 rm 0xa1a10f56, rn 0x7572bdec, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usax r0, r1, r2 :: rd 0xacc74e7e rm 0x4b7d4fd9, rn 0xfea59eb6, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usax r0, r1, r2 :: rd 0x0c7dd262 rm 0x9d0ddffc, rn 0xf2669090, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usax r0, r1, r2 :: rd 0x5a0f8d9b rm 0x4f82d17c, rn 0xbc1ff573, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usax r0, r1, r2 :: rd 0xa03b9101 rm 0x08215ca2, rn 0x345f67e6, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usax r0, r1, r2 :: rd 0x1ab7d509 rm 0xf23595d0, rn 0x3f39d77e, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usax r0, r1, r2 :: rd 0x3ce9bc85 rm 0xf244c158, rn 0xfb2db55b, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usax r0, r1, r2 :: rd 0x668c1184 rm 0x256bfdd6, rn 0x13aebedf, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usax r0, r1, r2 :: rd 0x902a6706 rm 0xc02a0c05, rn 0x5b013000, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usax r0, r1, r2 :: rd 0x38ed9203 rm 0xee2fa46e, rn 0xed95b542, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usax r0, r1, r2 :: rd 0x38bf3adb rm 0x97a7da20, rn 0x60bb5ee8, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usax r0, r1, r2 :: rd 0x97cdaee6 rm 0xa231d5e6, rn 0xd9000a64, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usax r0, r1, r2 :: rd 0x7c7af8d9 rm 0x10e1968a, rn 0x624f9467, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usax r0, r1, r2 :: rd 0xc0743b36 rm 0x0e089270, rn 0xa8c64d94, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usax r0, r1, r2 :: rd 0x3b146cd4 rm 0x9e8e0185, rn 0x6b4f637a, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usax r0, r1, r2 :: rd 0x3bdd0323 rm 0x3096f12e, rn 0x11f5f4b9, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usax r0, r1, r2 :: rd 0x14b53fe1 rm 0xffc134df, rn 0x0b02eb0c, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usax r0, r1, r2 :: rd 0xee24b213 rm 0xe444dc25, rn 0xd5eef620, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usax r0, r1, r2 :: rd 0x80893d3a rm 0x06ea9b2a, rn 0xa2108661, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+usax r0, r1, r2 :: rd 0x7538520d rm 0x448f3a5f, rn 0x17aecf57, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+usax r0, r1, r2 :: rd 0x0da022dd rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+usax r0, r1, r2 :: rd 0x382467e1 rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+usax r0, r1, r2 :: rd 0x3fd23338 rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+----------------- UASX -----------------
+uasx r0, r1, r2 :: rd 0x7fff7fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+uasx r0, r1, r2 :: rd 0x80007ffe rm 0x7fff7fff, rn 0x00010001, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+uasx r0, r1, r2 :: rd 0x80008000 rm 0x80008000, rn 0x00000000, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+uasx r0, r1, r2 :: rd 0x7fff8001 rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0x00670061 rm 0x00640064, rn 0x00030003, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+uasx r0, r1, r2 :: rd 0x0067ff9f rm 0x00030003, rn 0x00640064, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uasx r0, r1, r2 :: rd 0x2e40ba3d rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0x5deeaa38 rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+uasx r0, r1, r2 :: rd 0xb25186dd rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+uasx r0, r1, r2 :: rd 0xbb1f81c6 rm 0xfaceab39, rn 0x2973c051, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+uasx r0, r1, r2 :: rd 0x1f88a1dd rm 0xa3e6f759, rn 0x557c7ba2, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+uasx r0, r1, r2 :: rd 0x32a499c8 rm 0x72f33509, rn 0x9b41bfb1, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0x6046ef46 rm 0xa5ec1aa8, rn 0x2b62ba5a, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0xad0baeef rm 0x6ebd04d9, rn 0x55ea3e4e, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uasx r0, r1, r2 :: rd 0x041ebb66 rm 0x2eaea305, rn 0xe79fd570, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0x0fc78ffa rm 0x22b65db1, rn 0xcdb7ed11, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0xfc6c1311 rm 0x776c41c7, rn 0x2eb68500, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+uasx r0, r1, r2 :: rd 0x8ba50083 rm 0xe50dd77c, rn 0xd6f9a698, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+uasx r0, r1, r2 :: rd 0x1cef81cb rm 0x0be36f70, rn 0xeda5110c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uasx r0, r1, r2 :: rd 0xd73120d2 rm 0xebbff82b, rn 0xd759eb72, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+uasx r0, r1, r2 :: rd 0x02b6a6be rm 0x50c28082, rn 0xd9c4b1f4, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0xcab68bf1 rm 0x17962e8f, rn 0xa29eb320, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uasx r0, r1, r2 :: rd 0x09f97499 rm 0xc57243b7, rn 0xcf1e4487, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0x37c1349d rm 0x7eb226ac, rn 0xf20fb90f, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0xcd353511 rm 0xbce0f026, rn 0xbb151055, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+uasx r0, r1, r2 :: rd 0xe647dcde rm 0xa5757252, rn 0x957440d2, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uasx r0, r1, r2 :: rd 0x6c150536 rm 0xf4a477c1, rn 0x728b7771, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+uasx r0, r1, r2 :: rd 0x976548e5 rm 0x76723a21, rn 0xf13c20f3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uasx r0, r1, r2 :: rd 0xf8418acc rm 0x74d01105, rn 0x86398371, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uasx r0, r1, r2 :: rd 0xbc9f3a5c rm 0xc1273e2c, rn 0x03d0fb78, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+uasx r0, r1, r2 :: rd 0x7917a57f rm 0xdd9b7653, rn 0xd0d49b7c, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0x283eb99c rm 0xdde62fd1, rn 0x76354a58, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0x23b2aaf2 rm 0xc3fb4a96, rn 0x9fa45fb7, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0x5f8d99e4 rm 0xa1a10f56, rn 0x7572bdec, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0xea335134 rm 0x4b7d4fd9, rn 0xfea59eb6, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uasx r0, r1, r2 :: rd 0x2d9ded96 rm 0x9d0ddffc, rn 0xf2669090, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0x44f5155d rm 0x4f82d17c, rn 0xbc1ff573, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+uasx r0, r1, r2 :: rd 0x70072843 rm 0x08215ca2, rn 0x345f67e6, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+uasx r0, r1, r2 :: rd 0xc9b35697 rm 0xf23595d0, rn 0x3f39d77e, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+uasx r0, r1, r2 :: rd 0xa79fc62b rm 0xf244c158, rn 0xfb2db55b, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0xe44aea28 rm 0x256bfdd6, rn 0x13aebedf, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+uasx r0, r1, r2 :: rd 0xf02ab104 rm 0xc02a0c05, rn 0x5b013000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uasx r0, r1, r2 :: rd 0xa371b6d9 rm 0xee2fa46e, rn 0xed95b542, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0xf68f7965 rm 0x97a7da20, rn 0x60bb5ee8, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+uasx r0, r1, r2 :: rd 0xac95fce6 rm 0xa231d5e6, rn 0xd9000a64, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uasx r0, r1, r2 :: rd 0xa548343b rm 0x10e1968a, rn 0x624f9467, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+uasx r0, r1, r2 :: rd 0x5b9ce9aa rm 0x0e089270, rn 0xa8c64d94, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uasx r0, r1, r2 :: rd 0x02089636 rm 0x9e8e0185, rn 0x6b4f637a, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+uasx r0, r1, r2 :: rd 0x254fdf39 rm 0x3096f12e, rn 0x11f5f4b9, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+uasx r0, r1, r2 :: rd 0xeacd29dd rm 0xffc134df, rn 0x0b02eb0c, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+uasx r0, r1, r2 :: rd 0xda640637 rm 0xe444dc25, rn 0xd5eef620, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+uasx r0, r1, r2 :: rd 0x8d4bf91a rm 0x06ea9b2a, rn 0xa2108661, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uasx r0, r1, r2 :: rd 0x13e622b1 rm 0x448f3a5f, rn 0x17aecf57, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+uasx r0, r1, r2 :: rd 0x88782391 rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uasx r0, r1, r2 :: rd 0xba1656cb rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+uasx r0, r1, r2 :: rd 0xb03e5364 rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+----------------- SSAX -----------------
+ssax r0, r1, r2 :: rd 0x7fff7fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0x7ffe8000 rm 0x7fff7fff, rn 0x00010001, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0x80008000 rm 0x80008000, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+ssax r0, r1, r2 :: rd 0x80017fff rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+ssax r0, r1, r2 :: rd 0x00610067 rm 0x00640064, rn 0x00030003, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0xff9f0067 rm 0x00030003, rn 0x00640064, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssax r0, r1, r2 :: rd 0x82364ef9 rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+ssax r0, r1, r2 :: rd 0xbbc64b44 rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssax r0, r1, r2 :: rd 0x9c1f5b21 rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0x3a7dd4ac rm 0xfaceab39, rn 0x2973c051, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssax r0, r1, r2 :: rd 0x28444cd5 rm 0xa3e6f759, rn 0x557c7ba2, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssax r0, r1, r2 :: rd 0xb342d04a rm 0x72f33509, rn 0x9b41bfb1, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssax r0, r1, r2 :: rd 0xeb92460a rm 0xa5ec1aa8, rn 0x2b62ba5a, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssax r0, r1, r2 :: rd 0x306f5ac3 rm 0x6ebd04d9, rn 0x55ea3e4e, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0x593e8aa4 rm 0x2eaea305, rn 0xe79fd570, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssax r0, r1, r2 :: rd 0x35a52b68 rm 0x22b65db1, rn 0xcdb7ed11, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0xf26c707d rm 0x776c41c7, rn 0x2eb68500, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0x3e75ae75 rm 0xe50dd77c, rn 0xd6f9a698, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssax r0, r1, r2 :: rd 0xfad75d15 rm 0x0be36f70, rn 0xeda5110c, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssax r0, r1, r2 :: rd 0x004dcf84 rm 0xebbff82b, rn 0xd759eb72, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssax r0, r1, r2 :: rd 0x9ece5a46 rm 0x50c28082, rn 0xd9c4b1f4, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssax r0, r1, r2 :: rd 0x6476d12d rm 0x17962e8f, rn 0xa29eb320, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssax r0, r1, r2 :: rd 0x80eb12d5 rm 0xc57243b7, rn 0xcf1e4487, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssax r0, r1, r2 :: rd 0xc5a318bb rm 0x7eb226ac, rn 0xf20fb90f, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0xac8bab3b rm 0xbce0f026, rn 0xbb151055, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+ssax r0, r1, r2 :: rd 0x64a307c6 rm 0xa5757252, rn 0x957440d2, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssax r0, r1, r2 :: rd 0x7d33ea4c rm 0xf4a477c1, rn 0x728b7771, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssax r0, r1, r2 :: rd 0x557f2b5d rm 0x76723a21, rn 0xf13c20f3, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0xf15f973e rm 0x74d01105, rn 0x86398371, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssax r0, r1, r2 :: rd 0xc5af41fc rm 0xc1273e2c, rn 0x03d0fb78, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssax r0, r1, r2 :: rd 0x421f4727 rm 0xdd9b7653, rn 0xd0d49b7c, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0x938ea606 rm 0xdde62fd1, rn 0x76354a58, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssax r0, r1, r2 :: rd 0x6444ea3a rm 0xc3fb4a96, rn 0x9fa45fb7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+ssax r0, r1, r2 :: rd 0xe3b584c8 rm 0xa1a10f56, rn 0x7572bdec, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssax r0, r1, r2 :: rd 0xacc74e7e rm 0x4b7d4fd9, rn 0xfea59eb6, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0x0c7dd262 rm 0x9d0ddffc, rn 0xf2669090, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssax r0, r1, r2 :: rd 0x5a0f8d9b rm 0x4f82d17c, rn 0xbc1ff573, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssax r0, r1, r2 :: rd 0xa03b9101 rm 0x08215ca2, rn 0x345f67e6, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssax r0, r1, r2 :: rd 0x1ab7d509 rm 0xf23595d0, rn 0x3f39d77e, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssax r0, r1, r2 :: rd 0x3ce9bc85 rm 0xf244c158, rn 0xfb2db55b, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssax r0, r1, r2 :: rd 0x668c1184 rm 0x256bfdd6, rn 0x13aebedf, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0x902a6706 rm 0xc02a0c05, rn 0x5b013000, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssax r0, r1, r2 :: rd 0x38ed9203 rm 0xee2fa46e, rn 0xed95b542, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssax r0, r1, r2 :: rd 0x38bf3adb rm 0x97a7da20, rn 0x60bb5ee8, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssax r0, r1, r2 :: rd 0x97cdaee6 rm 0xa231d5e6, rn 0xd9000a64, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+ssax r0, r1, r2 :: rd 0x7c7af8d9 rm 0x10e1968a, rn 0x624f9467, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssax r0, r1, r2 :: rd 0xc0743b36 rm 0x0e089270, rn 0xa8c64d94, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+ssax r0, r1, r2 :: rd 0x3b146cd4 rm 0x9e8e0185, rn 0x6b4f637a, carryin 0, cpsr 0x00030000 ge[3:0]=0011
+ssax r0, r1, r2 :: rd 0x3bdd0323 rm 0x3096f12e, rn 0x11f5f4b9, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0x14b53fe1 rm 0xffc134df, rn 0x0b02eb0c, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0xee24b213 rm 0xe444dc25, rn 0xd5eef620, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+ssax r0, r1, r2 :: rd 0x80893d3a rm 0x06ea9b2a, rn 0xa2108661, carryin 0, cpsr 0x000c0000 ge[3:0]=1100
+ssax r0, r1, r2 :: rd 0x7538520d rm 0x448f3a5f, rn 0x17aecf57, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0x0da022dd rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0x382467e1 rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
+ssax r0, r1, r2 :: rd 0x3fd23338 rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x000f0000 ge[3:0]=1111
----------------- SMUAD -----------------
smuad r0, r1, r2 :: rd 0x80000000 rm 0x80008000, rn 0x80008000, carryin 0, cpsr 0x08000000 Q ge[3:0]=0000
smuad r0, r1, r2 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
shadd8 r0, r1, r2 :: rd 0x3e454835 rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
shadd8 r0, r1, r2 :: rd 0xee651c62 rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000 ge[3:0]=0000
shadd8 r0, r1, r2 :: rd 0xffa9edf1 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+------------ SHSUB8 -----------------------------------
+shsub8 r0, r1, r2 :: rd 0x00f8fffe rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x00070002 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x00020007 rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xfffe00f8 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x3fff3fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x7fffc0ff rm 0x7fff00ff, rn 0x80017f01, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xc000c000 rm 0x80008000, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xc000c000 rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xf5fb3d37 rm 0xb8035b5b, rn 0xce0ce1ed, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x353f19cc rm 0x146275d8, rn 0xaae3433f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xfd06d20f rm 0x2c07a5b4, rn 0x32fa0095, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xc607132e rm 0x8ed8287c, rn 0x02c90120, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x0f172156 rm 0x29300837, rn 0x0b02c58a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xb9d2f650 rm 0xb0d20777, rn 0x3e2e1bd7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xfc36f1e6 rm 0xd5fe2dc4, rn 0xdd914bf7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x15589fb5 rm 0x1d66879f, rn 0xf2b64835, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xa8d10c39 rm 0xae930a1a, rn 0x5ef1f1a8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x4fd14ebf rm 0x1ffe53d9, rn 0x815bb75b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xeb3006ee rm 0xc6ffabb6, rn 0xef9e9fd9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x01f00772 rm 0x3dba1164, rn 0x3ada0280, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x25290e0f rm 0xda4ba05b, rn 0x90f9833d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x72a9f2f7 rm 0x7fa1d5a6, rn 0x9a4ff1b8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x9837283f rm 0x81616d13, rn 0x51f31d95, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x00ebd7b4 rm 0x0849a0c2, rn 0x0872f25a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x30f93d30 rm 0xf1e03d7e, rn 0x91edc21d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x240ce291 rm 0x6034078d, rn 0x181c436b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x040ec0ad rm 0xf0d5ff94, rn 0xe7b87e39, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x5e17f59e rm 0x3edad6b6, rn 0x82aceb7a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xcc47032a rm 0x0557c6fc, rn 0x6cc9bfa8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x7ffca109 rm 0x7f808c15, rn 0x81874a02, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x1c4103e3 rm 0x6b1422c7, rn 0x33921b00, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x32feddf7 rm 0x3ccad3f7, rn 0xd7ce1909, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x5c243335 rm 0x3e435701, rn 0x85fbf196, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xa3e70132 rm 0xb4e16b6e, rn 0x6e13680a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xa25f70c6 rm 0x89436f88, rn 0x44858efc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xabfac800 rm 0x9002bc30, rn 0x390d2c2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x14b115df rm 0xbea121ab, rn 0x953ff6ec, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x88335250 rm 0x80657c40, rn 0x6ffed89f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x16e721f3 rm 0x3e8c49b7, rn 0x11bd07d1, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x0c931840 rm 0x7795635d, rn 0x5e6e32dd, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xfcc6b6e1 rm 0xe4999bf2, rn 0xec0c2f30, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x1a11d243 rm 0x5736ed46, rn 0x231348c0, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x5df01c21 rm 0x4f9ddd1b, rn 0x95bca5d8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x4b08bdfd rm 0x5765b203, rn 0xc1553709, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xcc13d8fc rm 0x0112b30a, rn 0x69ec0212, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x38e13337 rm 0x74bd0223, rn 0x03fa9bb5, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xcab7f9e9 rm 0x899d9192, rn 0xf52e9fbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x9afd15ff rm 0xb4c510a7, rn 0x7fcbe5a9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x1be929c4 rm 0x64a365ef, rn 0x2dd01366, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xccb2ca3f rm 0xf7b0b13e, rn 0x5e4b1cbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xffca1dee rm 0x44de5ca9, rn 0x464a21cc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x20c60d2a rm 0x299da970, rn 0xe8108f1b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x14f8dbfb rm 0xf5818cfb, rn 0xcd90d604, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x1423ee32 rm 0xaa5e9444, rn 0x8217b7df, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0xb61efbf0 rm 0xe60743c3, rn 0x7acb4de3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x761a8af1 rm 0x73c29060, rn 0x868e7c7d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x21320bf8 rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x5ff8eafe rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub8 r0, r1, r2 :: rd 0x211041c2 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
------------ UHADD8 -----------------------------------
uhadd8 r0, r1, r2 :: rd 0x00107f81 rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
uhadd8 r0, r1, r2 :: rd 0x00107f81 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
uxtab16 r0, r1, r2, ROR #0 :: rd 0x5f8a536b rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
uxtab16 r0, r1, r2, ROR #0 :: rd 0x4ecb07c4 rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000 ge[3:0]=0000
uxtab16 r0, r1, r2, ROR #0 :: rd 0x22532fe2 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+----------- SXTAB16 -----------
+sxtab16 r0, r1, r2, ROR #24 :: rd 0x3169594e rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #16 :: rd 0x315a593f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #8 :: rd 0x3168594f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #0 :: rd 0x31595940 rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #24 :: rd 0x3169594e rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #16 :: rd 0x30da593f rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #8 :: rd 0x3168594f rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #0 :: rd 0x315958c0 rm 0x31415927, rn 0x27182899, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #0 :: rd 0x3159ff98 rm 0x3141ffff, rn 0x27182899, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #24 :: rd 0xf7ccb19c rm 0xf7b0b13e, rn 0x5e4b1cbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #24 :: rd 0x44ff5cef rm 0x44de5ca9, rn 0x464a21cc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #24 :: rd 0x292ca958 rm 0x299da970, rn 0xe8108f1b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #24 :: rd 0xf5578cc8 rm 0xf5818cfb, rn 0xcd90d604, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #24 :: rd 0xaa1593c6 rm 0xaa5e9444, rn 0x8217b7df, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #24 :: rd 0xe654443d rm 0xe60743c3, rn 0x7acb4de3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #24 :: rd 0x743e8fe6 rm 0x73c29060, rn 0x868e7c7d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #24 :: rd 0x5fb4534b rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #24 :: rd 0x4e9006ef rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #24 :: rd 0x21662f91 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #16 :: rd 0xf76fb189 rm 0xf7b0b13e, rn 0x5e4b1cbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #16 :: rd 0x44aa5cf3 rm 0x44de5ca9, rn 0x464a21cc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #16 :: rd 0x29b8a980 rm 0x299da970, rn 0xe8108f1b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #16 :: rd 0xf5858c8b rm 0xf5818cfb, rn 0xcd90d604, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #16 :: rd 0xaa3d945b rm 0xaa5e9444, rn 0x8217b7df, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #16 :: rd 0xe5ea438e rm 0xe60743c3, rn 0x7acb4de3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #16 :: rd 0x743f8fee rm 0x73c29060, rn 0x868e7c7d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #16 :: rd 0x5fb45341 rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #16 :: rd 0x4ec207cd rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #16 :: rd 0x21e92f4c rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #8 :: rd 0xf80eb15a rm 0xf7b0b13e, rn 0x5e4b1cbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #8 :: rd 0x45245cca rm 0x44de5ca9, rn 0x464a21cc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #8 :: rd 0x2985a8ff rm 0x299da970, rn 0xe8108f1b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #8 :: rd 0xf54e8cd1 rm 0xf5818cfb, rn 0xcd90d604, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #8 :: rd 0xa9e093fb rm 0xaa5e9444, rn 0x8217b7df, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #8 :: rd 0xe6814410 rm 0xe60743c3, rn 0x7acb4de3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #8 :: rd 0x734890dc rm 0x73c29060, rn 0x868e7c7d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #8 :: rd 0x5f94536b rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #8 :: rd 0x4ded0792 rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #8 :: rd 0x21982f5f rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #0 :: rd 0xf7fbb0fd rm 0xf7b0b13e, rn 0x5e4b1cbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #0 :: rd 0x45285c75 rm 0x44de5ca9, rn 0x464a21cc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #0 :: rd 0x29ada98b rm 0x299da970, rn 0xe8108f1b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #0 :: rd 0xf5118cff rm 0xf5818cfb, rn 0xcd90d604, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #0 :: rd 0xaa759423 rm 0xaa5e9444, rn 0x8217b7df, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #0 :: rd 0xe5d243a6 rm 0xe60743c3, rn 0x7acb4de3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #0 :: rd 0x735090dd rm 0x73c29060, rn 0x868e7c7d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #0 :: rd 0x5f8a536b rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #0 :: rd 0x4ecb07c4 rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+sxtab16 r0, r1, r2, ROR #0 :: rd 0x21532fe2 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
------------ SXTAH ------------
sxtah r0, r1, r2, ROR #24 :: rd 0x3141724e rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 ge[3:0]=0000
sxtah r0, r1, r2, ROR #16 :: rd 0x3141803f rm 0x31415927, rn 0x27182819, carryin 0, cpsr 0x00000000 ge[3:0]=0000
shadd16 r0, r1, r2 :: rd 0x3e454835 rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
shadd16 r0, r1, r2 :: rd 0xeee51ce2 rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000 ge[3:0]=0000
shadd16 r0, r1, r2 :: rd 0x0029edf1 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+------------ SHASX -----------------------------------
+shasx r0, r1, r2 :: rd 0x0006fff3 rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x000bfffd rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x0006000c rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x000b0003 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x3fff3fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x7f80407f rm 0x7fff00ff, rn 0x80017f01, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xc000c000 rm 0x80008000, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xbfffc000 rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xccf846a7 rm 0xb8035b5b, rn 0xce0ce1ed, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x2bd0657a rm 0x146275d8, rn 0xaae3433f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x164eb95d rm 0x2c07a5b4, rn 0x32fa0095, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xc7fc12d9 rm 0x8ed8287c, rn 0x02c90120, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xf75dfe9a rm 0x29300837, rn 0x0b02c58a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xe654e4a4 rm 0xb0d20777, rn 0x3e2e1bd7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x10fa2819 rm 0xd5fe2dc4, rn 0xdd914bf7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x32cdca74 rm 0x1d66879f, rn 0xf2b64835, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xd01dd594 rm 0xae930a1a, rn 0x5ef1f1a8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xebac693f rm 0x1ffe53d9, rn 0x815bb75b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xb36cde0c rm 0xc6ffabb6, rn 0xef9e9fd9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x201deb45 rm 0x3dba1164, rn 0x3ada0280, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xaec407b1 rm 0xda4ba05b, rn 0x90f9833d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x38ac1dab rm 0x7fa1d5a6, rn 0x9a4ff1b8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xcf7b0d90 rm 0x81616d13, rn 0x51f31d95, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xfd51cc28 rm 0x0849a0c2, rn 0x0872f25a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xd9fe55c8 rm 0xf1e03d7e, rn 0x91edc21d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x51cff7b8 rm 0x6034078d, rn 0x181c436b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x37870bee rm 0xf0d5ff94, rn 0xe7b87e39, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x152a2a05 rm 0x3edad6b6, rn 0x82aceb7a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xe27fad19 rm 0x0557c6fc, rn 0x6cc9bfa8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x64c10547 rm 0x7f808c15, rn 0x81874a02, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x430af79a rm 0x6b1422c7, rn 0x33921b00, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x2ae9fe14 rm 0x3ccad3f7, rn 0xd7ce1909, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x17ec6883 rm 0x3e435701, rn 0x85fbf196, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x0e75fead rm 0xb4e16b6e, rn 0x6e13680a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x8c1f1581 rm 0x89436f88, rn 0x44858efc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xde18c191 rm 0x9002bc30, rn 0x390d2c2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xdac64636 rm 0xbea121ab, rn 0x953ff6ec, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xac820621 rm 0x80657c40, rn 0x6ffed89f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x232e1bfd rm 0x3e8c49b7, rn 0x11bd07d1, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x55390277 rm 0x7795635d, rn 0x5e6e32dd, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x09e4d7f3 rm 0xe4999bf2, rn 0xec0c2f30, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x4ffbe519 rm 0x5736ed46, rn 0x231348c0, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xfaba23af rm 0x4f9ddd1b, rn 0x95bca5d8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x4737f857 rm 0x5765b203, rn 0xc1553709, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x0192a48f rm 0x0112b30a, rn 0x69ec0212, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x0839ff14 rm 0x74bd0223, rn 0x03fa9bb5, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x94aece32 rm 0x899d9192, rn 0xf52e9fbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xcd37c86e rm 0xb4c510a7, rn 0x7fcbe5a9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x3c041c0f rm 0x64a365ef, rn 0x2dd01366, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x0a37a979 rm 0xf7b0b13e, rn 0x5e4b1cbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x33550b2f rm 0x44de5ca9, rn 0x464a21cc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xdc5ce0b0 rm 0x299da970, rn 0xe8108f1b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xe5c2dfb5 rm 0xf5818cfb, rn 0xcd90d604, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xb11e0916 rm 0xaa5e9444, rn 0x8217b7df, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x19f5e47c rm 0xe60743c3, rn 0x7acb4de3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x781f04e9 rm 0x73c29060, rn 0x868e7c7d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x4e5a1b0d rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0x40613bf9 rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shasx r0, r1, r2 :: rd 0xe6f4288d rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+------------ UHASX -----------------------------------
+uhasx r0, r1, r2 :: rd 0x00067ff3 rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x800bfffd rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x0006800c rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x800b0003 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x3fff3fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x7f80c07f rm 0x7fff00ff, rn 0x80017f01, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x40004000 rm 0x80008000, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0xbfffc000 rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0xccf8c6a7 rm 0xb8035b5b, rn 0xce0ce1ed, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x2bd0e57a rm 0x146275d8, rn 0xaae3433f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x164e395d rm 0x2c07a5b4, rn 0x32fa0095, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x47fc12d9 rm 0x8ed8287c, rn 0x02c90120, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x775dfe9a rm 0x29300837, rn 0x0b02c58a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x6654e4a4 rm 0xb0d20777, rn 0x3e2e1bd7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x90faa819 rm 0xd5fe2dc4, rn 0xdd914bf7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x32cdca74 rm 0x1d66879f, rn 0xf2b64835, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0xd01dd594 rm 0xae930a1a, rn 0x5ef1f1a8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x6bace93f rm 0x1ffe53d9, rn 0x815bb75b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0xb36cde0c rm 0xc6ffabb6, rn 0xef9e9fd9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x201deb45 rm 0x3dba1164, rn 0x3ada0280, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0xaec407b1 rm 0xda4ba05b, rn 0x90f9833d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0xb8ac1dab rm 0x7fa1d5a6, rn 0x9a4ff1b8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x4f7b0d90 rm 0x81616d13, rn 0x51f31d95, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x7d514c28 rm 0x0849a0c2, rn 0x0872f25a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0xd9fed5c8 rm 0xf1e03d7e, rn 0x91edc21d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x51cff7b8 rm 0x6034078d, rn 0x181c436b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0xb7870bee rm 0xf0d5ff94, rn 0xe7b87e39, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x952a2a05 rm 0x3edad6b6, rn 0x82aceb7a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x627f2d19 rm 0x0557c6fc, rn 0x6cc9bfa8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x64c10547 rm 0x7f808c15, rn 0x81874a02, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x430af79a rm 0x6b1422c7, rn 0x33921b00, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x2ae9fe14 rm 0x3ccad3f7, rn 0xd7ce1909, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x97ece883 rm 0x3e435701, rn 0x85fbf196, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x8e75fead rm 0xb4e16b6e, rn 0x6e13680a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x8c1f1581 rm 0x89436f88, rn 0x44858efc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x5e184191 rm 0x9002bc30, rn 0x390d2c2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0xdac6c636 rm 0xbea121ab, rn 0x953ff6ec, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0xac820621 rm 0x80657c40, rn 0x6ffed89f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x232e1bfd rm 0x3e8c49b7, rn 0x11bd07d1, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x55390277 rm 0x7795635d, rn 0x5e6e32dd, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x89e4d7f3 rm 0xe4999bf2, rn 0xec0c2f30, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x4ffb6519 rm 0x5736ed46, rn 0x231348c0, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x7aba23af rm 0x4f9ddd1b, rn 0x95bca5d8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x4737f857 rm 0x5765b203, rn 0xc1553709, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x0192248f rm 0x0112b30a, rn 0x69ec0212, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x8839ff14 rm 0x74bd0223, rn 0x03fa9bb5, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x94aece32 rm 0x899d9192, rn 0xf52e9fbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0xcd37c86e rm 0xb4c510a7, rn 0x7fcbe5a9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x3c041c0f rm 0x64a365ef, rn 0x2dd01366, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x8a372979 rm 0xf7b0b13e, rn 0x5e4b1cbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x33550b2f rm 0x44de5ca9, rn 0x464a21cc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x5c5ce0b0 rm 0x299da970, rn 0xe8108f1b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0xe5c2dfb5 rm 0xf5818cfb, rn 0xcd90d604, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0xb11e0916 rm 0xaa5e9444, rn 0x8217b7df, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x99f5e47c rm 0xe60743c3, rn 0x7acb4de3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x781f04e9 rm 0x73c29060, rn 0x868e7c7d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x4e5a1b0d rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x4061bbf9 rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhasx r0, r1, r2 :: rd 0x66f4a88d rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+------------ SHSAX -----------------------------------
+shsax r0, r1, r2 :: rd 0x0003000b rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x000c0006 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xfffd000b rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xfff30006 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x3fff3fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x007fc080 rm 0x7fff00ff, rn 0x80017f01, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xc000c000 rm 0x80008000, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xc000bfff rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xeb0b14b3 rm 0xb8035b5b, rn 0xce0ce1ed, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xe891105d rm 0x146275d8, rn 0xaae3433f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x15b9ec57 rm 0x2c07a5b4, rn 0x32fa0095, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xc6dc15a2 rm 0x8ed8287c, rn 0x02c90120, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x31d3099c rm 0x29300837, rn 0x0b02c58a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xca7d22d2 rm 0xb0d20777, rn 0x3e2e1bd7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xc50305aa rm 0xd5fe2dc4, rn 0xdd914bf7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xea98bd2a rm 0x1d66879f, rn 0xf2b64835, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xde753485 rm 0xae930a1a, rn 0x5ef1f1a8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x3451ea9a rm 0x1ffe53d9, rn 0x815bb75b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x1393cdaa rm 0xc6ffabb6, rn 0xef9e9fd9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x1d9d261f rm 0x3dba1164, rn 0x3ada0280, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x2b8798aa rm 0xda4ba05b, rn 0x90f9833d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x46f4b7fa rm 0x7fa1d5a6, rn 0x9a4ff1b8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xb1e65f83 rm 0x81616d13, rn 0x51f31d95, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x0af7d49a rm 0x0849a0c2, rn 0x0872f25a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x17e1e7b5 rm 0xf1e03d7e, rn 0x91edc21d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x0e640fd4 rm 0x6034078d, rn 0x181c436b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xb94ef3a6 rm 0xf0d5ff94, rn 0xe7b87e39, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x29b0acb1 rm 0x3edad6b6, rn 0x82aceb7a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x22d719e2 rm 0x0557c6fc, rn 0x6cc9bfa8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x1abf86ce rm 0x7f808c15, rn 0x81874a02, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x280a2b2c rm 0x6b1422c7, rn 0x33921b00, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x11e0d5e2 rm 0x3ccad3f7, rn 0xd7ce1909, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x2656ee7e rm 0x3e435701, rn 0x85fbf196, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xa66b6cc0 rm 0xb4e16b6e, rn 0x6e13680a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xfd235a06 rm 0x89436f88, rn 0x44858efc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xb1e9fa9e rm 0x9002bc30, rn 0x390d2c2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xe3dadb75 rm 0xbea121ab, rn 0x953ff6ec, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xd3e3761f rm 0x80657c40, rn 0x6ffed89f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x1b5d2dba rm 0x3e8c49b7, rn 0x11bd07d1, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x225c60e5 rm 0x7795635d, rn 0x5e6e32dd, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xdab4c3ff rm 0xe4999bf2, rn 0xec0c2f30, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x073b082c rm 0x5736ed46, rn 0x231348c0, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x54e2b96b rm 0x4f9ddd1b, rn 0x95bca5d8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x102eb9ac rm 0x5765b203, rn 0xc1553709, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xff800e7b rm 0x0112b30a, rn 0x69ec0212, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x6c84030e rm 0x74bd0223, rn 0x03fa9bb5, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xf4efc360 rm 0x899d9192, rn 0xf52e9fbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xe78e4839 rm 0xb4c510a7, rn 0x7fcbe5a9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x289e49df rm 0x64a365ef, rn 0x2dd01366, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xed7807c4 rm 0xf7b0b13e, rn 0x5e4b1cbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x11895179 rm 0x44de5ca9, rn 0x464a21cc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x4d41c8c0 rm 0x299da970, rn 0xe8108f1b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x0fbead45 rm 0xf5818cfb, rn 0xcd90d604, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xf93f8b2d rm 0xaa5e9444, rn 0x8217b7df, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xcc125f47 rm 0xe60743c3, rn 0x7acb4de3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0xfba28b77 rm 0x73c29060, rn 0x868e7c7d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x111d3820 rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x0dfdcb66 rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsax r0, r1, r2 :: rd 0x3ac50726 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+------------ UHSAX -----------------------------------
+uhsax r0, r1, r2 :: rd 0x0003800b rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x800c0006 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xfffd800b rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x7ff30006 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x3fff3fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x007f4080 rm 0x7fff00ff, rn 0x80017f01, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x40004000 rm 0x80008000, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xc000bfff rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xeb0b94b3 rm 0xb8035b5b, rn 0xce0ce1ed, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xe891905d rm 0x146275d8, rn 0xaae3433f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x15b96c57 rm 0x2c07a5b4, rn 0x32fa0095, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x46dc15a2 rm 0x8ed8287c, rn 0x02c90120, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xb1d3099c rm 0x29300837, rn 0x0b02c58a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x4a7d22d2 rm 0xb0d20777, rn 0x3e2e1bd7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x450385aa rm 0xd5fe2dc4, rn 0xdd914bf7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xea98bd2a rm 0x1d66879f, rn 0xf2b64835, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xde753485 rm 0xae930a1a, rn 0x5ef1f1a8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xb4516a9a rm 0x1ffe53d9, rn 0x815bb75b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x1393cdaa rm 0xc6ffabb6, rn 0xef9e9fd9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x1d9d261f rm 0x3dba1164, rn 0x3ada0280, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x2b8798aa rm 0xda4ba05b, rn 0x90f9833d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xc6f4b7fa rm 0x7fa1d5a6, rn 0x9a4ff1b8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x31e65f83 rm 0x81616d13, rn 0x51f31d95, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x8af7549a rm 0x0849a0c2, rn 0x0872f25a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x17e167b5 rm 0xf1e03d7e, rn 0x91edc21d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x0e640fd4 rm 0x6034078d, rn 0x181c436b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x394ef3a6 rm 0xf0d5ff94, rn 0xe7b87e39, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xa9b0acb1 rm 0x3edad6b6, rn 0x82aceb7a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xa2d799e2 rm 0x0557c6fc, rn 0x6cc9bfa8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x1abf86ce rm 0x7f808c15, rn 0x81874a02, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x280a2b2c rm 0x6b1422c7, rn 0x33921b00, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x11e0d5e2 rm 0x3ccad3f7, rn 0xd7ce1909, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xa6566e7e rm 0x3e435701, rn 0x85fbf196, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x266b6cc0 rm 0xb4e16b6e, rn 0x6e13680a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xfd235a06 rm 0x89436f88, rn 0x44858efc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x31e97a9e rm 0x9002bc30, rn 0x390d2c2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xe3da5b75 rm 0xbea121ab, rn 0x953ff6ec, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xd3e3761f rm 0x80657c40, rn 0x6ffed89f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x1b5d2dba rm 0x3e8c49b7, rn 0x11bd07d1, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x225c60e5 rm 0x7795635d, rn 0x5e6e32dd, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x5ab4c3ff rm 0xe4999bf2, rn 0xec0c2f30, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x073b882c rm 0x5736ed46, rn 0x231348c0, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xd4e2b96b rm 0x4f9ddd1b, rn 0x95bca5d8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x102eb9ac rm 0x5765b203, rn 0xc1553709, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xff808e7b rm 0x0112b30a, rn 0x69ec0212, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xec84030e rm 0x74bd0223, rn 0x03fa9bb5, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xf4efc360 rm 0x899d9192, rn 0xf52e9fbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xe78e4839 rm 0xb4c510a7, rn 0x7fcbe5a9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x289e49df rm 0x64a365ef, rn 0x2dd01366, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x6d7887c4 rm 0xf7b0b13e, rn 0x5e4b1cbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x11895179 rm 0x44de5ca9, rn 0x464a21cc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xcd41c8c0 rm 0x299da970, rn 0xe8108f1b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x0fbead45 rm 0xf5818cfb, rn 0xcd90d604, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xf93f8b2d rm 0xaa5e9444, rn 0x8217b7df, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x4c125f47 rm 0xe60743c3, rn 0x7acb4de3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xfba28b77 rm 0x73c29060, rn 0x868e7c7d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x111d3820 rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0x0dfd4b66 rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+uhsax r0, r1, r2 :: rd 0xbac58726 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
------------ UHSUB8 -----------------------------------
uhsub8 r0, r1, r2 :: rd 0x00f87f7e rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
uhsub8 r0, r1, r2 :: rd 0x00078082 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
uhsub16 r0, r1, r2 :: rd 0x21320af8 rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
uhsub16 r0, r1, r2 :: rd 0xdf78ea7e rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000 ge[3:0]=0000
uhsub16 r0, r1, r2 :: rd 0xa190c1c2 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+------------ SHSUB16 -----------------------------------
+shsub16 r0, r1, r2 :: rd 0xfff8fffe rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x00070002 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x00020007 rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xfffefff8 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x3fff3fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x7fffc0ff rm 0x7fff00ff, rn 0x80017f01, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xc000c000 rm 0x80008000, rn 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xc000c000 rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xf4fb3cb7 rm 0xb8035b5b, rn 0xce0ce1ed, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x34bf194c rm 0x146275d8, rn 0xaae3433f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xfc86d28f rm 0x2c07a5b4, rn 0x32fa0095, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xc60713ae rm 0x8ed8287c, rn 0x02c90120, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x0f172156 rm 0x29300837, rn 0x0b02c58a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xb952f5d0 rm 0xb0d20777, rn 0x3e2e1bd7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xfc36f0e6 rm 0xd5fe2dc4, rn 0xdd914bf7, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x15589fb5 rm 0x1d66879f, rn 0xf2b64835, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xa7d10c39 rm 0xae930a1a, rn 0x5ef1f1a8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x4f514e3f rm 0x1ffe53d9, rn 0x815bb75b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xebb005ee rm 0xc6ffabb6, rn 0xef9e9fd9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x01700772 rm 0x3dba1164, rn 0x3ada0280, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x24a90e8f rm 0xda4ba05b, rn 0x90f9833d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x72a9f1f7 rm 0x7fa1d5a6, rn 0x9a4ff1b8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x97b727bf rm 0x81616d13, rn 0x51f31d95, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xffebd734 rm 0x0849a0c2, rn 0x0872f25a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x2ff93db0 rm 0xf1e03d7e, rn 0x91edc21d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x240ce211 rm 0x6034078d, rn 0x181c436b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x048ec0ad rm 0xf0d5ff94, rn 0xe7b87e39, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x5e17f59e rm 0x3edad6b6, rn 0x82aceb7a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xcc4703aa rm 0x0557c6fc, rn 0x6cc9bfa8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x7efca109 rm 0x7f808c15, rn 0x81874a02, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x1bc103e3 rm 0x6b1422c7, rn 0x33921b00, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x327edd77 rm 0x3ccad3f7, rn 0xd7ce1909, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x5c2432b5 rm 0x3e435701, rn 0x85fbf196, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xa36701b2 rm 0xb4e16b6e, rn 0x6e13680a, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xa25f7046 rm 0x89436f88, rn 0x44858efc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xab7ac800 rm 0x9002bc30, rn 0x390d2c2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x14b1155f rm 0xbea121ab, rn 0x953ff6ec, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x883351d0 rm 0x80657c40, rn 0x6ffed89f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x166720f3 rm 0x3e8c49b7, rn 0x11bd07d1, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x0c931840 rm 0x7795635d, rn 0x5e6e32dd, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xfc46b661 rm 0xe4999bf2, rn 0xec0c2f30, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x1a11d243 rm 0x5736ed46, rn 0x231348c0, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x5cf01ba1 rm 0x4f9ddd1b, rn 0x95bca5d8, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x4b08bd7d rm 0x5765b203, rn 0xc1553709, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xcb93d87c rm 0x0112b30a, rn 0x69ec0212, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x38613337 rm 0x74bd0223, rn 0x03fa9bb5, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xca37f8e9 rm 0x899d9192, rn 0xf52e9fbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x9a7d157f rm 0xb4c510a7, rn 0x7fcbe5a9, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x1b692944 rm 0x64a365ef, rn 0x2dd01366, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xccb2ca3f rm 0xf7b0b13e, rn 0x5e4b1cbf, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xff4a1d6e rm 0x44de5ca9, rn 0x464a21cc, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x20c60d2a rm 0x299da970, rn 0xe8108f1b, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x13f8db7b rm 0xf5818cfb, rn 0xcd90d604, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x1423ee32 rm 0xaa5e9444, rn 0x8217b7df, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0xb59efaf0 rm 0xe60743c3, rn 0x7acb4de3, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x769a89f1 rm 0x73c29060, rn 0x868e7c7d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x21320af8 rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x5f78ea7e rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000 ge[3:0]=0000
+shsub16 r0, r1, r2 :: rd 0x219041c2 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000 ge[3:0]=0000
----------------- SMLALBB -----------------
smlalbb r0, r1, r2, r3 :: rd 0x00000000 rm 0x80008000, rn 0x80008000 rs 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000
smlalbb r0, r1, r2, r3 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000 rs 0x00000000, carryin 0, cpsr 0x00000000 ge[3:0]=0000