diff options
Diffstat (limited to 'winsup/cygwin/math/lrintf.c')
-rw-r--r-- | winsup/cygwin/math/lrintf.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/winsup/cygwin/math/lrintf.c b/winsup/cygwin/math/lrintf.c index 2b6d89318..9a300e16f 100644 --- a/winsup/cygwin/math/lrintf.c +++ b/winsup/cygwin/math/lrintf.c @@ -21,7 +21,9 @@ asm(".def __lrintf_internal; .scl 2; .type 32; .endef\n" long lrintf (float x) { long retval = 0l; -#if defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__) +#if defined (__x86_64__) && defined (__CYGWIN__) + __asm__ __volatile__ ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); +#elif defined(_AMD64_) || defined(__x86_64__) || defined(_X86_) || defined(__i386__) __asm__ __volatile__ ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); #elif defined(__arm__) || defined(_ARM_) retval = __lrintf_internal(x); |