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 ...

Reply via email to