[x86] Disable STV pass if -mstackrealign is enabled.

H.J. Lu hjl.tools@gmail.com
Wed Sep 7 15:07:00 GMT 2016


On Wed, Aug 31, 2016 at 12:29 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
>> the new STV pass generates SSE instructions in 32-bit mode very late in the
>> pipeline and doesn't bother about realigning the stack, so it wreaks havoc on
>> OSes where you need to realign the stack, e.g. Windows, but I guess Solaris is
>> equally affected.  Therefore the attached patch disables it if -mstackrealign
>> is enabled (the option is automatically enabled on Windows and Solaris when
>> SSE support is enabled), as already done for -mpreferred-stack-boundary={2,3}
>> and -mincoming-stack-boundary={2,3}.
>>
>> Tested on x86/Windows, OK for mainline and 6 branch?
>>
>>
>> 2016-08-31  Eric Botcazou  <ebotcazou@adacore.com>
>>
>>        * config/i386/i386.c (ix86_option_override_internal): Also disable the
>>        STV pass if -mstackrealign is enabled.
>
> OK for mainline and gcc-6 branch.
>

Is there a testcase to show the problem with -mincoming-stack-boundary=
on Linux?

-- 
H.J.



More information about the Gcc-patches mailing list