aboutsummaryrefslogtreecommitdiffstats
path: root/com32/lib/math/pow.S
blob: 56f504a7f28b6cfb2f6507cb24b315ec0d7ac406 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*
 * pow.S
 *
 * double pow(double base, double exponent)
 */

	.text
	.globl	pow
	.type	pow,@function
pow:
	fldl	12(%esp)
	fldl	4(%esp)
	fyl2x
	fld	%st(0)
	frndint
	fsubr	%st,%st(1)
	fxch	%st(1)
	f2xm1
	fld1
	faddp	%st,%st(1)
	fscale
	fstp	%st(1)
	ret

	.size	pow,.-pow