NetBSD/lib/libm/arch/i387/s_scalbnl.S

42 lines
658 B
ArmAsm

/*
* Written by J.T. Conklin <jtc@NetBSD.org>.
* Public domain.
*/
#include <machine/asm.h>
RCSID("$NetBSD: s_scalbnl.S,v 1.5 2013/05/20 20:27:43 mlelstv Exp $")
#ifdef WEAK_ALIAS
WEAK_ALIAS(scalbnl,_scalbnl)
WEAK_ALIAS(scalblnl,_scalblnl)
WEAK_ALIAS(ldexpl,_scalbnl)
#endif
#ifdef __x86_64__
ENTRY(_scalbnl)
movl %edi,-4(%rsp)
fildl -4(%rsp)
fldt 8(%rsp)
fscale
fstp %st(1)
ret
#elif defined(STRONG_ALIAS)
STRONG_ALIAS(_scalbnl,_scalblnl)
#endif
ENTRY(_scalblnl)
#ifdef __x86_64__
movq %rdi,-8(%rsp)
fildq -8(%rsp)
fldt 8(%rsp)
fscale
fstp %st(1)
#else
fildl 16(%esp)
fldt 4(%esp)
fscale
fstp %st(1) /* clean up stack */
#endif
ret