diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/MC/ARM/vmov-vmvn-byte-replicate.s | 31 | ||||
-rw-r--r-- | test/MC/ARM/vmov-vmvn-illegal-cases.s | 30 | ||||
-rw-r--r-- | test/MC/ARM/vorr-vbic-illegal-cases.s | 42 |
3 files changed, 103 insertions, 0 deletions
diff --git a/test/MC/ARM/vmov-vmvn-byte-replicate.s b/test/MC/ARM/vmov-vmvn-byte-replicate.s new file mode 100644 index 0000000000..5931160afb --- /dev/null +++ b/test/MC/ARM/vmov-vmvn-byte-replicate.s @@ -0,0 +1,31 @@ +@ PR18921, "vmov" part. +@ RUN: llvm-mc -triple=armv7-linux-gnueabi -show-encoding < %s | FileCheck %s +.text + +@ CHECK: vmov.i8 d2, #0xff @ encoding: [0x1f,0x2e,0x87,0xf3] +@ CHECK: vmov.i8 q2, #0xff @ encoding: [0x5f,0x4e,0x87,0xf3] +@ CHECK: vmov.i8 d2, #0xab @ encoding: [0x1b,0x2e,0x82,0xf3] +@ CHECK: vmov.i8 q2, #0xab @ encoding: [0x5b,0x4e,0x82,0xf3] +@ CHECK: vmov.i8 q2, #0xab @ encoding: [0x5b,0x4e,0x82,0xf3] +@ CHECK: vmov.i8 q2, #0xab @ encoding: [0x5b,0x4e,0x82,0xf3] + +@ CHECK: vmov.i8 d2, #0x0 @ encoding: [0x10,0x2e,0x80,0xf2] +@ CHECK: vmov.i8 q2, #0x0 @ encoding: [0x50,0x4e,0x80,0xf2] +@ CHECK: vmov.i8 d2, #0x54 @ encoding: [0x14,0x2e,0x85,0xf2] +@ CHECK: vmov.i8 q2, #0x54 @ encoding: [0x54,0x4e,0x85,0xf2] +@ CHECK: vmov.i8 d2, #0x54 @ encoding: [0x14,0x2e,0x85,0xf2] +@ CHECK: vmov.i8 q2, #0x54 @ encoding: [0x54,0x4e,0x85,0xf2] + + vmov.i32 d2, #0xffffffff + vmov.i32 q2, #0xffffffff + vmov.i32 d2, #0xabababab + vmov.i32 q2, #0xabababab + vmov.i16 q2, #0xabab + vmov.i16 q2, #0xabab + + vmvn.i32 d2, #0xffffffff + vmvn.i32 q2, #0xffffffff + vmvn.i32 d2, #0xabababab + vmvn.i32 q2, #0xabababab + vmvn.i16 d2, #0xabab + vmvn.i16 q2, #0xabab diff --git a/test/MC/ARM/vmov-vmvn-illegal-cases.s b/test/MC/ARM/vmov-vmvn-illegal-cases.s new file mode 100644 index 0000000000..4609b77935 --- /dev/null +++ b/test/MC/ARM/vmov-vmvn-illegal-cases.s @@ -0,0 +1,30 @@ +@ RUN: not llvm-mc -triple=armv7-linux-gnueabi %s 2>&1 | FileCheck %s +.text + +@ CHECK: error: invalid operand for instruction +@ CHECK: vmov.i32 d2, #0xffffffab +@ CHECK: error: invalid operand for instruction +@ CHECK: vmov.i32 q2, #0xffffffab +@ CHECK: error: invalid operand for instruction +@ CHECK: vmov.i16 q2, #0xffab +@ CHECK: error: invalid operand for instruction +@ CHECK: vmov.i16 q2, #0xffab + +@ CHECK: error: invalid operand for instruction +@ CHECK: vmvn.i32 d2, #0xffffffab +@ CHECK: error: invalid operand for instruction +@ CHECK: vmvn.i32 q2, #0xffffffab +@ CHECK: error: invalid operand for instruction +@ CHECK: vmvn.i16 q2, #0xffab +@ CHECK: error: invalid operand for instruction +@ CHECK: vmvn.i16 q2, #0xffab + + vmov.i32 d2, #0xffffffab + vmov.i32 q2, #0xffffffab + vmov.i16 q2, #0xffab + vmov.i16 q2, #0xffab + + vmvn.i32 d2, #0xffffffab + vmvn.i32 q2, #0xffffffab + vmvn.i16 q2, #0xffab + vmvn.i16 q2, #0xffab diff --git a/test/MC/ARM/vorr-vbic-illegal-cases.s b/test/MC/ARM/vorr-vbic-illegal-cases.s new file mode 100644 index 0000000000..16ab6b5bc7 --- /dev/null +++ b/test/MC/ARM/vorr-vbic-illegal-cases.s @@ -0,0 +1,42 @@ +@ RUN: not llvm-mc -triple=armv7-linux-gnueabi %s 2>&1 | FileCheck %s +.text + +@ CHECK: error: invalid operand for instruction +@ CHECK: vorr.i32 d2, #0xffffffff +@ CHECK: error: invalid operand for instruction +@ CHECK: vorr.i32 q2, #0xffffffff +@ CHECK: error: invalid operand for instruction +@ CHECK: vorr.i32 d2, #0xabababab +@ CHECK: error: invalid operand for instruction +@ CHECK: vorr.i32 q2, #0xabababab +@ CHECK: error: invalid operand for instruction +@ CHECK: vorr.i16 q2, #0xabab +@ CHECK: error: invalid operand for instruction +@ CHECK: vorr.i16 q2, #0xabab + +@ CHECK: error: invalid operand for instruction +@ CHECK: vbic.i32 d2, #0xffffffff +@ CHECK: error: invalid operand for instruction +@ CHECK: vbic.i32 q2, #0xffffffff +@ CHECK: error: invalid operand for instruction +@ CHECK: vbic.i32 d2, #0xabababab +@ CHECK: error: invalid operand for instruction +@ CHECK: vbic.i32 q2, #0xabababab +@ CHECK: error: invalid operand for instruction +@ CHECK: vbic.i16 d2, #0xabab +@ CHECK: error: invalid operand for instruction +@ CHECK: vbic.i16 q2, #0xabab + + vorr.i32 d2, #0xffffffff + vorr.i32 q2, #0xffffffff + vorr.i32 d2, #0xabababab + vorr.i32 q2, #0xabababab + vorr.i16 q2, #0xabab + vorr.i16 q2, #0xabab + + vbic.i32 d2, #0xffffffff + vbic.i32 q2, #0xffffffff + vbic.i32 d2, #0xabababab + vbic.i32 q2, #0xabababab + vbic.i16 d2, #0xabab + vbic.i16 q2, #0xabab |