github.com/afumu/libc@v0.0.6/musl/src/math/i386/scalbn.s (about)

     1  .global ldexp
     2  .type ldexp,@function
     3  ldexp:
     4  	nop
     5  
     6  .global scalbln
     7  .type scalbln,@function
     8  scalbln:
     9  	nop
    10  
    11  .global scalbn
    12  .type scalbn,@function
    13  scalbn:
    14  	mov 12(%esp),%eax
    15  	add $0x3ffe,%eax
    16  	cmp $0x7ffd,%eax
    17  	jb 1f
    18  	sub $0x3ffe,%eax
    19  	sar $31,%eax
    20  	xor $0xfff,%eax
    21  	add $0x3ffe,%eax
    22  1:	inc %eax
    23  	fldl 4(%esp)
    24  	mov %eax,12(%esp)
    25  	mov $0x80000000,%eax
    26  	mov %eax,8(%esp)
    27  	xor %eax,%eax
    28  	mov %eax,4(%esp)
    29  	fldt 4(%esp)
    30  	fmulp
    31  	fstpl 4(%esp)
    32  	fldl 4(%esp)
    33  	ret