https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114722
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Last reconfirmed| |2024-04-15 Severity|normal |enhancement Status|UNCONFIRMED |NEW Keywords| |missed-optimization, TREE --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. Working case: x = c_6(D); _1 = e_8(D) == 0; _11 = e_8(D) * d_9(D); _4 = _1 ? _11 : 0; vs not working case: x = c_5(D); _1 = e_10(D) == 0; _3 = _1 ? d_7(D) : 0; _4 = _3 * e_10(D); In the first case, the rtl optimizers can figure it out back to 0. While in the second case, it can't. Not a regression and has only been improved lately.