/* Test long double on x86 and x86-64. */

/* { dg-do run { target i?86-*-* x86_64-*-*} } */
/* { dg-options -O2 } */

extern void abort (void);

__inline int
__signbitl (long double __x)
{
  union { long double __l; int __i[3]; } __u = { __l: __x };

  return (__u.__i[2] & 0x8000) != 0;
}

void
foo (long double x, long double y)
{
  long double z = x / y;
  if (__signbitl (x) && __signbitl (z))
    abort ();
}

int main()
{
  if (sizeof (long double) > sizeof (double))
    foo (-0.0, -1.0);
  return 0;
}
