1*2fe8fb19SBen Gras/* 2*2fe8fb19SBen Gras * Written by J.T. Conklin <jtc@NetBSD.org>. 3*2fe8fb19SBen Gras * Public domain. 4*2fe8fb19SBen Gras */ 5*2fe8fb19SBen Gras 6*2fe8fb19SBen Gras#include <machine/asm.h> 7*2fe8fb19SBen Gras 8*2fe8fb19SBen Gras#include "abi.h" 9*2fe8fb19SBen Gras 10*2fe8fb19SBen GrasRCSID("$NetBSD: s_cos.S,v 1.8 2003/07/26 19:25:01 salo Exp $") 11*2fe8fb19SBen Gras 12*2fe8fb19SBen GrasENTRY(cos) 13*2fe8fb19SBen Gras XMM_ONE_ARG_DOUBLE_PROLOGUE 14*2fe8fb19SBen Gras fldl ARG_DOUBLE_ONE 15*2fe8fb19SBen Gras fcos 16*2fe8fb19SBen Gras fnstsw %ax 17*2fe8fb19SBen Gras andw $0x400,%ax 18*2fe8fb19SBen Gras jnz 1f 19*2fe8fb19SBen Gras XMM_DOUBLE_EPILOGUE 20*2fe8fb19SBen Gras ret 21*2fe8fb19SBen Gras1: fldpi 22*2fe8fb19SBen Gras fadd %st(0) 23*2fe8fb19SBen Gras fxch %st(1) 24*2fe8fb19SBen Gras2: fprem1 25*2fe8fb19SBen Gras fnstsw %ax 26*2fe8fb19SBen Gras andw $0x400,%ax 27*2fe8fb19SBen Gras jnz 2b 28*2fe8fb19SBen Gras fstp %st(1) 29*2fe8fb19SBen Gras fcos 30*2fe8fb19SBen Gras XMM_DOUBLE_EPILOGUE 31*2fe8fb19SBen Gras ret 32