[PATCH] D143506: [AArch64] Fix LSE2/LSE128/RCPC3 precedence
Sam Elliott via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 7 10:38:12 PST 2023
lenary added a comment.
Broadly, I think this is clearer, and shows that RCPC3 is more specific than LSE128 which is more specific than LSE2. I do have one concern shown in the tests.
================
Comment at: llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-store-lse2_lse128.ll:127
; CHECK-LABEL: store_atomic_i128_aligned_monotonic:
-; CHECK: stp x0, x1, [x2]
+; CHECK: swpp x0, x1, [x2]
store atomic i128 %value, ptr %ptr monotonic, align 16
----------------
I think in this case the `stp` is better, given it won't overwrite x0 and x1 - this doesn't matter if the values in both are dead at this point, but if they're used by anything after the store, then with `swpp` they will need to be copied into a different register.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D143506/new/
https://reviews.llvm.org/D143506
More information about the llvm-commits
mailing list