Core: Get COP1_D_CMP to map eax before CompileInitFpuOperation
This commit is contained in:
parent
3203322d8b
commit
a9875b7d61
|
@ -8624,6 +8624,7 @@ void CX86RecompilerOps::COP1_D_CMP()
|
||||||
{
|
{
|
||||||
if (FpuExceptionInRecompiler())
|
if (FpuExceptionInRecompiler())
|
||||||
{
|
{
|
||||||
|
m_RegWorkingSet.Map_TempReg(asmjit::x86::eax, 0, false, false);
|
||||||
CompileInitFpuOperation(CRegBase::RoundUnknown);
|
CompileInitFpuOperation(CRegBase::RoundUnknown);
|
||||||
if (m_RegWorkingSet.RegInStack(m_Opcode.fs, CRegInfo::FPU_Any) || m_RegWorkingSet.RegInStack(m_Opcode.fd, CRegInfo::FPU_Any))
|
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_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 StatusReg = m_RegWorkingSet.Map_FPStatusReg();
|
||||||
asmjit::x86::Gp TempRegValue = m_RegWorkingSet.Map_TempReg(x86Reg_Unknown, -1, false, true);
|
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);
|
asmjit::x86::Gp FsPtr = m_RegWorkingSet.FPRValuePointer(m_Opcode.fs, CRegInfo::FPU_Double);
|
||||||
|
|
Loading…
Reference in New Issue