[llvm] [VectorCombine] Add Cmp and Select for shuffleToIdentity (PR #92794)
David Green via llvm-commits
llvm-commits at lists.llvm.org
Thu May 30 10:25:34 PDT 2024
davemgreen wrote:
Apparently vblendvb with ymm registers is only available with avx2: https://godbolt.org/z/d38hbxMaP
It looks quite nice then:
```
.LBB0_2: # %"2_for_op_pblend_b_0.s0.x.x"
vmovdqa xmm1, xmmword ptr [r14 + rdx - 16]
vmovdqa xmm2, xmmword ptr [r14 + rdx]
vinserti128 ymm1, ymm1, xmm2, 1
vpmaxub ymm3, ymm1, ymm0
vpcmpeqb ymm3, ymm1, ymm3
vinserti128 ymm2, ymm2, xmmword ptr [r14 + rdx + 16], 1
vpblendvb ymm1, ymm2, ymm1, ymm3
vmovdqa ymmword ptr [rcx + rdx], ymm1
add rdx, 32
cmp rdx, 768
jne .LBB0_2
```
https://github.com/llvm/llvm-project/pull/92794
More information about the llvm-commits
mailing list