Cygwin: access: Fix X_OK behaviour for backup operators and admins
[newlib-cygwin.git] / newlib / libm / machine / i386 / f_lrintl.c
blobeae2bca289494eb5ca5186e7936fd428f276d63b
1 /*
2 * ====================================================
3 * x87 FP implementation contributed to Newlib by
4 * Dave Korn, November 2007. This file is placed in the
5 * public domain. Permission to use, copy, modify, and
6 * distribute this software is freely granted.
7 * ====================================================
8 */
10 #ifdef __GNUC__
11 #if !defined(_SOFT_FLOAT)
13 #include <math.h>
16 * Fast math version of lrintl(x)
17 * Return x rounded to integral value according to the prevailing
18 * rounding mode.
19 * Method:
20 * Using inline x87 asms.
21 * Exception:
22 * Governed by x87 FPCR.
25 long int _f_lrintl (long double x)
27 long int _result;
28 asm ("fistpl %0" : "=m" (_result) : "t" (x) : "st");
29 return _result;
32 /* For now, there is only the fast math version so we use it. */
33 long int lrintl (long double x) {
34 return _f_lrintl(x);
37 #endif /* !_SOFT_FLOAT */
38 #endif /* __GNUC__ */