s_ceilf.S revision 217108
1168404Spjd/*
2168404Spjd * Written by J.T. Conklin <jtc@netbsd.org>.
3168404Spjd * Public domain.
4168404Spjd */
5168404Spjd
6168404Spjd#include <machine/asm.h>
7168404Spjd
8168404Spjd__FBSDID("$FreeBSD: head/lib/msun/i387/s_ceilf.S 217108 2011-01-07 16:13:12Z kib $");
9168404Spjd/* RCSID("$NetBSD: s_ceilf.S,v 1.3 1995/05/08 23:52:44 jtc Exp $") */
10168404Spjd
11168404SpjdENTRY(ceilf)
12168404Spjd	pushl	%ebp
13168404Spjd	movl	%esp,%ebp
14168404Spjd	subl	$8,%esp
15168404Spjd
16168404Spjd	fstcw	-4(%ebp)		/* store fpu control word */
17168404Spjd	movw	-4(%ebp),%dx
18168404Spjd	orw	$0x0800,%dx		/* round towards +oo */
19168404Spjd	andw	$0xfbff,%dx
20168404Spjd	movw	%dx,-8(%ebp)
21168404Spjd	fldcw	-8(%ebp)		/* load modfied control word */
22219089Spjd
23168404Spjd	flds	8(%ebp);		/* round */
24168404Spjd	frndint
25168404Spjd
26168404Spjd	fldcw	-4(%ebp)		/* restore original control word */
27168404Spjd
28168404Spjd	leave
29168404Spjd	ret
30168404SpjdEND(ceilf)
31168404Spjd
32168404Spjd	.section .note.GNU-stack,"",%progbits
33168404Spjd