https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97497
rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rsandifo at gcc dot gnu.org
--- Comment #2 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org>
---
(In reply to Andreas Krebbel from comment #1)
> Created attachment 49402 [details]
> Proposed fix
>
> With the patch only regs are considered which aren't "fixed" assuming that
> for fixed_regs the backend takes care of only actually using the
> well-defined part of the hard regs.
I don't think this is right. The principle is the same for
all types of register.
The idea is that a partial clobber can conservatively be treated
as a read of the old value and a set of the new value. That might
be suboptimal, but it should never lead to wrong code. It sounds
like there's a deeper issue here.
(BTW, the testcase attachment seems to be missing.)