diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2016-09-01 07:55:00 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2016-09-01 07:55:00 +0000 |
commit | 3409207a446054802c83e41cd5eb609816a00278 (patch) | |
tree | cc78efb36e5b46add19266de7658ff43b34e3d74 /gcc | |
parent | e5b9932bbd5719bf0530721c55a424caff851b18 (diff) | |
download | gcc-3409207a446054802c83e41cd5eb609816a00278.zip gcc-3409207a446054802c83e41cd5eb609816a00278.tar.gz gcc-3409207a446054802c83e41cd5eb609816a00278.tar.bz2 |
i386.c (ix86_option_override_internal): Also disable the STV pass if -mstackrealign is enabled.
* config/i386/i386.c (ix86_option_override_internal): Also disable the
STV pass if -mstackrealign is enabled.
From-SVN: r239916
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1cf6ef6..9f90359 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +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 diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index a229a73..3ac115c 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -5957,11 +5957,12 @@ ix86_option_override_internal (bool main_args_p, 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)) |