https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96159
--- Comment #3 from Martin Uecker <muecker at gwdg dot de> --- The documentation: https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html#g_t_005f_005fatomic-Builtins "The four non-arithmetic functions (load, store, exchange, and compare_exchange) all have a generic version as well. This generic version works on any data type. It uses the lock-free built-in function if the specific data type size makes that possible; otherwise, an external call is left to be resolved at run time."