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	"nearbyintl.S"
 9	.text
10#ifdef __x86_64__
11	.align 8
12#else
13	.align 4
14#endif
15	.globl __MINGW_USYMBOL(nearbyintl)
16	.def	__MINGW_USYMBOL(nearbyintl);	.scl	2;	.type	32;	.endef
17__MINGW_USYMBOL(nearbyintl):
18#if defined(_AMD64_) || defined(__x86_64__)
19	fldt	(%rdx)
20	movq	%rcx,%r8
21	pushq	%rax
22	pushq	%rcx
23	fnstcw	(%rsp)
24	movl	(%rsp), %eax
25	orl	$0x20, %eax
26	movl	%eax, 8(%rsp)
27	fldcw	8(%rsp)
28	frndint
29	fclex
30	fldcw	(%rsp)
31	popq	%rcx
32	popq	%rax
33	movq	%r8,%rax
34	movq	$0,8(%r8)
35	fstpt	(%r8)
36	ret
37#elif defined(_X86_) || defined(__i386__)
38	fldt	4(%esp)
39	pushl	%eax
40	pushl	%ecx
41	fnstcw	(%esp)
42	movl	(%esp), %eax
43	orl	$0x20, %eax
44	movl	%eax, 4(%esp)
45	fldcw	4(%esp)
46	frndint
47	fclex
48	fldcw	(%esp)
49	popl	%ecx
50	popl	%eax
51	ret
52#endif