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