diff options
Diffstat (limited to 'src/math/i386/log1pf.s')
-rw-r--r-- | src/math/i386/log1pf.s | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/math/i386/log1pf.s b/src/math/i386/log1pf.s index 2680a8a6..c0bcd30f 100644 --- a/src/math/i386/log1pf.s +++ b/src/math/i386/log1pf.s @@ -7,9 +7,19 @@ log1pf: flds 4(%esp) cmp $0x3e940000,%eax ja 1f + cmp $0x00800000,%eax + jb 2f fyl2xp1 ret 1: fld1 faddp fyl2x ret + # subnormal x, return x with underflow +2: fnstsw %ax + and $16,%ax + jnz 1f + fxch + fmul %st(1) + fstps 4(%esp) +1: ret |