Core: Get COP1_D_CVT_L to use COP1_S_CVT

This commit is contained in:
zilmar 2024-04-18 16:56:30 +09:30
parent 9e73771815
commit 3203322d8b
1 changed files with 13 additions and 6 deletions

View File

@ -8600,6 +8600,12 @@ void CX86RecompilerOps::COP1_D_CVT_W()
} }
void CX86RecompilerOps::COP1_D_CVT_L() void CX86RecompilerOps::COP1_D_CVT_L()
{
if (FpuExceptionInRecompiler())
{
COP1_S_CVT(CRegInfo::RoundDefault, CRegInfo::FPU_Double, CRegInfo::FPU_Qword);
}
else
{ {
CompileCop1Test(); CompileCop1Test();
if (m_RegWorkingSet.RegInStack(m_Opcode.fs, CRegInfo::FPU_Double) || m_RegWorkingSet.RegInStack(m_Opcode.fs, CRegInfo::FPU_Qword)) if (m_RegWorkingSet.RegInStack(m_Opcode.fs, CRegInfo::FPU_Double) || m_RegWorkingSet.RegInStack(m_Opcode.fs, CRegInfo::FPU_Qword))
@ -8612,6 +8618,7 @@ void CX86RecompilerOps::COP1_D_CVT_L()
} }
m_RegWorkingSet.ChangeFPURegFormat(m_Opcode.fd, CRegInfo::FPU_Double, CRegInfo::FPU_Qword, CRegInfo::RoundDefault); m_RegWorkingSet.ChangeFPURegFormat(m_Opcode.fd, CRegInfo::FPU_Double, CRegInfo::FPU_Qword, CRegInfo::RoundDefault);
} }
}
void CX86RecompilerOps::COP1_D_CMP() void CX86RecompilerOps::COP1_D_CMP()
{ {