summaryrefslogtreecommitdiff
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