https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99114
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
CC| |ebotcazou at gcc dot gnu.org
Ever confirmed|0 |1
Last reconfirmed| |2021-02-15
--- Comment #1 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Please provide a reproducer as documented in https://gcc.gnu.org/bugs
> The assumption here is that op0 will be an (and:HI) after the first
> statement (and we assume (subreg:SI (and:HI ... (const_int 3))) is
> defined because of WORD_REGISTER_OPERATIONS) but it's actually
> simplified to be just the (reg:HI 593), and (subreg:SI (reg:HI 593))
> is not defined.
Paradoxical registers are defined under specific circumstances though.
> I'm unsure whether this can cause wrong code for in-tree backends or
> backends which don't define WORD_REGISTER_OPERATIONS.
Well, obviously not for the latter, see the comment just above the code.