https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63679
--- Comment #19 from jgreenhalgh at gcc dot gnu.org --- (In reply to rguent...@suse.de from comment #16) > Certainly removing the alignment is not going to fly - we'd generate > very bad code for strict-align targets for initializing packed > structs by pieces for example. Surely this is already true? The alignment here is what we can assume for the entire aggregate - the previous check was can_move_by_pieces, which doesn't check the components of the aggregate. For a well-aligned aggreagate of the appropriate size, can_move_by_pieces will return true, and we'll initialize the packed struct by its components regardless of the component alignment. Or am I missing something?