https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95906
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |110949 --- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- _1 = a_5(D) > b_6(D); _2 = (int) _1; _11 = a_5(D) > b_6(D); _3 = _11 ? a_5(D) : 0; _9 = _2 + -1; If we convert _9 to be: _t = a_5(D) <= b_6(D) _9 = - _t Then we would handle it like mentioned in comment #6. So that is PR 110949 . Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110949 [Bug 110949] ((cast)cmp) - 1 should be tranformed into -(cast)cmp` where cmp` is the inverse of cmp