http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54524
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-09-22 22:26:37 UTC --- I think this code: /* (LTU/GEU (PLUS a C) C), where C is constant, can be simplified to (GEU/LTU a -C). Likewise for (LTU/GEU (PLUS a C) a). */ Is what is causing the issue as that is only true if C is non-zero.