[Bug rtl-optimization/99114] [WORD_REGISTER_OPERATIONS] wrong code for (u16_var & 3) == (u32)1

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Feb 16 07:35:54 GMT 2021


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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
If

(gtu (subreg:SI (reg:HI 593)) (const_int 1))

is incorrect, why is it then recognized?  And why should (subreg:SI (and:HI
..))
be OK?

The way I read WORD_REGISTER_OPERATIONS it's a bad design to make the IL do
something that could have better been explicitely represented.  (if it is
a SImode op then please make it an SImode op!)


More information about the Gcc-bugs mailing list