Correct operand naming of t2USAT16 to allow proper decoding.
[oota-llvm.git] / test / MC / Disassembler / ARM / thumb-tests.txt
index ce16f750cbd6265b255d11e0b6f3e93bad6e258b..144cb492ecdd35286af68789d49c3b4b1e0fbe73 100644 (file)
@@ -9,8 +9,11 @@
 # CHECK:       b       #30
 0x0f 0xe0
 
-# CHECK:       b.w     #-16
-0xff 0xf7 0xf8 0xaf
+# CHECK:       bgt.w   #-16
+0x3f 0xf7 0xf8 0xaf
+
+# CHECK:       bfc     r0, #10, #10
+0x6f 0xf3 0x93 0x20
 
 # CHECK:       bfi     r2, r10, #0, #1
 0x6a 0xf3 0x00 0x02
 # CHECK:       cmn.w   r0, #31
 0x10 0xf1 0x1f 0x0f
 
-# CHECK:       ldmia   r0!, {r1}
+# CHECK:       ldm     r0!, {r1}
 0x02 0xc8
 
+# CHECK:       ldr     r5, #432
+0x6c 0x4d
+
 # CHECK:       str     r0, [r3]
 0x18 0x60
 
@@ -42,8 +48,8 @@
 # CHECK:       ldrd    r0, r1, [r7, #64]!
 0xf7 0xe9 0x10 0x01
 
-# CHECK:       lsls.w  r0, pc, #1
-0x5f 0xea 0x4f 0x00
+# CHECK:       lsls.w  r0, r5, #1
+0x5f 0xea 0x45 0x00
 
 # CHECK:       mov     r11, r7
 0xbb 0x46
 # CHECK:       lsleq   r1, r0, #28
 0x01 0x07
 
-# CHECK:       stmiane r0!, {r1, r2, r3}
+# CHECK:       stmne   r0!, {r1, r2, r3}
 0x0e 0xc0
 
 # IT block end
 # CHECK: cpsie aif
 0x67 0xb6
 
-# CHECK: msr cpsr_fc, r0
+# CHECK: msr CPSR_fc, r0
 0x80 0xf3 0x00 0x89
 
 # CHECK: blx   #-4
 # CHECK:       stmdb.w sp, {r0, r2, r3, r8, r11, lr}
 0x0d 0xe9 0x0d 0x49
 
-# CHECK:       stmia   r5!, {r0, r1, r2, r3, r4}
+# CHECK:       stm     r5!, {r0, r1, r2, r3, r4}
 0x1f 0xc5
 
-# CHECK:       ldmia   r5, {r0, r1, r2, r3, r4, r5}
+# CHECK:       ldm     r5, {r0, r1, r2, r3, r4, r5}
 0x3f 0xcd
 
-# CHECK:       ldmia   r5!, {r0, r1, r2, r3, r4}
+# CHECK:       ldm     r5!, {r0, r1, r2, r3, r4}
 0x1f 0xcd
 
 # CHECK:       addw    r0, pc, #1050
 # CHECK:       ldrex   r8, [r2]
 0x52 0xe8 0x00 0x8f
 
+# CHECK:       ldrexd  r8, r9, [r2]
+0xd2 0xe8 0x7f 0x89
+
 # CHECK:       strexd  r1, r7, r8, [r2]
 0xc2 0xe8 0x71 0x78
+
+# CHECK:       tbh     [r5, r4, lsl #1]
+0xd5 0xe8 0x14 0xf0
+
+# CHECK:       tbb     [r5, r4]
+0xd5 0xe8 0x04 0xf0
+
+# CHECK:       ldr.w   r4, [sp, r4, lsl #3]
+0x5d 0xf8 0x34 0x40
+
+# CHECK:       ldr.w   r5, [r6, #30]
+0xd6 0xf8 0x1e 0x50
+
+# CHECK:       ldrh.w  r5, [r6, #30]
+0xb6 0xf8 0x1e 0x50
+
+# CHECK:       ldrt    r5, [r6, #30]
+0x56 0xf8 0x1e 0x5e
+
+# CHECK:       ldr     r5, [r6, #-30]
+0x56 0xf8 0x1e 0x5c
+
+# CHECK:       sel     r7, r3, r5
+0xa3 0xfa 0x85 0xf7
+
+# CHECK:       lsl.w   r7, r3, r5
+0x03 0xfa 0x05 0xf7
+
+# CHECK:       adds.w  r7, r3, r5
+0x13 0xeb 0x05 0x07
+
+# CHECK:       smlabt  r4, r3, r2, r1
+0x13 0xfb 0x12 0x14
+
+# CHECK:       smmulr  r7, r8, r9
+0x58 0xfb 0x19 0xf7
+
+# CHECK:       umull   r1, r2, r3, r4
+0xa3 0xfb 0x04 0x12
+
+# CHECK:       pld     [r5, r0, lsl #1]
+0x15 0xf8 0x10 0xf0
+
+# CHECK:       pld     [pc, #-16]
+0x1f 0xf8 0x10 0xf0
+
+# CHECK:       pld     [r5, #30]
+0x95 0xf8 0x1e 0xf0
+
+# CHECK:       stc2    p12, cr15, [r9], {137}
+0x89 0xfc 0x89 0xfc
+
+# CHECK:       vmov    r1, r0, d11
+0x50 0xec 0x1b 0x1b
+
+# CHECK:       dsb     nsh
+0xbf 0xf3 0x47 0x8f
+
+# CHECK:       isb
+0xbf 0xf3 0x6f 0x8f
+
+# CHECK:       asrs    r1, r0, #32
+0x1 0x10
+
+# CHECK:       lsr.w   r10, r0, #32
+0x4f 0xea 0x10 0x0a
+
+# CHECK:       blx     sp
+0xe8 0x47
+
+# CHECK:       bx      lr
+0x70 0x47
+
+# CHECK:       bx      pc
+0x78 0x47
+
+# CHECK:       svc     #230
+0xe6 0xdf
+
+# CHECK:       rfedb   lr
+0x1e 0xe8 0x00 0xc0
+
+# CHECK:       mov.w   r3, #4294967295
+0x4f 0xf0 0xff 0x33
+
+# CHECK:       mov     pc, sp
+0xef 0x46
+
+# CHECK:       nop
+0x00 0xbf
+
+# CHECK:       nop.w
+0xaf 0xf3 0x00 0x80
+
+# CHECK:       bne     #24
+0x0c 0xd1
+
+# CHECK:       vadd.f32        q0, q1, q2
+0x02 0xef 0x44 0x0d
+
+# CHECK:        ldrsb   r1, [r0, r0]
+0x01 0x56
+
+# CHECK:        ldrsh   r1, [r0, r0]
+0x01 0x5E
+
+# CHECK: and.w r5, r1, r10, ror #7
+0x1 0xea 0xfa 0x95
+
+# CHECK: ldrsh r6, [sp], #81
+0x3d 0xf9 0x51 0x6b
+
+# CHECK: usat16        r4, #10, r1
+0xa1 0xf3 0x2a 0x4