https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98299
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2021-01-04 Ever confirmed|0 |1 --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- Btw for the similar division pattern kernel folks once complained ;) But yes, confirmed. SCCP is doing such transform usually but we don't do it because we consider the replacement (n_2(D) + -45) + (int) (((unsigned int) n_2(D) + 4294967251) / 45) * -45 too expensive (guess the cast makes recognizing this as modulo not valid).