86ae2dc342e0e1a5b56980d3942afb40b25bb9b0
[musl] / src / math / i386 / remquo.s
1 .global remquof
2 .type remquof,@function
3 remquof:
4         mov 12(%esp),%ecx
5         fldl 4(%esp)
6         fldl 8(%esp)
7         jmp 1f
8
9 .global remquol
10 .type remquol,@function
11 remquol:
12         mov 28(%esp),%ecx
13         fldl 4(%esp)
14         fldl 16(%esp)
15         jmp 1f
16
17 .global remquo
18 .type remquo,@function
19 remquo:
20         mov 20(%esp),%ecx
21         fldl 4(%esp)
22         fldl 12(%esp)
23 1:      fld %st(1)
24 1:      fprem1
25         fnstsw %ax
26         sahf
27         jp 1b
28         fsubr %st(0),%st(2)
29         fxch %st(2)
30         fdivp
31         mov $0x4f000000,%eax
32         mov %eax,4(%esp)
33         flds 4(%esp)
34         fxch %st(1)
35 1:      fprem
36         fnstsw %ax
37         sahf
38         jp 1b
39         fistpl (%ecx)
40         fstp %st(0)
41         ret