[Bug target/111107] i686-w64-mingw32 does not realign stack when __attribute__((aligned)) or __attribute__((vector_size)) are used

ebotcazou at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Nov 28 22:58:54 GMT 2023


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

--- Comment #14 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> I'd say that
> 
> config/i386/cygming.h:#define STACK_REALIGN_DEFAULT TARGET_SSE
> 
> is a non-working "fix".  The appropriate default would be
> -mincoming-stack-boundary=2.  MIN_STACK_BOUNDARY should already be 4, so
> that leaves PREFERRED_STACK_BOUNDARY_DEFAULT is the way to go here.

This was a minimal fix to support SSE, but Solaris was indeed more radical:

sol2.h:#undef STACK_REALIGN_DEFAULT
sol2.h:#define STACK_REALIGN_DEFAULT (TARGET_64BIT ? 0 : 1)

so we could just mimic it for Windows.


More information about the Gcc-bugs mailing list