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)8 test (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()21 main ()
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