• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#include <_mingw_mac.h>
7
8	.file	"remquof.S"
9	.text
10#ifdef __x86_64__
11	.align 8
12#else
13	.align 4
14#endif
15.globl __MINGW_USYMBOL(remquof)
16__MINGW_USYMBOL(remquof):
17#ifdef __x86_64__
18	movss	%xmm1,-12(%rsp)
19	flds -12(%rsp)
20	movss	%xmm0,-12(%rsp)
21	flds -12(%rsp)
221:	fprem1
23	fstsw %ax
24	sahf
25	jp 1b
26	fstp %st(1)
27	movl %eax, %ecx
28	shrl $8, %eax
29	shrl $12, %ecx
30	andl $4, %ecx
31	andl $3, %eax
32	orl %eax, %ecx
33	movl $0xef2a60, %eax
34	leal (%ecx,%ecx,2),%ecx
35	shrl %cl, %eax
36	andl $7, %eax
37	movss %xmm0,-12(%rsp)
38	movl -12(%rsp), %edx
39	movss %xmm1,-12(%rsp)
40	xorl -12(%rsp), %edx
41	testl $0x80000000, %edx
42	jz 1f
43	negl %eax
441:	movl %eax, (%r8)
45
46	fstps	-12(%rsp)
47	movss	-12(%rsp),%xmm0
48	ret
49#else
50	flds 4 +4(%esp)
51	flds 4(%esp)
521:	fprem1
53	fstsw %ax
54	sahf
55	jp 1b
56	fstp %st(1)
57	movl %eax, %ecx
58	shrl $8, %eax
59	shrl $12, %ecx
60	andl $4, %ecx
61	andl $3, %eax
62	orl %eax, %ecx
63	movl $0xef2a60, %eax
64	leal (%ecx,%ecx,2),%ecx
65	shrl %cl, %eax
66	andl $7, %eax
67	movl 4 +4 +4(%esp), %ecx
68	movl 4(%esp), %edx
69	xorl 4 +4(%esp), %edx
70	testl $0x80000000, %edx
71	jz 1f
72	negl %eax
731:	movl %eax, (%ecx)
74
75	ret
76#endif
77