https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108360
--- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This is the example code which is not optimized at the gimple level (but is at the RTL level): ``` void gg(); void hh(); void f1(int a, int b) { short t = a == b; t -= 1; unsigned t1 = t; if (t1 <= 3) gg(); else hh(); } // Even the simplier example: void f2(int a, int b) { unsigned t = a == b; t = -t; unsigned t1 = t; if (t1 <= 3) gg(); else hh(); } ```