/* { dg-do run } */ /* { dg-options "-O2 -mtune=athlon64" } */ extern void abort (void); long double __attribute__((noinline, noclone)) test (float num) { unsigned int i; if (num < 0.0) num = 0.0; __builtin_memcpy (&i, &num, sizeof(unsigned int)); return (long double)(unsigned long long) i; } int main () { long double x; x = test (0.0); if (x != 0.0) abort (); return 0; }