summaryrefslogtreecommitdiff
path: root/sysdeps/i386/fpu/s_asinh.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/i386/fpu/s_asinh.S')
-rw-r--r--sysdeps/i386/fpu/s_asinh.S11
1 files changed, 10 insertions, 1 deletions
diff --git a/sysdeps/i386/fpu/s_asinh.S b/sysdeps/i386/fpu/s_asinh.S
index e4c0c676a6..7123772dee 100644
--- a/sysdeps/i386/fpu/s_asinh.S
+++ b/sysdeps/i386/fpu/s_asinh.S
@@ -100,7 +100,16 @@ ENTRY(__asinh)
4: fld %st // x : x
faddl MO(huge) // huge+x : x
fstp %st(0) // x
- ret
+ cmpl $0x00100000, %eax
+ jae 8f
+ subl $8, %esp
+ cfi_adjust_cfa_offset (8)
+ fld %st(0)
+ fmul %st(0)
+ fstpl (%esp)
+ addl $8, %esp
+ cfi_adjust_cfa_offset (-8)
+8: ret
// |x| > 2^28 => y = sign(x) * (log(|x|) + log(2))
.align ALIGNARG(4)