Fix a FIXME. _foo.eh symbols are currently always exported so that the linker
[oota-llvm.git] / test / CodeGen / X86 / vec_select.ll
index 05f2a8cdd32e674b0b9278a3d2f94081c510e602..033e9f7027f94fc2a5d63d0f7542b9801ed519f3 100644 (file)
@@ -1,11 +1,12 @@
-; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 -mattr=+sse
+; RUN: llc < %s -march=x86 -mattr=+sse
 
-void %test(int %C, <4 x float>* %A, <4 x float>* %B) {
-       %tmp = load <4 x float>* %A
-       %tmp3 = load <4 x float>* %B
-       %tmp9 = mul <4 x float> %tmp3, %tmp3
-       %tmp = seteq int %C, 0
-       %iftmp.38.0 = select bool %tmp, <4 x float> %tmp9, <4 x float> %tmp
-       store <4 x float> %iftmp.38.0, <4 x float>* %A
-       ret void
+define void @test(i32 %C, <4 x float>* %A, <4 x float>* %B) {
+        %tmp = load <4 x float>* %A             ; <<4 x float>> [#uses=1]
+        %tmp3 = load <4 x float>* %B            ; <<4 x float>> [#uses=2]
+        %tmp9 = fmul <4 x float> %tmp3, %tmp3            ; <<4 x float>> [#uses=1]
+        %tmp.upgrd.1 = icmp eq i32 %C, 0                ; <i1> [#uses=1]
+        %iftmp.38.0 = select i1 %tmp.upgrd.1, <4 x float> %tmp9, <4 x float> %tmp               ; <<4 x float>> [#uses=1]
+        store <4 x float> %iftmp.38.0, <4 x float>* %A
+        ret void
 }
+