[PATCH] D107009: [WIP][X86] combineX86ShuffleChain(): canonicalize mask elts picking from splats

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 5 14:43:56 PDT 2021


lebedev.ri added a comment.

Ok, looks like that is a, traditional for this transform,
case where we have two conflicting decisions,
and we keep switching between them.

I'm not quite sure what's the traditional approach to dealing with that in `combineX86ShuffleChain()` is?
I could guard this new transform with the check `!(Depth == 0 && Root.getOpcode() == X86ISD::UNPCKL)`,
and we then end up with `UNPCKL`. Or we could guard the place where we'd match `X86ISD::UNPCKL`
with an opposite transform, and keep the `X86ISD::BLENDI`. What's better? What is the right way?


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