Home | History | Annotate | Line # | Download | only in i387
s_scalbnl.S revision 1.4
      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.4     joerg RCSID("$NetBSD: s_scalbnl.S,v 1.4 2013/04/27 18:36:41 joerg 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.3  christos WEAK_ALIAS(ldexpl,_scalblnl)
     14  1.1     joerg #endif
     15  1.1     joerg 
     16  1.2      matt #ifdef __x86_64__
     17  1.1     joerg ENTRY(_scalbnl)
     18  1.1     joerg 	movl	%edi,-4(%rsp)
     19  1.1     joerg 	fildl	-4(%rsp)
     20  1.1     joerg 	fldt	8(%rsp)
     21  1.1     joerg 	fscale
     22  1.1     joerg 	fstp	%st(1)
     23  1.2      matt 	ret
     24  1.2      matt #elif defined(STRONG_ALIAS)
     25  1.2      matt STRONG_ALIAS(_scalbnl,_scalblnl)
     26  1.2      matt #endif
     27  1.2      matt 
     28  1.2      matt ENTRY(_scalblnl)
     29  1.2      matt #ifdef __x86_64__
     30  1.4     joerg 	movq	%rdi,-8(%rsp)
     31  1.2      matt 	fildq	-8(%rsp)
     32  1.2      matt 	fldt	8(%rsp)
     33  1.2      matt 	fscale
     34  1.2      matt 	fstp	%st(1)
     35  1.1     joerg #else
     36  1.1     joerg 	fildl 16(%esp)
     37  1.1     joerg 	fldt 4(%esp)
     38  1.1     joerg 	fscale
     39  1.1     joerg 	fstp %st(1)		/* clean up stack */
     40  1.1     joerg #endif
     41  1.1     joerg 	ret
     42