https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91528

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Uroš Bizjak from comment #5)
> Created attachment 46753 [details]
> Conditionally generate DRAP reg for realigned stack
> 
> This should be the correct patch, we call targetm.calls.get_drap_rtx only
> when crtl->drap_reg is null (get_drap_rtx also emits DRAP initialization
> sequence).
> 
> Richi, can you please put the patch through your testing with forced STV on
> -march=westmere? I'm bootstrapping with the patch, but this means little
> with generic bootstrap.

The patch passed bootstrap with -march=westmere for all languages with
STV forced to convert all chains.

Testing is a bit fragile since for example we build most
gcc.target/i386/avx512*.c tests with some -mavx512 flags and expect no AVX512
insns to be
used before the CPUID verification - of course with all chains actually
converted some AVX512 insns creep in into the CPUID verification path and
the tests fail with an illegal instruction (so techincally the testcases
are invalid since the main driver with the CPUID check is compiled with
-mavx512*).

Reply via email to