------- Additional Comments From rakdver at gcc dot gnu dot org 2005-07-15 10:09 ------- 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=22348