1/* $OpenBSD: s_ceil.S,v 1.5 2018/07/03 22:43:34 mortimer Exp $ */ 2/* 3 * Written by J.T. Conklin <jtc@NetBSD.org>. 4 * Public domain. 5 */ 6 7#include <machine/asm.h> 8 9#include "abi.h" 10 11ENTRY(ceil) 12 RETGUARD_SETUP(ceil, r11) 13 fstcw -12(%rsp) 14 movw -12(%rsp),%dx 15 orw $0x0800,%dx 16 andw $0xfbff,%dx 17 movw %dx,-16(%rsp) 18 fldcw -16(%rsp) 19 movsd %xmm0,-8(%rsp) 20 fldl -8(%rsp) 21 frndint 22 fldcw -12(%rsp) 23 fstpl -8(%rsp) 24 movsd -8(%rsp),%xmm0 25 RETGUARD_CHECK(ceil, r11) 26 ret 27END_STD(ceil) 28