http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55614
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-12-07 15:28:30 UTC --- (In reply to comment #5) > How can a union have alignment 8 if it contains a field with alignment 128? > That should only happen if the field is a bit-field... That is what the memcpy folding folds it to. We could perhaps stop for 4.6/4.7 doing such replacements in memcpy folding if it would try to decrease alignment of some aggregate, but then we risk regressing generated code quality.