[ARM] Add support for MVFR2 which is new in ARMv8
[oota-llvm.git] / test / MC / Disassembler / ARM / thumb2.txt
index d5a224b2b4e7a3783d5a8867a0152215a3290267..c8b408031336717340dab19367d8da45337ec21b 100644 (file)
@@ -1,4 +1,4 @@
-# RUN: llvm-mc -triple=thumbv7-apple-darwin -disassemble < %s | FileCheck %s
+# RUN: llvm-mc -triple=thumbv7-apple-darwin -mcpu=cortex-a8 -disassemble < %s | FileCheck %s
 
 #------------------------------------------------------------------------------
 # ADC (immediate)
 #------------------------------------------------------------------------------
 # CHECK: subw r11, pc, #3270
 # CHECK: subw r11, pc, #826
+# CHECK: subw r1, pc, #0
 
 0xaf 0xf6 0xc6 0x4b
 0xaf 0xf2 0x3a 0x3b
+0xaf 0xf2 0x00 0x01
 
 #------------------------------------------------------------------------------
 # AND (immediate)
 
 0x13 0xf5 0xce 0xa9
 
+# CHECK: b.w   #208962
+# CHECK: b.w   #-16777216
+
+0x33 0xf0 0x21 0xb8 # rdar://12585795
+0x00 0xf4 0x00 0x90
 
 #------------------------------------------------------------------------------
 # BFC
 # CHECK: bfi r5, r2, #3, #17
 # CHECK: it ne
 # CHECK: bfine r5, r2, #3, #17
+# CHECK: bfi r6, r0, #0, #32
+# CHECK: bfi r6, r0, #31, #1
 
 0x62 0xf3 0xd3 0x05
 0x18 0xbf
 0x62 0xf3 0xd3 0x05
+0x60 0xf3 0x1f 0x06
+0x60 0xf3 0xdf 0x76
 
 
 #------------------------------------------------------------------------------
 #------------------------------------------------------------------------------
 # CHECK: cbnz    r7, #6
 # CHECK: cbnz    r7, #12
+# CHECK: cbz     r4, #64
 
 0x1f 0xb9
 0x37 0xb9
+0x04 0xb3
+
 
 #------------------------------------------------------------------------------
 # CDP/CDP2
 #------------------------------------------------------------------------------
 #CHECK: dmb sy
 #CHECK: dmb st
+#CHECK: dmb #0xd
+#CHECK: dmb #0xc
 #CHECK: dmb ish
 #CHECK: dmb ishst
+#CHECK: dmb #0x9
+#CHECK: dmb #0x8
 #CHECK: dmb nsh
 #CHECK: dmb nshst
+#CHECK: dmb #0x5
+#CHECK: dmb #0x4
 #CHECK: dmb osh
 #CHECK: dmb oshst
-#CHECK: dmb
+#CHECK: dmb #0x1
+#CHECK: dmb #0x0
 
 0xbf 0xf3 0x5f 0x8f
 0xbf 0xf3 0x5e 0x8f
+0xbf 0xf3 0x5d 0x8f
+0xbf 0xf3 0x5c 0x8f
 0xbf 0xf3 0x5b 0x8f
 0xbf 0xf3 0x5a 0x8f
+0xbf 0xf3 0x59 0x8f
+0xbf 0xf3 0x58 0x8f
 0xbf 0xf3 0x57 0x8f
 0xbf 0xf3 0x56 0x8f
+0xbf 0xf3 0x55 0x8f
+0xbf 0xf3 0x54 0x8f
 0xbf 0xf3 0x53 0x8f
 0xbf 0xf3 0x52 0x8f
-0xbf 0xf3 0x5f 0x8f
+0xbf 0xf3 0x51 0x8f
+0xbf 0xf3 0x50 0x8f
 
 
 #------------------------------------------------------------------------------
 #------------------------------------------------------------------------------
 #CHECK: dsb sy
 #CHECK: dsb st
+#CHECK: dsb #0xd
+#CHECK: dsb #0xc
 #CHECK: dsb ish
 #CHECK: dsb ishst
+#CHECK: dsb #0x9
+#CHECK: dsb #0x8
 #CHECK: dsb nsh
 #CHECK: dsb nshst
+#CHECK: dsb #0x5
+#CHECK: dsb #0x4
 #CHECK: dsb osh
 #CHECK: dsb oshst
+#CHECK: dsb #0x1
+#CHECK: dsb #0x0
 
 0xbf 0xf3 0x4f 0x8f
 0xbf 0xf3 0x4e 0x8f
+0xbf 0xf3 0x4d 0x8f
+0xbf 0xf3 0x4c 0x8f
 0xbf 0xf3 0x4b 0x8f
 0xbf 0xf3 0x4a 0x8f
+0xbf 0xf3 0x49 0x8f
+0xbf 0xf3 0x48 0x8f
 0xbf 0xf3 0x47 0x8f
 0xbf 0xf3 0x46 0x8f
+0xbf 0xf3 0x45 0x8f
+0xbf 0xf3 0x44 0x8f
 0xbf 0xf3 0x43 0x8f
 0xbf 0xf3 0x42 0x8f
+0xbf 0xf3 0x41 0x8f
+0xbf 0xf3 0x40 0x8f
 
 
 #------------------------------------------------------------------------------
 # ISB
 #------------------------------------------------------------------------------
 #CHECK: isb sy
+#CHECK: isb #0xa
 
 0xbf 0xf3 0x6f 0x8f
+0xbf 0xf3 0x6a 0x8f
+
+#------------------------------------------------------------------------------
+# IT
+#------------------------------------------------------------------------------
+# Test encodings of a few full IT blocks, not just the IT instruction
+
+# CHECK: iteet eq
+# CHECK: addeq r0, r1, r2
+# CHECK: nopne
+# CHECK: subne r5, r6, r7
+# CHECK: addeq r1, r2, #4
+
+0x0d 0xbf
+0x88 0x18
+0x00 0xbf
+0xf5 0x1b
+0x11 0x1d
+
+# CHECK: ittee ls
+# CHECK: addls r0, r1, r2
+# CHECK: nopls
+# CHECK: subhi r5, r6, r7
+# CHECK: addhi r1, r2, #4
+
+0x99 0xbf
+0x88 0x18
+0x00 0xbf
+0xf5 0x1b
+0x11 0x1d
+
 
 #------------------------------------------------------------------------------
 # LDMIA
 0xd7 0xf8 0x01 0xf1
 
 
+#------------------------------------------------------------------------------
+# LDR(literal)
+#------------------------------------------------------------------------------
+# CHECK: ldr.w r4, [pc, #-0]
+# CHECK: ldr.w r2, [pc, #-40]
+# CHECK: ldr.w r1, [pc, #1024]
+0x5f 0xf8 0x00 0x40
+0x5f 0xf8 0x28 0x20
+0xdf 0xf8 0x00 0x14
+
+
 #------------------------------------------------------------------------------
 # LDR(register)
 #------------------------------------------------------------------------------
 # CHECK: ldr.w r8, [r8, r2, lsl #2]
 # CHECK: ldr.w r7, [sp, r2, lsl #1]
 # CHECK: ldr.w r7, [sp, r2]
+# CHECK: ldr pc, [sp], #12
 # CHECK: ldr r2, [r4, #255]!
 # CHECK: ldr r8, [sp, #4]!
 # CHECK: ldr lr, [sp, #-4]!
+# CHECK: ldr lr, [sp, #0]!
 # CHECK: ldr r2, [r4], #255
 # CHECK: ldr r8, [sp], #4
 # CHECK: ldr lr, [sp], #-4
 0x58 0xf8 0x22 0x80
 0x5d 0xf8 0x12 0x70
 0x5d 0xf8 0x02 0x70
+0x5d 0xf8 0x0c 0xfb
 0x54 0xf8 0xff 0x2f
 0x5d 0xf8 0x04 0x8f
 0x5d 0xf8 0x04 0xed
+0x5d 0xf8 0x00 0xef
 0x54 0xf8 0xff 0x2b
 0x5d 0xf8 0x04 0x8b
 0x5d 0xf8 0x04 0xe9
 # CHECK: ldrb r5, [r8, #255]!
 # CHECK: ldrb r2, [r5, #4]!
 # CHECK: ldrb r1, [r4, #-4]!
+# CHECK: ldrb r1, [r4, #0]!
 # CHECK: ldrb lr, [r3], #255
 # CHECK: ldrb r9, [r2], #4
 # CHECK: ldrb r3, [sp], #-4
 0x18 0xf8 0xff 0x5f
 0x15 0xf8 0x04 0x2f
 0x14 0xf8 0x04 0x1d
+0x14 0xf8 0x00 0x1f
 0x13 0xf8 0xff 0xeb
 0x12 0xf8 0x04 0x9b
 0x1d 0xf8 0x04 0x39
 
 
+#------------------------------------------------------------------------------
+# LDRB(literal)
+#------------------------------------------------------------------------------
+# CHECK: ldrb.w r6, [pc, #-0]
+# CHECK: ldrb.w r10, [pc, #227]
+# CHECK: ldrb.w r5, [pc, #0]
+0x1f 0xf8 0x00 0x60
+0x9f 0xf8 0xe3 0xa0
+0x9f 0xf8 0x00 0x50
+
+
 #------------------------------------------------------------------------------
 # LDRBT
 #------------------------------------------------------------------------------
 # CHECK: ldrd r3, r5, [r6], #-8
 # CHECK: ldrd r3, r5, [r6]
 # CHECK: ldrd r8, r1, [r3]
+# CHECK: ldrd r0, r1, [r2], #-0
+# CHECK: ldrd r0, r1, [r2, #-0]!
+# CHECK: ldrd r0, r1, [r2, #0]!
+# CHECK: ldrd r0, r1, [r2, #-0]
+# CHECK: ldrd r1, r1, [r0], #0
 
 0xd6 0xe9 0x06 0x35
 0xf6 0xe9 0x06 0x35
 0x76 0xe8 0x02 0x35
 0xd6 0xe9 0x00 0x35
 0xd3 0xe9 0x00 0x81
+0x72 0xe8 0x00 0x01
+0x72 0xe9 0x00 0x01
+0xf2 0xe9 0x00 0x01
+0x52 0xe9 0x00 0x01
+0xf0 0xe8 0x00 0x11
 
 
 #------------------------------------------------------------------------------
 # CHECK: ldrh r5, [r8, #255]!
 # CHECK: ldrh r2, [r5, #4]!
 # CHECK: ldrh r1, [r4, #-4]!
+# CHECK: ldrh r1, [r4, #0]!
 # CHECK: ldrh lr, [r3], #255
 # CHECK: ldrh r9, [r2], #4
 # CHECK: ldrh r3, [sp], #-4
 0x38 0xf8 0xff 0x5f
 0x35 0xf8 0x04 0x2f
 0x34 0xf8 0x04 0x1d
+0x34 0xf8 0x00 0x1f
 0x33 0xf8 0xff 0xeb
 0x32 0xf8 0x04 0x9b
 0x3d 0xf8 0x04 0x39
 
 
+#------------------------------------------------------------------------------
+# LDRH(literal)
+#------------------------------------------------------------------------------
+# CHECK: ldrh.w r7, [pc, #-0]
+# CHECK: ldrh.w r5, [pc, #121]
+# CHECK: ldrh.w r4, [pc, #0]
+0x3f 0xf8 0x00 0x70
+0xbf 0xf8 0x79 0x50
+0xbf 0xf8 0x00 0x40
+
+
 #------------------------------------------------------------------------------
 # LDRSB(immediate)
 #------------------------------------------------------------------------------
 # CHECK: ldrsb r5, [r8, #255]!
 # CHECK: ldrsb r2, [r5, #4]!
 # CHECK: ldrsb r1, [r4, #-4]!
+# CHECK: ldrsb r1, [r4, #0]!
 # CHECK: ldrsb lr, [r3], #255
 # CHECK: ldrsb r9, [r2], #4
 # CHECK: ldrsb r3, [sp], #-4
 0x18 0xf9 0xff 0x5f
 0x15 0xf9 0x04 0x2f
 0x14 0xf9 0x04 0x1d
+0x14 0xf9 0x00 0x1f
 0x13 0xf9 0xff 0xeb
 0x12 0xf9 0x04 0x9b
 0x1d 0xf9 0x04 0x39
 
 
+#------------------------------------------------------------------------------
+# LDRSB(literal)
+#------------------------------------------------------------------------------
+# CHECK: ldrsb.w r0, [pc, #-0]
+# CHECK: ldrsb.w r12, [pc, #80]
+# CHECK: ldrsb.w r3, [pc, #0]
+0x1f 0xf9 0x00 0x00
+0x9f 0xf9 0x50 0xc0
+0x9f 0xf9 0x00 0x30
+
+
 #------------------------------------------------------------------------------
 # LDRSBT
 #------------------------------------------------------------------------------
 # CHECK: ldrsh.w r5, [r6, #33]
 # CHECK: ldrsh.w r5, [r6, #257]
 # CHECK: ldrsh.w lr, [r7, #257]
+# CHECK: ldrsh r10, [r5, #-0]
 
 0x35 0xf9 0x04 0x5c
 0xb6 0xf9 0x20 0x50
 0xb6 0xf9 0x21 0x50
 0xb6 0xf9 0x01 0x51
 0xb7 0xf9 0x01 0xe1
-
+0x35 0xf9 0x00 0xac
 
 #------------------------------------------------------------------------------
 # LDRSH(register)
 # CHECK: ldrsh r5, [r8, #255]!
 # CHECK: ldrsh r2, [r5, #4]!
 # CHECK: ldrsh r1, [r4, #-4]!
+# CHECK: ldrsh r1, [r4, #0]!
 # CHECK: ldrsh lr, [r3], #255
 # CHECK: ldrsh r9, [r2], #4
 # CHECK: ldrsh r3, [sp], #-4
 0x38 0xf9 0xff 0x5f
 0x35 0xf9 0x04 0x2f
 0x34 0xf9 0x04 0x1d
+0x34 0xf9 0x00 0x1f
 0x33 0xf9 0xff 0xeb
 0x32 0xf9 0x04 0x9b
 0x3d 0xf9 0x04 0x39
 
 
+#------------------------------------------------------------------------------
+# LDRSH(literal)
+#------------------------------------------------------------------------------
+# CHECK: ldrsh.w r0, [pc, #-0]
+# CHECK: ldrsh.w r10, [pc, #-231]
+# CHECK: ldrsh.w r6, [pc, #0]
+0x3f 0xf9 0x00 0x00
+0x3f 0xf9 0xe7 0xa0
+0xbf 0xf9 0x00 0x60
+
+
 #------------------------------------------------------------------------------
 # LDRSHT
 #------------------------------------------------------------------------------
 0x4f 0xf0 0x7f 0x70
 0x5f 0xf0 0x7f 0x70
 
+#------------------------------------------------------------------------------
+# MOVT
+#------------------------------------------------------------------------------
+# CHECK: movt r3, #7
+# CHECK: movt r6, #65535
+# CHECK: it eq
+# CHECK: movteq r4, #4080
+
+0xc0 0xf2 0x07 0x03
+0xcf 0xf6 0xff 0x76
+0x08 0xbf
+0xc0 0xf6 0xf0 0x74
 
 #------------------------------------------------------------------------------
-# IT
+# MRC/MRC2
 #------------------------------------------------------------------------------
-# Test encodings of a few full IT blocks, not just the IT instruction
+# CHECK: mrc  p14, #0, r1, c1, c2, #4
+# CHECK: mrc2  p14, #0, r1, c1, c2, #4
 
-# CHECK: iteet eq
-# CHECK: addeq r0, r1, r2
-# CHECK: nopne
-# CHECK: subne r5, r6, r7
-# CHECK: addeq r1, r2, #4
+0x11 0xee 0x92 0x1e
+0x11 0xfe 0x92 0x1e
 
-0x0d 0xbf
-0x88 0x18
-0x00 0xbf
-0xf5 0x1b
-0x11 0x1d
 
-# CHECK: ittee ls
-# CHECK: addls r0, r1, r2
-# CHECK: nopls
-# CHECK: subhi r5, r6, r7
-# CHECK: addhi r1, r2, #4
+#------------------------------------------------------------------------------
+# MRRC/MRRC2
+#------------------------------------------------------------------------------
+# CHECK: mrrc  p7, #1, r5, r4, c1
+# CHECK: mrrc2  p7, #1, r5, r4, c1
+
+0x54 0xec 0x11 0x57
+0x54 0xfc 0x11 0x57
 
-0x99 0xbf
-0x88 0x18
-0x00 0xbf
-0xf5 0x1b
-0x11 0x1d
 
 #------------------------------------------------------------------------------
-# STRD (immediate)
+# MRS
 #------------------------------------------------------------------------------
-# CHECK: strd r6, r3, [r5], #-8
-# CHECK: strd r8, r5, [r5]{{$}}
-# CHECK: strd r7, r4, [r5], #-4
+# CHECK: mrs  r8, apsr
+# CHECK: mrs  r8, spsr
 
-0x65 0xe8 0x02 0x63
-0x65 0xe8 0x00 0x85
-0x65 0xe8 0x01 0x74
+0xef 0xf3 0x00 0x88
+0xff 0xf3 0x00 0x88
+
+
+#------------------------------------------------------------------------------
+# MSR
+#------------------------------------------------------------------------------
+# CHECK: msr  APSR_nzcvq, r1
+# CHECK: msr  APSR_g, r2
+# CHECK: msr  APSR_nzcvq, r3
+# CHECK: msr  APSR_nzcvq, r4
+# CHECK: msr  APSR_nzcvqg, r5
+# CHECK: msr  CPSR_fc, r6
+# CHECK: msr  CPSR_c, r7
+# CHECK: msr  CPSR_x, r8
+# CHECK: msr  CPSR_fc, r9
+# CHECK: msr  CPSR_fc, r11
+# CHECK: msr  CPSR_fsx, r12
+# CHECK: msr  SPSR_fc, r0
+# CHECK: msr  SPSR_fsxc, r5
+# CHECK: msr  CPSR_fsxc, r8
+
+0x81 0xf3 0x00 0x88
+0x82 0xf3 0x00 0x84
+0x83 0xf3 0x00 0x88
+0x84 0xf3 0x00 0x88
+0x85 0xf3 0x00 0x8c
+0x86 0xf3 0x00 0x89
+0x87 0xf3 0x00 0x81
+0x88 0xf3 0x00 0x82
+0x89 0xf3 0x00 0x89
+0x8b 0xf3 0x00 0x89
+0x8c 0xf3 0x00 0x8e
+0x90 0xf3 0x00 0x89
+0x95 0xf3 0x00 0x8f
+0x88 0xf3 0x00 0x8f
+
+
+#------------------------------------------------------------------------------
+# MUL
+#------------------------------------------------------------------------------
+# CHECK: muls r3, r4, r3
+# CHECK: mul r3, r4, r3
+# CHECK: mul r3, r4, r6
+# CHECK: it eq
+# CHECK: muleq r3, r4, r5
+
+0x63 0x43
+0x04 0xfb 0x03 0xf3
+0x04 0xfb 0x06 0xf3
+0x08 0xbf
+0x04 0xfb 0x05 0xf3
+
+
+#------------------------------------------------------------------------------
+# MVN(immediate)
+#------------------------------------------------------------------------------
+# CHECK: mvns r8, #21
+# CHECK: mvn r0, #66846720
+# CHECK: mvns r0, #66846720
+# CHECK: itte eq
+# CHECK: mvnseq r1, #12
+# CHECK: mvneq r1, #12
+# CHECK: mvnne r1, #12
+
+0x7f 0xf0 0x15 0x08
+0x6f 0xf0 0x7f 0x70
+0x7f 0xf0 0x7f 0x70
+0x06 0xbf
+0x7f 0xf0 0x0c 0x01
+0x6f 0xf0 0x0c 0x01
+0x6f 0xf0 0x0c 0x01
+
+
+#------------------------------------------------------------------------------
+# MVN(register)
+#------------------------------------------------------------------------------
+# CHECK: mvn.w r2, r3
+# CHECK: mvns r2, r3
+# CHECK: mvn.w r5, r6, lsl #19
+# CHECK: mvn.w r5, r6, lsr #9
+# CHECK: mvn.w r5, r6, asr #4
+# CHECK: mvn.w r5, r6, ror #6
+# CHECK: mvn.w r5, r6, rrx
+# CHECK: it eq
+# CHECK: mvneq r2, r3
+
+0x6f 0xea 0x03 0x02
+0xda 0x43
+0x6f 0xea 0xc6 0x45
+0x6f 0xea 0x56 0x25
+0x6f 0xea 0x26 0x15
+0x6f 0xea 0xb6 0x15
+0x6f 0xea 0x36 0x05
+0x08 0xbf
+0xda 0x43
+
+#------------------------------------------------------------------------------
+# NOP
+#------------------------------------------------------------------------------
+# CHECK: nop.w
+
+0xaf 0xf3 0x00 0x80
+
+
+#------------------------------------------------------------------------------
+# ORN
+#------------------------------------------------------------------------------
+# CHECK: orn r4, r5, #61440
+# CHECK: orn r4, r5, r6
+# CHECK: orns r4, r5, r6
+# CHECK: orn r4, r5, r6, lsl #5
+# CHECK: orns r4, r5, r6, lsr #5
+# CHECK: orn r4, r5, r6, lsr #5
+# CHECK: orns r4, r5, r6, asr #5
+# CHECK: orn r4, r5, r6, ror #5
+
+0x65 0xf4 0x70 0x44
+0x65 0xea 0x06 0x04
+0x75 0xea 0x06 0x04
+0x65 0xea 0x46 0x14
+0x75 0xea 0x56 0x14
+0x65 0xea 0x56 0x14
+0x75 0xea 0x66 0x14
+0x65 0xea 0x76 0x14
+
+
+#------------------------------------------------------------------------------
+# ORR
+#------------------------------------------------------------------------------
+# CHECK: orr r4, r5, #61440
+# CHECK: orr.w r4, r5, r6
+# CHECK: orr.w r4, r5, r6, lsl #5
+# CHECK: orrs.w r4, r5, r6, lsr #5
+# CHECK: orr.w r4, r5, r6, lsr #5
+# CHECK: orrs.w r4, r5, r6, asr #5
+# CHECK: orr.w r4, r5, r6, ror #5
+
+0x45 0xf4 0x70 0x44
+0x45 0xea 0x06 0x04
+0x45 0xea 0x46 0x14
+0x55 0xea 0x56 0x14
+0x45 0xea 0x56 0x14
+0x55 0xea 0x66 0x14
+0x45 0xea 0x76 0x14
+
+
+#------------------------------------------------------------------------------
+# PKH
+#------------------------------------------------------------------------------
+# CHECK: pkhbt r2, r2, r3
+# CHECK: pkhbt r2, r2, r3, lsl #31
+# CHECK: pkhbt r2, r2, r3, lsl #15
+
+# CHECK: pkhtb r2, r2, r3, asr #31
+# CHECK: pkhtb r2, r2, r3, asr #15
+
+0xc2 0xea 0x03 0x02
+0xc2 0xea 0xc3 0x72
+0xc2 0xea 0xc3 0x32
+
+0xc2 0xea 0xe3 0x72
+0xc2 0xea 0xe3 0x32
+
+
+#------------------------------------------------------------------------------
+# PLD(immediate)
+#------------------------------------------------------------------------------
+# CHECK: pld [r5, #-4]
+# CHECK: pld [r6, #32]
+# CHECK: pld [r6, #33]
+# CHECK: pld [r6, #257]
+# CHECK: pld [r7, #257]
+
+0x15 0xf8 0x04 0xfc
+0x96 0xf8 0x20 0xf0
+0x96 0xf8 0x21 0xf0
+0x96 0xf8 0x01 0xf1
+0x97 0xf8 0x01 0xf1
+
+#------------------------------------------------------------------------------
+# PLD(register)
+#------------------------------------------------------------------------------
+# CHECK: pld [r8, r1]
+# CHECK: pld [r5, r2]
+# CHECK: pld [r0, r2, lsl #3]
+# CHECK: pld [r8, r2, lsl #2]
+# CHECK: pld [sp, r2, lsl #1]
+# CHECK: pld [sp, r2]
+
+0x18 0xf8 0x01 0xf0
+0x15 0xf8 0x02 0xf0
+0x10 0xf8 0x32 0xf0
+0x18 0xf8 0x22 0xf0
+0x1d 0xf8 0x12 0xf0
+0x1d 0xf8 0x02 0xf0
+
+#------------------------------------------------------------------------------
+# PLD(literal)
+#------------------------------------------------------------------------------
+# CHECK: pld [pc, #-0]
+# CHECK: pld [pc, #455]
+# CHECK: pld [pc, #0]
+
+0x1f 0xf8 0x00 0xf0
+0x9f 0xf8 0xc7 0xf1
+0x9f 0xf8 0x00 0xf0
+
+#------------------------------------------------------------------------------
+# PLI(immediate)
+#------------------------------------------------------------------------------
+# CHECK: pli [r5, #-4]
+# CHECK: pli [r6, #32]
+# CHECK: pli [r6, #33]
+# CHECK: pli [r6, #257]
+# CHECK: pli [r7, #257]
+
+0x15 0xf9 0x04 0xfc
+0x96 0xf9 0x20 0xf0
+0x96 0xf9 0x21 0xf0
+0x96 0xf9 0x01 0xf1
+0x97 0xf9 0x01 0xf1
+
+#------------------------------------------------------------------------------
+# PLI(register)
+#------------------------------------------------------------------------------
+# CHECK: pli [r8, r1]
+# CHECK: pli [r5, r2]
+# CHECK: pli [r0, r2, lsl #3]
+# CHECK: pli [r8, r2, lsl #2]
+# CHECK: pli [sp, r2, lsl #1]
+# CHECK: pli [sp, r2]
+
+0x18 0xf9 0x01 0xf0
+0x15 0xf9 0x02 0xf0
+0x10 0xf9 0x32 0xf0
+0x18 0xf9 0x22 0xf0
+0x1d 0xf9 0x12 0xf0
+0x1d 0xf9 0x02 0xf0
+
+#------------------------------------------------------------------------------
+# PLI(literal)
+#------------------------------------------------------------------------------
+# CHECK: pli [pc, #-0]
+# CHECK: pli [pc, #-328]
+# CHECK: pli [pc, #0]
+
+0x1f 0xf9 0x00 0xf0
+0x1f 0xf9 0x48 0xf1
+0x9f 0xf9 0x00 0xf0
+
+
+#------------------------------------------------------------------------------
+# QADD/QADD16/QADD8
+#------------------------------------------------------------------------------
+# CHECK: qadd r1, r2, r3
+# CHECK: qadd16 r1, r2, r3
+# CHECK: qadd8 r1, r2, r3
+# CHECK: itte gt
+# CHECK: qaddgt r1, r2, r3
+# CHECK: qadd16gt r1, r2, r3
+# CHECK: qadd8le r1, r2, r3
+
+0x83 0xfa 0x82 0xf1
+0x92 0xfa 0x13 0xf1
+0x82 0xfa 0x13 0xf1
+0xc6 0xbf
+0x83 0xfa 0x82 0xf1
+0x92 0xfa 0x13 0xf1
+0x82 0xfa 0x13 0xf1
+
+
+#------------------------------------------------------------------------------
+# QDADD/QDSUB
+#------------------------------------------------------------------------------
+# CHECK: qdadd r6, r7, r8
+# CHECK: qdsub r6, r7, r8
+# CHECK: itt hi
+# CHECK: qdaddhi r6, r7, r8
+# CHECK: qdsubhi r6, r7, r8
+
+0x88 0xfa 0x97 0xf6
+0x88 0xfa 0xb7 0xf6
+0x84 0xbf
+0x88 0xfa 0x97 0xf6
+0x88 0xfa 0xb7 0xf6
+
+
+#------------------------------------------------------------------------------
+# QSAX
+#------------------------------------------------------------------------------
+# CHECK: qsax r9, r12, r0
+# CHECK: it eq
+# CHECK: qsaxeq r9, r12, r0
+
+0xec 0xfa 0x10 0xf9
+0x08 0xbf
+0xec 0xfa 0x10 0xf9
+
+
+#------------------------------------------------------------------------------
+# QSUB/QSUB16/QSUB8
+#------------------------------------------------------------------------------
+# CHECK: qsub r1, r2, r3
+# CHECK: qsub16 r1, r2, r3
+# CHECK: qsub8 r1, r2, r3
+# CHECK: itet le
+# CHECK: qsuble r1, r2, r3
+# CHECK: qsub16gt r1, r2, r3
+# CHECK: qsub8le r1, r2, r3
+
+0x83 0xfa 0xa2 0xf1
+0xd2 0xfa 0x13 0xf1
+0xc2 0xfa 0x13 0xf1
+0xd6 0xbf
+0x83 0xfa 0xa2 0xf1
+0xd2 0xfa 0x13 0xf1
+0xc2 0xfa 0x13 0xf1
+
+
+#------------------------------------------------------------------------------
+# RBIT
+#------------------------------------------------------------------------------
+# CHECK: rbit r1, r2
+# CHECK: it ne
+# CHECK: rbitne r1, r2
+
+0x92 0xfa 0xa2 0xf1
+0x18 0xbf
+0x92 0xfa 0xa2 0xf1
+
+
+#------------------------------------------------------------------------------
+# REV
+#------------------------------------------------------------------------------
+# CHECK: rev.w r1, r2
+# CHECK: rev.w r2, r8
+# CHECK: itt ne
+# CHECK: revne r1, r2
+# CHECK: revne.w r1, r8
+
+0x92 0xfa 0x82 0xf1
+0x98 0xfa 0x88 0xf2
+0x1c 0xbf
+0x11 0xba
+0x98 0xfa 0x88 0xf1
+
+
+#------------------------------------------------------------------------------
+# REV16
+#------------------------------------------------------------------------------
+# CHECK: rev16.w r1, r2
+# CHECK: rev16.w r2, r8
+# CHECK: itt ne
+# CHECK: rev16ne r1, r2
+# CHECK: rev16ne.w r1, r8
+
+0x92 0xfa 0x92 0xf1
+0x98 0xfa 0x98 0xf2
+0x1c 0xbf
+0x51 0xba
+0x98 0xfa 0x98 0xf1
+
+
+#------------------------------------------------------------------------------
+# REVSH
+#------------------------------------------------------------------------------
+# CHECK: revsh.w r1, r2
+# CHECK: revsh.w r2, r8
+# CHECK: itt ne
+# CHECK: revshne r1, r2
+# CHECK: revshne.w r1, r8
+
+0x92 0xfa 0xb2 0xf1
+0x98 0xfa 0xb8 0xf2
+0x1c 0xbf
+0xd1 0xba
+0x98 0xfa 0xb8 0xf1
+
+
+#------------------------------------------------------------------------------
+# ROR (immediate)
+#------------------------------------------------------------------------------
+# CHECK: ror.w r2, r3, #12
+# CHECK: rors.w r8, r3, #31
+# CHECK: rors.w r2, r3, #1
+# CHECK: ror.w r2, r3, #4
+# CHECK: rors.w r2, r12, #15
+
+# CHECK: ror.w r3, r3, #19
+# CHECK: rors.w r8, r8, #2
+# CHECK: rors.w r7, r7, #5
+# CHECK: ror.w r12, r12, #21
+
+0x4f 0xea 0x33 0x32
+0x5f 0xea 0xf3 0x78
+0x5f 0xea 0x73 0x02
+0x4f 0xea 0x33 0x12
+0x5f 0xea 0xfc 0x32
+
+0x4f 0xea 0xf3 0x43
+0x5f 0xea 0xb8 0x08
+0x5f 0xea 0x77 0x17
+0x4f 0xea 0x7c 0x5c
+
+
+#------------------------------------------------------------------------------
+# ROR (register)
+#------------------------------------------------------------------------------
+# CHECK: ror.w r3, r4, r2
+# CHECK: ror.w r1, r1, r2
+# CHECK: rors.w r3, r4, r8
+
+0x64 0xfa 0x02 0xf3
+0x61 0xfa 0x02 0xf1
+0x74 0xfa 0x08 0xf3
+
+
+#------------------------------------------------------------------------------
+# RRX
+#------------------------------------------------------------------------------
+# CHECK: rrx r1, r2
+# CHECK: rrxs r1, r2
+# CHECK: ite lt
+# CHECK: rrxlt r9, r12
+# CHECK: rrxsge r8, r3
+
+0x4f 0xea 0x32 0x01
+0x5f 0xea 0x32 0x01
+0xb4 0xbf
+0x4f 0xea 0x3c 0x09
+0x5f 0xea 0x33 0x08
+
+#------------------------------------------------------------------------------
+# RSB (immediate)
+#------------------------------------------------------------------------------
+# CHECK: rsb.w r2, r5, #1044480
+# CHECK: rsbs.w r3, r12, #15
+# CHECK: rsb.w r1, r1, #255
+
+0xc5 0xf5 0x7f 0x22
+0xdc 0xf1 0x0f 0x03
+0xc1 0xf1 0xff 0x01
+
+
+#------------------------------------------------------------------------------
+# RSB (register)
+#------------------------------------------------------------------------------
+# CHECK: rsb r4, r4, r8
+# CHECK: rsb r4, r9, r8
+# CHECK: rsb r1, r4, r8, asr #3
+# CHECK: rsbs r2, r1, r7, lsl #1
+
+0xc4 0xeb 0x08 0x04
+0xc9 0xeb 0x08 0x04
+0xc4 0xeb 0xe8 0x01
+0xd1 0xeb 0x47 0x02
+
+
+#------------------------------------------------------------------------------
+# SADD16
+#------------------------------------------------------------------------------
+# CHECK: sadd16 r3, r4, r8
+# CHECK: it ne
+# CHECK: sadd16ne r3, r4, r8
+
+0x94 0xfa 0x08 0xf3
+0x18 0xbf
+0x94 0xfa 0x08 0xf3
+
+
+#------------------------------------------------------------------------------
+# SADD8
+#------------------------------------------------------------------------------
+# CHECK: sadd8 r3, r4, r8
+# CHECK: it ne
+# CHECK: sadd8ne r3, r4, r8
+
+0x84 0xfa 0x08 0xf3
+0x18 0xbf
+0x84 0xfa 0x08 0xf3
+
+
+#------------------------------------------------------------------------------
+# SASX
+#------------------------------------------------------------------------------
+# CHECK: sasx r9, r2, r7
+# CHECK: it ne
+# CHECK: sasxne r2, r5, r6
+
+0xa2 0xfa 0x07 0xf9
+0x18 0xbf
+0xa5 0xfa 0x06 0xf2
+
+
+#------------------------------------------------------------------------------
+# SBC (immediate)
+#------------------------------------------------------------------------------
+# CHECK: sbc r0, r1, #4
+# CHECK: sbcs r0, r1, #0
+# CHECK: sbc r1, r2, #255
+# CHECK: sbc r3, r7, #5570645
+# CHECK: sbc r8, r12, #2852170240
+# CHECK: sbc r9, r7, #2779096485
+# CHECK: sbc r5, r3, #2264924160
+# CHECK: sbc r4, r2, #2139095040
+# CHECK: sbc r4, r2, #1664
+
+0x61 0xf1 0x04 0x00
+0x71 0xf1 0x00 0x00
+0x62 0xf1 0xff 0x01
+0x67 0xf1 0x55 0x13
+0x6c 0xf1 0xaa 0x28
+0x67 0xf1 0xa5 0x39
+0x63 0xf1 0x07 0x45
+0x62 0xf1 0xff 0x44
+0x62 0xf5 0xd0 0x64
+
+
+#------------------------------------------------------------------------------
+# SBC (register)
+#------------------------------------------------------------------------------
+# CHECK: sbc.w r4, r5, r6
+# CHECK: sbcs.w r4, r5, r6
+# CHECK: sbc.w r9, r1, r3
+# CHECK: sbcs.w r9, r1, r3
+# CHECK: sbc.w r0, r1, r3, ror #4
+# CHECK: sbcs.w r0, r1, r3, lsl #7
+# CHECK: sbc.w r0, r1, r3, lsr #31
+# CHECK: sbcs.w r0, r1, r3, asr #32
+
+0x65 0xeb 0x06 0x04
+0x75 0xeb 0x06 0x04
+0x61 0xeb 0x03 0x09
+0x71 0xeb 0x03 0x09
+0x61 0xeb 0x33 0x10
+0x71 0xeb 0xc3 0x10
+0x61 0xeb 0xd3 0x70
+0x71 0xeb 0x23 0x00
+
+
+#------------------------------------------------------------------------------
+# SBFX
+#------------------------------------------------------------------------------
+# CHECK: sbfx r4, r5, #16, #1
+# CHECK: it gt
+# CHECK: sbfxgt r4, r5, #16, #16
+
+0x45 0xf3 0x00 0x44
+0xc8 0xbf
+0x45 0xf3 0x0f 0x44
+
+
+#------------------------------------------------------------------------------
+# SEL
+#------------------------------------------------------------------------------
+# CHECK: sel r5, r9, r2
+# CHECK: it le
+# CHECK: selle r5, r9, r2
+
+0xa9 0xfa 0x82 0xf5
+0xd8 0xbf
+0xa9 0xfa 0x82 0xf5
+
+
+#------------------------------------------------------------------------------
+# SEV
+#------------------------------------------------------------------------------
+# CHECK: sev.w
+# CHECK: it eq
+# CHECK: seveq.w
+
+0xaf 0xf3 0x04 0x80
+0x08 0xbf
+0xaf 0xf3 0x04 0x80
+
+
+#------------------------------------------------------------------------------
+# SADD16/SADD8
+#------------------------------------------------------------------------------
+# CHECK: sadd16 r1, r2, r3
+# CHECK: sadd8 r1, r2, r3
+# CHECK: ite gt
+# CHECK: sadd16gt r1, r2, r3
+# CHECK: sadd8le r1, r2, r3
+
+0x92 0xfa 0x03 0xf1
+0x82 0xfa 0x03 0xf1
+0xcc 0xbf
+0x92 0xfa 0x03 0xf1
+0x82 0xfa 0x03 0xf1
+
+
+#------------------------------------------------------------------------------
+# SHASX
+#------------------------------------------------------------------------------
+# CHECK: shasx r4, r8, r2
+# CHECK: it gt
+# CHECK: shasxgt r4, r8, r2
+
+0xa8 0xfa 0x22 0xf4
+0xc8 0xbf
+0xa8 0xfa 0x22 0xf4
+
+
+#------------------------------------------------------------------------------
+# SHASX
+#------------------------------------------------------------------------------
+# CHECK: shsax r4, r8, r2
+# CHECK: it gt
+# CHECK: shsaxgt r4, r8, r2
+
+0xe8 0xfa 0x22 0xf4
+0xc8 0xbf
+0xe8 0xfa 0x22 0xf4
+
+
+#------------------------------------------------------------------------------
+# SHSUB16/SHSUB8
+#------------------------------------------------------------------------------
+# CHECK: shsub16 r4, r8, r2
+# CHECK: shsub8 r4, r8, r2
+# CHECK: itt gt
+# CHECK: shsub16gt r4, r8, r2
+# CHECK: shsub8gt r4, r8, r2
+
+0xd8 0xfa 0x22 0xf4
+0xc8 0xfa 0x22 0xf4
+0xc4 0xbf
+0xd8 0xfa 0x22 0xf4
+0xc8 0xfa 0x22 0xf4
+
+
+#------------------------------------------------------------------------------
+# SMLABB/SMLABT/SMLATB/SMLATT
+#------------------------------------------------------------------------------
+# CHECK: smlabb r3, r1, r9, r0
+# CHECK: smlabt r5, r6, r4, r1
+# CHECK: smlatb r4, r2, r3, r2
+# CHECK: smlatt r8, r3, r8, r4
+# CHECK: itete gt
+# CHECK: smlabbgt r3, r1, r9, r0
+# CHECK: smlabtle r5, r6, r4, r1
+# CHECK: smlatbgt r4, r2, r3, r2
+# CHECK: smlattle r8, r3, r8, r4
+
+0x11 0xfb 0x09 0x03
+0x16 0xfb 0x14 0x15
+0x12 0xfb 0x23 0x24
+0x13 0xfb 0x38 0x48
+0xcb 0xbf
+0x11 0xfb 0x09 0x03
+0x16 0xfb 0x14 0x15
+0x12 0xfb 0x23 0x24
+0x13 0xfb 0x38 0x48
+
+
+#------------------------------------------------------------------------------
+# SMLAD/SMLADX
+#------------------------------------------------------------------------------
+# CHECK: smlad r2, r3, r5, r8
+# CHECK: smladx r2, r3, r5, r8
+# CHECK: itt hi
+# CHECK: smladhi r2, r3, r5, r8
+# CHECK: smladxhi r2, r3, r5, r8
+
+0x23 0xfb 0x05 0x82
+0x23 0xfb 0x15 0x82
+0x84 0xbf
+0x23 0xfb 0x05 0x82
+0x23 0xfb 0x15 0x82
+
+
+#------------------------------------------------------------------------------
+# SMLAL
+#------------------------------------------------------------------------------
+# CHECK: smlal r2, r3, r5, r8
+# CHECK: it eq
+# CHECK: smlaleq r2, r3, r5, r8
+
+0xc5 0xfb 0x08 0x23
+0x08 0xbf
+0xc5 0xfb 0x08 0x23
+
+
+#------------------------------------------------------------------------------
+# SMLALBB/SMLALBT/SMLALTB/SMLALTT
+#------------------------------------------------------------------------------
+# CHECK: smlalbb r3, r1, r9, r0
+# CHECK: smlalbt r5, r6, r4, r1
+# CHECK: smlaltb r4, r2, r3, r2
+# CHECK: smlaltt r8, r3, r8, r4
+# CHECK: iteet ge
+# CHECK: smlalbbge r3, r1, r9, r0
+# CHECK: smlalbtlt r5, r6, r4, r1
+# CHECK: smlaltblt r4, r2, r3, r2
+# CHECK: smlalttge r8, r3, r8, r4
+
+0xc9 0xfb 0x80 0x31
+0xc4 0xfb 0x91 0x56
+0xc3 0xfb 0xa2 0x42
+0xc8 0xfb 0xb4 0x83
+0xad 0xbf
+0xc9 0xfb 0x80 0x31
+0xc4 0xfb 0x91 0x56
+0xc3 0xfb 0xa2 0x42
+0xc8 0xfb 0xb4 0x83
+
+#------------------------------------------------------------------------------
+# SMLALD/SMLALDX
+#------------------------------------------------------------------------------
+# CHECK: smlald r2, r3, r5, r8
+# CHECK: smlaldx r2, r3, r5, r8
+# CHECK: ite eq
+# CHECK: smlaldeq r2, r3, r5, r8
+# CHECK: smlaldxne r2, r3, r5, r8
+
+0xc5 0xfb 0xc8 0x23
+0xc5 0xfb 0xd8 0x23
+0x0c 0xbf
+0xc5 0xfb 0xc8 0x23
+0xc5 0xfb 0xd8 0x23
+
+
+#------------------------------------------------------------------------------
+# SMLAWB/SMLAWT
+#------------------------------------------------------------------------------
+# CHECK: smlawb r2, r3, r10, r8
+# CHECK: smlawt r8, r3, r5, r9
+# CHECK: ite eq
+# CHECK: smlawbeq r2, r7, r5, r8
+# CHECK: smlawtne r1, r3, r0, r8
+
+0x33 0xfb 0x0a 0x82
+0x33 0xfb 0x15 0x98
+0x0c 0xbf
+0x37 0xfb 0x05 0x82
+0x33 0xfb 0x10 0x81
+
+
+#------------------------------------------------------------------------------
+# SMLSD/SMLSDX
+#------------------------------------------------------------------------------
+# CHECK: smlsd r2, r3, r5, r8
+# CHECK: smlsdx r2, r3, r5, r8
+# CHECK: ite le
+# CHECK: smlsdle r2, r3, r5, r8
+# CHECK: smlsdxgt r2, r3, r5, r8
+
+0x43 0xfb 0x05 0x82
+0x43 0xfb 0x15 0x82
+0xd4 0xbf
+0x43 0xfb 0x05 0x82
+0x43 0xfb 0x15 0x82
+
+
+#------------------------------------------------------------------------------
+# SMLSLD/SMLSLDX
+#------------------------------------------------------------------------------
+# CHECK: smlsld r2, r9, r5, r1
+# CHECK: smlsldx r4, r11, r2, r8
+# CHECK: ite ge
+# CHECK: smlsldge r8, r2, r5, r6
+# CHECK: smlsldxlt r1, r0, r3, r8
+
+0xd5 0xfb 0xc1 0x29
+0xd2 0xfb 0xd8 0x4b
+0xac 0xbf
+0xd5 0xfb 0xc6 0x82
+0xd3 0xfb 0xd8 0x10
+
+
+#------------------------------------------------------------------------------
+# SMMLA/SMMLAR
+#------------------------------------------------------------------------------
+# CHECK: smmla r1, r2, r3, r4
+# CHECK: smmlar r4, r3, r2, r1
+# CHECK: ite lo
+# CHECK: smmlalo r1, r2, r3, r4
+# CHECK: smmlarhs r4, r3, r2, r1
+
+0x52 0xfb 0x03 0x41
+0x53 0xfb 0x12 0x14
+0x34 0xbf
+0x52 0xfb 0x03 0x41
+0x53 0xfb 0x12 0x14
+
+
+#------------------------------------------------------------------------------
+# SMMLS/SMMLSR
+#------------------------------------------------------------------------------
+# CHECK: smmls r1, r2, r3, r4
+# CHECK: smmlsr r4, r3, r2, r1
+# CHECK: ite lo
+# CHECK: smmlslo r1, r2, r3, r4
+# CHECK: smmlsrhs r4, r3, r2, r1
+
+0x62 0xfb 0x03 0x41
+0x63 0xfb 0x12 0x14
+0x34 0xbf
+0x62 0xfb 0x03 0x41
+0x63 0xfb 0x12 0x14
+
+#------------------------------------------------------------------------------
+# SSAT
+#------------------------------------------------------------------------------
+# CHECK: ssat r9, #30, r0, asr #2
+
+0x20 0xf3 0x9d 0x09
+
+#------------------------------------------------------------------------------
+# STR (immediate)
+#------------------------------------------------------------------------------
+# CHECK: str r10, [r11], #0
+
+0x4b 0xf8 0x00 0xab
+
+#------------------------------------------------------------------------------
+# STRD (immediate)
+#------------------------------------------------------------------------------
+# CHECK: strd r1, r1, [r0], #0
+# CHECK: strd r6, r3, [r5], #-8
+# CHECK: strd r8, r5, [r5], #-0
+# CHECK: strd r7, r4, [r5], #-4
+# CHECK: strd r0, r1, [r2, #-0]!
+# CHECK: strd r0, r1, [r2, #0]!
+# CHECK: strd r0, r1, [r2, #-0]
+
+0xe0 0xe8 0x00 0x11
+0x65 0xe8 0x02 0x63
+0x65 0xe8 0x00 0x85
+0x65 0xe8 0x01 0x74
+0x62 0xe9 0x00 0x01
+0xe2 0xe9 0x00 0x01
+0x42 0xe9 0x00 0x01
+
+#------------------------------------------------------------------------------
+# STREX/STREXB/STREXH/STREXD
+#------------------------------------------------------------------------------
+# CHECK: strex r1, r8, [r4]
+# CHECK: strex r8, r2, [r4]
+# CHECK: strex r2, r12, [sp, #128]
+# CHECK: strexb r5, r1, [r7]
+# CHECK: strexh r9, r7, [r12]
+# CHECK: strexd r9, r3, r6, [r4]
+
+0x44 0xe8 0x00 0x81
+0x44 0xe8 0x00 0x28
+0x4d 0xe8 0x20 0xc2
+0xc7 0xe8 0x45 0x1f
+0xcc 0xe8 0x59 0x7f
+0xc4 0xe8 0x79 0x36
+
+
+#------------------------------------------------------------------------------
+# STRH(immediate)
+#------------------------------------------------------------------------------
+# CHECK: strh r5, [r5, #-4]
+# CHECK: strh r5, [r6, #32]
+# CHECK: strh.w r5, [r6, #33]
+# CHECK: strh.w r5, [r6, #257]
+# CHECK: strh.w lr, [r7, #257]
+# CHECK: strh r5, [r8, #255]!
+# CHECK: strh r2, [r5, #4]!
+# CHECK: strh r1, [r4, #-4]!
+# CHECK: strh r1, [r4, #0]!
+# CHECK: strh lr, [r3], #255
+# CHECK: strh r9, [r2], #4
+# CHECK: strh r3, [sp], #-4
+
+0x25 0xf8 0x04 0x5c
+0x35 0x84
+0xa6 0xf8 0x21 0x50
+0xa6 0xf8 0x01 0x51
+0xa7 0xf8 0x01 0xe1
+0x28 0xf8 0xff 0x5f
+0x25 0xf8 0x04 0x2f
+0x24 0xf8 0x04 0x1d
+0x24 0xf8 0x00 0x1f
+0x23 0xf8 0xff 0xeb
+0x22 0xf8 0x04 0x9b
+0x2d 0xf8 0x04 0x39
+
+
+#------------------------------------------------------------------------------
+# STRH(register)
+#------------------------------------------------------------------------------
+# CHECK: strh.w r1, [r8, r1]
+# CHECK: strh.w r4, [r5, r2]
+# CHECK: strh.w r6, [r0, r2, lsl #3]
+# CHECK: strh.w r8, [r8, r2, lsl #2]
+# CHECK: strh.w r7, [sp, r2, lsl #1]
+# CHECK: strh.w r7, [sp, r2]
+
+0x28 0xf8 0x01 0x10
+0x25 0xf8 0x02 0x40
+0x20 0xf8 0x32 0x60
+0x28 0xf8 0x22 0x80
+0x2d 0xf8 0x12 0x70
+0x2d 0xf8 0x02 0x70
+
+
+#------------------------------------------------------------------------------
+# STRHT
+#------------------------------------------------------------------------------
+# CHECK: strht r1, [r2]
+# CHECK: strht r1, [r8]
+# CHECK: strht r1, [r8, #3]
+# CHECK: strht r1, [r8, #255]
+
+0x22 0xf8 0x00 0x1e
+0x28 0xf8 0x00 0x1e
+0x28 0xf8 0x03 0x1e
+0x28 0xf8 0xff 0x1e
+
+
+#------------------------------------------------------------------------------
+# STRT
+#------------------------------------------------------------------------------
+# CHECK: strt r1, [r2]
+# CHECK: strt r1, [r8]
+# CHECK: strt r1, [r8, #3]
+# CHECK: strt r1, [r8, #255]
+
+0x42 0xf8 0x00 0x1e
+0x48 0xf8 0x00 0x1e
+0x48 0xf8 0x03 0x1e
+0x48 0xf8 0xff 0x1e
+
+
+#------------------------------------------------------------------------------
+# SUB (immediate)
+#------------------------------------------------------------------------------
+# CHECK: itet eq
+# CHECK: subeq r1, r2, #4
+# CHECK: subwne r5, r3, #1023
+# CHECK: subweq r4, r5, #293
+# CHECK: sub.w r2, sp, #1024
+# CHECK: sub.w r2, r8, #65280
+# CHECK: subw r2, r3, #257
+# CHECK: sub.w r12, r6, #256
+# CHECK: subw r12, r6, #256
+# CHECK: subs.w r1, r2, #496
+# CHECK: subs pc, lr, #4
+
+0x0a 0xbf
+0x11 0x1f
+0xa3 0xf2 0xff 0x35
+0xa5 0xf2 0x25 0x14
+0xad 0xf5 0x80 0x62
+0xa8 0xf5 0x7f 0x42
+0xa3 0xf2 0x01 0x12
+0xa6 0xf5 0x80 0x7c
+0xa6 0xf2 0x00 0x1c
+0xb2 0xf5 0xf8 0x71
+0xde 0xf3 0x04 0x8f
+
+
+#------------------------------------------------------------------------------
+# SUB (register)
+#------------------------------------------------------------------------------
+# CHECK: sub.w r4, r5, r6
+# CHECK: sub.w r4, r5, r6, lsl #5
+# CHECK: sub.w r4, r5, r6, lsr #5
+# CHECK: sub.w r4, r5, r6, lsr #5
+# CHECK: sub.w r4, r5, r6, asr #5
+# CHECK: sub.w r4, r5, r6, ror #5
+# CHECK: sub.w r5, r2, r12, rrx
+
+0xa5 0xeb 0x06 0x04
+0xa5 0xeb 0x46 0x14
+0xa5 0xeb 0x56 0x14
+0xa5 0xeb 0x56 0x14
+0xa5 0xeb 0x66 0x14
+0xa5 0xeb 0x76 0x14
+0xa2 0xeb 0x3c 0x05
+
+
+#------------------------------------------------------------------------------
+# SVC
+#------------------------------------------------------------------------------
+# CHECK: svc #0
+# CHECK: ite eq
+# CHECK: svceq #255
+# CHECK: svcne #33
+
+0x00 0xdf
+0x0c 0xbf
+0xff 0xdf
+0x21 0xdf
+
+#------------------------------------------------------------------------------
+# SXTAB
+#------------------------------------------------------------------------------
+# CHECK:  sxtab r2, r3, r4
+# CHECK:  sxtab r4, r5, r6
+# CHECK:  it lt
+# CHECK:  sxtablt r6, r2, r9, ror #8
+# CHECK:  sxtab r5, r1, r4, ror #16
+# CHECK:  sxtab r7, r8, r3, ror #24
+
+0x43 0xfa 0x84 0xf2
+0x45 0xfa 0x86 0xf4
+0xb8 0xbf
+0x42 0xfa 0x99 0xf6
+0x41 0xfa 0xa4 0xf5
+0x48 0xfa 0xb3 0xf7
+
+
+#------------------------------------------------------------------------------
+# SXTAB16
+#------------------------------------------------------------------------------
+# CHECK:  sxtab16 r6, r2, r7
+# CHECK:  sxtab16 r3, r5, r8, ror #8
+# CHECK:  sxtab16 r3, r2, r1, ror #16
+# CHECK:  ite ne
+# CHECK:  sxtab16ne r0, r1, r4
+# CHECK:  sxtab16eq r1, r2, r3, ror #24
+
+0x22 0xfa 0x87 0xf6
+0x25 0xfa 0x98 0xf3
+0x22 0xfa 0xa1 0xf3
+0x14 0xbf
+0x21 0xfa 0x84 0xf0
+0x22 0xfa 0xb3 0xf1
+
+
+#------------------------------------------------------------------------------
+# SXTAH
+#------------------------------------------------------------------------------
+# CHECK:  sxtah r1, r3, r9
+# CHECK:  sxtah r3, r8, r3, ror #8
+# CHECK:  sxtah r9, r3, r3, ror #24
+# CHECK:  ite hi
+# CHECK:  sxtahhi r6, r1, r6
+# CHECK:  sxtahls r2, r2, r4, ror #16
+
+0x03 0xfa 0x89 0xf1
+0x08 0xfa 0x93 0xf3
+0x03 0xfa 0xb3 0xf9
+0x8c 0xbf
+0x01 0xfa 0x86 0xf6
+0x02 0xfa 0xa4 0xf2
+
+
+#------------------------------------------------------------------------------
+# SXTB
+#------------------------------------------------------------------------------
+# CHECK:  sxtb r5, r6
+# CHECK:  sxtb.w r6, r9, ror #8
+# CHECK:  sxtb.w r8, r3, ror #24
+# CHECK:  ite ge
+# CHECK:  sxtbge r2, r4
+# CHECK:  sxtblt.w r5, r1, ror #16
+
+0x75 0xb2
+0x4f 0xfa 0x99 0xf6
+0x4f 0xfa 0xb3 0xf8
+0xac 0xbf
+0x62 0xb2
+0x4f 0xfa 0xa1 0xf5
+
+
+#------------------------------------------------------------------------------
+# SXTB16
+#------------------------------------------------------------------------------
+# CHECK:  sxtb16 r1, r4
+# CHECK:  sxtb16 r6, r7
+# CHECK:  sxtb16 r3, r1, ror #16
+# CHECK:  ite hs
+# CHECK:  sxtb16hs r3, r5, ror #8
+# CHECK:  sxtb16lo r2, r3, ror #24
+
+0x2f 0xfa 0x84 0xf1
+0x2f 0xfa 0x87 0xf6
+0x2f 0xfa 0xa1 0xf3
+0x2c 0xbf
+0x2f 0xfa 0x95 0xf3
+0x2f 0xfa 0xb3 0xf2
+
+
+#------------------------------------------------------------------------------
+# SXTH
+#------------------------------------------------------------------------------
+# CHECK:  sxth r1, r6
+# CHECK:  sxth.w r3, r8, ror #8
+# CHECK:  sxth.w r9, r3, ror #24
+# CHECK:  itt ne
+# CHECK:  sxthne.w r3, r9
+# CHECK:  sxthne.w r2, r2, ror #16
+
+0x31 0xb2
+0x0f 0xfa 0x98 0xf3
+0x0f 0xfa 0xb3 0xf9
+0x1c 0xbf
+0x0f 0xfa 0x89 0xf3
+0x0f 0xfa 0xa2 0xf2
+
+
+#------------------------------------------------------------------------------
+# SXTB
+#------------------------------------------------------------------------------
+# CHECK:  sxtb r5, r6
+# CHECK:  sxtb.w r6, r9, ror #8
+# CHECK:  sxtb.w r8, r3, ror #24
+# CHECK:  ite ge
+# CHECK:  sxtbge r2, r4
+# CHECK:  sxtblt.w r5, r1, ror #16
+
+0x75 0xb2
+0x4f 0xfa 0x99 0xf6
+0x4f 0xfa 0xb3 0xf8
+0xac 0xbf
+0x62 0xb2
+0x4f 0xfa 0xa1 0xf5
+
+
+#------------------------------------------------------------------------------
+# SXTB16
+#------------------------------------------------------------------------------
+# CHECK:  sxtb16 r1, r4
+# CHECK:  sxtb16 r6, r7
+# CHECK:  sxtb16 r3, r1, ror #16
+# CHECK:  ite hs
+# CHECK:  sxtb16hs r3, r5, ror #8
+# CHECK:  sxtb16lo r2, r3, ror #24
+
+0x2f 0xfa 0x84 0xf1
+0x2f 0xfa 0x87 0xf6
+0x2f 0xfa 0xa1 0xf3
+0x2c 0xbf
+0x2f 0xfa 0x95 0xf3
+0x2f 0xfa 0xb3 0xf2
+
+
+#------------------------------------------------------------------------------
+# SXTH
+#------------------------------------------------------------------------------
+# CHECK:  sxth r1, r6
+# CHECK:  sxth.w r3, r8, ror #8
+# CHECK:  sxth.w r9, r3, ror #24
+# CHECK:  itt ne
+# CHECK:  sxthne.w r3, r9
+# CHECK:  sxthne.w r2, r2, ror #16
+
+0x31 0xb2
+0x0f 0xfa 0x98 0xf3
+0x0f 0xfa 0xb3 0xf9
+0x1c 0xbf
+0x0f 0xfa 0x89 0xf3
+0x0f 0xfa 0xa2 0xf2
+
+
+#------------------------------------------------------------------------------
+# TBB/TBH
+#------------------------------------------------------------------------------
+# CHECK:  tbb [r3, r8]
+# CHECK:  tbh [r3, r8, lsl #1]
+# CHECK:  it eq
+# CHECK:  tbbeq [r3, r8]
+# CHECK:  it hs
+# CHECK:  tbhhs [r3, r8, lsl #1]
+
+0xd3 0xe8 0x08 0xf0
+0xd3 0xe8 0x18 0xf0
+0x08 0xbf
+0xd3 0xe8 0x08 0xf0
+0x28 0xbf
+0xd3 0xe8 0x18 0xf0
+
+
+#------------------------------------------------------------------------------
+# TEQ
+#------------------------------------------------------------------------------
+# CHECK:  teq.w r5, #61440
+# CHECK:  teq.w r4, r5
+# CHECK:  teq.w r4, r5, lsl #5
+# CHECK:  teq.w r4, r5, lsr #5
+# CHECK:  teq.w r4, r5, lsr #5
+# CHECK:  teq.w r4, r5, asr #5
+# CHECK:  teq.w r4, r5, ror #5
+
+0x95 0xf4 0x70 0x4f
+0x94 0xea 0x05 0x0f
+0x94 0xea 0x45 0x1f
+0x94 0xea 0x55 0x1f
+0x94 0xea 0x55 0x1f
+0x94 0xea 0x65 0x1f
+0x94 0xea 0x75 0x1f
+
+
+#------------------------------------------------------------------------------
+# TST
+#------------------------------------------------------------------------------
+# CHECK:  tst.w r5, #61440
+# CHECK:  tst r2, r5
+# CHECK:  tst.w r3, r12, lsl #5
+# CHECK:  tst.w r4, r11, lsr #4
+# CHECK:  tst.w r5, r10, lsr #12
+# CHECK:  tst.w r6, r9, asr #30
+# CHECK:  tst.w r7, r8, ror #2
+
+0x15 0xf4 0x70 0x4f
+0x2a 0x42
+0x13 0xea 0x4c 0x1f
+0x14 0xea 0x1b 0x1f
+0x15 0xea 0x1a 0x3f
+0x16 0xea 0xa9 0x7f
+0x17 0xea 0xb8 0x0f
+
+
+#------------------------------------------------------------------------------
+# UADD16/UADD8
+#------------------------------------------------------------------------------
+# CHECK:  uadd16 r1, r2, r3
+# CHECK:  uadd8 r1, r2, r3
+# CHECK:  ite gt
+# CHECK:  uadd16gt r1, r2, r3
+# CHECK:  uadd8le r1, r2, r3
+
+0x92 0xfa 0x43 0xf1
+0x82 0xfa 0x43 0xf1
+0xcc 0xbf
+0x92 0xfa 0x43 0xf1
+0x82 0xfa 0x43 0xf1
+
+
+#------------------------------------------------------------------------------
+# UASX
+#------------------------------------------------------------------------------
+# CHECK:  uasx r9, r12, r0
+# CHECK:  it eq
+# CHECK:  uasxeq r9, r12, r0
+# CHECK:  uasx r9, r12, r0
+# CHECK:  it eq
+# CHECK:  uasxeq r9, r12, r0
+
+0xac 0xfa 0x40 0xf9
+0x08 0xbf
+0xac 0xfa 0x40 0xf9
+0xac 0xfa 0x40 0xf9
+0x08 0xbf
+0xac 0xfa 0x40 0xf9
+
+
+#------------------------------------------------------------------------------
+# UBFX
+#------------------------------------------------------------------------------
+# CHECK:  ubfx r4, r5, #16, #1
+# CHECK:  it gt
+# CHECK:  ubfxgt r4, r5, #16, #16
+
+0xc5 0xf3 0x00 0x44
+0xc8 0xbf
+0xc5 0xf3 0x0f 0x44
+
+
+#------------------------------------------------------------------------------
+# UHADD16/UHADD8
+#------------------------------------------------------------------------------
+# CHECK:  uhadd16 r4, r8, r2
+# CHECK:  uhadd8 r4, r8, r2
+# CHECK:  itt gt
+# CHECK:  uhadd16gt r4, r8, r2
+# CHECK:  uhadd8gt r4, r8, r2
+
+0x98 0xfa 0x62 0xf4
+0x88 0xfa 0x62 0xf4
+0xc4 0xbf
+0x98 0xfa 0x62 0xf4
+0x88 0xfa 0x62 0xf4
+
+
+#------------------------------------------------------------------------------
+# UHASX/UHSAX
+#------------------------------------------------------------------------------
+# CHECK:  uhasx r4, r1, r5
+# CHECK:  uhsax r5, r6, r6
+# CHECK:  itt gt
+# CHECK:  uhasxgt r6, r9, r8
+# CHECK:  uhsaxgt r7, r8, r12
+
+0xa1 0xfa 0x65 0xf4
+0xe6 0xfa 0x66 0xf5
+0xc4 0xbf
+0xa9 0xfa 0x68 0xf6
+0xe8 0xfa 0x6c 0xf7
+
+#------------------------------------------------------------------------------
+# UHSUB16/UHSUB8
+#------------------------------------------------------------------------------
+# CHECK:  uhsub16 r5, r8, r3
+# CHECK:  uhsub8 r1, r7, r6
+# CHECK:  itt lt
+# CHECK:  uhsub16lt r4, r9, r12
+# CHECK:  uhsub8lt r3, r1, r5
+
+0xd8 0xfa 0x63 0xf5
+0xc7 0xfa 0x66 0xf1
+0xbc 0xbf
+0xd9 0xfa 0x6c 0xf4
+0xc1 0xfa 0x65 0xf3
+
+
+#------------------------------------------------------------------------------
+# UMAAL
+#------------------------------------------------------------------------------
+# CHECK:  umaal r3, r4, r5, r6
+# CHECK:  it lt
+# CHECK:  umaallt r3, r4, r5, r6
+
+0xe5 0xfb 0x66 0x34
+0xb8 0xbf
+0xe5 0xfb 0x66 0x34
+
+
+#------------------------------------------------------------------------------
+# UMLAL
+#------------------------------------------------------------------------------
+# CHECK:  umlal r2, r4, r6, r8
+# CHECK:  it gt
+# CHECK:  umlalgt r6, r1, r2, r6
+
+0xe6 0xfb 0x08 0x24
+0xc8 0xbf
+0xe2 0xfb 0x06 0x61
+
+
+#------------------------------------------------------------------------------
+# UMULL
+#------------------------------------------------------------------------------
+# CHECK:  umull r2, r4, r6, r8
+# CHECK:  it gt
+# CHECK:  umullgt r6, r1, r2, r6
+
+0xa6 0xfb 0x08 0x24
+0xc8 0xbf
+0xa2 0xfb 0x06 0x61
+
+
+#------------------------------------------------------------------------------
+# UQADD16/UQADD8
+#------------------------------------------------------------------------------
+# CHECK:  uqadd16 r1, r2, r3
+# CHECK:  uqadd8 r3, r4, r8
+# CHECK:  ite gt
+# CHECK:  uqadd16gt r4, r7, r9
+# CHECK:  uqadd8le r8, r1, r2
+
+0x92 0xfa 0x53 0xf1
+0x84 0xfa 0x58 0xf3
+0xcc 0xbf
+0x97 0xfa 0x59 0xf4
+0x81 0xfa 0x52 0xf8
+
+
+#------------------------------------------------------------------------------
+# UQASX/UQSAX
+#------------------------------------------------------------------------------
+# CHECK:  uqasx r1, r2, r3
+# CHECK:  uqsax r3, r4, r8
+# CHECK:  ite gt
+# CHECK:  uqasxgt r4, r7, r9
+# CHECK:  uqsaxle r8, r1, r2
+
+0xa2 0xfa 0x53 0xf1
+0xe4 0xfa 0x58 0xf3
+0xcc 0xbf
+0xa7 0xfa 0x59 0xf4
+0xe1 0xfa 0x52 0xf8
+
+
+#------------------------------------------------------------------------------
+# UQSUB16/UQSUB8
+#------------------------------------------------------------------------------
+# CHECK:  uqsub8 r8, r2, r9
+# CHECK:  uqsub16 r1, r9, r7
+# CHECK:  ite gt
+# CHECK:  uqsub8gt r3, r1, r6
+# CHECK:  uqsub16le r4, r6, r4
+
+0xc2 0xfa 0x59 0xf8
+0xd9 0xfa 0x57 0xf1
+0xcc 0xbf
+0xc1 0xfa 0x56 0xf3
+0xd6 0xfa 0x54 0xf4
+
+
+#------------------------------------------------------------------------------
+# UQSUB16/UQSUB8
+#------------------------------------------------------------------------------
+# CHECK:  usad8 r1, r9, r7
+# CHECK:  usada8 r8, r2, r9, r12
+# CHECK:  ite gt
+# CHECK:  usada8gt r3, r1, r6, r9
+# CHECK:  usad8le r4, r6, r4
+
+0x79 0xfb 0x07 0xf1
+0x72 0xfb 0x09 0xc8
+0xcc 0xbf
+0x71 0xfb 0x06 0x93
+0x76 0xfb 0x04 0xf4
+
+
+#------------------------------------------------------------------------------
+# USAT
+#------------------------------------------------------------------------------
+# CHECK:  usat r8, #1, r10
+# CHECK:  usat r8, #4, r10
+# CHECK:  usat r8, #5, r10, lsl #31
+# CHECK:  usat r8, #16, r10, asr #1
+
+0x8a 0xf3 0x01 0x08
+0x8a 0xf3 0x04 0x08
+0x8a 0xf3 0xc5 0x78
+0xaa 0xf3 0x50 0x08
+
+
+#------------------------------------------------------------------------------
+# USAT16
+#------------------------------------------------------------------------------
+# CHECK:  usat16       r2, #2, r7
+# CHECK:  usat16       r3, #15, r5
+
+0xa7 0xf3 0x02 0x02
+0xa5 0xf3 0x0f 0x03
+
+
+#------------------------------------------------------------------------------
+# USAX
+#------------------------------------------------------------------------------
+# CHECK:  usax r2, r3, r4
+# CHECK:  it ne
+# CHECK:  usaxne r6, r1, r9
+# CHECK:  usax r2, r3, r4
+# CHECK:  it ne
+# CHECK:  usaxne r6, r1, r9
+
+0xe3 0xfa 0x44 0xf2
+0x18 0xbf
+0xe1 0xfa 0x49 0xf6
+0xe3 0xfa 0x44 0xf2
+0x18 0xbf
+0xe1 0xfa 0x49 0xf6
+
+
+#------------------------------------------------------------------------------
+# USUB16/USUB8
+#------------------------------------------------------------------------------
+# CHECK:  usub16 r4, r2, r7
+# CHECK:  usub8 r1, r8, r5
+# CHECK:  ite hi
+# CHECK:  usub16hi r1, r1, r3
+# CHECK:  usub8ls r9, r2, r3
+
+0xd2 0xfa 0x47 0xf4
+0xc8 0xfa 0x45 0xf1
+0x8c 0xbf
+0xd1 0xfa 0x43 0xf1
+0xc2 0xfa 0x43 0xf9
+
+
+#------------------------------------------------------------------------------
+# UXTAB
+#------------------------------------------------------------------------------
+# CHECK:  uxtab r2, r3, r4
+# CHECK:  uxtab r4, r5, r6
+# CHECK:  it lt
+# CHECK:  uxtablt r6, r2, r9, ror #8
+# CHECK:  uxtab r5, r1, r4, ror #16
+# CHECK:  uxtab r7, r8, r3, ror #24
+
+0x53 0xfa 0x84 0xf2
+0x55 0xfa 0x86 0xf4
+0xb8 0xbf
+0x52 0xfa 0x99 0xf6
+0x51 0xfa 0xa4 0xf5
+0x58 0xfa 0xb3 0xf7
+
+
+#------------------------------------------------------------------------------
+# UXTAB16
+#------------------------------------------------------------------------------
+# CHECK:  it ge
+# CHECK:  uxtab16ge r0, r1, r4
+# CHECK:  uxtab16 r6, r2, r7
+# CHECK:  uxtab16 r3, r5, r8, ror #8
+# CHECK:  uxtab16 r3, r2, r1, ror #16
+# CHECK:  it eq
+# CHECK:  uxtab16eq r1, r2, r3, ror #24
+
+0xa8 0xbf
+0x31 0xfa 0x84 0xf0
+0x32 0xfa 0x87 0xf6
+0x35 0xfa 0x98 0xf3
+0x32 0xfa 0xa1 0xf3
+0x08 0xbf
+0x32 0xfa 0xb3 0xf1
+
+
+#------------------------------------------------------------------------------
+# UXTAH
+#------------------------------------------------------------------------------
+# CHECK:  uxtah r1, r3, r9
+# CHECK:  it hi
+# CHECK:  uxtahhi r6, r1, r6
+# CHECK:  uxtah r3, r8, r3, ror #8
+# CHECK:  it lo
+# CHECK:  uxtahlo r2, r2, r4, ror #16
+# CHECK:  uxtah r9, r3, r3, ror #24
+
+0x13 0xfa 0x89 0xf1
+0x88 0xbf
+0x11 0xfa 0x86 0xf6
+0x18 0xfa 0x93 0xf3
+0x38 0xbf
+0x12 0xfa 0xa4 0xf2
+0x13 0xfa 0xb3 0xf9
+
+
+#------------------------------------------------------------------------------
+# UXTB
+#------------------------------------------------------------------------------
+# CHECK:  it ge
+# CHECK:  uxtbge r2, r4
+# CHECK:  uxtb r5, r6
+# CHECK:  uxtb.w r6, r9, ror #8
+# CHECK:  it lo
+# CHECK:  uxtblo.w r5, r1, ror #16
+# CHECK:  uxtb.w r8, r3, ror #24
+
+0xa8 0xbf
+0xe2 0xb2
+0xf5 0xb2
+0x5f 0xfa 0x99 0xf6
+0x38 0xbf
+0x5f 0xfa 0xa1 0xf5
+0x5f 0xfa 0xb3 0xf8
+
+
+#------------------------------------------------------------------------------
+# UXTB16
+#------------------------------------------------------------------------------
+# CHECK:  uxtb16 r1, r4
+# CHECK:  uxtb16 r6, r7
+# CHECK:  it hs
+# CHECK:  uxtb16hs r3, r5, ror #8
+# CHECK:  uxtb16 r3, r1, ror #16
+# CHECK:  it ge
+# CHECK:  uxtb16ge r2, r3, ror #24
+
+0x3f 0xfa 0x84 0xf1
+0x3f 0xfa 0x87 0xf6
+0x28 0xbf
+0x3f 0xfa 0x95 0xf3
+0x3f 0xfa 0xa1 0xf3
+0xa8 0xbf
+0x3f 0xfa 0xb3 0xf2
+
+
+#------------------------------------------------------------------------------
+# UXTH
+#------------------------------------------------------------------------------
+# CHECK:  it ne
+# CHECK:  uxthne.w r3, r9
+# CHECK:  uxth r1, r6
+# CHECK:  uxth.w r3, r8, ror #8
+# CHECK:  it le
+# CHECK:  uxthle.w r2, r2, ror #16
+# CHECK:  uxth.w r9, r3, ror #24
+
+0x18 0xbf
+0x1f 0xfa 0x89 0xf3
+0xb1 0xb2
+0x1f 0xfa 0x98 0xf3
+0xd8 0xbf
+0x1f 0xfa 0xa2 0xf2
+0x1f 0xfa 0xb3 0xf9
+
+
+#------------------------------------------------------------------------------
+# WFE/WFI/YIELD
+#------------------------------------------------------------------------------
+# CHECK:  wfe
+# CHECK:  wfi
+# CHECK:  yield
+# CHECK:  itet lt
+# CHECK:  wfelt
+# CHECK:  wfige
+# CHECK:  yieldlt
+
+0x20 0xbf
+0x30 0xbf
+0x10 0xbf
+0xb6 0xbf
+0x20 0xbf
+0x30 0xbf
+0x10 0xbf
+
+#------------------------------------------------------------------------------
+# Unallocated hints (They execute as NOPs, but software must not use them.)
+#------------------------------------------------------------------------------
+# CHECK: hint #6
+# CHECK: hint.w #6
+# CHECK: hint.w #102
+
+0x60 0xbf
+0xaf 0xf3 0x06 0x80
+0xaf 0xf3 0x66 0x80