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