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

--- Comment #3 from Yongqiang Tian <yqtian668 at gmail dot com> ---
(In reply to Drea Pinski from comment #2)
> mode-switching is used also for a few other things. x86_64 uses it in some
> cases.  So does sh.  I wonder if you could figure out a testcase for those
> targets too.

Thanks for pointing this out. 

I checked both x86 and SH. They use the generic mode-switching pass, but
neither target defines TARGET_MODE_BACKPROP. This particular anchor becomes
observable when backprop_transfer assigns a mode to an otherwise
requirement-free segment, which is what happens in the AArch64 SME case.
Without that hook, an ordinary requirement-free x86 or SH segment retains
no_mode and emits nothing at the saved anchor.

I also tried focused cld, vzeroupper, and SH FPSCR probes. In addition, I swept
the GCC torture tests and the relevant x86 and SH target tests with
-fcompare-debug, but found no trigger on either target. I therefore do not
think x86 or SH can provide a faithful regression test for this specific anchor
change, although I will include them when doing the generic regression testing.



BTW, our earlier testing found several debug-dependent failures in older GCC
ports. After deduplication, there are three distinct C6X cases and one SH case
without reports. They have reduced natural reproducers and candidate fixes, but
I have held them because these ports are lightly maintained. I am wondering if
you have any suggestions?

Reply via email to