quadlib.c (_U_Qfneg): Toggle sign bit instead of subtracting from zero.

* pa/quadlib.c (_U_Qfneg): Toggle sign bit instead of subtracting from
	zero.

From-SVN: r97961
This commit is contained in:
John David Anglin 2005-04-11 03:06:13 +00:00 committed by John David Anglin
parent dcec6a4d7a
commit 0dbca30748
2 changed files with 16 additions and 3 deletions

View File

@ -1,3 +1,8 @@
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.

View File

@ -1,5 +1,5 @@
/* 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.
@ -160,11 +160,19 @@ _U_Qfcomp (long double a, long double b)
}
/* 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__