http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31531
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-02-12 04:39:01 UTC --- forwprop already handles: int f(int a) { int b = ~a; return b<0; } It just needs to handle: int f(unsigned a) { int b = ~a; return b<0; }