Home | History | Annotate | Line # | Download | only in i387
s_scalbnf.S revision 1.9
      1  1.1       jtc /*
      2  1.6      salo  * Written by J.T. Conklin <jtc (at) NetBSD.org>.
      3  1.2       jtc  * Public domain.
      4  1.1       jtc  */
      5  1.1       jtc 
      6  1.1       jtc #include <machine/asm.h>
      7  1.1       jtc 
      8  1.9      matt RCSID("$NetBSD: s_scalbnf.S,v 1.9 2013/02/11 01:19:33 matt Exp $")
      9  1.1       jtc 
     10  1.8  drochner #ifdef WEAK_ALIAS
     11  1.8  drochner WEAK_ALIAS(scalbnf,_scalbnf)
     12  1.9      matt WEAK_ALIAS(scalblnf,_scalblnf)
     13  1.8  drochner #endif
     14  1.8  drochner 
     15  1.9      matt #ifdef __x86_64__
     16  1.8  drochner ENTRY(_scalbnf)
     17  1.7  drochner 	movl %edi,-8(%rsp)
     18  1.7  drochner 	fildl -8(%rsp)
     19  1.7  drochner 	movss %xmm0,-4(%rsp)
     20  1.7  drochner 	flds -4(%rsp)
     21  1.7  drochner 	fscale
     22  1.7  drochner 	fstps -4(%rsp)
     23  1.7  drochner 	movss -4(%rsp),%xmm0
     24  1.7  drochner 	fstp %st(0)
     25  1.9      matt 	ret
     26  1.9      matt #elif defined(STRONG_ALIAS)
     27  1.9      matt STRONG_ALIAS(_scalbnf,_scalbnf)
     28  1.9      matt #endif
     29  1.9      matt 
     30  1.9      matt ENTRY(_scalblnf)
     31  1.9      matt #ifdef __x86_64__
     32  1.9      matt 	movq %rdx,-16(%rsp)
     33  1.9      matt 	fildq -16(%rsp)
     34  1.9      matt 	movss %xmm0,-4(%rsp)
     35  1.9      matt 	flds -4(%rsp)
     36  1.9      matt 	fscale
     37  1.9      matt 	fstps -4(%rsp)
     38  1.9      matt 	movss -4(%rsp),%xmm0
     39  1.9      matt 	fstp %st(0)
     40  1.7  drochner #else
     41  1.7  drochner 	fildl 8(%esp)
     42  1.7  drochner 	flds 4(%esp)
     43  1.1       jtc 	fscale
     44  1.7  drochner 	fstp %st(1)		/* clean up stack */
     45  1.7  drochner #endif
     46  1.1       jtc 	ret
     47