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/* 7 * Written by J.T. Conklin <jtc@netbsd.org>. 8 * Changes for long double by Ulrich Drepper <drepper@cygnus.com> 9 * Public domain. 10 */ 11#include <_mingw_mac.h> 12 13 .file "copysignl.S" 14 .text 15#ifdef __x86_64__ 16 .align 8 17#else 18 .align 4 19#endif 20 21 .globl __MINGW_USYMBOL(copysignl) 22 .def __MINGW_USYMBOL(copysignl); .scl 2; .type 32; .endef 23__MINGW_USYMBOL(copysignl): 24#if defined(_AMD64_) || defined(__x86_64__) 25 movq (%rdx), %rax 26 movq %rax, (%rcx) 27 movq 8(%rdx), %rax 28 movq 8(%r8), %rdx 29 andq $0x7fff, %rax 30 andq $0x8000, %rdx 31 orq %rdx, %rax 32 movq %rax, 8(%rcx) 33 movq %rcx, %rax 34 ret 35#elif defined(_X86_) || defined(__i386__) 36 movl 24(%esp),%edx 37 movl 12(%esp),%eax 38 andl $0x8000,%edx 39 andl $0x7fff,%eax 40 orl %edx,%eax 41 movl %eax,12(%esp) 42 fldt 4(%esp) 43 ret 44#endif 45