[PATCH] D75361: [ARM][MVE] Restrict allowed types of gather/scatter offsets

Anna Welker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 28 09:10:29 PST 2020


anwel created this revision.
anwel added reviewers: SjoerdMeijer, efriedma, craig.topper, RKSimon, samparker, dmgreen.
anwel added a project: LLVM.
Herald added subscribers: llvm-commits, hiraditya, kristof.beyls.

The MVE gather instructions smaller than 32bits zext extend the values in the offset register, as opposed to sign extending them.
They are thus not able to replace an implicit sext that the getelementptr instruction would use to extend the elements of the vector to full pointer (i.e., i32) size.
We need to make sure that the code that we select from is suitably extended, which this patch attempts to fix by tightening up the offset checks.


https://reviews.llvm.org/D75361

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75361.247274.patch
Type: text/x-patch
Size: 7932 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200228/c19c45dd/attachment.bin>


More information about the llvm-commits mailing list