https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110773
Wilco <wilco at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wilco at gcc dot gnu.org --- Comment #2 from Wilco <wilco at gcc dot gnu.org> --- This is really a user error, not a compiler issue. Just write it like: struct Storage { std::atomic<FloatPair> fp1; float padding; std::atomic<FloatPair> fp2; } storage; This ensures the correct alignment required for atomic accesses of fp1/fp2.