about summary refs log tree commit diff
path: root/sysdeps/libm-i387/s_asinhl.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/libm-i387/s_asinhl.S')
-rw-r--r--sysdeps/libm-i387/s_asinhl.S11
1 files changed, 7 insertions, 4 deletions
diff --git a/sysdeps/libm-i387/s_asinhl.S b/sysdeps/libm-i387/s_asinhl.S
index f764381aab..62e29bc58e 100644
--- a/sysdeps/libm-i387/s_asinhl.S
+++ b/sysdeps/libm-i387/s_asinhl.S
@@ -56,14 +56,14 @@ ENTRY(__asinhl)
 	movl	$0x7fff, %eax
 	andl	%ecx, %eax
 	andl	$0x8000, %ecx
+	movl	%eax, %edx
+	orl	$0xffff8000, %edx
+	incl	%edx
+	jz	7f			// x in ħInf or NaN
 	xorl	%ecx, 12(%esp)
 	fldt	4(%esp)			// |x|
-	movl	%eax, %edx
 	cmpl	$0x3fde, %eax
 	jb	2f			// |x| < 2^-34
-	orl	$0xffff8000, %edx
-	incl	%edx
-	jz	4f			// x in ħInf or NaN
 	fldln2				// log(2) : |x|
 	cmpl	$0x4020, %eax
 	fxch				// |x| : log(2)
@@ -94,6 +94,9 @@ ENTRY(__asinhl)
 	fchs
 4:	ret
 
+7:	fldt	4(%esp)
+	ret
+
 6:	faddl	MO(one)
 	fyl2x
 	jecxz	4f