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

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 28 15:35:33 PDT 2021


lebedev.ri created this revision.
lebedev.ri added reviewers: RKSimon, craig.topper, spatel.
lebedev.ri added a project: LLVM.
Herald added subscribers: pengfei, hiraditya.
lebedev.ri requested review of this revision.

I believe this is correct given that the splat detection matches the one just above the new code,
however i'm not quite sure this makes sense overall. Does this make sense to do?

My basic thought is that we might be able to get less regressions by handling multiple
insertions of the same value into a vector if we form broadcasts+blend here,
as opposed to D105390 <https://reviews.llvm.org/D105390>, but i have not really thought this through,
and did not try implementing it yet.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D107009

Files:
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/test/CodeGen/X86/avx.ll
  llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
  llvm/test/CodeGen/X86/pr15296.ll
  llvm/test/CodeGen/X86/sse41.ll
  llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D107009.362564.patch
Type: text/x-patch
Size: 16340 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210728/fc027a0f/attachment.bin>


More information about the llvm-commits mailing list