noticed from #216716
https://godbolt.org/z/s5vfPcP5c
define i16 @cmp_sge_v16i8(<16 x i8> %x) {
%c = icmp sge <16 x i8> %x, splat (i8 0)
%r = bitcast <16 x i1> %c to i16
ret i16 %r
}
define i16 @cmp_sgt_neg1_v16i8(<16 x i8> %x) {
%c = icmp sgt <16 x i8> %x, splat (i8 -1)
%r = bitcast <16 x i1> %c to i16
ret i16 %r
}
avx:
cmp_sge_v16i8: # @cmp_sge_v16i8
vpmovmskb %xmm0, %eax
notl %eax
retq
cmp_sgt_neg1_v16i8: # @cmp_sgt_neg1_v16i8
vpmovmskb %xmm0, %eax
notl %eax
retq
avx512:
cmp_sge_v16i8: # @cmp_sge_v16i8
vpxor %xmm1, %xmm1, %xmm1
vpcmpnltb %xmm1, %xmm0, %k0
kmovd %k0, %eax
retq
cmp_sgt_neg1_v16i8: # @cmp_sgt_neg1_v16i8
vpcmpeqd %xmm1, %xmm1, %xmm1
vpcmpgtb %xmm1, %xmm0, %k0
kmovd %k0, %eax
retq
noticed from #216716
https://godbolt.org/z/s5vfPcP5c
avx:
avx512: