1/* $OpenBSD: s_floorf.S,v 1.5 2016/09/12 19:47:01 guenther Exp $ */ 2/* 3 * Written by J.T. Conklin <jtc@NetBSD.org>. 4 * Public domain. 5 */ 6 7#include <machine/asm.h> 8#include "abi.h" 9 10ENTRY(floorf) 11 movss %xmm0, -4(%rsp) 12 fstcw -8(%rsp) 13 movw -8(%rsp),%dx 14 orw $0x0400,%dx 15 andw $0xf7ff,%dx 16 movw %dx,-12(%rsp) 17 fldcw -12(%rsp) 18 flds -4(%rsp) 19 frndint 20 fldcw -8(%rsp) 21 fstps -4(%rsp) 22 movss -4(%rsp),%xmm0 23 ret 24END_STD(floorf) 25