[PATCH] D107572: [DAG] DAGCombiner::visitVECTOR_SHUFFLE - recognise chain of INSERT_SUBVECTOR patterns

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 5 08:00:26 PDT 2021


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

A logical extension to D107068 <https://reviews.llvm.org/D107068> - we don't strictly need to have
a single insertion into an otherwise-identity LHS.

While the general case of iteratively chopping off bits of a mask,
but keeping the shuffle result in obviously-bad codegen regressions,
the case where we reduce the entire shuffle into a seqnence of
subvector insertions, and drop said shuffle, seems promising.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D107572

Files:
  llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
  llvm/test/CodeGen/X86/2012-04-26-sdglue.ll
  llvm/test/CodeGen/X86/avx-intrinsics-x86-upgrade.ll
  llvm/test/CodeGen/X86/avx-vperm2x128.ll
  llvm/test/CodeGen/X86/pr34592.ll
  llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D107572.364477.patch
Type: text/x-patch
Size: 12715 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210805/8bf9af67/attachment.bin>


More information about the llvm-commits mailing list