https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116699
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- here is a better example where we have a secondary phiopt happening: ``` short f(int a, int b, int c) { int t1 = 4; if (c < t1) return (c > -1 ? c : -1); return t1; } short f1(int a, int b, int c) { int t1 = 4; short t = t1; if (c < t1) t = (c > -1 ? c : -1); return t; } ``` f1 gets the factor while f does not because there is a GIMPLE_PREDICT there.