s_ceilf.S revision 192760
1249109Sjkim/*
2249109Sjkim * Written by J.T. Conklin <jtc@netbsd.org>.
3249109Sjkim * Public domain.
4249109Sjkim */
5249109Sjkim
6249109Sjkim#include <machine/asm.h>
7249109Sjkim
8306536Sjkim__FBSDID("$FreeBSD: head/lib/msun/i387/s_ceilf.S 192760 2009-05-25 14:37:10Z attilio $");
9249109Sjkim/* RCSID("$NetBSD: s_ceilf.S,v 1.3 1995/05/08 23:52:44 jtc Exp $") */
10249109Sjkim
11249109SjkimENTRY(ceilf)
12249109Sjkim	pushl	%ebp
13249109Sjkim	movl	%esp,%ebp
14249109Sjkim	subl	$8,%esp
15249109Sjkim
16249109Sjkim	fstcw	-4(%ebp)		/* store fpu control word */
17249109Sjkim	movw	-4(%ebp),%dx
18249109Sjkim	orw	$0x0800,%dx		/* round towards +oo */
19249109Sjkim	andw	$0xfbff,%dx
20249109Sjkim	movw	%dx,-8(%ebp)
21249109Sjkim	fldcw	-8(%ebp)		/* load modfied control word */
22249109Sjkim
23249109Sjkim	flds	8(%ebp);		/* round */
24249109Sjkim	frndint
25249109Sjkim
26249109Sjkim	fldcw	-4(%ebp)		/* restore original control word */
27249109Sjkim
28249109Sjkim	leave
29249109Sjkim	ret
30249109SjkimEND(ceilf)
31249109Sjkim