From: Jeff Law Date: Tue, 17 Feb 1998 21:50:10 +0000 (-0700) Subject: New testcase for x86 XFmode problems. X-Git-Tag: prereleases/egcs-1.1-prerelease~2355 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d84a12e2de3b034e416eba9f808be56e309bc30d;p=thirdparty%2Fgcc.git New testcase for x86 XFmode problems. From-SVN: r18051 --- diff --git a/gcc/testsuite/gcc.dg/980211-1.c b/gcc/testsuite/gcc.dg/980211-1.c new file mode 100644 index 000000000000..6332b7e7e3f5 --- /dev/null +++ b/gcc/testsuite/gcc.dg/980211-1.c @@ -0,0 +1,27 @@ +/* Test long double on x86. */ + +/* { dg-do run { target i?86-*-* } } */ +/* { dg-options -O2 } */ + +__inline int +__signbitl (long double __x) +{ + union { long double __l; int __i[3]; } __u = { __l: __x }; + + return (__u.__i[2] & 0x8000) != 0; +} + +void +foo (long double x, long double y) +{ + long double z = x / y; + if (__signbitl (x) && __signbitl (z)) + abort (); +} + +int main() +{ + if (sizeof (long double) > sizeof (double)) + foo (-0.0, -1.0); + return 0; +}