diff --git a/src/math/i386/asin.s b/src/math/i386/asin.s index a9f691bf..920d967a 100644 --- a/src/math/i386/asin.s +++ b/src/math/i386/asin.s @@ -7,13 +7,10 @@ asinf: cmp $0x01000000,%eax jae 1f # subnormal x, return x with underflow - fnstsw %ax - and $16,%ax - jnz 2f fld %st(0) fmul %st(1) fstps 4(%esp) -2: ret + ret .global asinl .type asinl,@function @@ -30,11 +27,8 @@ asin: cmp $0x00200000,%eax jae 1f # subnormal x, return x with underflow - fnstsw %ax - and $16,%ax - jnz 2f fsts 4(%esp) -2: ret + ret 1: fld %st(0) fld1 fsub %st(0),%st(1) diff --git a/src/math/i386/atan.s b/src/math/i386/atan.s index d73137b2..a26feae1 100644 --- a/src/math/i386/atan.s +++ b/src/math/i386/atan.s @@ -10,8 +10,5 @@ atan: fpatan ret # subnormal x, return x with underflow -1: fnstsw %ax - and $16,%ax - jnz 2f - fsts 4(%esp) -2: ret +1: fsts 4(%esp) + ret diff --git a/src/math/i386/atan2.s b/src/math/i386/atan2.s index a7d2979b..76b95f31 100644 --- a/src/math/i386/atan2.s +++ b/src/math/i386/atan2.s @@ -10,8 +10,5 @@ atan2: cmp $0x00200000,%eax jae 1f # subnormal x, return x with underflow - fnstsw %ax - and $16,%ax - jnz 1f fsts 4(%esp) 1: ret diff --git a/src/math/i386/atan2f.s b/src/math/i386/atan2f.s index 14b88ce5..c9408a90 100644 --- a/src/math/i386/atan2f.s +++ b/src/math/i386/atan2f.s @@ -10,9 +10,6 @@ atan2f: cmp $0x01000000,%eax jae 1f # subnormal x, return x with underflow - fnstsw %ax - and $16,%ax - jnz 1f fld %st(0) fmul %st(1) fstps 4(%esp) diff --git a/src/math/i386/atanf.s b/src/math/i386/atanf.s index 8caddefa..893beac5 100644 --- a/src/math/i386/atanf.s +++ b/src/math/i386/atanf.s @@ -10,10 +10,7 @@ atanf: fpatan ret # subnormal x, return x with underflow -1: fnstsw %ax - and $16,%ax - jnz 2f - fld %st(0) +1: fld %st(0) fmul %st(1) fstps 4(%esp) -2: ret + ret diff --git a/src/math/i386/exp.s b/src/math/i386/exp.s index c7aa5b6e..df87c497 100644 --- a/src/math/i386/exp.s +++ b/src/math/i386/exp.s @@ -7,13 +7,10 @@ expm1f: cmp $0x01000000,%eax jae 1f # subnormal x, return x with underflow - fnstsw %ax - and $16,%ax - jnz 2f fld %st(0) fmul %st(1) fstps 4(%esp) -2: ret + ret .global expm1l .type expm1l,@function @@ -30,11 +27,8 @@ expm1: cmp $0x00200000,%eax jae 1f # subnormal x, return x with underflow - fnstsw %ax - and $16,%ax - jnz 2f fsts 4(%esp) -2: ret + ret 1: fldl2e fmulp mov $0xc2820000,%eax diff --git a/src/math/i386/log1p.s b/src/math/i386/log1p.s index 6b6929c7..354f391a 100644 --- a/src/math/i386/log1p.s +++ b/src/math/i386/log1p.s @@ -16,9 +16,6 @@ log1p: fyl2x ret # subnormal x, return x with underflow -2: fnstsw %ax - and $16,%ax - jnz 1f - fsts 4(%esp) +2: fsts 4(%esp) fstp %st(1) -1: ret + ret diff --git a/src/math/i386/log1pf.s b/src/math/i386/log1pf.s index c0bcd30f..4d3484cd 100644 --- a/src/math/i386/log1pf.s +++ b/src/math/i386/log1pf.s @@ -16,10 +16,7 @@ log1pf: fyl2x ret # subnormal x, return x with underflow -2: fnstsw %ax - and $16,%ax - jnz 1f - fxch +2: fxch fmul %st(1) fstps 4(%esp) -1: ret + ret