diff options
Diffstat (limited to 'src/math/i386/atan2.s')
-rw-r--r-- | src/math/i386/atan2.s | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/math/i386/atan2.s b/src/math/i386/atan2.s index 5c795aff..a7d2979b 100644 --- a/src/math/i386/atan2.s +++ b/src/math/i386/atan2.s @@ -4,4 +4,14 @@ atan2: fldl 4(%esp) fldl 12(%esp) fpatan - ret + fstl 4(%esp) + mov 8(%esp),%eax + add %eax,%eax + cmp $0x00200000,%eax + jae 1f + # subnormal x, return x with underflow + fnstsw %ax + and $16,%ax + jnz 1f + fsts 4(%esp) +1: ret |