update from main archive 961229
[glibc.git] / sysdeps / libm-i387 / s_cosl.S
blobf41fc199584fc5636005dd59b6b672b6ce5a8558
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  */
8 #include <machine/asm.h>
10 RCSID("$NetBSD: $")
12 ENTRY(__cosl)
13         fldt    4(%esp)
14         fcos
15         fnstsw  %ax
16         testl   $0x400,%eax
17         jnz     1f
18         ret
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         fcos
28         ret
29 END (__cosl)
30 weak_alias (__cosl, cosl)