[PATCH] D138791: [AArch64][SME]: Generate streaming-compatible code for ld2-alloca.
Sander de Smalen via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 28 06:10:57 PST 2022
sdesmalen added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:13969
- if (Subtarget->useSVEForFixedLengthVectors() &&
+ if (Subtarget->forceStreamingCompatibleSVE() ||
+ (Subtarget->useSVEForFixedLengthVectors() &&
----------------
This also allows the case where the total VecSize == 32 (for e.g. `<4 x i8>` which is currently not supported by Neon), or whether the number of elements is not a power of 2 (e.g. `<6 x i8>`. Can you add a test for this case?
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:13970
+ if (Subtarget->forceStreamingCompatibleSVE() ||
+ (Subtarget->useSVEForFixedLengthVectors() &&
(VecSize % Subtarget->getMinSVEVectorSizeInBits() == 0 ||
----------------
The indentation seems weird, did you use clang-format?
================
Comment at: llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll:51
attributes #0 = { "target-features"="+sve" }
----------------
nit: can you add `nounwind` as one of the parameters, to avoid the .cfi directives in the output?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D138791/new/
https://reviews.llvm.org/D138791
More information about the llvm-commits
mailing list