summaryrefslogtreecommitdiff
path: root/newlib/libc/machine/i386/f_logf.S
blob: cff3b359f94638d0e8f884ed46474949c23a5b15 (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
26
27
28
29
30
31
32
33
34
35
/*
 * ==================================================== 
 * Copyright (C) 1998 by Cygnus Solutions. All rights reserved. 
 *      
 * Permission to use, copy, modify, and distribute this 
 * software is freely granted, provided that this notice
 * is preserved.        
 * ==================================================== 
 */

/*
Fast version of logf using Intel float instructions.

   float _f_logf (float x);

Function calculates the log base e of x.
There is no error checking or setting of errno. 
*/

	#include "i386mach.h"

	.global SYM (_f_logf)

SYM (_f_logf):
	pushl ebp
	movl esp,ebp

	fld1
	fldl2e
	fdivrp
	flds 8(ebp)
	fyl2x

	leave
	ret