/* Test for unsafe floating-point conversions. PR 36578. */ /* { dg-do run } */ /* { dg-options "-msse2 -mfpmath=sse" } */ #include "sse2-check.h" extern void abort (void); extern void exit (int); extern int printf(const char *, ...); volatile double d1 = 1.0; volatile double d2 = 0x1.00001p-53; volatile double d3; static void sse2_test (void) { d3 = (double)((long double)d1 + (long double)d2); if (d3 != d1) abort (); exit (0); }