https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93177
--- Comment #8 from Matt Emmerton <memmerto at ca dot ibm.com> --- (In reply to Andrew Pinski from comment #5) > > __lwarx() > > __ldarx() > > __stwcx() > > __stdcx() > > Is there a reason why the __atomic_* builtins don't work? There are places in our code where we do manipulations of the lockword that cannot be emulated by the __atomic_* builtins, and thus require us to emit discrete larx/stcx instructions (with other goodness in between.)