glibc/sysdeps/i386/fpu/e_fmodl.c
Ulrich Drepper 0ac5ae2335 Optimize libm
libm is now somewhat integrated with gcc's -ffinite-math-only option
and lots of the wrapper functions have been optimized.
2011-10-12 11:27:51 -04:00

24 lines
479 B
C

/*
* Written by J.T. Conklin <jtc@netbsd.org>.
* Public domain.
*
* Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
*/
#include <math_private.h>
long double
__ieee754_fmodl (long double x, long double y)
{
long double res;
asm ("1:\tfprem\n"
"fstsw %%ax\n"
"sahf\n"
"jp 1b\n"
"fstp %%st(1)"
: "=t" (res) : "0" (x), "u" (y) : "ax", "st(1)");
return res;
}
strong_alias (__ieee754_fmodl, __fmodl_finite)