[PATCH] D107009: [WIP][X86] combineX86ShuffleChain(): canonicalize mask elts picking from splats
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 6 03:51:48 PDT 2021
lebedev.ri added a subscriber: bkramer.
lebedev.ri added a comment.
In D107009#2930668 <https://reviews.llvm.org/D107009#2930668>, @RKSimon wrote:
> combineX86ShuffleChain is very clear - its highest preference is: unary, then unary+permute, then binary, then binary+permute, then the various unary/unary+zero/binary variable shuffles.
Aha.
In the case in question we seem to be alternating between two binary shuffle candidates - `X86ISD::UNPCKL` and `X86ISD::BLENDI`.
> These things tend to occur if some of the elements are constants/SM_SentinelUndef/SM_SentinelZero values and combineX86ShufflesRecursively gets stuck because it loses track of the sentinels at different recursion depths.
> Do you have the shuffle masks that are being lowered to the blend / unpack cases?
Yes, from @bkramer, added at rG16605aea844060c2973df079c9f91650132c099d <https://reviews.llvm.org/rG16605aea844060c2973df079c9f91650132c099d>
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D107009/new/
https://reviews.llvm.org/D107009
More information about the llvm-commits
mailing list