5 #include <machine/asm.h>
6 #include <libm-alias-double.h>
8 RCSID("$NetBSD: s_floor.S,v 1.4 1995/05/09 00:01:59 jtc Exp $")
13 cfi_adjust_cfa_offset (32)
15 fnstenv 4(%esp) /* store fpu environment */
17 /* We use here %edx although only the low 1 bits are defined.
18 But none of the operations should care and they are faster
19 than the 16 bit operations. */
20 movl $0x400,%edx /* round towards -oo */
24 fldcw (%esp) /* load modified control word */
28 fldenv 4(%esp) /* restore original environment */
31 cfi_adjust_cfa_offset (-32)
34 libm_alias_double (__floor, floor)