https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111468
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Severity|normal |enhancement Last reconfirmed| |2023-09-19 Ever confirmed|0 |1 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I was going to suggest to use __builtin_islessgreater but it does not exactly work the same way. That is: ``` void stuff(); void __GIMPLE (ssa,startwith("threadfull1")) foo (float a, float b, int cond) { float x; int _7; __BB(2): if (cond_3(D) != 0) goto __BB4; else goto __BB3; __BB(3): goto __BB4; __BB(4): x_1 = __PHI (__BB2: a_5(D), __BB3: b_4(D)); _7 = __builtin_islessgreater (x_1 , a_5(D)); if (_7 != 0) goto __BB5; else goto __BB6; __BB(5): stuff (); goto __BB6; __BB(6): return; } ``` But we don't get UNEQ_EXPR right away, instead we have to wait until vrp1 to get the UNEQ_EXPR ...