------- Comment #2 from rguenth at gcc dot gnu dot org 2007-08-31 09:29 ------- We don't optimize the following at the tree level either but only combine get's this.
void foo_u_3_noprint (unsigned x) { unsigned q = x / 3, r = x % 3; if (q * 3 + r != x) abort(); } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33257