1 /* { dg-do compile { target powerpc64-*-* } } */
2 /* { dg-options "-m64 -O2" } */
4 /* { dg-final { scan-assembler-not "fmr \[0-9\]+,\[0-9\]+" } }
6 /* Origin:Pete Steinmetz <steinmtz@us.ibm.com> */
8 /* PR 16796: Extraneous move. */
10 static const double huge = 1.0e300;
11 typedef int int64_t __attribute__ ((__mode__ (__DI__)));
12 typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
14 double __floor(double x)
26 j0 = ((i0>>52)&0x7ff)-0x3ff;
31 else if((i0&0x7fffffffffffffff)!=0)
32 { i0=0xbff0000000000000;}
35 i = (0x000fffffffffffff)>>j0;
36 if((i0&i)==0) return x;
38 if(i0<0) i0 += (0x0010000000000000)>>j0;