[PATCH] D112076: [AArch64][SVE][InstCombine] Combine contiguous gather/scatter to load/store

Peter Waller via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 19 07:41:46 PDT 2021


peterwaller-arm created this revision.
peterwaller-arm added reviewers: bsmith, MattDevereau, paulwalker-arm, david-arm.
Herald added subscribers: ctetreau, psnobl, hiraditya, kristof.beyls, tschuett.
Herald added a reviewer: efriedma.
peterwaller-arm requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Contiguous gather => masked load:

  (sve.ld1.gather.index Mask BasePtr (sve.index IndexBase 1))
  => (masked.load (gep BasePtr IndexBase) Align Mask undef)

Contiguous scatter => masked store:

  (sve.ld1.scatter.index Value Mask BasePtr (sve.index IndexBase 1))
  => (masked.store (gep BasePtr IndexBase) Align Mask undef)

Tests with <vscale x 2 x double>:

[Gather, Scatter] for each [Positive test (index=1), Negative test (index=2), Alignment propagation].


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D112076

Files:
  llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-gatherscatter.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D112076.380695.patch
Type: text/x-patch
Size: 9642 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211019/7ada810c/attachment.bin>


More information about the llvm-commits mailing list