[ARM] Add support for MVE pre and post inc loads and stores
authorDavid Green <david.green@arm.com>
Thu, 8 Aug 2019 15:27:58 +0000 (15:27 +0000)
committerDavid Green <david.green@arm.com>
Thu, 8 Aug 2019 15:27:58 +0000 (15:27 +0000)
commit27ca82f32a35f305a48487f6cf80155d25197cfd
tree86d7c3a6ffa5617fa8d1867876113131051e2ac9
parent824ffd8b1265d69eba089d8c3dcce3983089a9cd
[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

llvm-svn: 368305
llvm/include/llvm/Target/TargetSelectionDAG.td
llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/lib/Target/ARM/ARMInstrMVE.td
llvm/test/CodeGen/Thumb2/mve-ldst-postinc.ll
llvm/test/CodeGen/Thumb2/mve-ldst-preinc.ll
llvm/test/CodeGen/Thumb2/mve-ldst-regimm.ll