summary refs log tree commit diff
path: root/sysdeps/libm-i387/s_asinh.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/libm-i387/s_asinh.S')
-rw-r--r--sysdeps/libm-i387/s_asinh.S11
1 files changed, 7 insertions, 4 deletions
diff --git a/sysdeps/libm-i387/s_asinh.S b/sysdeps/libm-i387/s_asinh.S
index 45153fe2d3..a4c52cb67c 100644
--- a/sysdeps/libm-i387/s_asinh.S
+++ b/sysdeps/libm-i387/s_asinh.S
@@ -49,14 +49,14 @@ ENTRY(__asinh)
 	movl	$0x7fffffff, %eax
 	andl	%ecx, %eax
 	andl	$0x80000000, %ecx
+	movl	%eax, %edx
+	orl	$0x800fffff, %edx
+	incl	%edx
+	jz	7f			// x in ħInf or NaN
 	xorl	%ecx, 8(%esp)
 	fldl	4(%esp)			// |x|
-	movl	%eax, %edx
 	cmpl	$0x3e300000, %eax
 	jb	2f			// |x| < 2^-28
-	orl	$0x800fffff, %edx
-	incl	%edx
-	jz	4f			// x in ħInf or NaN
 	fldln2				// log(2) : |x|
 	cmpl	$0x41b00000, %eax
 	fxch				// |x| : log(2)
@@ -87,6 +87,9 @@ ENTRY(__asinh)
 	fchs
 4:	ret
 
+7:	fldl	4(%esp)
+	ret
+
 6:	faddl	MO(one)
 	fyl2x
 	jecxz	4f