From 6ecfff267afdf0c79aa3695de1762079aeac5e13 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sun, 15 Sep 2013 17:31:25 +0000 Subject: [PATCH] [DSOUND] Extend the lrint MSVC hack to support x64 as well See http://sourceforge.net/p/freeimage/discussion/36111/thread/b43c17c5 svn path=/trunk/; revision=60142 --- reactos/dll/directx/dsound/dsound_convert.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/reactos/dll/directx/dsound/dsound_convert.c b/reactos/dll/directx/dsound/dsound_convert.c index 5617a746879..1e8e25d2181 100644 --- a/reactos/dll/directx/dsound/dsound_convert.c +++ b/reactos/dll/directx/dsound/dsound_convert.c @@ -64,17 +64,26 @@ WINE_DEFAULT_DEBUG_CHANNEL(dsound); #endif /* This is an inlined version of lrintf. */ -#if defined(_M_IX86) && defined(_MSC_VER) +#if defined(_MSC_VER) +#if defined(_M_AMD64) +#include +#endif + FORCEINLINE int lrintf(float f) { +#if defined(_M_IX86) int result; __asm { fld f; fistp result; } + return result; +#elif defined(_M_AMD64) + return _mm_cvtss_si32(_mm_load_ss(&f)); +#endif } #endif