On 4/28/23 12:45, Hans Boehm wrote:
We're certainly pushing for the same ABI (A.6 + trailing fence on store)
in LLVM as well. I'm about to upload a pull request for the psABI
document that describes this version of the ABI, and a bit of the
rationale for it. I'll attach the current draft here.
I agree that compatibility is critical here, not just across llvm and
gcc, but also with other language implementations. That's part of the
reason to get this correct asap.
I believe that standardizing on A.6 + trailing fence on store, though
initially suboptimal, is by far the best bet to get us to an efficient
ABI in the long term. I expect the A.7 ABI to perform well. A.6, even
without the trailing store fence, has annoyingly expensive seq_cst
loads, which I would really like to get away from.
Thanks for the additional info. This stuff is well outside my area of
expertise, so having someone with your background to give key insights
is definitely appreciated.
jeff