Add a couple more tests for the ptest intrinsics to make sure we're
authorEric Christopher <echristo@apple.com>
Wed, 29 Jul 2009 00:51:15 +0000 (00:51 +0000)
committerEric Christopher <echristo@apple.com>
Wed, 29 Jul 2009 00:51:15 +0000 (00:51 +0000)
grabbing them all correctly.

llvm-svn: 77413

llvm/test/CodeGen/X86/sse41.ll

index 19a586f..1d33539 100644 (file)
@@ -195,5 +195,32 @@ define i32 @ptestz_1(<4 x float> %t1, <4 x float> %t2) nounwind {
 ; X64:    sete %al
 }
 
+define i32 @ptestz_2(<4 x float> %t1, <4 x float> %t2) nounwind {
+        %tmp1 = call i32 @llvm.x86.sse41.ptestc(<4 x float> %t1, <4 x float> %t2) nounwind readnone
+        ret i32 %tmp1
+; X32: _ptestz_2:
+; X32:    ptest        %xmm1, %xmm0
+; X32:    setb %al
+
+; X64: _ptestz_2:
+; X64:    ptest        %xmm1, %xmm0
+; X64:    setb %al
+}
+
+define i32 @ptestz_3(<4 x float> %t1, <4 x float> %t2) nounwind {
+        %tmp1 = call i32 @llvm.x86.sse41.ptestnzc(<4 x float> %t1, <4 x float> %t2) nounwind readnone
+        ret i32 %tmp1
+; X32: _ptestz_3:
+; X32:    ptest        %xmm1, %xmm0
+; X32:    seta %al
+
+; X64: _ptestz_3:
+; X64:    ptest        %xmm1, %xmm0
+; X64:    seta %al
+}
+
+
 declare i32 @llvm.x86.sse41.ptestz(<4 x float>, <4 x float>) nounwind readnone
+declare i32 @llvm.x86.sse41.ptestc(<4 x float>, <4 x float>) nounwind readnone
+declare i32 @llvm.x86.sse41.ptestnzc(<4 x float>, <4 x float>) nounwind readnone