blob: 8afaf3ebc769ef1b5965823d49181e09b825489d [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/*
2 * Based on code written by J.T. Conklin <jtc@NetBSD.org>.
3 * Public domain.
4 */
5
6#include <machine/asm.h>
7__FBSDID("$FreeBSD: src/lib/msun/i387/s_truncf.S,v 1.2 2005/05/06 15:44:20 deischen Exp $")
8
9ENTRY(truncf)
10 pushl %ebp
11 movl %esp,%ebp
12 subl $8,%esp
13
14 fstcw -4(%ebp) /* store fpu control word */
15 movw -4(%ebp),%dx
16 orw $0x0c00,%dx /* round towards -oo */
17 movw %dx,-8(%ebp)
18 fldcw -8(%ebp) /* load modfied control word */
19
20 flds 8(%ebp) /* round */
21 frndint
22
23 fldcw -4(%ebp) /* restore original control word */
24
25 leave
26 ret