--- src/lib/libm/arch/i386/s_scalbnf.S 2005/07/26 21:15:19 1.1 +++ src/lib/libm/arch/i386/s_scalbnf.S 2007/06/16 23:53:00 1.2 @@ -2,19 +2,26 @@ * Written by J.T. Conklin . * Public domain. * - * $NetBSD: s_scalbnf.S,v 1.6 2003/07/26 19:25:03 salo Exp $ + * $NetBSD: s_scalbnf.S,v 1.7 2006/03/21 11:35:21 drochner Exp $ * $DragonFly$ */ #include -#include "abi.h" - ENTRY(scalbnf) - XMM_TWO_ARG_FLOAT_PROLOGUE - fildl ARG_FLOAT_TWO - flds ARG_FLOAT_ONE +#ifdef __x86_64__ + movl %edi,-8(%rsp) + fildl -8(%rsp) + movss %xmm0,-4(%rsp) + flds -4(%rsp) + fscale + fstps -4(%rsp) + movss -4(%rsp),%xmm0 + fstp %st(0) +#else + fildl 8(%esp) + flds 4(%esp) fscale - fstp %st(1) /* bug fix for fp stack overflow */ - XMM_FLOAT_EPILOGUE + fstp %st(1) /* clean up stack */ +#endif ret