2.9
[glibc/nacl-glibc.git] / sysdeps / i386 / fpu / e_fmodl.c
blobc7c9a60456eacf675c7430dc26f39ae8bf158885
1 /*
2 * Written by J.T. Conklin <jtc@netbsd.org>.
3 * Public domain.
5 * Adapted for `long double' by Ulrich Drepper <drepper@cygnus.com>.
6 */
8 #include <math_private.h>
10 long double
11 __ieee754_fmodl (long double x, long double y)
13 long double res;
15 asm ("1:\tfprem\n"
16 "fstsw %%ax\n"
17 "sahf\n"
18 "jp 1b\n"
19 "fstp %%st(1)"
20 : "=t" (res) : "0" (x), "u" (y) : "ax", "st(1)");
21 return res;