mirror of
https://git.planet-casio.com/Lephenixnoir/OpenLibm.git
synced 2024-12-29 13:03:42 +01:00
35 lines
501 B
ArmAsm
35 lines
501 B
ArmAsm
/*
|
|
* Written by:
|
|
* J.T. Conklin (jtc@netbsd.org)
|
|
* Public domain.
|
|
*/
|
|
|
|
#include <i387/bsd_asm.h>
|
|
//__FBSDID("$FreeBSD: src/lib/msun/i387/s_tan.S,v 1.9 2011/01/07 16:13:12 kib Exp $")
|
|
|
|
ENTRY(tan)
|
|
fldl 4(%esp)
|
|
fptan
|
|
fnstsw %ax
|
|
andw $0x400,%ax
|
|
jnz 1f
|
|
fstp %st(0)
|
|
ret
|
|
1: fldpi
|
|
fadd %st(0)
|
|
fxch %st(1)
|
|
2: fprem1
|
|
fstsw %ax
|
|
andw $0x400,%ax
|
|
jnz 2b
|
|
fstp %st(1)
|
|
fptan
|
|
fstp %st(0)
|
|
ret
|
|
END(tan)
|
|
|
|
|
|
/* Enable stack protection */
|
|
#if defined(__ELF__)
|
|
.section .note.GNU-stack,"",%progbits
|
|
#endif
|