about summary refs log tree commit diff
path: root/src/math
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
parenta732e80d33b4fd6f510f7cec4f5573ef5d89bc4e (diff)
downloadmusl-ec4318943a26d4bd4050481d11709853184f2794.tar.gz
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')
-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
-rw-r--r--src/math/x32/fmodl.s2
-rw-r--r--src/math/x32/remainderl.s2
-rw-r--r--src/math/x86_64/fmodl.s2
-rw-r--r--src/math/x86_64/remainderl.s2
11 files changed, 11 insertions, 11 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)
diff --git a/src/math/x32/fmodl.s b/src/math/x32/fmodl.s
index b9513204..c3f790c9 100644
--- a/src/math/x32/fmodl.s
+++ b/src/math/x32/fmodl.s
@@ -4,7 +4,7 @@ fmodl:
 	fldt 24(%esp)
 	fldt 8(%esp)
 1:	fprem
-	fstsw %ax
+	fnstsw %ax
 	testb $4,%ah
 	jnz 1b
 	fstp %st(1)
diff --git a/src/math/x32/remainderl.s b/src/math/x32/remainderl.s
index 79bf4feb..376ba0e2 100644
--- a/src/math/x32/remainderl.s
+++ b/src/math/x32/remainderl.s
@@ -4,7 +4,7 @@ remainderl:
 	fldt 24(%esp)
 	fldt 8(%esp)
 1:	fprem1
-	fstsw %ax
+	fnstsw %ax
 	testb $4,%ah
 	jnz 1b
 	fstp %st(1)
diff --git a/src/math/x86_64/fmodl.s b/src/math/x86_64/fmodl.s
index cd8d2b7c..ea07b402 100644
--- a/src/math/x86_64/fmodl.s
+++ b/src/math/x86_64/fmodl.s
@@ -4,7 +4,7 @@ fmodl:
 	fldt 24(%rsp)
 	fldt 8(%rsp)
 1:	fprem
-	fstsw %ax
+	fnstsw %ax
 	testb $4,%ah
 	jnz 1b
 	fstp %st(1)
diff --git a/src/math/x86_64/remainderl.s b/src/math/x86_64/remainderl.s
index 2c337cf5..cb3857b4 100644
--- a/src/math/x86_64/remainderl.s
+++ b/src/math/x86_64/remainderl.s
@@ -4,7 +4,7 @@ remainderl:
 	fldt 24(%rsp)
 	fldt 8(%rsp)
 1:	fprem1
-	fstsw %ax
+	fnstsw %ax
 	testb $4,%ah
 	jnz 1b
 	fstp %st(1)