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

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Uroš Bizjak from comment #9)
> (In reply to Richard Biener from comment #8)
> > (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.
> 
> Great!
> 
> > 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*).
> 
> Dynamic re-alignment and prologue/epilogue construction code is sprinkled
> with many (helpful!) asserts, so the compilation would break left and right
> if we got realignment functionality wrong.
> 
> Based on your testing, I feel confident enough that my patch is OK, so let's
> proceed with this one and keep an eye on testers and fuzzers.

Will you apply it?

Reply via email to