[AArch64][SVE] Add structured load/store opcodes to getMemOpInfo
authorKerry McLaughlin <kerry.mclaughlin@arm.com>
Thu, 17 Feb 2022 16:00:36 +0000 (16:00 +0000)
committerKerry McLaughlin <kerry.mclaughlin@arm.com>
Thu, 17 Feb 2022 17:09:17 +0000 (17:09 +0000)
commitfc1b21228e39d63f1a2ab98026d548de66cb3760
tree7bfac92878587f6ec9b920557cdf46ec52be1d66
parent08361bb3c88a4001349bc6cd1406214a22ca7fa7
[AArch64][SVE] Add structured load/store opcodes to getMemOpInfo

Currently, loading from or storing to a stack location with a structured load
or store crashes in isAArch64FrameOffsetLegal as the opcodes are not handled by
getMemOpInfo. This patch adds the opcodes for structured load/store instructions
with an immediate index to getMemOpInfo & getLoadStoreImmIdx, setting appropriate
values for the scale, width & min/max offsets.

Reviewed By: sdesmalen, david-arm

Differential Revision: https://reviews.llvm.org/D119338
llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
llvm/test/CodeGen/AArch64/sve-fixed-ld2-alloca.ll [new file with mode: 0644]
llvm/test/CodeGen/AArch64/sve-ldN.mir [new file with mode: 0644]
llvm/test/CodeGen/AArch64/sve-stN.mir [new file with mode: 0644]