diff --git a/pcsx2/x86/ix86-32/iR5900-32.cpp b/pcsx2/x86/ix86-32/iR5900-32.cpp index 49f655f397..55d2eaec26 100644 --- a/pcsx2/x86/ix86-32/iR5900-32.cpp +++ b/pcsx2/x86/ix86-32/iR5900-32.cpp @@ -534,6 +534,7 @@ static DynGenFunc* _DynGen_EnterRecompiledCode() static DynGenFunc* _DynGen_DispatchBlockDiscard() { u8* retval = xGetPtr(); + xEMMS(); xCALL(dyna_block_discard); xJMP(ExitRecompiledCode); return (DynGenFunc*)retval; @@ -542,6 +543,7 @@ static DynGenFunc* _DynGen_DispatchBlockDiscard() static DynGenFunc* _DynGen_DispatchPageReset() { u8* retval = xGetPtr(); + xEMMS(); xCALL(dyna_page_reset); xJMP(ExitRecompiledCode); return (DynGenFunc*)retval; @@ -869,13 +871,6 @@ void R5900::Dynarec::OpcodeImpl::recBREAK() // Size is in dwords (4 bytes) void recClear(u32 addr, u32 size) { - // necessary since recompiler doesn't call femms/emms -#ifdef _MSC_VER - __asm emms; -#else - __asm__ __volatile__("emms"); -#endif - if ((addr) >= maxrecmem || !(recLUT[(addr) >> 16] + (addr & ~0xFFFFUL))) return; addr = HWADDR(addr);