2.9
[glibc/nacl-glibc.git] / sysdeps / x86_64 / fpu / s_sinl.S
blob181f112f4fe4f3e6d68349ae25e7c3728b083f6e
1 /*
2  * Written by J.T. Conklin <jtc@netbsd.org>.
3  * Public domain.
4  *
5  * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
6  * Adapted for x86-64 by Andreas Jaeger <aj@suse.de>.
7  */
9 #include <machine/asm.h>
11 ENTRY(__sinl)
12         fldt    8(%rsp)
13         fsin
14         fnstsw  %ax
15         testl   $0x400,%eax
16         jnz     1f
17         ret
18         .align ALIGNARG(4)
19 1:      fldpi
20         fadd    %st(0)
21         fxch    %st(1)
22 2:      fprem1
23         fnstsw  %ax
24         testl   $0x400,%eax
25         jnz     2b
26         fstp    %st(1)
27         fsin
28         ret
29 END (__sinl)
30 weak_alias (__sinl, sinl)