about summary refs log tree commit diff
path: root/sysdeps/i386
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2016-06-07 23:08:32 +0000
committerJoseph Myers <joseph@codesourcery.com>2016-06-07 23:08:32 +0000
commit8fa8a330f95c2f39eae7960ccf2825e693789202 (patch)
treee8f3db4b05b0255aa6a5f4f791fdf2ef04e25cea /sysdeps/i386
parentc23805a95d9bc095118299b5965f7f8388e57fc4 (diff)
downloadglibc-8fa8a330f95c2f39eae7960ccf2825e693789202.tar.gz
glibc-8fa8a330f95c2f39eae7960ccf2825e693789202.tar.xz
glibc-8fa8a330f95c2f39eae7960ccf2825e693789202.zip
Fix i386 atanhl (sNaN) (bug 20219).
The i386 version of atanhl returns sNaN for sNaN input.  This patch
fixes it to add NaN arguments to themselves so it returns qNaN in this
case.

Tested for x86_64 and x86.

	[BZ #20219]
	* sysdeps/i386/fpu/e_atanhl.S (__ieee754_atanhl): Add NaN argument
	to itself.
	* math/libm-test.inc (atanh_test_data): Add sNaN tests.
Diffstat (limited to 'sysdeps/i386')
-rw-r--r--sysdeps/i386/fpu/e_atanhl.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/sysdeps/i386/fpu/e_atanhl.S b/sysdeps/i386/fpu/e_atanhl.S
index dc5ca51a4b..ecfba3ae0e 100644
--- a/sysdeps/i386/fpu/e_atanhl.S
+++ b/sysdeps/i386/fpu/e_atanhl.S
@@ -121,6 +121,7 @@ ENTRY(__ieee754_atanhl)
 	cmpl	$0, 4(%esp)
 	je	7b
 6:	fldt	4(%esp)
+	fadd	%st(0)
 	ret
 END(__ieee754_atanhl)
 strong_alias (__ieee754_atanhl, __atanhl_finite)