Home | History | Annotate | Line # | Download | only in i387
      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.5  mlelstv RCSID("$NetBSD: s_scalbnl.S,v 1.5 2013/05/20 20:27:43 mlelstv 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.5  mlelstv WEAK_ALIAS(ldexpl,_scalbnl)
     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