https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84522

--- Comment #5 from Ruslan Nikolaev <nruslan_devel at yahoo dot com> ---
After more t(In reply to Andrew Pinski from comment #1)
> IIRC this was done because there is no atomic load/stores or a way to do
> backwards compatible.

After more thinking about it... Should not it be controlled by some flag
(similar to -mcx16 which enables cmpxchg16b)? This flag can basically say, that
atomic_load on 128-bit will not work on read-only memory. I think, it is better
than just unconditionally disabling lock-free implementation for 128-bit types
in C11 (which can is useful in a number of cases) just to accommodate some rare
cases when memory accesses must be read-only. That would also be more portable
and compatible with other compilers such as clang.

Reply via email to