As Dan pointed out, movzbl, movsbl, and friends are nicer than their alias
[oota-llvm.git] / test / CodeGen / X86 / vec_zero.ll
index af38e8d2817bb55982ab1eb95ce1e28d219eee30..4d1f05629b414d233ffded4678903179d4c74c64 100644 (file)
@@ -1,16 +1,18 @@
-; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep xorps
-; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 | grep pxor
+; RUN: llc < %s -march=x86 -mattr=+sse2 | FileCheck %s
 
-void %foo(<4 x float> *%P) {
-       %T = load <4 x float> * %P
-       %S = add <4 x float> zeroinitializer, %T
-       store <4 x float> %S, <4 x float>* %P
-       ret void
+; CHECK: xorps
+define void @foo(<4 x float>* %P) {
+        %T = load <4 x float>* %P               ; <<4 x float>> [#uses=1]
+        %S = fadd <4 x float> zeroinitializer, %T                ; <<4 x float>> [#uses=1]
+        store <4 x float> %S, <4 x float>* %P
+        ret void
 }
 
-void %bar(<4 x int> *%P) {
-       %T = load <4 x int> * %P
-       %S = add <4 x int> zeroinitializer, %T
-       store <4 x int> %S, <4 x int>* %P
-       ret void
+; CHECK: pxor
+define void @bar(<4 x i32>* %P) {
+        %T = load <4 x i32>* %P         ; <<4 x i32>> [#uses=1]
+        %S = add <4 x i32> zeroinitializer, %T          ; <<4 x i32>> [#uses=1]
+        store <4 x i32> %S, <4 x i32>* %P
+        ret void
 }
+