https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121710
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|`a - b == nonzero` implies |`a - b == nonzero` implies |that `a != b` |that `a != b` (a > b if | |nonzero was positive and | |signed type [also for | |pointers]) --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Even: ``` void link_error(); void f0(int a, int b, int *c) { int t = b - a; if (t == 16) { if (b <= a) { link_error(); } } } ``` Should be optimized.