[PATCH] D72330: [ARM][MVE] Enable masked gathers from base + vector of offsets

Anna Welker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 7 06:00:10 PST 2020


anwel created this revision.
anwel added reviewers: dmgreen, SjoerdMeijer, efriedma, craig.topper, RKSimon, samparker.
anwel added a project: LLVM.
Herald added subscribers: llvm-commits, hiraditya, kristof.beyls.
anwel added a parent revision: D71743: [ARM][MVE] Enable masked gathers from vector of pointers.

This patch extends the earlier patch which enabled masked v4i32 gathers from a vector of pointers (to be found here: https://reviews.llvm.org/D71743).

The pass now checks for the presence of a `getelementpointer` instruction and, if it finds one, builds a masked gather loading from a base and a vector of offsets. This is more efficient then loading from a vector of pointers. Also, the masked gather instruction generated is not restricted to v4i32 loads, but works for v8i16 and v16i8 as well.


https://reviews.llvm.org/D72330

Files:
  llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
  llvm/test/CodeGen/Thumb2/mve-gather-ind16-scaled.ll
  llvm/test/CodeGen/Thumb2/mve-gather-ind16-unscaled.ll
  llvm/test/CodeGen/Thumb2/mve-gather-ind32-scaled.ll
  llvm/test/CodeGen/Thumb2/mve-gather-ind32-unscaled.ll
  llvm/test/CodeGen/Thumb2/mve-gather-ind8-unscaled.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D72330.236563.patch
Type: text/x-patch
Size: 45499 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200107/ed53e907/attachment.bin>


More information about the llvm-commits mailing list