On x86, the "long double" type is platforma specific, which may be the same as double or __float128. Since pr37870.c requires 80-bit floating point type, it should be compiled with -mlong-double-80.
* gcc.target/i386/pr37870.c (dg-options): Add -mlong-double-80. --- gcc/testsuite/gcc.target/i386/pr37870.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.target/i386/pr37870.c b/gcc/testsuite/gcc.target/i386/pr37870.c index 19cfb20..bc78ed7 100644 --- a/gcc/testsuite/gcc.target/i386/pr37870.c +++ b/gcc/testsuite/gcc.target/i386/pr37870.c @@ -1,6 +1,6 @@ /* PR middle-end/37870 */ /* { dg-do run } */ -/* { dg-options "-O2" } */ +/* { dg-options "-O2 -mlong-double-80" } */ unsigned int foo (long double x) -- 2.4.3