summaryrefslogtreecommitdiff
path: root/sysdeps/libm-i387/s_asinhf.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/libm-i387/s_asinhf.S')
-rw-r--r--sysdeps/libm-i387/s_asinhf.S11
1 files changed, 7 insertions, 4 deletions
diff --git a/sysdeps/libm-i387/s_asinhf.S b/sysdeps/libm-i387/s_asinhf.S
index 7e5176c4a6..6369e19ac6 100644
--- a/sysdeps/libm-i387/s_asinhf.S
+++ b/sysdeps/libm-i387/s_asinhf.S
@@ -49,14 +49,14 @@ ENTRY(__asinhf)
movl $0x7fffffff, %eax
andl %ecx, %eax
andl $0x80000000, %ecx
+ movl %eax, %edx
+ orl $0x807fffff, %edx
+ incl %edx
+ jz 7f // x in ħInf or NaN
xorl %ecx, 8(%esp)
flds 4(%esp) // |x|
- movl %eax, %edx
cmpl $0x38000000, %eax
jb 2f // |x| < 2^-14
- orl $0x807fffff, %edx
- incl %edx
- jz 4f // x in ħInf or NaN
fldln2 // log(2) : |x|
cmpl $0x47000000, %eax
fxch // |x| : log(2)
@@ -87,6 +87,9 @@ ENTRY(__asinhf)
fchs
4: ret
+7: flds 4(%esp)
+ ret
+
6: faddl MO(one)
fyl2x
jecxz 4f