+2005-04-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa/quadlib.c (_U_Qfneg): Toggle sign bit instead of subtracting from
+ zero.
+
2005-04-10 Kazu Hirata <kazu@cs.umass.edu>
* config/arm/arm.c: Fix a comment typo.
/* Subroutines for long double support.
- Copyright (C) 2000, 2002, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of GCC.
}
-/* This violates the IEEE standard. It is better to multiply by -1.0L. */
+/* Negate long double A. */
long double
_U_Qfneg (long double a)
{
- return (0.0L - a);
+ union
+ {
+ long double ld;
+ int i[4];
+ } u;
+
+ u.ld = a;
+ u.i[0] ^= 0x80000000;
+ return u.ld;
}
#ifdef __LP64__