[llvm] Generate `kmov` for masking integers (PR #120593)

via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 19 23:01:37 PST 2024


================
@@ -256,8 +256,8 @@ define <16 x i8> @produceShuffleVectorForByte(i8 zeroext %0) nounwind {
 ;
 ; X64-AVX512-LABEL: produceShuffleVectorForByte:
 ; X64-AVX512:       # %bb.0: # %entry
-; X64-AVX512-NEXT:    vpbroadcastb %edi, %xmm0
-; X64-AVX512-NEXT:    vptestnmb {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %k1
+; X64-AVX512-NEXT:    kmovw %edi, %k0
+; X64-AVX512-NEXT:    knotw %k0, %k1
----------------
abhishek-kaushik22 wrote:

Sorry about that, 32-bit Selection DAG used `VBROADCAST_LOAD` and not `VBROADCAST` which is why it got skipped.

https://github.com/llvm/llvm-project/pull/120593


More information about the llvm-commits mailing list