xref: /dflybsd-src/contrib/openbsd_libm/arch/amd64/e_scalb.S (revision a27bb01fb90c87959b0c0dfacf7dd85d1308a35f)
105a0b428SJohn Marino/*	$OpenBSD: e_scalb.S,v 1.3 2008/09/07 20:36:08 martynas Exp $ */
205a0b428SJohn Marino/*
305a0b428SJohn Marino * Written by J.T. Conklin <jtc@NetBSD.org>.
405a0b428SJohn Marino * Public domain.
505a0b428SJohn Marino */
605a0b428SJohn Marino
705a0b428SJohn Marino#include <machine/asm.h>
805a0b428SJohn Marino
905a0b428SJohn Marino#include "abi.h"
1005a0b428SJohn Marino
1105a0b428SJohn MarinoENTRY(scalb)
1205a0b428SJohn Marino	XMM_TWO_ARG_DOUBLE_PROLOGUE
1305a0b428SJohn Marino	fldl	ARG_DOUBLE_TWO
1405a0b428SJohn Marino	fldl	ARG_DOUBLE_ONE
1505a0b428SJohn Marino	fscale
1605a0b428SJohn Marino	fstp	%st(1)			/* bug fix for fp stack overflow */
1705a0b428SJohn Marino	XMM_DOUBLE_EPILOGUE
1805a0b428SJohn Marino	ret
19*a27bb01fSJohn MarinoEND(scalb)
20*a27bb01fSJohn Marino
21*a27bb01fSJohn Marino	.section .note.GNU-stack,"",%progbits
22