------- Additional Comments From pinskia at gcc dot gnu dot org 2005-07-27 16:38 ------- >From comment #7 of PR 22348: extract_muldiv(51 - 7, 3, FLOOR_MOD_EXPR) returns incorrectly 0.
The reason is that 51 - 7 is replaced with 51 + ~6, and both 51 and ~6 are divisible by 3, so the result obviously is 0 :-) Someone forgot about overflows. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23096