https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98676
--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> --- Created attachment 49966 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49966&action=edit A patch STV is disabled by /* Disable STV if -mpreferred-stack-boundary={2,3} or -mincoming-stack-boundary={2,3} or -mstackrealign - the needed stack realignment will be extra cost the pass doesn't take into account and the pass can't realign the stack. */ if (ix86_preferred_stack_boundary < 128 || ix86_incoming_stack_boundary < 128 || opts->x_ix86_force_align_arg_pointer) opts->x_target_flags &= ~MASK_STV; Please try this.