[ARM] Add support for MVE pre and post inc loads and stores
commit97657013928e4a128b3fd430a110226a98749483
authorDavid Green <david.green@arm.com>
Thu, 8 Aug 2019 15:27:58 +0000 (8 15:27 +0000)
committerDavid Green <david.green@arm.com>
Thu, 8 Aug 2019 15:27:58 +0000 (8 15:27 +0000)
treeb6fe8ce8b8d398050e9955fc2f31030c0623fb61
parent26973b679992e502c68b570eef47ccf2d3ce57b2
[ARM] Add support for MVE pre and post inc loads and stores

This adds pre- and post- increment and decrements for MVE loads and stores. It
uses the builtin pre and post load/store detection, unlike Neon. Loads are
selected with the code in tryT2IndexedLoad, stores are selected with tablegen
patterns. The immediates have a +/-7bit range, multiplied by the size of the
element.

Differential Revision: https://reviews.llvm.org/D63840

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@368305 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetSelectionDAG.td
lib/Target/ARM/ARMISelDAGToDAG.cpp
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMInstrMVE.td
test/CodeGen/Thumb2/mve-ldst-postinc.ll
test/CodeGen/Thumb2/mve-ldst-preinc.ll
test/CodeGen/Thumb2/mve-ldst-regimm.ll