summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC
diff options
context:
space:
mode:
authorBradley Smith <bradley.smith@arm.com>2014-04-09 14:41:58 +0000
committerBradley Smith <bradley.smith@arm.com>2014-04-09 14:41:58 +0000
commit7d253f29a4430772a0c14d727a5987f90b30e610 (patch)
tree6471ecb0880a8e0fece75e077a0a13b21e68495a /llvm/test/MC
parent664aa6715353b1c3b61d601b3f75ed050e406bd7 (diff)
downloadbcm5719-llvm-7d253f29a4430772a0c14d727a5987f90b30e610.tar.gz
bcm5719-llvm-7d253f29a4430772a0c14d727a5987f90b30e610.zip
[ARM64] Add parsing for vector lists such as {v0.8b-v3.8b}
llvm-svn: 205862
Diffstat (limited to 'llvm/test/MC')
-rw-r--r--llvm/test/MC/ARM64/vector-lists.s20
1 files changed, 20 insertions, 0 deletions
diff --git a/llvm/test/MC/ARM64/vector-lists.s b/llvm/test/MC/ARM64/vector-lists.s
new file mode 100644
index 00000000000..e4cef610d74
--- /dev/null
+++ b/llvm/test/MC/ARM64/vector-lists.s
@@ -0,0 +1,20 @@
+// RUN: not llvm-mc -triple arm64 -show-encoding < %s 2>%t | FileCheck %s
+// RUN: FileCheck --check-prefix=CHECK-ERRORS < %t %s
+
+ ST4 {v0.8B-v3.8B}, [x0]
+ ST4 {v0.4H-v3.4H}, [x0]
+
+// CHECK: st4 { v0.8b, v1.8b, v2.8b, v3.8b }, [x0] // encoding: [0x00,0x00,0x00,0x0c]
+// CHECK: st4 { v0.4h, v1.4h, v2.4h, v3.4h }, [x0] // encoding: [0x00,0x04,0x00,0x0c]
+
+ ST4 {v0.8B-v4.8B}, [x0]
+ ST4 {v0.8B-v3.8B,v4.8B}, [x0]
+ ST4 {v0.8B-v3.8H}, [x0]
+ ST4 {v0.8B-v3.16B}, [x0]
+ ST4 {v0.8B-},[x0]
+
+// CHECK-ERRORS: error: invalid number of vectors
+// CHECK-ERRORS: error: unexpected token in argument list
+// CHECK-ERRORS: error: mismatched register size suffix
+// CHECK-ERRORS: error: mismatched register size suffix
+// CHECK-ERRORS: error: vector register expected
OpenPOWER on IntegriCloud