master
 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	"cosl_internal.S"
 9	.text
10#ifdef __x86_64__
11	.align 8
12#else
13	.align 4
14#endif
15.globl __MINGW_USYMBOL(__cosl_internal)
16	.def	__MINGW_USYMBOL(__cosl_internal);	.scl	2;	.type	32;	.endef
17__MINGW_USYMBOL(__cosl_internal):
18#ifdef __x86_64__
19	fldt	(%rdx)
20	fcos
21	fnstsw	%ax
22	testl	$0x400,%eax
23	jz	1f
24	fldpi
25	fadd	%st(0)
26	fxch	%st(1)
272:	fprem1
28	fnstsw	%ax
29	testl	$0x400,%eax
30	jnz	2b
31	fstp	%st(1)
32	fcos
331:	movq %rcx,%rax
34	movq	$0,8(%rcx)
35	fstpt (%rcx)
36	ret
37#else
38	fldt	4(%esp)
39	fcos
40	fnstsw	%ax
41	testl	$0x400,%eax
42	jnz	1f
43	ret
441:	fldpi
45	fadd	%st(0)
46	fxch	%st(1)
472:	fprem1
48	fnstsw	%ax
49	testl	$0x400,%eax
50	jnz	2b
51	fstp	%st(1)
52	fcos
53	ret
54#endif
55