[PATCH] D126250: [CodeGen][AArch64] Add support for LDAPR
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 26 10:53:18 PDT 2022
efriedma accepted this revision.
efriedma added a comment.
This revision is now accepted and ready to land.
LGTM
Looked it up; apparently ldapr is specifically designed to correspond to C++ "acquire". See https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/armv8-a-architecture-2016-additions . And papers on formal models for atomics refer to the mapping of "acquire" loads to ldapr. So I think we're fine there. (And interoperation between old and new code should just work; ldapr is just ldar with the ordering requirements slightly relaxed.)
If you're interested in the performance of atomics, you might also want to look at adding patterns for the armv8.4 variants of ldapr/stlr, which take an immediate offset.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D126250/new/
https://reviews.llvm.org/D126250
More information about the llvm-commits
mailing list