diff --git a/Source/Project64-core/N64System/Recompiler/x86/x86RecompilerOps.cpp b/Source/Project64-core/N64System/Recompiler/x86/x86RecompilerOps.cpp index bdb06002d..44ac853f9 100644 --- a/Source/Project64-core/N64System/Recompiler/x86/x86RecompilerOps.cpp +++ b/Source/Project64-core/N64System/Recompiler/x86/x86RecompilerOps.cpp @@ -8624,6 +8624,7 @@ void CX86RecompilerOps::COP1_D_CMP() { if (FpuExceptionInRecompiler()) { + m_RegWorkingSet.Map_TempReg(asmjit::x86::eax, 0, false, false); CompileInitFpuOperation(CRegBase::RoundUnknown); if (m_RegWorkingSet.RegInStack(m_Opcode.fs, CRegInfo::FPU_Any) || m_RegWorkingSet.RegInStack(m_Opcode.fd, CRegInfo::FPU_Any)) { @@ -8638,7 +8639,6 @@ void CX86RecompilerOps::COP1_D_CMP() { m_Assembler.AndConstToVariable(&m_Reg.m_FPCR[31], "_FPCR[31]", (uint32_t)~FPCSR_C); } - m_RegWorkingSet.Map_TempReg(asmjit::x86::eax, 0, false, false); asmjit::x86::Gp StatusReg = m_RegWorkingSet.Map_FPStatusReg(); asmjit::x86::Gp TempRegValue = m_RegWorkingSet.Map_TempReg(x86Reg_Unknown, -1, false, true); asmjit::x86::Gp FsPtr = m_RegWorkingSet.FPRValuePointer(m_Opcode.fs, CRegInfo::FPU_Double);