summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/x86-setcc-int-to-fp-combine.ll
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2014-07-23 20:41:31 +0000
committerJim Grosbach <grosbach@apple.com>2014-07-23 20:41:31 +0000
commit19dd3088c088ecd1bddfcaab46a95d8ac21accc2 (patch)
tree1599ceed49fea7bb1f967002382cde8134dc4bcb /llvm/test/CodeGen/X86/x86-setcc-int-to-fp-combine.ll
parent94d908216b7feae26fb367a5d0660ead57097d63 (diff)
downloadbcm5719-llvm-19dd3088c088ecd1bddfcaab46a95d8ac21accc2.tar.gz
bcm5719-llvm-19dd3088c088ecd1bddfcaab46a95d8ac21accc2.zip
DAG: fp->int conversion for non-splat constants.
Constant fold the lanes of the input constant build_vector individually so we correctly handle when the vector elements are not all the same constant value. PR20394 llvm-svn: 213798
Diffstat (limited to 'llvm/test/CodeGen/X86/x86-setcc-int-to-fp-combine.ll')
-rw-r--r--llvm/test/CodeGen/X86/x86-setcc-int-to-fp-combine.ll16
1 files changed, 15 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/X86/x86-setcc-int-to-fp-combine.ll b/llvm/test/CodeGen/X86/x86-setcc-int-to-fp-combine.ll
index d691685f1dd..86c4eb7c49e 100644
--- a/llvm/test/CodeGen/X86/x86-setcc-int-to-fp-combine.ll
+++ b/llvm/test/CodeGen/X86/x86-setcc-int-to-fp-combine.ll
@@ -1,7 +1,7 @@
; RUN: llc < %s -mtriple=x86_64-apple-darwin | FileCheck %s
define <4 x float> @foo(<4 x float> %val, <4 x float> %test) nounwind {
-; CHECK-LABEL: LCPI0_0
+; CHECK-LABEL: LCPI0_0:
; CHECK-NEXT: .long 1065353216 ## float 1.000000e+00
; CHECK-NEXT: .long 1065353216 ## float 1.000000e+00
; CHECK-NEXT: .long 1065353216 ## float 1.000000e+00
@@ -16,3 +16,17 @@ define <4 x float> @foo(<4 x float> %val, <4 x float> %test) nounwind {
%result = sitofp <4 x i32> %ext to <4 x float>
ret <4 x float> %result
}
+
+define void @bar(<4 x float>* noalias %result) nounwind {
+; CHECK-LABEL: LCPI1_0:
+; CHECK-NEXT: .long 1082130432 ## float 4.000000e+00
+; CHECK-NEXT: .long 1084227584 ## float 5.000000e+00
+; CHECK-NEXT: .long 1086324736 ## float 6.000000e+00
+; CHECK-NEXT: .long 1088421888 ## float 7.000000e+00
+; CHECK-LABEL: bar:
+; CHECK: movaps LCPI1_0(%rip), %xmm0
+
+ %val = uitofp <4 x i32> <i32 4, i32 5, i32 6, i32 7> to <4 x float>
+ store <4 x float> %val, <4 x float>* %result
+ ret void
+}
OpenPOWER on IntegriCloud