summaryrefslogtreecommitdiff
path: root/src/math/i386
diff options
context:
space:
mode:
authorSzabolcs Nagy <nsz@port70.net>2014-11-05 22:13:58 +0100
committerSzabolcs Nagy <nsz@port70.net>2014-11-05 22:13:58 +0100
commitec4318943a26d4bd4050481d11709853184f2794 (patch)
tree57ea5ca863de0d2a6e96f52787f9d9ba29cd14a0 /src/math/i386
parenta732e80d33b4fd6f510f7cec4f5573ef5d89bc4e (diff)
downloadmusl-ec4318943a26d4bd4050481d11709853184f2794.tar.gz
musl-ec4318943a26d4bd4050481d11709853184f2794.tar.bz2
musl-ec4318943a26d4bd4050481d11709853184f2794.tar.xz
musl-ec4318943a26d4bd4050481d11709853184f2794.zip
math: use fnstsw consistently instead of fstsw in x87 asm
fnstsw does not wait for pending unmasked x87 floating-point exceptions and it is the same as fstsw when all exceptions are masked which is the only environment libc supports.
Diffstat (limited to 'src/math/i386')
-rw-r--r--src/math/i386/fmod.s2
-rw-r--r--src/math/i386/fmodf.s2
-rw-r--r--src/math/i386/fmodl.s2
-rw-r--r--src/math/i386/remainder.s2
-rw-r--r--src/math/i386/remainderf.s2
-rw-r--r--src/math/i386/remainderl.s2
-rw-r--r--src/math/i386/sqrt.s2
7 files changed, 7 insertions, 7 deletions
diff --git a/src/math/i386/fmod.s b/src/math/i386/fmod.s
index 069fbfe7..2113b3c5 100644
--- a/src/math/i386/fmod.s
+++ b/src/math/i386/fmod.s
@@ -4,7 +4,7 @@ fmod:
fldl 12(%esp)
fldl 4(%esp)
1: fprem
- fstsw %ax
+ fnstsw %ax
sahf
jp 1b
fstp %st(1)
diff --git a/src/math/i386/fmodf.s b/src/math/i386/fmodf.s
index d99c80f2..e04e2a56 100644
--- a/src/math/i386/fmodf.s
+++ b/src/math/i386/fmodf.s
@@ -4,7 +4,7 @@ fmodf:
flds 8(%esp)
flds 4(%esp)
1: fprem
- fstsw %ax
+ fnstsw %ax
sahf
jp 1b
fstp %st(1)
diff --git a/src/math/i386/fmodl.s b/src/math/i386/fmodl.s
index 7e07e7b5..0cb3fe9b 100644
--- a/src/math/i386/fmodl.s
+++ b/src/math/i386/fmodl.s
@@ -4,7 +4,7 @@ fmodl:
fldt 16(%esp)
fldt 4(%esp)
1: fprem
- fstsw %ax
+ fnstsw %ax
sahf
jp 1b
fstp %st(1)
diff --git a/src/math/i386/remainder.s b/src/math/i386/remainder.s
index 7f4be051..ab1da95d 100644
--- a/src/math/i386/remainder.s
+++ b/src/math/i386/remainder.s
@@ -7,7 +7,7 @@ drem:
fldl 12(%esp)
fldl 4(%esp)
1: fprem1
- fstsw %ax
+ fnstsw %ax
sahf
jp 1b
fstp %st(1)
diff --git a/src/math/i386/remainderf.s b/src/math/i386/remainderf.s
index ac6e3677..6a7378a3 100644
--- a/src/math/i386/remainderf.s
+++ b/src/math/i386/remainderf.s
@@ -7,7 +7,7 @@ dremf:
flds 8(%esp)
flds 4(%esp)
1: fprem1
- fstsw %ax
+ fnstsw %ax
sahf
jp 1b
fstp %st(1)
diff --git a/src/math/i386/remainderl.s b/src/math/i386/remainderl.s
index 00978729..b41518ed 100644
--- a/src/math/i386/remainderl.s
+++ b/src/math/i386/remainderl.s
@@ -4,7 +4,7 @@ remainderl:
fldt 16(%esp)
fldt 4(%esp)
1: fprem1
- fstsw %ax
+ fnstsw %ax
sahf
jp 1b
fstp %st(1)
diff --git a/src/math/i386/sqrt.s b/src/math/i386/sqrt.s
index 8289d094..57837e25 100644
--- a/src/math/i386/sqrt.s
+++ b/src/math/i386/sqrt.s
@@ -2,7 +2,7 @@
.type sqrt,@function
sqrt: fldl 4(%esp)
fsqrt
- fstsw %ax
+ fnstsw %ax
sub $12,%esp
fld %st(0)
fstpt (%esp)