[PATCH] D126250: [CodeGen][AArch64] Add support for LDAPR
Luke Geeson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri May 27 06:22:26 PDT 2022
LukeGeeson added a comment.
In D126250#3540633 <https://reviews.llvm.org/D126250#3540633>, @efriedma wrote:
> 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.
Hi folks, before we merge I would like to discuss the correctness argument for a while longer. Kyrylo mentioned the possibility of some exemplar litmus tests showing that replacing LDAR with LDAPR does not introduce any outcomes of litmus tests, have you looked into this?
Further @efriedma which papers on formal models do you refer to?
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