1 /* { dg-do run } */ 2 /* { dg-options "-O2 -mtune=athlon64" } */ 3 4 extern void abort (void); 5 6 long double 7 __attribute__((noinline, noclone)) test(float num)8test (float num) 9 { 10 unsigned int i; 11 12 if (num < 0.0) 13 num = 0.0; 14 15 __builtin_memcpy (&i, &num, sizeof(unsigned int)); 16 17 return (long double)(unsigned long long) i; 18 } 19 20 int main()21main () 22 { 23 long double x; 24 25 x = test (0.0); 26 27 if (x != 0.0) 28 abort (); 29 30 return 0; 31 } 32