1 /* 2 * Written by J.T. Conklin <jtc (at) NetBSD.org>. 3 * Public domain. 4 */ 5 6 #include <machine/asm.h> 7 8 RCSID("$NetBSD: s_scalbn.S,v 1.8 2006/03/21 11:35:21 drochner Exp $") 9 10 ENTRY(scalbn) 11 #ifdef __x86_64__ 12 movl %edi,-12(%rsp) 13 fildl -12(%rsp) 14 movsd %xmm0,-8(%rsp) 15 fldl -8(%rsp) 16 fscale 17 fstpl -8(%rsp) 18 movsd -8(%rsp),%xmm0 19 fstp %st(0) 20 #else 21 fildl 12(%esp) 22 fldl 4(%esp) 23 fscale 24 fstp %st(1) /* clean up stack */ 25 #endif 26 ret 27