On Wed, Jan 27, 2016 at 06:34:41PM +0300, Ilya Enkovich wrote: > @@ -5453,6 +5443,11 @@ ix86_option_override_internal (bool main_args_p, > opts->x_target_flags |= MASK_VZEROUPPER; > if (!(opts_set->x_target_flags & MASK_STV)) > opts->x_target_flags |= MASK_STV; > + /* Disable STV if -mpreferred-stack-boundary={2,3} - the needed
The comment doesn't match the code, you disable STV only for -mpreferred-stack-boundary=2. > + 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 < 64) > + 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)) > opts->x_target_flags |= MASK_AVX256_SPLIT_UNALIGNED_LOAD; Jakub