1 1.1 joerg /* 2 1.1 joerg * Written by J.T. Conklin <jtc (at) NetBSD.org>. 3 1.1 joerg * Public domain. 4 1.1 joerg */ 5 1.1 joerg 6 1.1 joerg #include <machine/asm.h> 7 1.1 joerg 8 1.2 matt RCSID("$NetBSD: s_scalbnl.S,v 1.2 2013/02/11 01:19:33 matt Exp $") 9 1.1 joerg 10 1.1 joerg #ifdef WEAK_ALIAS 11 1.1 joerg WEAK_ALIAS(scalbnl,_scalbnl) 12 1.2 matt WEAK_ALIAS(scalblnl,_scalblnl) 13 1.1 joerg #endif 14 1.1 joerg 15 1.2 matt #ifdef __x86_64__ 16 1.1 joerg ENTRY(_scalbnl) 17 1.1 joerg movl %edi,-4(%rsp) 18 1.1 joerg fildl -4(%rsp) 19 1.1 joerg fldt 8(%rsp) 20 1.1 joerg fscale 21 1.1 joerg fstp %st(1) 22 1.2 matt ret 23 1.2 matt #elif defined(STRONG_ALIAS) 24 1.2 matt STRONG_ALIAS(_scalbnl,_scalblnl) 25 1.2 matt #endif 26 1.2 matt 27 1.2 matt ENTRY(_scalblnl) 28 1.2 matt #ifdef __x86_64__ 29 1.2 matt movq %rdx,-8(%rsp) 30 1.2 matt fildq -8(%rsp) 31 1.2 matt fldt 8(%rsp) 32 1.2 matt fscale 33 1.2 matt fstp %st(1) 34 1.1 joerg #else 35 1.1 joerg fildl 16(%esp) 36 1.1 joerg fldt 4(%esp) 37 1.1 joerg fscale 38 1.1 joerg fstp %st(1) /* clean up stack */ 39 1.1 joerg #endif 40 1.1 joerg ret 41