[AArch64][SME] Make all SME intrinsics use 32bit immediates.
authorSander de Smalen <sander.desmalen@arm.com>
Fri, 28 Oct 2022 13:26:39 +0000 (13:26 +0000)
committerSander de Smalen <sander.desmalen@arm.com>
Mon, 31 Oct 2022 11:28:12 +0000 (11:28 +0000)
commit0fe945300524ab0d92842f236cfee867204aed14
tree91622aa62a31d1cb5c7d0e5579022e951cc3045c
parentda4b929da79f4ce886f5612e3c84d29c1d2632f7
[AArch64][SME] Make all SME intrinsics use 32bit immediates.

This aligns with what was done for SVE, which consistently uses 32bit
immediates at the LLVM IR level.

Additionally, this change forces the intrinsic operands to be immediates
using ImmArg<>, which subsequently requires the codegenerator to match
TargetConstants instead of Constants.

Reviewed By: paulwalker-arm

Differential Revision: https://reviews.llvm.org/D136933
llvm/include/llvm/IR/IntrinsicsAArch64.td
llvm/lib/Target/AArch64/AArch64InstrFormats.td
llvm/lib/Target/AArch64/SMEInstrFormats.td
llvm/test/CodeGen/AArch64/sme-intrinsics-add.ll
llvm/test/CodeGen/AArch64/sme-intrinsics-loads.ll
llvm/test/CodeGen/AArch64/sme-intrinsics-mopa.ll
llvm/test/CodeGen/AArch64/sme-intrinsics-mops.ll
llvm/test/CodeGen/AArch64/sme-intrinsics-mova-extract.ll
llvm/test/CodeGen/AArch64/sme-intrinsics-mova-insert.ll
llvm/test/CodeGen/AArch64/sme-intrinsics-stores.ll
llvm/test/CodeGen/AArch64/sme-intrinsics-zero.ll