[PATCH] D139685: Expand usage of CreateBuildVecShuffle to make full use of vector ops

Wang, Xin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 8 17:40:37 PST 2022


XinWang10 created this revision.
Herald added subscribers: ecnelises, steven.zhang, pengfei, hiraditya.
Herald added a project: All.
XinWang10 requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Now, when llc encounters the case that contains a lot of extract_vector_elt and a BUILD_VECTOR, it will replace these to vector_shuffle to decrease the size of code, the actions are done in createBuildVecShuffle in DAGCombiner.cpp, but now the code cannot handle the case that the size of source vector reg is more than twice the dest size.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D139685

Files:
  llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  llvm/test/CodeGen/X86/avg.ll
  llvm/test/CodeGen/X86/pr29112.ll
  llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
  llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
  llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-6.ll
  llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D139685.481487.patch
Type: text/x-patch
Size: 56710 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221209/97d16a82/attachment.bin>


More information about the llvm-commits mailing list