diff options
author | Joseph Myers <joseph@codesourcery.com> | 2007-01-15 23:56:32 +0000 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2007-01-15 23:56:32 +0000 |
commit | af7a7593fa558ca9a873ab79484142678c08d6f4 (patch) | |
tree | 86084db26d4ef713152109d2b364df463fe9548e | |
parent | e9d59899de7c74fc819d11f650e858fc717e3424 (diff) | |
download | gcc-af7a7593fa558ca9a873ab79484142678c08d6f4.zip gcc-af7a7593fa558ca9a873ab79484142678c08d6f4.tar.gz gcc-af7a7593fa558ca9a873ab79484142678c08d6f4.tar.bz2 |
op-common.h, op-4.h: Update from glibc CVS.
* config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from
glibc CVS.
From-SVN: r120806
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/soft-fp/op-4.h | 6 | ||||
-rw-r--r-- | gcc/config/soft-fp/op-common.h | 9 |
3 files changed, 14 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 30bc446..74b2285 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-01-15 Joseph S. Myers <joseph@codesourcery.com> + + * config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from + glibc CVS. + 2007-01-15 Tom Tromey <tromey@redhat.com> * doc/sourcebuild.texi (libgcj Tests): Don't mention jacks. diff --git a/gcc/config/soft-fp/op-4.h b/gcc/config/soft-fp/op-4.h index 34f5098..1b90535 100644 --- a/gcc/config/soft-fp/op-4.h +++ b/gcc/config/soft-fp/op-4.h @@ -564,7 +564,7 @@ r1 = x1 - y1; \ _c2 = r1 > x1; \ r1 -= _c1; \ - _c2 |= r1 > _c1; \ + _c2 |= _c1 && (y1 == x1); \ r2 = x2 - y2 - _c2; \ } while (0) #endif @@ -578,11 +578,11 @@ r1 = x1 - y1; \ _c2 = r1 > x1; \ r1 -= _c1; \ - _c2 |= r1 > _c1; \ + _c2 |= _c1 && (y1 == x1); \ r2 = x2 - y2; \ _c3 = r2 > x2; \ r2 -= _c2; \ - _c3 |= r2 > _c2; \ + _c3 |= _c2 && (y2 == x2); \ r3 = x3 - y3 - _c3; \ } while (0) #endif diff --git a/gcc/config/soft-fp/op-common.h b/gcc/config/soft-fp/op-common.h index 4ec7fad..0aa6e3e 100644 --- a/gcc/config/soft-fp/op-common.h +++ b/gcc/config/soft-fp/op-common.h @@ -1,5 +1,5 @@ /* Software floating-point emulation. Common operations. - Copyright (C) 1997,1998,1999,2006 Free Software Foundation, Inc. + Copyright (C) 1997,1998,1999,2006,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Richard Henderson (rth@cygnus.com), Jakub Jelinek (jj@ultra.linux.cz), @@ -99,10 +99,10 @@ do { \ else \ { \ X##_e = _FP_EXPMAX_##fs - 1; \ - FP_SET_EXCEPTION(FP_EX_OVERFLOW); \ - FP_SET_EXCEPTION(FP_EX_INEXACT); \ _FP_FRAC_SET_##wc(X, _FP_MAXFRAC_##wc); \ } \ + FP_SET_EXCEPTION(FP_EX_INEXACT); \ + FP_SET_EXCEPTION(FP_EX_OVERFLOW); \ } while (0) /* Check for a semi-raw value being a signaling NaN and raise the @@ -1252,6 +1252,9 @@ do { \ _FP_FRAC_SRL_##swc(S, (_FP_WFRACBITS_##sfs \ - _FP_WFRACBITS_##dfs)); \ _FP_FRAC_COPY_##dwc##_##swc(D, S); \ + /* Semi-raw NaN must have all workbits cleared. */ \ + _FP_FRAC_LOW_##dwc(D) \ + &= ~(_FP_W_TYPE) ((1 << _FP_WORKBITS) - 1); \ _FP_FRAC_HIGH_##dfs(D) |= _FP_QNANBIT_SH_##dfs; \ } \ } \ |