https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85595
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Alexander Ivchenko from comment #0) > (long long is only 4-byte aligned on i686) Not when it's placed on the stack. GCC will always align the variable in your example to 8 bytes. But a better example shows that __atomic_is_lock_free does still return true for objects aligned to 4 bytes.