summary refs log tree commit diff
path: root/sysdeps/x86_64/fpu/e_log2l.S
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-03-15 20:10:51 +0000
committerUlrich Drepper <drepper@redhat.com>2007-03-15 20:10:51 +0000
commit6b2665f534dd34c20f31dc6e3540114762a8d3a8 (patch)
treee32593b105af2dea5c2397b7527f0e0348656b95 /sysdeps/x86_64/fpu/e_log2l.S
parent44969f17bb8e323ab66799f73a05d23a5a2cf83a (diff)
downloadglibc-6b2665f534dd34c20f31dc6e3540114762a8d3a8.tar.gz
glibc-6b2665f534dd34c20f31dc6e3540114762a8d3a8.tar.xz
glibc-6b2665f534dd34c20f31dc6e3540114762a8d3a8.zip
[BZ #3919]
	* math/libm-test.inc (log_test): Test -Inf and NaN.
	(log10_test, log1p_test, log2_test): Test -Inf.
	* sysdeps/i386/fpu/e_log.S (__ieee754_log): Don't raise
	FE_INVALID when argument is qNaN.
	* sysdeps/i386/fpu/e_logl.S (__ieee754_logl): Likewise.
	* sysdeps/i386/fpu/e_logf.S (__ieee754_logf): Likewise.
	* sysdeps/x86_64/fpu/e_logl.S (__ieee754_logl): Likewise.
	* sysdeps/x86_64/fpu/e_log10l.S (__ieee754_log10l): Replace
	andb $1, %ah with testb $1, %ah, don't test for parity, instead
	testb $4, %ah and jump if non-zero.
	* sysdeps/x86_64/fpu/e_log2l.S (__ieee754_log2l): Likewise.
	* sysdeps/x86_64/fpu/s_log1pl.S (__log1pl): Likewise.

2007-03-15  Jakub Jelinek  <jakub@redhat.com>
Diffstat (limited to 'sysdeps/x86_64/fpu/e_log2l.S')
-rw-r--r--sysdeps/x86_64/fpu/e_log2l.S5
1 files changed, 3 insertions, 2 deletions
diff --git a/sysdeps/x86_64/fpu/e_log2l.S b/sysdeps/x86_64/fpu/e_log2l.S
index 7a89b94d9f..f04d30a05a 100644
--- a/sysdeps/x86_64/fpu/e_log2l.S
+++ b/sysdeps/x86_64/fpu/e_log2l.S
@@ -39,7 +39,7 @@ ENTRY(__ieee754_log2l)
 	fxam
 	fnstsw
 	fld	%st		// x : x : 1
-	andb	$1,%ah
+	testb	$1, %ah
 	jnz	3f		// in case x is NaN or ħInf
 4:	fsub	%st(2), %st	// x-1 : x : 1
 	fld	%st		// x-1 : x-1 : x : 1
@@ -56,7 +56,8 @@ ENTRY(__ieee754_log2l)
 	fyl2x			// log(x)
 	ret
 
-3:	jp	4b		// in case x is ħInf
+3:	testb	$4, %ah
+	jnz	4b		// in case x is ħInf
 	fstp	%st(1)
 	fstp	%st(1)
 	ret