Update.
[glibc.git] / sysdeps / libm-i387 / s_tanl.S
blobf2bdd6a60574c575620a69b19aab3251d5f599ef
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(__tanl)
13         fldt    4(%esp)
14         fptan
15         fnstsw  %ax
16         testl   $0x400,%eax
17         jnz     1f
18         fstp    %st(0)
19         ret
20 1:      fldpi
21         fadd    %st(0)
22         fxch    %st(1)
23 2:      fprem1
24         fstsw   %ax
25         testl   $0x400,%eax
26         jnz     2b
27         fstp    %st(1)
28         fptan
29         fstp    %st(0)
30         ret
31 END (__tanl)
32 weak_alias (__tanl, tanl)