On pre-AVX512 targets we can use MOVMSK to extract reduced boolean results. This is properly optimized, annoyingly AVX512 isn't and produces code that is almost as bad as the (unchanged) costs suggest......
|2493 ↗||(On Diff #194121)|
Add a code comment here with the expected lowering?
vpmovmskb %xmm, %eax cmpb $IMM, %al
|2502 ↗||(On Diff #194121)|
vextractf128 %ymm0, %xmm1, 1 vpand %xmm1, %xmm0, %xmm0 vpmovmskb %xmm0, %eax cmpb $IMM, %al
|2523 ↗||(On Diff #194121)|
Better to make this 'isIntegerTy(1)'? We should not have a vector type here?