master
 1/**
 2 * This file has no copyright assigned and is placed in the Public Domain.
 3 * This file is part of the mingw-w64 runtime package.
 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 5 */
 6/*
 7 * Written by J.T. Conklin <jtc@netbsd.org>.
 8 * Public domain.
 9 *
10 * Adapted for float type by Danny Smith
11 *  <dannysmith@users.sourceforge.net>.
12 */
13
14#include <math.h>
15
16float
17fmodf (float x, float y)
18{
19  float res = 0.0F;
20
21  asm volatile (
22       "1:\tfprem\n\t"
23       "fstsw   %%ax\n\t"
24       "sahf\n\t"
25       "jp      1b\n\t"
26       "fstp    %%st(1)"
27       : "=t" (res) : "0" (x), "u" (y) : "ax", "st(1)");
28  return res;
29}