+2016-09-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Also disable the
+ STV pass if -mstackrealign is enabled.
+
2016-08-31 Ilya Verbin <iverbin@gmail.com>
* config/i386/driver-i386.c (host_detect_local_cpu): Fix detection of
if (!(opts_set->x_target_flags & MASK_STV))
opts->x_target_flags |= MASK_STV;
/* Disable STV if -mpreferred-stack-boundary={2,3} or
- -mincoming-stack-boundary={2,3} - the needed
+ -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)
+ || ix86_incoming_stack_boundary < 128
+ || opts->x_ix86_force_align_arg_pointer)
opts->x_target_flags &= ~MASK_STV;
if (!ix86_tune_features[X86_TUNE_AVX256_UNALIGNED_LOAD_OPTIMAL]
&& !(opts_set->x_target_flags & MASK_AVX256_SPLIT_UNALIGNED_LOAD))