Commit af7a7593 by Joseph Myers Committed by Joseph Myers

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
parent e9d59899
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> 2007-01-15 Tom Tromey <tromey@redhat.com>
* doc/sourcebuild.texi (libgcj Tests): Don't mention jacks. * doc/sourcebuild.texi (libgcj Tests): Don't mention jacks.
......
...@@ -564,7 +564,7 @@ ...@@ -564,7 +564,7 @@
r1 = x1 - y1; \ r1 = x1 - y1; \
_c2 = r1 > x1; \ _c2 = r1 > x1; \
r1 -= _c1; \ r1 -= _c1; \
_c2 |= r1 > _c1; \ _c2 |= _c1 && (y1 == x1); \
r2 = x2 - y2 - _c2; \ r2 = x2 - y2 - _c2; \
} while (0) } while (0)
#endif #endif
...@@ -578,11 +578,11 @@ ...@@ -578,11 +578,11 @@
r1 = x1 - y1; \ r1 = x1 - y1; \
_c2 = r1 > x1; \ _c2 = r1 > x1; \
r1 -= _c1; \ r1 -= _c1; \
_c2 |= r1 > _c1; \ _c2 |= _c1 && (y1 == x1); \
r2 = x2 - y2; \ r2 = x2 - y2; \
_c3 = r2 > x2; \ _c3 = r2 > x2; \
r2 -= _c2; \ r2 -= _c2; \
_c3 |= r2 > _c2; \ _c3 |= _c2 && (y2 == x2); \
r3 = x3 - y3 - _c3; \ r3 = x3 - y3 - _c3; \
} while (0) } while (0)
#endif #endif
......
/* Software floating-point emulation. Common operations. /* 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. This file is part of the GNU C Library.
Contributed by Richard Henderson (rth@cygnus.com), Contributed by Richard Henderson (rth@cygnus.com),
Jakub Jelinek (jj@ultra.linux.cz), Jakub Jelinek (jj@ultra.linux.cz),
...@@ -99,10 +99,10 @@ do { \ ...@@ -99,10 +99,10 @@ do { \
else \ else \
{ \ { \
X##_e = _FP_EXPMAX_##fs - 1; \ 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_FRAC_SET_##wc(X, _FP_MAXFRAC_##wc); \
} \ } \
FP_SET_EXCEPTION(FP_EX_INEXACT); \
FP_SET_EXCEPTION(FP_EX_OVERFLOW); \
} while (0) } while (0)
/* Check for a semi-raw value being a signaling NaN and raise the /* Check for a semi-raw value being a signaling NaN and raise the
...@@ -1252,6 +1252,9 @@ do { \ ...@@ -1252,6 +1252,9 @@ do { \
_FP_FRAC_SRL_##swc(S, (_FP_WFRACBITS_##sfs \ _FP_FRAC_SRL_##swc(S, (_FP_WFRACBITS_##sfs \
- _FP_WFRACBITS_##dfs)); \ - _FP_WFRACBITS_##dfs)); \
_FP_FRAC_COPY_##dwc##_##swc(D, S); \ _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; \ _FP_FRAC_HIGH_##dfs(D) |= _FP_QNANBIT_SH_##dfs; \
} \ } \
} \ } \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment