| /** | |
| * This file has no copyright assigned and is placed in the Public Domain. | |
| * This file is part of the w64 mingw-runtime package. | |
| * No warranty is given; refer to the file DISCLAIMER within this package. | |
| */ | |
| /* | |
| * Written by Ulrich Drepper <drepper@cygnus.com>. | |
| * Based on e_remainder by J.T. Conklin <jtc@netbsd.org>. | |
| * Removed header file dependency for use in libmingwex.a by | |
| * Danny Smith <dannysmith@users.sourceforge.ne | |
| * Public domain. | |
| */ | |
| .file "remquo.S" | |
| .text | |
| .align 4; | |
| .globl _remquof; | |
| _remquof: | |
| flds 4 +4(%esp) | |
| flds 4(%esp) | |
| 1: fprem1 | |
| fstsw %ax | |
| sahf | |
| jp 1b | |
| fstp %st(1) | |
| movl %eax, %ecx | |
| shrl $8, %eax | |
| shrl $12, %ecx | |
| andl $4, %ecx | |
| andl $3, %eax | |
| orl %eax, %ecx | |
| movl $0xef2960, %eax | |
| shrl %cl, %eax | |
| andl $3, %eax | |
| movl 4 +4 +4(%esp), %ecx | |
| movl 4(%esp), %edx | |
| xorl 4 +4(%esp), %edx | |
| testl $0x80000000, %edx | |
| jz 1f | |
| negl %eax | |
| 1: movl %eax, (%ecx) | |
| ret |