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*).