[CodeGen] Teach the peephole optimizer to remember (and exploit) all folding
[oota-llvm.git] / test / CodeGen / X86 / xmm-r64.ll
index bf2d61ea529ef7508710201d186c752b61e9245d..2a6b5c71aa4f7b1ae5e55e63c94d19d350ae4769 100644 (file)
@@ -1,11 +1,12 @@
-; RUN: llvm-as < %s | llc -march=x86-64
+; RUN: llc < %s -march=x86-64
 
-<4 x int> %test() {
-       %tmp1039 = call <4 x int> %llvm.x86.sse2.psll.d( <4 x int> zeroinitializer, <4 x int> zeroinitializer )         ; <<4 x int>> [#uses=1]
-       %tmp1040 = cast <4 x int> %tmp1039 to <2 x long>                ; <<2 x long>> [#uses=1]
-       %tmp1048 = add <2 x long> %tmp1040, zeroinitializer             ; <<2 x long>> [#uses=1]
-       %tmp1048 = cast <2 x long> %tmp1048 to <4 x int>                ; <<4 x int>> [#uses=1]
-       ret <4 x int>  %tmp1048
+define <4 x i32> @test() {
+        %tmp1039 = call <4 x i32> @llvm.x86.sse2.psll.d( <4 x i32> zeroinitializer, <4 x i32> zeroinitializer )               ; <<4 x i32>> [#uses=1]
+        %tmp1040 = bitcast <4 x i32> %tmp1039 to <2 x i64>              ; <<2 x i64>> [#uses=1]
+        %tmp1048 = add <2 x i64> %tmp1040, zeroinitializer              ; <<2 x i64>> [#uses=1]
+        %tmp1048.upgrd.1 = bitcast <2 x i64> %tmp1048 to <4 x i32>              ; <<4 x i32>> [#uses=1]
+        ret <4 x i32> %tmp1048.upgrd.1
 }
 
-declare <4 x int> %llvm.x86.sse2.psll.d(<4 x int>, <4 x int>)
+declare <4 x i32> @llvm.x86.sse2.psll.d(<4 x i32>, <4 x i32>)
+