math.h: make __FLOAT_BITS and __DOUBLE_BITS C89
[musl] / src / math / i386 / atan2f.s
index 08627e6..14b88ce 100644 (file)
@@ -4,4 +4,16 @@ atan2f:
        flds 4(%esp)
        flds 8(%esp)
        fpatan
-       ret
+       fsts 4(%esp)
+       mov 4(%esp),%eax
+       add %eax,%eax
+       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)
+1:     ret