aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorSander de Smalen <sander.desmalen@arm.com>2023-08-31 14:16:27 +0000
committerSander de Smalen <sander.desmalen@arm.com>2023-08-31 15:03:19 +0000
commita6293228fdd5aba8c04c63f02f3d017443feb3f2 (patch)
tree9f71ee9eebd61de4cd413af98bcfd4e5ad788e4a /flang/lib/Frontend/CompilerInvocation.cpp
parent81dc54e823a8746cdd35e2e0c07da476cf312dc0 (diff)
downloadllvm-a6293228fdd5aba8c04c63f02f3d017443feb3f2.zip
llvm-a6293228fdd5aba8c04c63f02f3d017443feb3f2.tar.gz
llvm-a6293228fdd5aba8c04c63f02f3d017443feb3f2.tar.bz2
Reland "[AArch64][SME] Add support for Copy/Spill/Fill of strided ZPR2/ZPR4 registers."
This patch contains a few changes: * It changes the alignment of the strided/contiguous ZPR2/ZPR4 registers to 128-bits. This is important, because when we spill these registers to the stack, the address doesn't need to be 256/512 bits aligned because we split the single-store/reload pseudo instruction up into multiple STR_ZXI/LDR_ZXI (single vector store/load) instructions, which only require a 128-bit alignment. Additionally, an alignment larger than the stack-alignment is not supported for scalable vectors. * It adds support for these register classes in storeRegToStackSlot, loadRegFromStackSlot and copyPhysReg. * It adds tests only for the strided forms. There is no need to also test the contiguous forms, because a register such as z2_z3 or z4_z5_z6_z7 are also part of the regular ZPR2 and ZPR4 register classes, respectively, which are already covered and tested. Reviewed By: dtemirbulatov Differential Revision: https://reviews.llvm.org/D159189
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions