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.
@@ -4,7 +4,7 @@ fmod:
fldl 12(%esp)
fldl 4(%esp)
1: fprem
- fstsw %ax
+ fnstsw %ax
sahf
jp 1b
fstp %st(1)
@@ -4,7 +4,7 @@ fmodf:
flds 8(%esp)
flds 4(%esp)
@@ -4,7 +4,7 @@ fmodl:
fldt 16(%esp)
fldt 4(%esp)
@@ -7,7 +7,7 @@ drem:
1: fprem1
@@ -7,7 +7,7 @@ dremf:
@@ -4,7 +4,7 @@ remainderl:
@@ -2,7 +2,7 @@
.type sqrt,@function
sqrt: fldl 4(%esp)
fsqrt
sub $12,%esp
fld %st(0)
fstpt (%esp)
fldt 24(%esp)
fldt 8(%esp)
testb $4,%ah
jnz 1b
fldt 24(%rsp)
fldt 8(%rsp)