Module: wine Branch: master Commit: f53b2095f36f1753b9a50d4dcb2eeab6c8c796cd URL: https://source.winehq.org/git/wine.git/?a=commit;h=f53b2095f36f1753b9a50d4dc...
Author: Piotr Caban piotr@codeweavers.com Date: Wed Aug 4 18:04:56 2021 +0200
msvcrt: Don't reset x87 in x86_64 fpreset.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msvcrt/math.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c index d45327b8f1f..c385dd036b7 100644 --- a/dlls/msvcrt/math.c +++ b/dlls/msvcrt/math.c @@ -5901,7 +5901,7 @@ int CDECL _finite(double num) */ void CDECL _fpreset(void) { -#if (defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__)) +#if (defined(__GNUC__) || defined(__clang__)) && defined(__i386__) const unsigned int x86_cw = 0x27f; __asm__ __volatile__( "fninit; fldcw %0" : : "m" (x86_cw) ); if (sse2_supported) @@ -5909,6 +5909,9 @@ void CDECL _fpreset(void) unsigned int cw = _MCW_EM, sw = 0; _setfp_sse(&cw, ~0, &sw, ~0); } +#elif defined(__x86_64__) + unsigned int cw = _MCW_EM, sw = 0; + _setfp_sse(&cw, ~0, &sw, ~0); #else FIXME( "not implemented\n" ); #endif