https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70814
Bug ID: 70814
Summary: atomic store of __int128 is not lock free on aarch64
Product: gcc
Version: 5.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: yyc1992 at gmail dot com
Target Milestone: ---
`std::atomic<__int128>::store` on aarch64 is not lock free and generates a
function call `__atomic_store_16`. However, required atomic instructions
(`stlxp`) exists in armv8 and is used by clang. Should gcc use the same
instruction as well?
Ref https://llvm.org/bugs/show_bug.cgi?id=27081, which fixes the clang codegen
for this case.