summaryrefslogtreecommitdiff
path: root/sysdeps/libm-i387
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/libm-i387')
-rw-r--r--sysdeps/libm-i387/e_remainder.S2
-rw-r--r--sysdeps/libm-i387/e_remainderf.S2
-rw-r--r--sysdeps/libm-i387/e_remainderl.S1
-rw-r--r--sysdeps/libm-i387/s_cexp.S3
-rw-r--r--sysdeps/libm-i387/s_cexpl.S13
5 files changed, 13 insertions, 8 deletions
diff --git a/sysdeps/libm-i387/e_remainder.S b/sysdeps/libm-i387/e_remainder.S
index 06cdddc9d1..2f43cb894c 100644
--- a/sysdeps/libm-i387/e_remainder.S
+++ b/sysdeps/libm-i387/e_remainder.S
@@ -14,6 +14,6 @@ ENTRY(__ieee754_remainder)
fstsw %ax
sahf
jp 1b
- fstpl %st(1)
+ fstp %st(1)
ret
END (__ieee754_remainder)
diff --git a/sysdeps/libm-i387/e_remainderf.S b/sysdeps/libm-i387/e_remainderf.S
index d313a55382..79f821993b 100644
--- a/sysdeps/libm-i387/e_remainderf.S
+++ b/sysdeps/libm-i387/e_remainderf.S
@@ -14,6 +14,6 @@ ENTRY(__ieee754_remainderf)
fstsw %ax
sahf
jp 1b
- fstpl %st(1)
+ fstp %st(1)
ret
END (__ieee754_remainderf)
diff --git a/sysdeps/libm-i387/e_remainderl.S b/sysdeps/libm-i387/e_remainderl.S
index 90a8da7633..5f50b626a2 100644
--- a/sysdeps/libm-i387/e_remainderl.S
+++ b/sysdeps/libm-i387/e_remainderl.S
@@ -16,5 +16,6 @@ ENTRY(__ieee754_remainderl)
fstsw %ax
sahf
jp 1b
+ fstp %st(1)
ret
END (__ieee754_remainderl)
diff --git a/sysdeps/libm-i387/s_cexp.S b/sysdeps/libm-i387/s_cexp.S
index 5630d3cb65..61158d9540 100644
--- a/sysdeps/libm-i387/s_cexp.S
+++ b/sysdeps/libm-i387/s_cexp.S
@@ -237,8 +237,9 @@ ENTRY(__cexp)
fldl MOX(huge_nan_null_null,%edx,1)
fldl MOX(huge_nan_null_null+8,%edx,1)
- fstpl 8(%eax)
+ fxch
fstpl (%eax)
+ fstpl 8(%eax)
ret $4
/* The real part is NaN. */
diff --git a/sysdeps/libm-i387/s_cexpl.S b/sysdeps/libm-i387/s_cexpl.S
index 11c05c52e6..203a7ee779 100644
--- a/sysdeps/libm-i387/s_cexpl.S
+++ b/sysdeps/libm-i387/s_cexpl.S
@@ -161,8 +161,9 @@ ENTRY(__cexpl)
jnz 5f
fldl MOX(huge_nan_null_null,%edx,1)
movl 4(%esp), %edx /* Pointer to memory for result. */
- fstl 8(%edx)
- fstpl (%edx)
+ fld %st
+ fstpt 12(%edx)
+ fstpt (%edx)
ftst
fnstsw
shll $7, %eax
@@ -188,8 +189,9 @@ ENTRY(__cexpl)
fsincos
fldl MOX(huge_nan_null_null,%edx,1)
movl 4(%esp), %edx /* Pointer to memory for result. */
- fstl 8(%edx)
- fstpl (%edx)
+ fld %st
+ fstpt 12(%edx)
+ fstpt (%edx)
ftst
fnstsw
shll $7, %eax
@@ -237,8 +239,9 @@ ENTRY(__cexpl)
fldl MOX(huge_nan_null_null,%edx,1)
fldl MOX(huge_nan_null_null+8,%edx,1)
- fstpt 12(%eax)
+ fxch
fstpt (%eax)
+ fstpt 12(%eax)
ret $4
/* The real part is NaN. */