[ARM] MVE loads and stores
authorDavid Green <david.green@arm.com>
Fri, 28 Jun 2019 08:41:40 +0000 (08:41 +0000)
committerDavid Green <david.green@arm.com>
Fri, 28 Jun 2019 08:41:40 +0000 (08:41 +0000)
commit07e53fee1453d1a48e4550fb9cdb0c042587b496
treed9cd2293b27c44817af1e6fb5d6504233de7ecb2
parent2bc48f503a13fa85e816c017e9ed647282d156cd
[ARM] MVE loads and stores

This fills in the gaps for basic MVE loads and stores, allowing unaligned
access and adding far too many tests. These will become important as
narrowing/expanding and pre/post inc are added. Big endian might still not be
handled very well, because we have not yet added bitcasts (and I'm not sure how
we want it to work yet). I've included the alignment code anyway which maps
with our current patterns. We plan to return to that later.

Code written by Simon Tatham, with additional tests from Me and Mikhail Maltsev.

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

llvm-svn: 364633
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/lib/Target/ARM/ARMInstrMVE.td
llvm/test/CodeGen/Thumb2/mve-basic.ll
llvm/test/CodeGen/Thumb2/mve-ldst-offset.ll [new file with mode: 0644]
llvm/test/CodeGen/Thumb2/mve-ldst-postinc.ll [new file with mode: 0644]
llvm/test/CodeGen/Thumb2/mve-ldst-preinc.ll [new file with mode: 0644]
llvm/test/CodeGen/Thumb2/mve-ldst-regimm.ll [new file with mode: 0644]
llvm/test/CodeGen/Thumb2/mve-loadstore.ll [new file with mode: 0644]