diff options
author | Bernard Ogden <bogden@arm.com> | 2013-10-29 14:16:09 +0000 |
---|---|---|
committer | Bernard Ogden <bogden@arm.com> | 2013-10-29 14:16:09 +0000 |
commit | c777b2e58c0df1b8e7a8c0c8e78eb53d83549186 (patch) | |
tree | cf955d91fae9f7ba1a7a295368d3f1b747907dd7 /test/MC | |
parent | 1313a223ed2e8d41b6a13d3738123042b5573b88 (diff) | |
download | external_llvm-c777b2e58c0df1b8e7a8c0c8e78eb53d83549186.zip external_llvm-c777b2e58c0df1b8e7a8c0c8e78eb53d83549186.tar.gz external_llvm-c777b2e58c0df1b8e7a8c0c8e78eb53d83549186.tar.bz2 |
Test cleanup for v8 instructions
Add some missing tests, factor out a test not specific to v8 into
its own file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193611 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC')
-rw-r--r-- | test/MC/ARM/basic-arm-instructions-v8.s | 8 | ||||
-rw-r--r-- | test/MC/ARM/basic-thumb2-instructions-v8.s | 9 | ||||
-rw-r--r-- | test/MC/ARM/invalid-barrier.s | 28 |
3 files changed, 38 insertions, 7 deletions
diff --git a/test/MC/ARM/basic-arm-instructions-v8.s b/test/MC/ARM/basic-arm-instructions-v8.s index 70b1496..4ed83c1 100644 --- a/test/MC/ARM/basic-arm-instructions-v8.s +++ b/test/MC/ARM/basic-arm-instructions-v8.s @@ -1,6 +1,6 @@ @ New ARMv8 A32 encodings -@ RUN: not llvm-mc -triple armv8 -show-encoding -mattr=+db < %s | FileCheck %s --check-prefix=CHECK-V8 +@ RUN: llvm-mc -triple armv8 -show-encoding < %s | FileCheck %s --check-prefix=CHECK-V8 @ RUN: not llvm-mc -triple armv7 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-V7 @ HLT @@ -23,7 +23,6 @@ dmb oshld dmb nshld dmb ld - dmb #20 @ CHECK-V8: dmb ishld @ encoding: [0x59,0xf0,0x7f,0xf5] @ CHECK-V8: dmb oshld @ encoding: [0x51,0xf0,0x7f,0xf5] @@ -33,7 +32,6 @@ @ CHECK-V7: error: invalid operand for instruction @ CHECK-V7: error: invalid operand for instruction @ CHECK-V7: error: invalid operand for instruction -@ CHECK-V7: error: immediate value out of range @------------------------------------------------------------------------------ @ DSB (v8 barriers) @@ -50,10 +48,12 @@ @ CHECK-V7: error: invalid operand for instruction @ CHECK-V7: error: invalid operand for instruction @ CHECK-V7: error: invalid operand for instruction +@ CHECK-V7: error: invalid operand for instruction @------------------------------------------------------------------------------ @ SEVL @------------------------------------------------------------------------------ sevl -@ CHECK: sevl @ encoding: [0x05,0xf0,0x20,0xe3] +@ CHECK-V8: sevl @ encoding: [0x05,0xf0,0x20,0xe3] +@ CHECK-V7: error: instruction requires: armv8 diff --git a/test/MC/ARM/basic-thumb2-instructions-v8.s b/test/MC/ARM/basic-thumb2-instructions-v8.s index ba6f0da..a7882ae 100644 --- a/test/MC/ARM/basic-thumb2-instructions-v8.s +++ b/test/MC/ARM/basic-thumb2-instructions-v8.s @@ -1,6 +1,6 @@ @ New ARMv8 T32 encodings -@ RUN: not llvm-mc -triple thumbv8 -show-encoding -mattr=+db < %s | FileCheck %s --check-prefix=CHECK-V8 +@ RUN: llvm-mc -triple thumbv8 -show-encoding < %s | FileCheck %s --check-prefix=CHECK-V8 @ RUN: not llvm-mc -triple thumbv7 -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=CHECK-V7 @ HLT @@ -42,7 +42,6 @@ dmb oshld dmb nshld dmb ld - dmb #20 @ CHECK-V8: dmb ishld @ encoding: [0xbf,0xf3,0x59,0x8f] @ CHECK-V8: dmb oshld @ encoding: [0xbf,0xf3,0x51,0x8f] @@ -52,7 +51,6 @@ @ CHECK-V7: error: invalid operand for instruction @ CHECK-V7: error: invalid operand for instruction @ CHECK-V7: error: invalid operand for instruction -@ CHECK-V7: error: immediate value out of range @------------------------------------------------------------------------------ @ DSB (v8 barriers) @@ -69,6 +67,7 @@ @ CHECK-V7: error: invalid operand for instruction @ CHECK-V7: error: invalid operand for instruction @ CHECK-V7: error: invalid operand for instruction +@ CHECK-V7: error: invalid operand for instruction @------------------------------------------------------------------------------ @ SEVL @@ -82,3 +81,7 @@ @ CHECK-V8: sevl.w @ encoding: [0xaf,0xf3,0x05,0x80] @ CHECK-V8: it ge @ encoding: [0xa8,0xbf] @ CHECK-V8: sevlge @ encoding: [0x50,0xbf] +@ CHECK-V7: error: instruction requires: armv8 +@ CHECK-V7: error: instruction requires: armv8 +@ CHECK-V7: error: +@ CHECK-V7: error: instruction requires: armv8 diff --git a/test/MC/ARM/invalid-barrier.s b/test/MC/ARM/invalid-barrier.s new file mode 100644 index 0000000..29fcd8e --- /dev/null +++ b/test/MC/ARM/invalid-barrier.s @@ -0,0 +1,28 @@ +@ RUN: not llvm-mc -triple=armv7 -show-encoding < %s 2>&1 | FileCheck %s +@ RUN: not llvm-mc -triple=thumbv7 -show-encoding < %s 2>&1 | FileCheck %s + +@------------------------------------------------------------------------------ +@ DMB +@------------------------------------------------------------------------------ + dmb #0x10 + dmb imaginary_scope + +@ CHECK: error: immediate value out of range +@ CHECK: error: invalid operand for instruction + +@------------------------------------------------------------------------------ +@ DSB +@------------------------------------------------------------------------------ + dsb #0x10 + dsb imaginary_scope +@ CHECK: error: immediate value out of range +@ CHECK: error: invalid operand for instruction + +@------------------------------------------------------------------------------ +@ ISB +@------------------------------------------------------------------------------ + isb #0x1f + isb imaginary_domain + +@ CHECK: error: immediate value out of range +@ CHECK: error: invalid operand for instruction |