Fix wordsize-64 cosh regression (bug 14273).

This commit is contained in:
Joseph Myers 2012-06-21 19:26:09 +00:00
parent 79662d4270
commit b7abb4bf78
3 changed files with 7 additions and 1 deletions

View File

@ -1,5 +1,10 @@
2012-06-21 Joseph Myers <joseph@codesourcery.com>
[BZ #14273]
* sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c (__ieee754_cosh):
Clear sign bit of 64-bit integer value before comparing against
overflow value.
* sysdeps/mach/configure: Regenerated.
2012-06-21 H.J. Lu <hongjiu.lu@intel.com>

2
NEWS
View File

@ -30,7 +30,7 @@ Version 2.16
13983, 13986, 13996, 14012, 14027, 14033, 14034, 14036, 14040, 14043,
14044, 14048, 14049, 14050, 14053, 14055, 14059, 14064, 14075, 14080,
14083, 14103, 14104, 14109, 14112, 14117, 14122, 14123, 14134, 14153,
14183, 14188, 14199, 14210, 14218, 14229, 14241, 14278
14183, 14188, 14199, 14210, 14218, 14229, 14241, 14273, 14278
* Support for the x32 ABI on x86-64 added. The x32 target is selected by
configuring glibc with:

View File

@ -67,6 +67,7 @@ __ieee754_cosh (double x)
/* |x| in [log(maxdouble), overflowthresold] */
int64_t fix;
EXTRACT_WORDS64(fix, x);
fix &= UINT64_C(0x7fffffffffffffff);
if (fix <= UINT64_C(0x408633ce8fb9f87d)) {
w = __ieee754_exp(half*fabs(x));
t = half*w;