/* * ==================================================== * x87 FP implementation contributed to Newlib by * Dave Korn, November 2007. This file is placed in the * public domain. Permission to use, copy, modify, and * distribute this software is freely granted. * ==================================================== */ #ifdef __GNUC__ #if !defined(_SOFT_FLOAT) #include /* * Fast math version of llrintl(x) * Return x rounded to integral value according to the prevailing * rounding mode. * Method: * Using inline x87 asms. * Exception: * Governed by x87 FPCR. */ long long int _f_llrintl (long double x) { long long int _result; asm ("fistpll %0" : "=m" (_result) : "t" (x) : "st"); return _result; } /* For now, we only have the fast math version. */ long long int llrintl (long double x) { return _f_llrintl(x); } #endif /* !_SOFT_FLOAT */ #endif /* __GNUC__ */