Skip to content

Commit 24d06ff

Browse files
committed
[x86] add test for pcmpeq with 0; NFC
1 parent 4c59ab3 commit 24d06ff

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

llvm/test/CodeGen/X86/setcc-lowering.ll

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,27 @@ for_loop599: ; preds = %for_loop599, %for_t
103103
for_exit600: ; preds = %for_loop599
104104
ret void
105105
}
106+
107+
define <4 x i32> @pcmpgt(<4 x i8> %x) {
108+
; AVX-LABEL: pcmpgt:
109+
; AVX: # %bb.0:
110+
; AVX-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
111+
; AVX-NEXT: vpxor %xmm1, %xmm1, %xmm1
112+
; AVX-NEXT: vpcmpeqd %xmm1, %xmm0, %xmm0
113+
; AVX-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
114+
; AVX-NEXT: vpxor %xmm1, %xmm0, %xmm0
115+
; AVX-NEXT: retq
116+
;
117+
; KNL-32-LABEL: pcmpgt:
118+
; KNL-32: # %bb.0:
119+
; KNL-32-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
120+
; KNL-32-NEXT: vpxor %xmm1, %xmm1, %xmm1
121+
; KNL-32-NEXT: vpcmpeqd %xmm1, %xmm0, %xmm0
122+
; KNL-32-NEXT: vpternlogq $15, %zmm0, %zmm0, %zmm0
123+
; KNL-32-NEXT: # kill: def $xmm0 killed $xmm0 killed $zmm0
124+
; KNL-32-NEXT: retl
125+
%zext = zext <4 x i8> %x to <4 x i32>
126+
%icmp = icmp ne <4 x i32> %zext, zeroinitializer
127+
%sext = sext <4 x i1> %icmp to <4 x i32>
128+
ret <4 x i32> %sext
129+
}

0 commit comments

Comments
 (0)