https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103193

--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> ---
Here is compilable testcase:

_Bool a (void)
{
#pragma STDC FENV_ACCESS ON
  float f;
  _Bool b;
  f = __builtin_nan ("");
  b = f >= f; // ucomiss (wrong), comiss (correct)
  return b;
}

Tree optimizers (_.optimized dump) already give us:

  <bb 2> :
  f_1 =  Nan;
  b_2 = f_1 == f_1;
  _3 = b_2;


However, f_1 == f_1 expands with UNSPEC_NOTRAP RTX which gives us ucomiss.

Reply via email to