[PATCH] D90233: [AArch64] Use DUP for BUILD_VECTOR with few different elements.

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 27 08:05:50 PDT 2020


fhahn created this revision.
fhahn added reviewers: efriedma, paquette, dmgreen, SjoerdMeijer.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.
fhahn requested review of this revision.

If most elements of BUILD_VECTOR are the same, with a few different
elements, it is better to use DUP  for the common elements and
INSERT_VECTOR_ELT for the different elements.

Currently this transform is guarded quite restrictively to only trigger
in clearly beneficial cases.

With D90176 <https://reviews.llvm.org/D90176>, the lowering for patterns originating from code like
` float32x4_t y = {a,a,a,0};` (common in 3D apps) are lowered even
better (unnecessary fmov is removed).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D90233

Files:
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/test/CodeGen/AArch64/arm64-vector-insertion.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90233.300997.patch
Type: text/x-patch
Size: 4036 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201027/de09d215/attachment.bin>


More information about the llvm-commits mailing list