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

--- Comment #5 from Zdenek Sojka <zsojka at seznam dot cz> ---
(In reply to Jakub Jelinek from comment #1)
> That is IMHO user error.  You need to align _BitInt appropriately, exactly
> like you need to align long long for ia32 to use atomics on it.

The difference between CMPXCHG8B and CMPXCHG16B is that the 128b variant needs
the operand to be aligned in all cases; CMPXCHG8B will cause an exception only
if alignment checking is enabled or on splitlock cases, if enabled.

I cannot reproduce the similar issue on i686 and 64bit atomic accesses.

Reply via email to