summaryrefslogtreecommitdiff
path: root/test/MC/ARM
diff options
context:
space:
mode:
authorJoey Gouly <joey.gouly@arm.com>2013-10-01 12:39:11 +0000
committerJoey Gouly <joey.gouly@arm.com>2013-10-01 12:39:11 +0000
commitd1311ac171f9cb90cab4906a6c0e091b6b65b862 (patch)
tree9f20fecbfc305d0f05bd5b5420b6f953c4e8bad6 /test/MC/ARM
parent9813dbf396e63f6d4fd99fe0f6651e831cb7414b (diff)
downloadllvm-d1311ac171f9cb90cab4906a6c0e091b6b65b862.tar.gz
llvm-d1311ac171f9cb90cab4906a6c0e091b6b65b862.tar.bz2
llvm-d1311ac171f9cb90cab4906a6c0e091b6b65b862.tar.xz
[ARM] Introduce the 'sevl' instruction in ARMv8.
This also removes the restriction on the immediate field of the 'hint' instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191744 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/ARM')
-rw-r--r--test/MC/ARM/basic-arm-instructions-v8.s7
-rw-r--r--test/MC/ARM/basic-arm-instructions.s2
-rw-r--r--test/MC/ARM/basic-thumb2-instructions-v8.s13
-rw-r--r--test/MC/ARM/invalid-hint-arm.s7
-rw-r--r--test/MC/ARM/invalid-hint-thumb.s9
5 files changed, 22 insertions, 16 deletions
diff --git a/test/MC/ARM/basic-arm-instructions-v8.s b/test/MC/ARM/basic-arm-instructions-v8.s
index a447e0f22c..70b1496156 100644
--- a/test/MC/ARM/basic-arm-instructions-v8.s
+++ b/test/MC/ARM/basic-arm-instructions-v8.s
@@ -50,3 +50,10 @@
@ 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]
diff --git a/test/MC/ARM/basic-arm-instructions.s b/test/MC/ARM/basic-arm-instructions.s
index 5d40a39766..636682f3a9 100644
--- a/test/MC/ARM/basic-arm-instructions.s
+++ b/test/MC/ARM/basic-arm-instructions.s
@@ -2928,6 +2928,7 @@ Lforward:
hint #2
hint #1
hint #0
+ hint #255
@ CHECK: wfe @ encoding: [0x02,0xf0,0x20,0xe3]
@ CHECK: wfehi @ encoding: [0x02,0xf0,0x20,0x83]
@@ -2940,3 +2941,4 @@ Lforward:
@ CHECK: wfe @ encoding: [0x02,0xf0,0x20,0xe3]
@ CHECK: yield @ encoding: [0x01,0xf0,0x20,0xe3]
@ CHECK: nop @ encoding: [0x00,0xf0,0x20,0xe3]
+@ CHECK: hint #255 @ encoding: [0xff,0xf0,0x20,0xe3]
diff --git a/test/MC/ARM/basic-thumb2-instructions-v8.s b/test/MC/ARM/basic-thumb2-instructions-v8.s
index 69a7cff6ab..ba6f0da2ee 100644
--- a/test/MC/ARM/basic-thumb2-instructions-v8.s
+++ b/test/MC/ARM/basic-thumb2-instructions-v8.s
@@ -69,3 +69,16 @@
@ CHECK-V7: error: invalid operand for instruction
@ CHECK-V7: error: invalid operand for instruction
@ CHECK-V7: error: invalid operand for instruction
+
+@------------------------------------------------------------------------------
+@ SEVL
+@------------------------------------------------------------------------------
+ sevl
+ sevl.w
+ it ge
+ sevlge
+
+@ CHECK-V8: sevl @ encoding: [0x50,0xbf]
+@ CHECK-V8: sevl.w @ encoding: [0xaf,0xf3,0x05,0x80]
+@ CHECK-V8: it ge @ encoding: [0xa8,0xbf]
+@ CHECK-V8: sevlge @ encoding: [0x50,0xbf]
diff --git a/test/MC/ARM/invalid-hint-arm.s b/test/MC/ARM/invalid-hint-arm.s
deleted file mode 100644
index 3608e95131..0000000000
--- a/test/MC/ARM/invalid-hint-arm.s
+++ /dev/null
@@ -1,7 +0,0 @@
-@ RUN: not llvm-mc -triple=armv7-apple-darwin -mcpu=cortex-a8 < %s 2>&1 | FileCheck %s
-
-hint #5
-hint #100
-
-@ CHECK: error: immediate operand must be in the range [0,4]
-@ CHECK: error: immediate operand must be in the range [0,4]
diff --git a/test/MC/ARM/invalid-hint-thumb.s b/test/MC/ARM/invalid-hint-thumb.s
deleted file mode 100644
index bde987c2e0..0000000000
--- a/test/MC/ARM/invalid-hint-thumb.s
+++ /dev/null
@@ -1,9 +0,0 @@
-@ RUN: not llvm-mc -triple=thumbv7-apple-darwin -mcpu=cortex-a8 < %s 2>&1 | FileCheck %s
-
-hint #5
-hint.w #5
-hint #100
-
-@ CHECK: error: immediate operand must be in the range [0,4]
-@ CHECK: error: immediate operand must be in the range [0,4]
-@ CHECK: error: immediate operand must be in the range [0,4]