Update.
[glibc.git] / sysdeps / x86_64 / fpu / s_cosl.S
blob6636fb5ec6b0016197bee3910826a17dfa5ce189
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 RCSID("$NetBSD: $")
13 ENTRY(__cosl)
14         fldt    8(%rsp)
15         fcos
16         fnstsw  %ax
17         testl   $0x400,%eax
18         jnz     1f
19         ret
20         .align ALIGNARG(4)
21 1:      fldpi
22         fadd    %st(0)
23         fxch    %st(1)
24 2:      fprem1
25         fnstsw  %ax
26         testl   $0x400,%eax
27         jnz     2b
28         fstp    %st(1)
29         fcos
30         ret
31 END (__cosl)
32 weak_alias (__cosl, cosl)