https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65697
--- Comment #42 from Richard Henderson <rth at gcc dot gnu.org> --- (In reply to Andrew Macleod from comment #39) > no, __sync was simply an implementation of psABI back when it was new... I'm > not aware of any additions, enhancements or guarantees that were added when > it was ported to other arch's. > > Terminology was much looser 14 years ago :-) That's one of the reasons we > want to migrate to __atomic... it is supposedly more precisely defined, > whereas __sync had some hand-waving. We're now experiencing some different > interpretations of that. Regardless of the documentation, we didn't think > we'd be supporting something stronger than SEQ_CST since they were suppose > to be equivalent... Exactly right. I don't believe there's anywhere we can look for more definitive semantics than the psABI. And as already explored here, that's not entirely helpful.