(_IO_init): Set _vtable_offset to 0.
[glibc/history.git] / sysdeps / libm-i387 / s_remquof.S
blob144eb3034c7dd47c343c8c06b28980f2a3dc6acb
1 /*
2  * Written by Ulrich Drepper <drepper@cygnus.com>.
3  * Based on e_remainder by J.T. Conklin <jtc@netbsd.org>.
4  * Public domain.
5  */
7 #include <machine/asm.h>
9 ENTRY(__remquof)
10         flds    8(%esp)
11         flds    4(%esp)
12 1:      fprem1
13         fstsw   %ax
14         sahf
15         jp      1b
16         fstpl   %st(1)
17         /* Compute the congruent of the quotient.  */
18         movl    %eax, %ecx
19         shrl    $8, %eax
20         shrl    $12, %ecx
21         andl    $4, %ecx
22         andl    $3, %eax
23         orl     %eax, %ecx
24         movl    $0xef2960, %eax
25         shrl    %cl, %eax
26         andl    $3, %eax
27         movl    12(%esp), %ecx
28         movl    4(%esp), %edx
29         xorl    8(%esp), %edx
30         testl   $0x80000000, %edx
31         jz      1f
32         negl    %eax
33 1:      movl    %eax, (%ecx)
34         ret
35 END (__remquof)
36 weak_alias (__remquof, remquof)