summaryrefslogtreecommitdiff
path: root/sysdeps/i386
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/i386')
-rw-r--r--sysdeps/i386/fpu/e_acosh.S5
-rw-r--r--sysdeps/i386/fpu/e_acoshf.S5
2 files changed, 6 insertions, 4 deletions
diff --git a/sysdeps/i386/fpu/e_acosh.S b/sysdeps/i386/fpu/e_acosh.S
index c5cd4474ec..263c01a4ed 100644
--- a/sysdeps/i386/fpu/e_acosh.S
+++ b/sysdeps/i386/fpu/e_acosh.S
@@ -91,9 +91,10 @@ ENTRY(__ieee754_acosh)
fyl2x // log(2*x+1/(x+sqrt(x^2-1)))
ret
- // x < 1 => NaN
+ // x < 1 (or -NaN) => NaN
.align ALIGNARG(4)
-5: fldz
+5: fldl 4(%esp)
+ fsub %st
fdiv %st, %st(0)
ret
END(__ieee754_acosh)
diff --git a/sysdeps/i386/fpu/e_acoshf.S b/sysdeps/i386/fpu/e_acoshf.S
index 710267b11e..779a02cfab 100644
--- a/sysdeps/i386/fpu/e_acoshf.S
+++ b/sysdeps/i386/fpu/e_acoshf.S
@@ -91,9 +91,10 @@ ENTRY(__ieee754_acoshf)
fyl2x // log(2*x+1/(x+sqrt(x^2-1)))
ret
- // x < 1 => NaN
+ // x < 1 (or -NaN) => NaN
.align ALIGNARG(4)
-5: fldz
+5: flds 4(%esp)
+ fsub %st
fdiv %st, %st(0)
ret
END(__ieee754_acoshf)