a02291eed299ac0694c023c79623ccd8f8e9b1f6
[dragonfly.git] / contrib / openbsd_libm / arch / amd64 / s_ceilf.S
1 /*      $OpenBSD: s_ceilf.S,v 1.4 2009/04/08 22:30:41 martynas Exp $ */
2 /*
3  * Written by J.T. Conklin <jtc@NetBSD.org>.
4  * Public domain.
5  */
6
7 #include <machine/asm.h>
8
9 ENTRY(ceilf)
10         fstcw   -8(%rsp)
11         movw    -8(%rsp),%dx
12         orw     $0x0800,%dx
13         andw    $0xfbff,%dx
14         movw    %dx,-12(%rsp)
15         fldcw   -12(%rsp)
16         movss   %xmm0,-4(%rsp)
17         flds    -4(%rsp)
18         frndint
19         fldcw   -8(%rsp)
20         fstps   -4(%rsp)
21         movss   -4(%rsp),%xmm0
22         ret