diff options
Diffstat (limited to 'test/MC/Disassembler/ARM')
-rw-r--r-- | test/MC/Disassembler/ARM/arm-tests.txt | 117 | ||||
-rw-r--r-- | test/MC/Disassembler/ARM/dg.exp | 6 | ||||
-rw-r--r-- | test/MC/Disassembler/ARM/neon-tests.txt | 61 | ||||
-rw-r--r-- | test/MC/Disassembler/ARM/thumb-tests.txt | 105 |
4 files changed, 289 insertions, 0 deletions
diff --git a/test/MC/Disassembler/ARM/arm-tests.txt b/test/MC/Disassembler/ARM/arm-tests.txt new file mode 100644 index 0000000..31e4f13 --- /dev/null +++ b/test/MC/Disassembler/ARM/arm-tests.txt @@ -0,0 +1,117 @@ +# RUN: llvm-mc --disassemble %s -triple=arm-apple-darwin9 | FileCheck %s + +# CHECK: b #0 +0xfe 0xff 0xff 0xea + +# CHECK: bfc r8, #0, #16 +0x1f 0x80 0xcf 0xe7 + +# CHECK: bfi r8, r0, #16, #1 +0x10 0x88 0xd0 0xe7 + +# CHECK: cmn r0, #1 +0x01 0x00 0x70 0xe3 + +# CHECK: dmb +0x5f 0xf0 0x7f 0xf5 + +# CHECK: dmb nshst +0x56 0xf0 0x7f 0xf5 + +# CHECK: dsb +0x4f 0xf0 0x7f 0xf5 + +# CHECK: dsb st +0x4e 0xf0 0x7f 0xf5 + +# CHECK: isb +0x6f 0xf0 0x7f 0xf5 + +# CHECK: ldclvc p5, cr15, [r8], #-0 +0x00 0xf5 0x78 0x7c + +# CHECK: ldr r0, [r2], #15 +0x0f 0x00 0x92 0xe4 + +# CHECK: ldrh r0, [r2], #0 +0xb0 0x00 0xd2 0xe0 + +# CHECK: ldrht r0, [r2], #15 +0xbf 0x00 0xf2 0xe0 + +# CHECK: ldrsbtvs lr, [r2], -r9 +0xd9 0xe9 0x32 0x60 + +# CHECK: lsls r0, r2, #31 +0x82 0x0f 0xb0 0xe1 + +# CHECK: mcr2 p0, #0, r2, cr1, cr0, #7 +0xf0 0x20 0x01 0xfe + +# CHECK: movt r8, #65535 +0xff 0x8f 0x4f 0xe3 + +# CHECK: mvnspl r7, #245, 2 +0xf5 0x71 0xf0 0x53 + +# CHECK-NOT: orr r7, r8, r7, rrx #0 +# CHECK: orr r7, r8, r7, rrx +0x67 0x70 0x88 0xe1 + +# CHECK: pkhbt r8, r9, r10, lsl #4 +0x1a 0x82 0x89 0xe6 + +# CHECK-NOT: pkhbtls pc, r11, r11, lsl #0 +# CHECK: pkhbtls pc, r11, r11 +0x1b 0xf0 0x8b 0x96 + +# CHECK: pop {r0, r2, r4, r6, r8, r10} +0x55 0x05 0xbd 0xe8 + +# CHECK: push {r0, r2, r4, r6, r8, r10} +0x55 0x05 0x2d 0xe9 + +# CHECK: qsax r8, r9, r10 +0x5a 0x8f 0x29 0xe6 + +# CHECK: rfedb r0! +0x00 0x0a 0x30 0xf9 + +# CHECK-NOT: rsbeq r0, r2, r0, lsl #0 +# CHECK: rsbeq r0, r2, r0 +0x00 0x00 0x62 0x00 + +# CHECK-NOT: rscseq r0, r0, r1, lsl #0 +# CHECK: rscseq r0, r0, r1 +0x01 0x00 0xf0 0x00 + +# CHECK: sbcs r0, pc, #1 +0x01 0x00 0xdf 0xe2 + +# CHECK: sbfx r0, r1, #0, #8 +0x51 0x00 0xa7 0xe7 + +# CHECK: ssat r8, #1, r10, lsl #8 +0x1a 0x84 0xa0 0xe6 + +# CHECK-NOT: ssatmi r0, #17, r12, lsl #0 +# CHECK: ssatmi r0, #17, r12 +0x1c 0x00 0xb0 0x46 + +# CHECK: stmdb r10!, {r4, r5, r6, r7, lr} +0xf0 0x40 0x2a 0xe9 + +# CHECK: teq r0, #31 +0x1f 0x00 0x30 0xe3 + +# CHECK: ubfx r0, r0, #16, #1 +0x50 0x08 0xe0 0xe7 + +# CHECK: usat r8, #0, r10, asr #32 +0x5a 0x80 0xe0 0xe6 + +# CHECK: setend be +0x00 0x02 0x01 0xf1 + +# CHECK: setend le +0x00 0x00 0x01 0xf1 diff --git a/test/MC/Disassembler/ARM/dg.exp b/test/MC/Disassembler/ARM/dg.exp new file mode 100644 index 0000000..fc2f17a --- /dev/null +++ b/test/MC/Disassembler/ARM/dg.exp @@ -0,0 +1,6 @@ +load_lib llvm.exp + +if { [llvm_supports_target ARM] } { + RunLLVMTests [lsort [glob -nocomplain $srcdir/$subdir/*.{txt}]] +} + diff --git a/test/MC/Disassembler/ARM/neon-tests.txt b/test/MC/Disassembler/ARM/neon-tests.txt new file mode 100644 index 0000000..eb9adb7 --- /dev/null +++ b/test/MC/Disassembler/ARM/neon-tests.txt @@ -0,0 +1,61 @@ +# RUN: llvm-mc --disassemble %s -triple=arm-apple-darwin9 | FileCheck %s + +# CHECK: vbif q15, q7, q0 +0x50 0xe1 0x7e 0xf3 + +# CHECK: vcvt.f32.s32 q15, q0, #1 +0x50 0xee 0xff 0xf2 + +# CHECK: vdup.32 q3, d1[0] +0x41 0x6c 0xb4 0xf3 + +# CHECK: vld1.8 {d17, d18}, [r6], r5 +0x05 0x1a 0x66 0xf4 + +# CHECK: vld1.8 {d17, d18, d19}, [r6], r5 +0x05 0x16 0x66 0xf4 + +# CHECK: vld4.8 {d0, d1, d2, d3}, [r2], r7 +0x07 0x00 0x22 0xf4 + +# CHECK: vld4.8 {d4, d6, d8, d10}, [r2] +0x0f 0x41 0x22 0xf4 + +# CHECK: vmov d0, d15 +0x1f 0x01 0x2f 0xf2 + +# CHECK: vmov.i64 q6, #0xFF00FF00FF +0x75 0xce 0x81 0xf2 + +# CHECK: vmvn.i32 d0, #0x0 +0x30 0x00 0x80 0xf2 + +# CHECK: vmul.f32 d0, d0, d6 +0x16 0x0d 0x00 0xf3 + +# CHECK: vneg.f32 q0, q0 +0xc0 0x07 0xb9 0xf3 + +# CHECK: vqrdmulh.s32 d0, d0, d3[1] +0x63 0x0d 0xa0 0xf2 + +# CHECK: vrshr.s32 d0, d0, #16 +0x10 0x02 0xb0 0xf2 + +# CHECK: vshll.i16 q3, d1, #16 +0x01 0x63 0xb6 0xf3 + +# CHECK: vsri.32 q15, q0, #1 +0x50 0xe4 0xff 0xf3 + +# CHECK: vtbx.8 d18, {d4, d5, d6}, d7 +0x47 0x2a 0xf4 0xf3 + +# CHECK: vmov.f32 s0, #5.000000e-01 +0x00 0x0a 0xb6 0xee + +# CHECK: vmov.f32 s0, #1.328125e-01 +0x01 0x0a 0xb4 0xee + +# CHECK: vmov.f64 d0, #5.000000e-01 +0x00 0x0b 0xb6 0xee diff --git a/test/MC/Disassembler/ARM/thumb-tests.txt b/test/MC/Disassembler/ARM/thumb-tests.txt new file mode 100644 index 0000000..06d12fe --- /dev/null +++ b/test/MC/Disassembler/ARM/thumb-tests.txt @@ -0,0 +1,105 @@ +# RUN: llvm-mc --disassemble %s -triple=thumb-apple-darwin9 | FileCheck %s + +# CHECK: add r5, sp, #68 +0x11 0xad + +# CHECK: adcs r0, r0, #1 +0x50 0xf1 0x01 0x00 + +# CHECK: b #34 +0x0f 0xe0 + +# CHECK: b.w #-12 +0xff 0xf7 0xf8 0xaf + +# CHECK: bfi r2, r10, #0, #1 +0x6a 0xf3 0x00 0x02 + +# CHECK: cbnz r7, #20 +0x57 0xb9 + +# CHECK: cmp r3, r4 +0xa3 0x42 + +# CHECK: cmn.w r0, #31 +0x10 0xf1 0x1f 0x0f + +# CHECK: ldmia r0!, {r1} +0x02 0xc8 + +# CHECK: ldrb.w r8, #-24 +0x1f 0xf8 0x18 0x80 + +# CHECK: ldrd r0, r1, [r7, #64]! +0xf7 0xe9 0x10 0x01 + +# CHECK: lsls.w r0, pc, #1 +0x5f 0xea 0x4f 0x00 + +# CHECK: mov r11, r7 +0xbb 0x46 + +# CHECK: pkhtb r2, r4, r6, asr #16 +0xc4 0xea 0x26 0x42 + +# CHECK-NOT: pkhbt r2, r4, r6, lsl #0 +# CHECK: pkhbt r2, r4, r6 +0xc4 0xea 0x06 0x02 + +# CHECK: pop {r2, r4, r6, r8, r10, r12} +0xbd 0xe8 0x54 0x15 + +# CHECK: push {r2, r4, r6, r8, r10, r12} +0x2d 0xe9 0x54 0x15 + +# CHECK: rsbs r0, r0, #0 +0x40 0x42 + +# CHECK-NOT: rsb r0, r2, r0, lsl #0 +# CHECK: rsb r0, r2, r0 +0xc2 0xeb 0x00 0x00 + +# CHECK-NOT: ssat r0, #17, r12, lsl #0 +# CHECK: ssat r0, #17, r12 +0x0c 0xf3 0x10 0x00 + +# CHECK: strd r0, [r7, #64] +0xc7 0xe9 0x10 0x01 + +# CHECK: sub sp, #60 +0x8f 0xb0 + +# CHECK: subw r0, pc, #1 +0xaf 0xf2 0x01 0x00 + +# CHECK: subw r0, sp, #835 +0xad 0xf2 0x43 0x30 + +# CHECK: uqadd16 r3, r4, r5 +0x94 0xfa 0x55 0xf3 + +# CHECK: usada8 r5, r4, r3, r2 +0x74 0xfb 0x03 0x25 + +# CHECK: uxtab16 r1, r2, r3, ror #8 +0x32 0xfa 0x93 0xf1 + +# IT block begin +# CHECK: ittte eq +0x03 0xbf + +# CHECK: moveq r3, #3 +0x03 0x23 + +# CHECK: asreq r1, r0, #5 +0x41 0x11 + +# CHECK: lsleq r1, r0, #28 +0x01 0x07 + +# CHECK: stmiane r0!, {r1, r2, r3} +0x0e 0xc0 + +# IT block end +# CHECK: rsbs r1, r2, #0 +0x51 0x42 |