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