diff options
Diffstat (limited to 'src/math/i386/log1p.s')
-rw-r--r-- | src/math/i386/log1p.s | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/math/i386/log1p.s b/src/math/i386/log1p.s index 9971e53c..6b6929c7 100644 --- a/src/math/i386/log1p.s +++ b/src/math/i386/log1p.s @@ -7,9 +7,18 @@ log1p: fldl 4(%esp) cmp $0x3fd28f00,%eax ja 1f + cmp $0x00100000,%eax + jb 2f fyl2xp1 ret 1: fld1 faddp fyl2x ret + # subnormal x, return x with underflow +2: fnstsw %ax + and $16,%ax + jnz 1f + fsts 4(%esp) + fstp %st(1) +1: ret |