summaryrefslogtreecommitdiff
path: root/test/CodeGen/ARM/int-to-fp.ll
diff options
context:
space:
mode:
authorCameron Zwarich <zwarich@apple.com>2011-03-29 21:41:55 +0000
committerCameron Zwarich <zwarich@apple.com>2011-03-29 21:41:55 +0000
commit3007d3331b30dcb575125b81543cd145448dd673 (patch)
tree3f092c1154f1b15b6fc4d4343141590aa9827d60 /test/CodeGen/ARM/int-to-fp.ll
parent6094bd87d845afabba5b99ec4848fa6116bac682 (diff)
downloadllvm-3007d3331b30dcb575125b81543cd145448dd673.tar.gz
llvm-3007d3331b30dcb575125b81543cd145448dd673.tar.bz2
llvm-3007d3331b30dcb575125b81543cd145448dd673.tar.xz
Add Neon SINT_TO_FP and UINT_TO_FP lowering from v4i16 to v4f32. Fixes
<rdar://problem/8875309> and <rdar://problem/9057191>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128492 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM/int-to-fp.ll')
-rw-r--r--test/CodeGen/ARM/int-to-fp.ll19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/int-to-fp.ll b/test/CodeGen/ARM/int-to-fp.ll
new file mode 100644
index 0000000000..889b149198
--- /dev/null
+++ b/test/CodeGen/ARM/int-to-fp.ll
@@ -0,0 +1,19 @@
+; RUN: llc < %s | FileCheck %s
+target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:64:64-v128:128:128-a0:0:32-n32"
+target triple = "thumbv7-apple-darwin10.0.0"
+
+; CHECK: sint_to_fp
+; CHECK: vmovl.s16
+; CHECK: vcvt.f32.s32
+define <4 x float> @sint_to_fp(<4 x i16> %x) nounwind ssp {
+ %a = sitofp <4 x i16> %x to <4 x float>
+ ret <4 x float> %a
+}
+
+; CHECK: uint_to_fp
+; CHECK: vmovl.u16
+; CHECK: vcvt.f32.u32
+define <4 x float> @uint_to_fp(<4 x i16> %x) nounwind ssp {
+ %a = uitofp <4 x i16> %x to <4 x float>
+ ret <4 x float> %a
+}