1/* $OpenBSD: s_floorf.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 9ENTRY(floorf) 10 movss %xmm0, -4(%rsp) 11 fstcw -8(%rsp) 12 movw -8(%rsp),%dx 13 orw $0x0400,%dx 14 andw $0xf7ff,%dx 15 movw %dx,-12(%rsp) 16 fldcw -12(%rsp) 17 flds -4(%rsp) 18 frndint 19 fldcw -8(%rsp) 20 fstps -4(%rsp) 21 movss -4(%rsp),%xmm0 22 ret 23END(floorf) 24 25 .section .note.GNU-stack,"",%progbits 26