summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/vfcmp.ll
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-07-07 22:07:47 +0000
committerChris Lattner <sabre@nondot.org>2009-07-07 22:07:47 +0000
commit33d6a3451bc8e0c6b7c4137d7b29596102a24627 (patch)
tree889a24b9dafc31175af5473a060855d124ec2226 /test/CodeGen/X86/vfcmp.ll
parent261cc194d7bf391913ea75617f19d7ad4880d7d2 (diff)
downloadllvm-33d6a3451bc8e0c6b7c4137d7b29596102a24627.tar.gz
llvm-33d6a3451bc8e0c6b7c4137d7b29596102a24627.tar.bz2
llvm-33d6a3451bc8e0c6b7c4137d7b29596102a24627.tar.xz
verify that the fcmp version of this works just as well as the
vfcmp version. We actually get better code for this silly testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74954 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/vfcmp.ll')
-rw-r--r--test/CodeGen/X86/vfcmp.ll12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CodeGen/X86/vfcmp.ll b/test/CodeGen/X86/vfcmp.ll
index 85b82a0ac8..cfec174583 100644
--- a/test/CodeGen/X86/vfcmp.ll
+++ b/test/CodeGen/X86/vfcmp.ll
@@ -11,3 +11,15 @@ define void @t(i32 %m_task_id, i32 %start_x, i32 %end_x) nounwind {
store <2 x i8> %6, <2 x i8>* null
ret void
}
+
+define void @t2(i32 %m_task_id, i32 %start_x, i32 %end_x) nounwind {
+ %A = fcmp olt <2 x double> zeroinitializer, zeroinitializer ; <<2 x i64>>:1 [#uses=1]
+ sext <2 x i1> %A to <2 x i64>
+ extractelement <2 x i64> %1, i32 1 ; <i64>:2 [#uses=1]
+ lshr i64 %2, 63 ; <i64>:3 [#uses=1]
+ trunc i64 %3 to i1 ; <i1>:4 [#uses=1]
+ zext i1 %4 to i8 ; <i8>:5 [#uses=1]
+ insertelement <2 x i8> zeroinitializer, i8 %5, i32 1 ; <<2 x i8>>:6 [#uses=1]
+ store <2 x i8> %6, <2 x i8>* null
+ ret void
+}