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!)