fix x87 stack imbalance in corner cases of i386 math asm
[musl.git] / src / math / i386 / log1pf.s
blob4d3484cd3747ad300c8732632e181d8cac716018
1 .global log1pf
2 .type log1pf,@function
3 log1pf:
4 mov 4(%esp),%eax
5 fldln2
6 and $0x7fffffff,%eax
7 flds 4(%esp)
8 cmp $0x3e940000,%eax
9 ja 1f
10 cmp $0x00800000,%eax
11 jb 2f
12 fyl2xp1
13 ret
14 1: fld1
15 faddp
16 fyl2x
17 ret
18 # subnormal x, return x with underflow
19 2: fxch
20 fmul %st(1)
21 fstps 4(%esp)
22 ret