https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78590
--- Comment #2 from ktkachov at gcc dot gnu.org --- I suspect we want to extend the && !paradoxical_subreg_p (XEXP (x, 0)) check to also check REG_P (SUBREG_REG (XEXP (x, 0))). The pattern processed in this case is: (set (reg:SI 80) (zero_extend:SI (subreg:HI (float_truncate:HF (reg:DF 79)) 0)))