https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89518
--- Comment #2 from Marc Glisse <glisse at gcc dot gnu.org> --- (In reply to Richard Biener from comment #1) > We do not have a (a / b) * b + (a % b) simplification rule. Indeed. That's surprising since we do have for trunc_div /* X - (X / Y) * Y is the same as X % Y. */