https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95162
--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> --- GCC manual says '-mpreferred-stack-boundary=NUM' Attempt to keep the stack boundary aligned to a 2 raised to NUM byte boundary. If '-mpreferred-stack-boundary' is not specified, the default is 4 (16 bytes or 128-bits). *Warning:* If you use this switch, then you must build all modules with the same value, including any libraries. This includes the system libraries and startup modules. c-c++-common/dfp/func-vararg-mixed-2.c has /* { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ /* { dg-options "-mpreferred-stack-boundary=2" } */ which works by pure luck.