[clang] [llvm] [AArch64][SVE] Lower unpredicated loads/stores as LDR/STR. (PR #127837)
Ricardo Jesus via cfe-commits
cfe-commits at lists.llvm.org
Wed Feb 26 04:26:19 PST 2025
================
@@ -2993,6 +2993,22 @@ let Predicates = [HasSVE_or_SME] in {
defm : unpred_loadstore_bitcast<nxv2i64>;
defm : unpred_loadstore_bitcast<nxv2f64>;
+ // Allow using LDR/STR to avoid the predicate dependence.
+ let Predicates = [IsLE, AllowMisalignedMemAccesses] in
----------------
rj-jesus wrote:
Thank you very much for the feedback. I'll rebase the patch to resolve the conflict with `llvm/test/CodeGen/AArch64/sme-framelower-use-bp.ll` and commit it afterwards. I'll keep an ear out for reports of performance regressions.
Also, I think the other two patterns we were discussing above probably also need `AllowMisalignedMemAccesses` as they change the width of the vector elements accessed.
https://github.com/llvm/llvm-project/pull/127837
More information about the cfe-commits
mailing list