https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110009
--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So now there is an open question here. which is more Canonical: ``` _1 = v < 0; a_4 = (int) _1; b_5 = -a_4; _9 = b_5 | 1; ``` or ``` _t1 = v >> 31 _9 = _t1 | 1 ``` or ``` _tb = v < 0 _9 = _tb ? -1 : 1 ``` Right now depending on the original form, it is either option 1 or option 2 or option 4 (which is with a GIMPLE_COND/PHI).