------- Comment #13 from rguenth at gcc dot gnu dot org 2010-09-16 13:39 ------- (In reply to comment #12) > (In reply to comment #4) > > Created an attachment (id=21809) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21809&action=view) [edit] > > patch to fix "half STRICT_ALIGNMENT" targets memcpy folding > > > > Might need this patch to fix as well. i?86 / x86_64 isn't really > > !STRICT_ALIGNMENT. > > > > We need a HARD_ALIGNMENT which depends on type for x86.
With that patch the assignment generated from memcpy doesn't need more that int alignment, but still cfgexpand.c sets DECL_ALIGN of the decl to 128 so expand uses aligned instructions. cfgexpand.c should not increase alignment and not set 'needs stack alignment' then, based on your comment #10. So this _is_ about stack alignment (but maybe not exclusively). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45678