blob: 280207d26db756ce60152b7050047666655eb732 [file] [log] [blame]
#include <math.h>
float remainderf(float x, float y)
{
unsigned short fpsr;
// fprem1 does not introduce excess precision into x
do __asm__ ("fprem1; fnstsw %%ax" : "+t"(x), "=a"(fpsr) : "u"(y));
while (fpsr & 0x400);
return x;
}
weak_alias(remainderf, dremf);