summaryrefslogtreecommitdiff
path: root/test/MC/ARM
diff options
context:
space:
mode:
authorJoey Gouly <joey.gouly@arm.com>2013-07-04 10:04:08 +0000
committerJoey Gouly <joey.gouly@arm.com>2013-07-04 10:04:08 +0000
commit929d9ef111cc0053e245d04464c5ba9fba7727b2 (patch)
tree8487cff1adafff6f2a983a9d1048f0afaf709b11 /test/MC/ARM
parent1ab111ed01457887a8dece6fb36336aff41cc703 (diff)
downloadllvm-929d9ef111cc0053e245d04464c5ba9fba7727b2.tar.gz
llvm-929d9ef111cc0053e245d04464c5ba9fba7727b2.tar.bz2
llvm-929d9ef111cc0053e245d04464c5ba9fba7727b2.tar.xz
Add a V8FP instruction 'vcvt{b,t}' to convert between half and double precision.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185620 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/ARM')
-rw-r--r--test/MC/ARM/invalid-v8fp.s10
-rw-r--r--test/MC/ARM/v8fp.s23
2 files changed, 33 insertions, 0 deletions
diff --git a/test/MC/ARM/invalid-v8fp.s b/test/MC/ARM/invalid-v8fp.s
new file mode 100644
index 0000000000..e2dbb8b8d1
--- /dev/null
+++ b/test/MC/ARM/invalid-v8fp.s
@@ -0,0 +1,10 @@
+@ RUN: llvm-mc -triple armv7 -show-encoding < %s | FileCheck %s
+
+@ VCVT{B,T}
+
+ vcvtt.f64.f16 d3, s1
+@ CHECK-NOT: vcvtt.f64.f16 d3, s1 @ encoding: [0xe0,0x3b,0xb2,0xee]
+ vcvtt.f16.f64 s5, d12
+@ CHECK-NOT: vcvtt.f16.f64 s5, d12 @ encoding: [0xcc,0x2b,0xf3,0xee]
+
+
diff --git a/test/MC/ARM/v8fp.s b/test/MC/ARM/v8fp.s
new file mode 100644
index 0000000000..f6bf7b9e95
--- /dev/null
+++ b/test/MC/ARM/v8fp.s
@@ -0,0 +1,23 @@
+@ RUN: llvm-mc -triple armv8 -mattr=+v8fp -show-encoding < %s | FileCheck %s
+
+@ VCVT{B,T}
+
+ vcvtt.f64.f16 d3, s1
+@ CHECK: vcvtt.f64.f16 d3, s1 @ encoding: [0xe0,0x3b,0xb2,0xee]
+ vcvtt.f16.f64 s5, d12
+@ CHECK: vcvtt.f16.f64 s5, d12 @ encoding: [0xcc,0x2b,0xf3,0xee]
+
+ vcvtb.f64.f16 d3, s1
+@ CHECK: vcvtb.f64.f16 d3, s1 @ encoding: [0x60,0x3b,0xb2,0xee]
+ vcvtb.f16.f64 s4, d1
+@ CHECK: vcvtb.f16.f64 s4, d1 @ encoding: [0x41,0x2b,0xb3,0xee]
+
+ vcvttge.f64.f16 d3, s1
+@ CHECK: vcvttge.f64.f16 d3, s1 @ encoding: [0xe0,0x3b,0xb2,0xae]
+ vcvttgt.f16.f64 s5, d12
+@ CHECK: vcvttgt.f16.f64 s5, d12 @ encoding: [0xcc,0x2b,0xf3,0xce]
+
+ vcvtbeq.f64.f16 d3, s1
+@ CHECK: vcvtbeq.f64.f16 d3, s1 @ encoding: [0x60,0x3b,0xb2,0x0e]
+ vcvtblt.f16.f64 s4, d1
+@ CHECK: vcvtblt.f16.f64 s4, d1 @ encoding: [0x41,0x2b,0xb3,0xbe]