1 /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */
2 /* { dg-options "-O2" } */
4 /* { dg-final { scan-assembler-not "lfd \(f?\[0-9\]+\),\[^\n\r\]*\[\n\r\]+\[ \t]*fmr f?1,\\1\[\n\r\]+\[ \t]*blr" } } */
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
;