[llvm] [X86] combineKSHIFT - fold kshift(logicop(X,C1),C2) -> logicop(kshift(X,C2),kshift(C1,C2)) (PR #194343)
Phoebe Wang via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 27 07:15:26 PDT 2026
- Previous message: [llvm] [X86] combineKSHIFT - fold kshift(logicop(X,C1),C2) -> logicop(kshift(X,C2),kshift(C1,C2)) (PR #194343)
- Next message: [llvm] [X86] combineKSHIFT - fold kshift(logicop(X,C1),C2) -> logicop(kshift(X,C2),kshift(C1,C2)) (PR #194343)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
================
@@ -612,11 +612,11 @@ define void @mask_replication_factor3_vf8(ptr %in.maskvec, ptr %in.vec, ptr %out
; AVX512BW-NEXT: vpmovm2w %k0, %zmm0
; AVX512BW-NEXT: vpmovsxbw {{.*#+}} zmm1 = [0,0,0,1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,0,0,0,0,0,0,0,0]
; AVX512BW-NEXT: vpermw %zmm0, %zmm1, %zmm0
-; AVX512BW-NEXT: vpxor %xmm1, %xmm1, %xmm1
-; AVX512BW-NEXT: movl $16777215, %eax # imm = 0xFFFFFF
-; AVX512BW-NEXT: kmovd %eax, %k1
-; AVX512BW-NEXT: vpcmpgtw %zmm0, %zmm1, %k1 {%k1}
-; AVX512BW-NEXT: kshiftrd $16, %k1, %k2
+; AVX512BW-NEXT: vpmovw2m %zmm0, %k1
----------------
phoebewang wrote:
In above undefshuffle, we turn vpmovw2m+kand to vpxor+vpcmpgt. But do the reverse transformation here. Which one is preferred? Or they have equivalent cost?
https://github.com/llvm/llvm-project/pull/194343
- Previous message: [llvm] [X86] combineKSHIFT - fold kshift(logicop(X,C1),C2) -> logicop(kshift(X,C2),kshift(C1,C2)) (PR #194343)
- Next message: [llvm] [X86] combineKSHIFT - fold kshift(logicop(X,C1),C2) -> logicop(kshift(X,C2),kshift(C1,C2)) (PR #194343)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the llvm-commits
mailing list