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