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: e_asin.S,v 1.7 2003/07/26 19:24:58 salo Exp $") 11*2fe8fb19SBen Gras 12*2fe8fb19SBen Gras/* asin = atan (x / sqrt(1 - x^2)) */ 13*2fe8fb19SBen GrasENTRY(__ieee754_asin) 14*2fe8fb19SBen Gras XMM_ONE_ARG_DOUBLE_PROLOGUE 15*2fe8fb19SBen Gras fldl ARG_DOUBLE_ONE /* x */ 16*2fe8fb19SBen Gras fld %st(0) 17*2fe8fb19SBen Gras fmul %st(0) /* x^2 */ 18*2fe8fb19SBen Gras fld1 19*2fe8fb19SBen Gras fsubp /* 1 - x^2 */ 20*2fe8fb19SBen Gras fsqrt /* sqrt (1 - x^2) */ 21*2fe8fb19SBen Gras fpatan 22*2fe8fb19SBen Gras XMM_DOUBLE_EPILOGUE 23*2fe8fb19SBen Gras ret 24