diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/MC/ARM/simple-fp-encoding.s | 14 | ||||
-rw-r--r-- | test/MC/Disassembler/ARM/fp-encoding.txt | 14 | ||||
-rw-r--r-- | test/MC/Disassembler/ARM/invalid-FSTMX-arm.txt | 8 |
3 files changed, 36 insertions, 0 deletions
diff --git a/test/MC/ARM/simple-fp-encoding.s b/test/MC/ARM/simple-fp-encoding.s index 2a22620..0561b44 100644 --- a/test/MC/ARM/simple-fp-encoding.s +++ b/test/MC/ARM/simple-fp-encoding.s @@ -289,6 +289,20 @@ vstmia r1, {s2,s3-s6,s7} vstmdb sp!, {q4-q7} + fldmiax r5!, {d0-d2} + fldmiaxeq r0, {d4,d5} + fldmdbxne r5!, {d4,d5,d6} +@ CHECK: fldmiax r5!, {d0, d1, d2} @ encoding: [0x07,0x0b,0xb5,0xec] +@ CHECK: fldmiaxeq r0, {d4, d5} @ encoding: [0x05,0x4b,0x90,0x0c] +@ CHECK: fldmdbxne r5!, {d4, d5, d6} @ encoding: [0x07,0x4b,0x35,0x1d] + + fstmiax r5!, {d0-d7} + fstmiaxeq r4, {d8,d9} + fstmdbxne r7!, {d2-d4} +@ CHECK: fstmiax r5!, {d0, d1, d2, d3, d4, d5, d6, d7} @ encoding: [0x11,0x0b,0xa5,0xec] +@ CHECK: fstmiaxeq r4, {d8, d9} @ encoding: [0x05,0x8b,0x84,0x0c] +@ CHECK: fstmdbxne r7!, {d2, d3, d4} @ encoding: [0x07,0x2b,0x27,0x1d] + @ CHECK: vcvtr.s32.f64 s0, d0 @ encoding: [0x40,0x0b,0xbd,0xee] @ CHECK: vcvtr.s32.f32 s0, s1 @ encoding: [0x60,0x0a,0xbd,0xee] @ CHECK: vcvtr.u32.f64 s0, d0 @ encoding: [0x40,0x0b,0xbc,0xee] diff --git a/test/MC/Disassembler/ARM/fp-encoding.txt b/test/MC/Disassembler/ARM/fp-encoding.txt index 8dedf80..531793d 100644 --- a/test/MC/Disassembler/ARM/fp-encoding.txt +++ b/test/MC/Disassembler/ARM/fp-encoding.txt @@ -221,6 +221,20 @@ # CHECK: vldmdbeq r5!, {s21, s22, s23} # CHECK: vldmdbeq r7!, {d14, d15, d16, d17} +0x0d 0x4b 0x96 0x0c +0x0f 0x3b 0xb7 0x0c +0x09 0x1b 0x38 0xed +# CHECK: fldmiaxeq r6, {d4, d5, d6, d7, d8, d9} +# CHECK: fldmiaxeq r7!, {d3, d4, d5, d6, d7, d8, d9} +# CHECK: fldmdbx r8!, {d1, d2, d3, d4} + +0x07 0x2b 0x83 0xec +0x05 0x5b 0xa3 0x0c +0x0f 0x3b 0x20 0x1d +# CHECK: fstmiax r3, {d2, d3, d4} +# CHECK: fstmiaxeq r3!, {d5, d6} +# CHECK: fstmdbxne r0!, {d3, d4, d5, d6, d7, d8, d9} + 0x04 0x7a 0xa6 0x0c 0x0c 0xfb 0xa4 0x0c 0x03 0xaa 0xf8 0x0c diff --git a/test/MC/Disassembler/ARM/invalid-FSTMX-arm.txt b/test/MC/Disassembler/ARM/invalid-FSTMX-arm.txt new file mode 100644 index 0000000..b81b4e8 --- /dev/null +++ b/test/MC/Disassembler/ARM/invalid-FSTMX-arm.txt @@ -0,0 +1,8 @@ +# RUN: llvm-mc --disassemble %s -triple=armv7 2>&1 | FileCheck %s -check-prefix=CHECK-WARN +# RUN: llvm-mc --disassemble %s -triple=armv7 2>&1 | FileCheck %s + +# offset=1 +# CHECK-WARN: potentially undefined +# CHECK-WARN: 0x01 0xdb 0x84 0xec +# CHECK: fstmiax r4, {d13} +0x01 0xdb 0x84 0xec |