/* { dg-do run { target powerpc*-*-darwin* powerpc*-*-aix* powerpc64-*-linux rs6000-*-* } } */
/* { dg-options "-mlong-double-128" } */

/* Check that long double values are rounded correctly when being converted
   to 32-bit integers.  All these values are of the form +/- 2 +/- 2^-60.  */

extern void abort(void);
extern void exit(int);

int main(void)
{
  long double l1 = 1.9999999999999999991326382620115964527941L;
  long double l2 = 2.0000000000000000008673617379884035472059L;
  long double l3 = -2.0000000000000000008673617379884035472059L;
  long double l4 = -1.9999999999999999991326382620115964527941L;
  
  if ((int) l1 != 1)
    abort ();
  if ((int) l2 != 2)
    abort ();
  if ((int) l3 != -2)
    abort ();
  if ((int) l4 != -1)
    abort ();
  exit (0);
}
