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

            Bug ID: 119002
           Summary: [15 Regression] Comparison miscompilation on ppc64le
                    and s390x since r15-6777
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

__attribute__((noinline)) unsigned int
foo (void *x, float y, float z)
{
  unsigned int a, b;
  float c, d, e;
  c = y;
  d = z;
  a = c < d;
  d = y;
  e = z;
  b = d >= e;
  a |= b;
  return a;
}

int
main ()
{
  if (foo ((void *) 0, 0.f, __builtin_nanf ("")))
    __builtin_abort ();
}

is miscompiled at -O2 on powerpc64le-linux (and I was told s390x too, but
haven't tried myself) since r15-6777-g06c4cf398947b53b4bfc65752f9f879bb2d07924

Reply via email to