https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83735
--- Comment #8 from H.J. Lu <hjl.tools at gmail dot com> --- I am testing this patch: diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 8696f931806..8558995e067 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -11259,7 +11259,8 @@ ix86_compute_frame_layout (void) /* Calculate the size of the va-arg area (not including padding, if any). */ frame->va_arg_size = ix86_varargs_gpr_size + ix86_varargs_fpr_size; - if (stack_realign_fp) + /* Adjust stack_realign_offset for stack_alignment_needed. */ + if ((offset % stack_alignment_needed) != 0) { /* We may need a 16-byte aligned stack for the remainder of the register save area, but the stack frame for the local function