1/* 2 * Written by J.T. Conklin <jtc@NetBSD.org>. 3 * Public domain. 4 */ 5 6#include <machine/asm.h> 7 8#include "abi.h" 9 10RCSID("$NetBSD: s_tan.S,v 1.7 2003/07/26 19:25:04 salo Exp $") 11 12ENTRY(tan) 13 XMM_ONE_ARG_DOUBLE_PROLOGUE 14 fldl ARG_DOUBLE_ONE 15 fptan 16 fnstsw %ax 17 andw $0x400,%ax 18 jnz 1f 19 fstp %st(0) 20 XMM_DOUBLE_EPILOGUE 21 ret 221: fldpi 23 fadd %st(0) 24 fxch %st(1) 252: fprem1 26 fstsw %ax 27 andw $0x400,%ax 28 jnz 2b 29 fstp %st(1) 30 fptan 31 fstp %st(0) 32 XMM_DOUBLE_EPILOGUE 33 ret 34