5 #include <libm-alias-ldouble.h>
6 #include <machine/asm.h>
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 /* Preserve "invalid" exceptions from sNaN input. */
33 fldenv 4(%esp) /* restore original environment */
36 cfi_adjust_cfa_offset (-32)
39 libm_alias_ldouble (__floor, floor)