https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93177
--- Comment #4 from Matt Emmerton <memmerto at ca dot ibm.com> --- The intrinsics that we would find useful, having used them as provided by the IBM XL C/C++ compiler, are the following: __sync() __isync() __lwsync() __dcbt() __dcbtst() __lwarx() __ldarx() __stwcx() __stdcx() __protected_stream_set() __protected_stream_count() __protected_stream_count_depth() // currently not implemented in gcc __protected_stream_go() The implementation of stwcx() and stdcx() need revision on PPC. As I understand it, there is no need the mfocrf instruction nor the mask-and-shift on result.