summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/math/i386/atan.s2
-rw-r--r--src/math/i386/atan2.s3
-rw-r--r--src/math/i386/atan2f.s3
-rw-r--r--src/math/i386/atanf.s2
4 files changed, 8 insertions, 2 deletions
diff --git a/src/math/i386/atan.s b/src/math/i386/atan.s
index a26feae1..2c57f6b3 100644
--- a/src/math/i386/atan.s
+++ b/src/math/i386/atan.s
@@ -8,6 +8,8 @@ atan:
jb 1f
fld1
fpatan
+ fstpl 4(%esp)
+ fldl 4(%esp)
ret
# subnormal x, return x with underflow
1: fsts 4(%esp)
diff --git a/src/math/i386/atan2.s b/src/math/i386/atan2.s
index 76b95f31..8bc441b1 100644
--- a/src/math/i386/atan2.s
+++ b/src/math/i386/atan2.s
@@ -4,7 +4,8 @@ atan2:
fldl 4(%esp)
fldl 12(%esp)
fpatan
- fstl 4(%esp)
+ fstpl 4(%esp)
+ fldl 4(%esp)
mov 8(%esp),%eax
add %eax,%eax
cmp $0x00200000,%eax
diff --git a/src/math/i386/atan2f.s b/src/math/i386/atan2f.s
index c9408a90..3908c86d 100644
--- a/src/math/i386/atan2f.s
+++ b/src/math/i386/atan2f.s
@@ -4,7 +4,8 @@ atan2f:
flds 4(%esp)
flds 8(%esp)
fpatan
- fsts 4(%esp)
+ fstps 4(%esp)
+ flds 4(%esp)
mov 4(%esp),%eax
add %eax,%eax
cmp $0x01000000,%eax
diff --git a/src/math/i386/atanf.s b/src/math/i386/atanf.s
index 893beac5..c2cbe2e0 100644
--- a/src/math/i386/atanf.s
+++ b/src/math/i386/atanf.s
@@ -8,6 +8,8 @@ atanf:
jb 1f
fld1
fpatan
+ fstps 4(%esp)
+ flds 4(%esp)
ret
# subnormal x, return x with underflow
1: fld %st(0)