fix broken exponential asm
[musl] / src / math / i386 / expm1.s
1 .global expm1f
2 .type expm1f,@function
3 expm1f:
4         flds 4(%esp)
5         jmp 1f
6
7 .global expm1l
8 .type expm1l,@function
9 expm1l:
10         fldt 4(%esp)
11         jmp 1f
12
13 .global expm1
14 .type expm1,@function
15 expm1:
16         fldl 4(%esp)
17 1:      fxam
18         fnstsw %ax
19         sahf
20         jnp 1f
21         jnc 1f
22         fstps 4(%esp)
23         mov $0xfe,%al
24         and %al,7(%esp)
25         flds 4(%esp)
26 1:      fldl2e
27         fmulp
28         fld %st(0)
29         frndint
30         fldz
31         fcomp
32         fnstsw %ax
33         sahf
34         jnz 1f
35         fstp %st(0)
36         f2xm1
37         ret
38 1:      fxch %st(1)
39         fsub %st(1)
40         f2xm1
41         fld1
42         faddp
43         fscale
44         fld1
45         fsubrp
46         fstp %st(1)
47         ret