This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/45678] [4.4/4.5/4.6 Regression] crash on vector code with -m32 -msse
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 16 Sep 2010 13:39:28 -0000
- Subject: [Bug rtl-optimization/45678] [4.4/4.5/4.6 Regression] crash on vector code with -m32 -msse
- References: <bug-45678-15165@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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