https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125209
Drea Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2026-05-06
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
Keywords| |needs-bisection
--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
(insn 17 30 18 2 (set (reg:SI 110 [ ttD.2992 ])
(subreg:SI (if_then_else:DI (ne (reg:CCZ 17 flags)
(const_int 0 [0]))
(subreg:DI (xor:SI (clobber:DI (const_int 0 [0]))
(reg:SI 107 [ _2 ])) 0)
(const_int 0 [0])) 0)) "/app/example.cpp":11:4 185
{*zero_extendhisi2}
(expr_list:REG_DEAD (reg/v:DI 103 [ ttD.2992 ])
(nil)))
We should have rejected this before reaching the ICE I think.
`(clobber:DI (const_int 0 [0]))` is the way of combine saying this is invalid
transformation to be done.
Note I suspect this bisect to the change which changes promotions and exposing
the latent issue in combine.