Fix ldbl-128ibm sqrtl (sNaN) (bug 20153).
commit98c9c9d9ca6c1eb8e30fe449b1e1121b8c498715
authorJoseph Myers <joseph@codesourcery.com>
Thu, 26 May 2016 22:58:36 +0000 (26 22:58 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 26 May 2016 22:58:36 +0000 (26 22:58 +0000)
tree3d8ac5444e4c4bbe885f4ca0bd9327aa02d0a3b6
parentd73e7bdb3a9284eb437b6cd84923658e25f922f2
Fix ldbl-128ibm sqrtl (sNaN) (bug 20153).

The ldbl-128ibm implementation of sqrtl wrongly returns an sNaN for
signaling NaN arguments.  This patch fixes it to quiet its argument,
using the same x * x + x return for infinities and NaNs as the dbl-64
implementation uses to ensure that +Inf maps to +Inf while -Inf and
NaN map to NaN.

Tested for powerpc.

[BZ #20153]
* sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c (__ieee754_sqrtl): Return
x * x + x for infinities and NaNs.
ChangeLog
sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c