1 /* 2 * Public domain. 3 * 4 */ 5 6 #include <math_private.h> 7 #include <libm-alias-finite.h> 8 9 long double __ieee754_fmodl(long double x,long double y)10__ieee754_fmodl (long double x, long double y) 11 { 12 long double res; 13 14 asm ("1:\tfprem\n" 15 "fstsw %%ax\n" 16 "sahf\n" 17 "jp 1b\n" 18 "fstp %%st(1)" 19 : "=t" (res) : "0" (x), "u" (y) : "ax", "st(1)"); 20 return res; 21 } 22 libm_alias_finite (__ieee754_fmodl, __fmodl) 23