Home | History | Annotate | Line # | Download | only in i387
s_scalbn.S revision 1.9.12.2
      1       1.1       jtc /*
      2       1.7      salo  * Written by J.T. Conklin <jtc (at) NetBSD.org>.
      3       1.3       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.12.2       tls RCSID("$NetBSD: s_scalbn.S,v 1.9.12.2 2013/06/23 06:21:07 tls Exp $")
      9       1.2       jtc 
     10       1.9  drochner #ifdef WEAK_ALIAS
     11  1.9.12.2       tls WEAK_ALIAS(scalbn,_scalbn)
     12  1.9.12.1       tls WEAK_ALIAS(scalbln,_scalbln)
     13  1.9.12.2       tls WEAK_ALIAS(ldexp,_scalbn)
     14       1.9  drochner #endif
     15       1.8  drochner #ifdef __x86_64__
     16  1.9.12.1       tls ENTRY(_scalbn)
     17       1.8  drochner 	movl %edi,-12(%rsp)
     18       1.8  drochner 	fildl -12(%rsp)
     19       1.8  drochner 	movsd %xmm0,-8(%rsp)
     20       1.8  drochner 	fldl -8(%rsp)
     21       1.8  drochner 	fscale
     22       1.8  drochner 	fstpl -8(%rsp)
     23       1.8  drochner 	movsd -8(%rsp),%xmm0
     24       1.8  drochner 	fstp %st(0)
     25  1.9.12.1       tls 	ret
     26  1.9.12.1       tls #elif defined(STRONG_ALIAS)
     27  1.9.12.1       tls STRONG_ALIAS(_scalbn, scalbln)
     28  1.9.12.1       tls #endif
     29  1.9.12.1       tls 
     30  1.9.12.1       tls ENTRY(_scalbln)
     31  1.9.12.1       tls #ifdef __x86_64__
     32  1.9.12.2       tls 	movq %rdi,-16(%rsp)
     33  1.9.12.1       tls 	fildq -16(%rsp)
     34  1.9.12.1       tls 	movsd %xmm0,-8(%rsp)
     35  1.9.12.1       tls 	fldl -8(%rsp)
     36  1.9.12.1       tls 	fscale
     37  1.9.12.1       tls 	fstpl -8(%rsp)
     38  1.9.12.1       tls 	movsd -8(%rsp),%xmm0
     39  1.9.12.1       tls 	fstp %st(0)
     40       1.8  drochner #else
     41       1.8  drochner 	fildl 12(%esp)
     42       1.8  drochner 	fldl 4(%esp)
     43       1.1       jtc 	fscale
     44       1.8  drochner 	fstp %st(1)		/* clean up stack */
     45       1.8  drochner #endif
     46       1.1       jtc 	ret
     47