https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111107

--- Comment #23 from Zeb Figura <zfigura at codeweavers dot com> ---
(In reply to LIU Hao from comment #22)
> (In reply to Zeb Figura from comment #0)
> > Minimal example:
> > 
> > typedef int myint[4] __attribute__((aligned(16)));
> > 
> > extern void g(void *);
> > 
> > void f(void)
> > {
> >     myint a;
> >     g(&a);
> > }
> > 
> >
> 
> Would you please check whether the commit above fixes the issue?

Only partly. The example in the initial code is fixed. However, if you change
it to aligned(8) instead of aligned(16), it no longer aligns. See comment 17.

Using PREFERRED_STACK_BOUNDARY_DEFAULT instead of STACK_REALIGN_DEFAULT would
have fixed this, but maybe this is supposed to be considered a bug with
-mstackrealign. I don't know. I've asked multiple times what the difference
between the two is actually supposed to be, without answer.

Reply via email to