arm/armasm/testdata: add more decoding tests
More decoding tests are added. Most of them are
in gnu syntax and a few are in plan9 syntax.
Change-Id: Ifb96f5149f7f7c947f35948889a33f5dee50dbfc
Reviewed-on: https://go-review.googlesource.com/49190
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
diff --git a/arm/armasm/testdata/decode.txt b/arm/armasm/testdata/decode.txt
index fb8f43b..f38c61f 100644
--- a/arm/armasm/testdata/decode.txt
+++ b/arm/armasm/testdata/decode.txt
@@ -909,7 +909,12 @@
723104e7| 1 plan9 SMLSD.X R1, R2, R3, R4
9231e4e0| 1 plan9 SMLAL R1, R2, R4, R3
9231f4e0| 1 plan9 SMLAL.S R1, R2, R4, R3
+123144e7| 1 plan9 SMLALD R1, R2, R4, R3
+323144e7| 1 plan9 SMLALD.X R1, R2, R4, R3
+523144e7| 1 plan9 SMLSLD R1, R2, R4, R3
+723144e7| 1 plan9 SMLSLD.X R1, R2, R4, R3
9231a4e0| 1 plan9 UMLAL R1, R2, R4, R3
+923144e0| 1 plan9 UMAAL R1, R2, R4, R3
9231b4e0| 1 plan9 UMLAL.S R1, R2, R4, R3
930204e0| 1 plan9 MUL R2, R3, R4
920404e0| 1 plan9 MUL R4, R2, R4
@@ -925,17 +930,58 @@
9231d4e0| 1 plan9 SMULL.S R1, R2, R4, R3
12f153e7| 1 plan9 SMMUL R1, R2, R3
820163e1| 1 plan9 SMULBB R1, R2, R3
+a20163e1| 1 plan9 SMULTB R1, R2, R3
+c20163e1| 1 plan9 SMULBT R1, R2, R3
+e20163e1| 1 plan9 SMULTT R1, R2, R3
a20123e1| 1 plan9 SMULWB R1, R2, R3
e20123e1| 1 plan9 SMULWT R1, R2, R3
+12f103e7| 1 plan9 SMUAD R1, R2, R3
+32f103e7| 1 plan9 SMUAD.X R1, R2, R3
+52f103e7| 1 plan9 SMUSD R1, R2, R3
+72f103e7| 1 plan9 SMUSD.X R1, R2, R3
312fbfe6| 1 plan9 REV R1, R2
b12fbfe6| 1 plan9 REV16 R1, R2
b12fffe6| 1 plan9 REVSH R1, R2
312fffe6| 1 plan9 RBIT R1, R2
112f6fe1| 1 plan9 CLZ R1, R2
-f0ffd6f5| 1 plan9 PLD [R6, #4080]
-f0ff59f5| 1 plan9 PLD [R9, #-4080]
-939007e1| 1 plan9 SWP [R7], R3, R9
-948042e1| 1 plan9 SWP.B [R2], R4, R8
+f0ffd6f5| 1 gnu pld [r6, #4080]
+f0ff59f5| 1 gnu pld [r9, #-4080]
+f0ff96f5| 1 gnu pldw [r6, #4080]
+f0ff19f5| 1 gnu pldw [r9, #-4080]
+f0ffdff5| 1 gnu pld [pc, #4080]
+f0ff5ff5| 1 gnu pld [pc, #-4080]
+00f0d2f7| 1 gnu pld [r2, r0]
+00f052f7| 1 gnu pld [r2, -r0]
+00f092f7| 1 gnu pldw [r2, r0]
+00f012f7| 1 gnu pldw [r2, -r0]
+80f0d2f7| 1 gnu pld [r2, r0, lsl #1]
+80f052f7| 1 gnu pld [r2, -r0, lsl #1]
+a0f0d2f7| 1 gnu pld [r2, r0, lsr #1]
+a0f052f7| 1 gnu pld [r2, -r0, lsr #1]
+c0f0d2f7| 1 gnu pld [r2, r0, asr #1]
+c0f052f7| 1 gnu pld [r2, -r0, asr #1]
+e0f0d2f7| 1 gnu pld [r2, r0, ror #1]
+e0f052f7| 1 gnu pld [r2, -r0, ror #1]
+80f092f7| 1 gnu pldw [r2, r0, lsl #1]
+80f012f7| 1 gnu pldw [r2, -r0, lsl #1]
+a0f092f7| 1 gnu pldw [r2, r0, lsr #1]
+a0f012f7| 1 gnu pldw [r2, -r0, lsr #1]
+c0f092f7| 1 gnu pldw [r2, r0, asr #1]
+c0f012f7| 1 gnu pldw [r2, -r0, asr #1]
+e0f092f7| 1 gnu pldw [r2, r0, ror #1]
+e0f012f7| 1 gnu pldw [r2, -r0, ror #1]
+f0ffd2f4| 1 gnu pli [r2, #4080]
+f0ff52f4| 1 gnu pli [r2, #-4080]
+82f0d3f6| 1 gnu pli [r3, r2, lsl #1]
+82f053f6| 1 gnu pli [r3, -r2, lsl #1]
+a2f0d3f6| 1 gnu pli [r3, r2, lsr #1]
+a2f053f6| 1 gnu pli [r3, -r2, lsr #1]
+c2f0d3f6| 1 gnu pli [r3, r2, asr #1]
+c2f053f6| 1 gnu pli [r3, -r2, asr #1]
+e2f0d3f6| 1 gnu pli [r3, r2, ror #1]
+e2f053f6| 1 gnu pli [r3, -r2, ror #1]
+939007e1| 1 gnu swp r9, r3, [r7]
+948042e1| 1 gnu swpb r8, r4, [r2]
000000ef| 1 plan9 SVC $0
ffff00ef| 1 plan9 SVC $65535
ff10e0e3| 1 plan9 MVN $255, R1
@@ -994,6 +1040,8 @@
0920a0e1| 1 plan9 MOVW R9, R2
ff90a0e3| 1 plan9 MOVW $255, R9
ff94a0e3| 1 plan9 MOVW $4278190080, R9
+aaaa0a13| 1 plan9 MOVW.NE $43690, R10
+aaaa4a03| 1 plan9 MOVT.EQ $43690, R10
5110e0e3| 1 plan9 MVN $81, R1
001082e5| 1 plan9 MOVW R1, (R2)
001082e4| 1 plan9 MOVW.P R1, (R2)
@@ -1192,24 +1240,28 @@
e01ab1ee| 1 plan9 VSQRT.F32 S1, S2
c01af1ee| 1 plan9 VSQRT.F32 S0, S3
c45bb1ee| 1 plan9 VSQRT.F64 D4, D5
-c01ab7ee| 1 plan9 VCVT.F64.F32 S0, D1
-c45bb7ee| 1 plan9 VCVT.F32.F64 D4, S10
-9f9f98e1| 1 plan9 LDREX [R8], R9
-9fcfbbe1| 1 plan9 LDREXD [R11], R13, R12
-935f84e1| 1 plan9 STREX [R4], R3, R5
-98afa9e1| 1 plan9 STREXD [R9], R9, R8, R10
-104b08ee| 1 plan9 VMOV.32 R4, D8[0]
-108b14ee| 1 plan9 VMOV.32 D4[0], R8
-445ab0ee| 1 plan9 VMOV.F32 S8, S10
-467bb0ee| 1 plan9 VMOV.F64 D6, D7
-c68abdee| 1 plan9 VCVT.S32.F32 S12, S16
-c68abcee| 1 plan9 VCVT.U32.F32 S12, S16
-c68bbdee| 1 plan9 VCVT.S32.F64 D6, S16
-c68bbcee| 1 plan9 VCVT.U32.F64 D6, S16
-c68ab8ee| 1 plan9 VCVT.F32.S32 S12, S16
-468ab8ee| 1 plan9 VCVT.F32.U32 S12, S16
-c68bb8ee| 1 plan9 VCVT.F64.S32 S12, D8
-468bb8ee| 1 plan9 VCVT.F64.U32 S12, D8
+c01ab7ee| 1 gnu vcvt.f64.f32 d1, s0
+c45bb7ee| 1 gnu vcvt.f32.f64 s10, d4
+9f9f98e1| 1 gnu ldrex r9, [r8]
+9f9fd8e1| 1 gnu ldrexb r9, [r8]
+9f9ff8e1| 1 gnu ldrexh r9, [r8]
+9fcfbbe1| 1 gnu ldrexd ip, [fp]
+935f84e1| 1 gnu strex r5, r3, [r4]
+935fc4e1| 1 gnu strexb r5, r3, [r4]
+935fe4e1| 1 gnu strexh r5, r3, [r4]
+98afa9e1| 1 gnu strexd sl, r8, [r9]
+104b08ee| 1 gnu vmov.32 d8[0], r4
+108b14ee| 1 gnu vmov.32 r8, d4[0]
+445ab0ee| 1 gnu vmov.f32 s10, s8
+467bb0ee| 1 gnu vmov.f64 d7, d6
+c68abdee| 1 gnu vcvt.s32.f32 s16, s12
+c68abcee| 1 gnu vcvt.u32.f32 s16, s12
+c68bbdee| 1 gnu vcvt.s32.f64 s16, d6
+c68bbcee| 1 gnu vcvt.u32.f64 s16, d6
+c68ab8ee| 1 gnu vcvt.f32.s32 s16, s12
+468ab8ee| 1 gnu vcvt.f32.u32 s16, s12
+c68bb8ee| 1 gnu vcvt.f64.s32 d8, s12
+468bb8ee| 1 gnu vcvt.f64.u32 d8, s12
000000ea| 1 plan9 B 0x8
feffffea| 1 plan9 B 0x0
fcffffea| 1 plan9 B 0xfffffff8
@@ -1228,10 +1280,10 @@
13ff2fe1| 1 plan9 BX R3
23ff2fe1| 1 plan9 BXJ R3
1ff07ff5| 1 plan9 CLREX
-f7f020e3| 1 plan9 DBG $7
-58f07ff5| 1 plan9 DMB $8
-49f07ff5| 1 plan9 DSB $9
-62f07ff5| 1 plan9 ISB $2
+f7f020e3| 1 gnu dbg #7
+58f07ff5| 1 gnu dmb #8
+49f07ff5| 1 gnu dsb #9
+62f07ff5| 1 gnu isb #2
009a94ed| 1 plan9 MOVF (R4), F9
009ad4ed| 1 plan9 MOVF (R4), S19
009b940d| 1 plan9 MOVD.EQ (R4), F9
@@ -1256,3 +1308,249 @@
083a0a1d| 1 plan9 MOVF.NE F3, -0x20(R10)
083a4a1d| 1 plan9 MOVF.NE S7, -0x20(R10)
083b0aed| 1 plan9 MOVD F3, -0x20(R10)
+d060c8e1| 1 gnu ldrd r6, [r8]
+d06048e1| 1 gnu ldrd r6, [r8]
+d060e8e1| 1 gnu ldrd r6, [r8, #0]!
+d06068e1| 1 gnu ldrd r6, [r8, #0]!
+d060c8e0| 1 gnu ldrd r6, [r8], #0
+d06048e0| 1 gnu ldrd r6, [r8], #0
+d062c8e1| 1 gnu ldrd r6, [r8, #32]
+d06248e1| 1 gnu ldrd r6, [r8, #-32]
+d062e8e1| 1 gnu ldrd r6, [r8, #32]!
+d06268e1| 1 gnu ldrd r6, [r8, #-32]!
+d062c8e0| 1 gnu ldrd r6, [r8], #32
+d06248e0| 1 gnu ldrd r6, [r8], #-32
+d24089e1| 1 gnu ldrd r4, [r9, r2]
+d240a9e1| 1 gnu ldrd r4, [r9, r2]!
+d24009e1| 1 gnu ldrd r4, [r9, -r2]
+d24029e1| 1 gnu ldrd r4, [r9, -r2]!
+f060c8e1| 1 gnu strd r6, [r8]
+f06048e1| 1 gnu strd r6, [r8]
+f060e8e1| 1 gnu strd r6, [r8, #0]!
+f06068e1| 1 gnu strd r6, [r8, #0]!
+f060c8e0| 1 gnu strd r6, [r8], #0
+f06048e0| 1 gnu strd r6, [r8], #0
+f062c8e1| 1 gnu strd r6, [r8, #32]
+f06248e1| 1 gnu strd r6, [r8, #-32]
+f062e8e1| 1 gnu strd r6, [r8, #32]!
+f06268e1| 1 gnu strd r6, [r8, #-32]!
+f062c8e0| 1 gnu strd r6, [r8], #32
+f06248e0| 1 gnu strd r6, [r8], #-32
+f24089e1| 1 gnu strd r4, [r9, r2]
+f240a9e1| 1 gnu strd r4, [r9, r2]!
+f24009e1| 1 gnu strd r4, [r9, -r2]
+f24029e1| 1 gnu strd r4, [r9, -r2]!
+0010b2e4| 1 gnu ldrt r1, [r2], #0
+2010b2e4| 1 gnu ldrt r1, [r2], #32
+201032e4| 1 gnu ldrt r1, [r2], #-32
+0040bde4| 1 gnu ldrt r4, [sp], #0
+2040bde4| 1 gnu ldrt r4, [sp], #32
+20403de4| 1 gnu ldrt r4, [sp], #-32
+2314b2e6| 1 gnu ldrt r1, [r2], r3, lsr #8
+0314b2e6| 1 gnu ldrt r1, [r2], r3, lsl #8
+4314b2e6| 1 gnu ldrt r1, [r2], r3, asr #8
+6314b2e6| 1 gnu ldrt r1, [r2], r3, ror #8
+231432e6| 1 gnu ldrt r1, [r2], -r3, lsr #8
+031432e6| 1 gnu ldrt r1, [r2], -r3, lsl #8
+431432e6| 1 gnu ldrt r1, [r2], -r3, asr #8
+631432e6| 1 gnu ldrt r1, [r2], -r3, ror #8
+0010a2e4| 1 gnu strt r1, [r2], #0
+2010a2e4| 1 gnu strt r1, [r2], #32
+201022e4| 1 gnu strt r1, [r2], #-32
+0040ade4| 1 gnu strt r4, [sp], #0
+2040ade4| 1 gnu strt r4, [sp], #32
+20402de4| 1 gnu strt r4, [sp], #-32
+2314a2e6| 1 gnu strt r1, [r2], r3, lsr #8
+0314a2e6| 1 gnu strt r1, [r2], r3, lsl #8
+4314a2e6| 1 gnu strt r1, [r2], r3, asr #8
+6314a2e6| 1 gnu strt r1, [r2], r3, ror #8
+231422e6| 1 gnu strt r1, [r2], -r3, lsr #8
+031422e6| 1 gnu strt r1, [r2], -r3, lsl #8
+431422e6| 1 gnu strt r1, [r2], -r3, asr #8
+631422e6| 1 gnu strt r1, [r2], -r3, ror #8
+0010f2e4| 1 gnu ldrbt r1, [r2], #0
+2010f2e4| 1 gnu ldrbt r1, [r2], #32
+201072e4| 1 gnu ldrbt r1, [r2], #-32
+0040fde4| 1 gnu ldrbt r4, [sp], #0
+2040fde4| 1 gnu ldrbt r4, [sp], #32
+20407de4| 1 gnu ldrbt r4, [sp], #-32
+2314f2e6| 1 gnu ldrbt r1, [r2], r3, lsr #8
+0314f2e6| 1 gnu ldrbt r1, [r2], r3, lsl #8
+4314f2e6| 1 gnu ldrbt r1, [r2], r3, asr #8
+6314f2e6| 1 gnu ldrbt r1, [r2], r3, ror #8
+231472e6| 1 gnu ldrbt r1, [r2], -r3, lsr #8
+031472e6| 1 gnu ldrbt r1, [r2], -r3, lsl #8
+431472e6| 1 gnu ldrbt r1, [r2], -r3, asr #8
+631472e6| 1 gnu ldrbt r1, [r2], -r3, ror #8
+0010e2e4| 1 gnu strbt r1, [r2], #0
+2010e2e4| 1 gnu strbt r1, [r2], #32
+201062e4| 1 gnu strbt r1, [r2], #-32
+0040ede4| 1 gnu strbt r4, [sp], #0
+2040ede4| 1 gnu strbt r4, [sp], #32
+20406de4| 1 gnu strbt r4, [sp], #-32
+2314e2e6| 1 gnu strbt r1, [r2], r3, lsr #8
+0314e2e6| 1 gnu strbt r1, [r2], r3, lsl #8
+4314e2e6| 1 gnu strbt r1, [r2], r3, asr #8
+6314e2e6| 1 gnu strbt r1, [r2], r3, ror #8
+231462e6| 1 gnu strbt r1, [r2], -r3, lsr #8
+031462e6| 1 gnu strbt r1, [r2], -r3, lsl #8
+431462e6| 1 gnu strbt r1, [r2], -r3, asr #8
+631462e6| 1 gnu strbt r1, [r2], -r3, ror #8
+d010f2e0| 1 gnu ldrsbt r1, [r2], #0
+d012f2e0| 1 gnu ldrsbt r1, [r2], #32
+d01272e0| 1 gnu ldrsbt r1, [r2], #-32
+d040fde0| 1 gnu ldrsbt r4, [sp], #0
+d042fde0| 1 gnu ldrsbt r4, [sp], #32
+d0427de0| 1 gnu ldrsbt r4, [sp], #-32
+d310b2e0| 1 gnu ldrsbt r1, [r2], r3
+d640bde0| 1 gnu ldrsbt r4, [sp], r6
+d31032e0| 1 gnu ldrsbt r1, [r2], -r3
+d6403de0| 1 gnu ldrsbt r4, [sp], -r6
+b010f2e0| 1 gnu ldrht r1, [r2], #0
+b012f2e0| 1 gnu ldrht r1, [r2], #32
+b01272e0| 1 gnu ldrht r1, [r2], #-32
+b040fde0| 1 gnu ldrht r4, [sp], #0
+b042fde0| 1 gnu ldrht r4, [sp], #32
+b0427de0| 1 gnu ldrht r4, [sp], #-32
+b310b2e0| 1 gnu ldrht r1, [r2], r3
+b640bde0| 1 gnu ldrht r4, [sp], r6
+b31032e0| 1 gnu ldrht r1, [r2], -r3
+b6403de0| 1 gnu ldrht r4, [sp], -r6
+f010f2e0| 1 gnu ldrsht r1, [r2], #0
+f012f2e0| 1 gnu ldrsht r1, [r2], #32
+f01272e0| 1 gnu ldrsht r1, [r2], #-32
+f040fde0| 1 gnu ldrsht r4, [sp], #0
+f042fde0| 1 gnu ldrsht r4, [sp], #32
+f0427de0| 1 gnu ldrsht r4, [sp], #-32
+f310b2e0| 1 gnu ldrsht r1, [r2], r3
+f640bde0| 1 gnu ldrsht r4, [sp], r6
+f31032e0| 1 gnu ldrsht r1, [r2], -r3
+f6403de0| 1 gnu ldrsht r4, [sp], -r6
+b010f2e0| 1 gnu ldrht r1, [r2], #0
+b012f2e0| 1 gnu ldrht r1, [r2], #32
+b01272e0| 1 gnu ldrht r1, [r2], #-32
+b040fde0| 1 gnu ldrht r4, [sp], #0
+b042fde0| 1 gnu ldrht r4, [sp], #32
+b0427de0| 1 gnu ldrht r4, [sp], #-32
+b310b2e0| 1 gnu ldrht r1, [r2], r3
+b640bde0| 1 gnu ldrht r4, [sp], r6
+b31032e0| 1 gnu ldrht r1, [r2], -r3
+b6403de0| 1 gnu ldrht r4, [sp], -r6
+b010e2e0| 1 gnu strht r1, [r2], #0
+b012e2e0| 1 gnu strht r1, [r2], #32
+b01262e0| 1 gnu strht r1, [r2], #-32
+b040ede0| 1 gnu strht r4, [sp], #0
+b042ede0| 1 gnu strht r4, [sp], #32
+b0426de0| 1 gnu strht r4, [sp], #-32
+b310a2e0| 1 gnu strht r1, [r2], r3
+b640ade0| 1 gnu strht r4, [sp], r6
+b31022e0| 1 gnu strht r1, [r2], -r3
+b6402de0| 1 gnu strht r4, [sp], -r6
+00f020e3| 1 gnu nop
+445ab0ee| 1 gnu vmov.f32 s10, s8
+645af0ee| 1 gnu vmov.f32 s11, s9
+467bb0ee| 1 gnu vmov.f64 d7, d6
+104b08ee| 1 gnu vmov.32 d8[0], r4
+104b28ee| 1 gnu vmov.32 d8[1], r4
+108b14ee| 1 gnu vmov.32 r8, d4[0]
+108b34ee| 1 gnu vmov.32 r8, d4[1]
+c68abdee| 1 gnu vcvt.s32.f32 s16, s12
+e68afdee| 1 gnu vcvt.s32.f32 s17, s13
+c68abcee| 1 gnu vcvt.u32.f32 s16, s12
+e68afcee| 1 gnu vcvt.u32.f32 s17, s13
+c68bbdee| 1 gnu vcvt.s32.f64 s16, d6
+c68bfdee| 1 gnu vcvt.s32.f64 s17, d6
+c68bbcee| 1 gnu vcvt.u32.f64 s16, d6
+c68bfcee| 1 gnu vcvt.u32.f64 s17, d6
+c68ab8ee| 1 gnu vcvt.f32.s32 s16, s12
+e68af8ee| 1 gnu vcvt.f32.s32 s17, s13
+468ab8ee| 1 gnu vcvt.f32.u32 s16, s12
+668af8ee| 1 gnu vcvt.f32.u32 s17, s13
+c68bb8ee| 1 gnu vcvt.f64.s32 d8, s12
+e68bb8ee| 1 gnu vcvt.f64.s32 d8, s13
+468bb8ee| 1 gnu vcvt.f64.u32 d8, s12
+668bb8ee| 1 gnu vcvt.f64.u32 d8, s13
+c01ab7ee| 1 gnu vcvt.f64.f32 d1, s0
+e01ab7ee| 1 gnu vcvt.f64.f32 d1, s1
+c45bb7ee| 1 gnu vcvt.f32.f64 s10, d4
+c65bf7ee| 1 gnu vcvt.f32.f64 s11, d6
+102083e6| 1 gnu pkhbt r2, r3, r0
+102283e6| 1 gnu pkhbt r2, r3, r0, lsl #4
+502083e6| 1 gnu pkhtb r2, r3, r0, asr #32
+d02083e6| 1 gnu pkhtb r2, r3, r0, asr #1
+502283e6| 1 gnu pkhtb r2, r3, r0, asr #4
+faaf2de9| 1 gnu push {r1, r3, r4, r5, r6, r7, r8, r9, sl, fp, sp, pc}
+04202de5| 1 gnu push {r2}
+faafbde8| 1 gnu pop {r1, r3, r4, r5, r6, r7, r8, r9, sl, fp, sp, pc}
+04209de4| 1 gnu pop {r2}
+556003e1| 1 gnu qadd r6, r5, r3
+156f28e6| 1 gnu qadd16 r6, r8, r5
+956f28e6| 1 gnu qadd8 r6, r8, r5
+550044e1| 1 gnu qdadd r0, r5, r4
+550066e1| 1 gnu qdsub r0, r5, r6
+156f68e6| 1 gnu uqadd16 r6, r8, r5
+956f68e6| 1 gnu uqadd8 r6, r8, r5
+356f28e6| 1 gnu qasx r6, r8, r5
+556f28e6| 1 gnu qsax r6, r8, r5
+356f64e6| 1 gnu uqasx r6, r4, r5
+553f64e6| 1 gnu uqsax r3, r4, r5
+556022e1| 1 gnu qsub r6, r5, r2
+774f21e6| 1 gnu qsub16 r4, r1, r7
+f74f21e6| 1 gnu qsub8 r4, r1, r7
+774f61e6| 1 gnu uqsub16 r4, r1, r7
+f74f61e6| 1 gnu uqsub8 r4, r1, r7
+6670a0e1| 1 gnu rrx r7, r6
+6670b0e1| 1 gnu rrxs r7, r6
+112f13e6| 1 gnu sadd16 r2, r3, r1
+992f13e6| 1 gnu sadd8 r2, r3, r9
+112f33e6| 1 gnu shadd16 r2, r3, r1
+992f33e6| 1 gnu shadd8 r2, r3, r9
+712f13e6| 1 gnu ssub16 r2, r3, r1
+f92f13e6| 1 gnu ssub8 r2, r3, r9
+712f33e6| 1 gnu shsub16 r2, r3, r1
+f92f33e6| 1 gnu shsub8 r2, r3, r9
+112f53e6| 1 gnu uadd16 r2, r3, r1
+992f53e6| 1 gnu uadd8 r2, r3, r9
+112f73e6| 1 gnu uhadd16 r2, r3, r1
+992f73e6| 1 gnu uhadd8 r2, r3, r9
+712f53e6| 1 gnu usub16 r2, r3, r1
+f92f53e6| 1 gnu usub8 r2, r3, r9
+712f73e6| 1 gnu uhsub16 r2, r3, r1
+f92f73e6| 1 gnu uhsub8 r2, r3, r9
+332f14e6| 1 gnu sasx r2, r4, r3
+532f14e6| 1 gnu ssax r2, r4, r3
+332f54e6| 1 gnu uasx r2, r4, r3
+532f54e6| 1 gnu usax r2, r4, r3
+332f34e6| 1 gnu shasx r2, r4, r3
+532f34e6| 1 gnu shsax r2, r4, r3
+332f74e6| 1 gnu uhasx r2, r4, r3
+532f74e6| 1 gnu uhsax r2, r4, r3
+dc51afe7| 1 gnu sbfx r5, ip, #3, #16
+dc51efe7| 1 gnu ubfx r5, ip, #3, #16
+b12f88e6| 1 gnu sel r2, r8, r1
+000201f1| 1 gnu setend be
+000001f1| 1 gnu setend le
+04f020e3| 1 gnu sev
+1155aae6| 1 gnu ssat r5, #11, r1, lsl #10
+5155aae6| 1 gnu ssat r5, #11, r1, asr #10
+335faae6| 1 gnu ssat16 r5, #11, r3
+1155eae6| 1 gnu usat r5, #10, r1, lsl #10
+5155eae6| 1 gnu usat r5, #10, r1, asr #10
+335feae6| 1 gnu usat16 r5, #10, r3
+7788a9e6| 1 gnu sxtab r8, r9, r7, ror #16
+778889e6| 1 gnu sxtab16 r8, r9, r7, ror #16
+7788b9e6| 1 gnu sxtah r8, r9, r7, ror #16
+7784afe6| 1 gnu sxtb r8, r7, ror #8
+778c8fe6| 1 gnu sxtb16 r8, r7, ror #24
+7780bfe6| 1 gnu sxth r8, r7
+7788e9e6| 1 gnu uxtab r8, r9, r7, ror #16
+7788c9e6| 1 gnu uxtab16 r8, r9, r7, ror #16
+7788f9e6| 1 gnu uxtah r8, r9, r7, ror #16
+7784efe6| 1 gnu uxtb r8, r7, ror #8
+778ccfe6| 1 gnu uxtb16 r8, r7, ror #24
+7780ffe6| 1 gnu uxth r8, r7
+11f288e7| 1 gnu usad8 r8, r1, r2
+112388e7| 1 gnu usada8 r8, r1, r3, r2
+02f020e3| 1 gnu wfe
+03f020e3| 1 gnu wfi
+01f020e3| 1 gnu yield