[Project64] Implement a case for CArmRecompilerOps::BEQ_Compare
This commit is contained in:
parent
bceb4792ed
commit
49dd2a6ad6
|
@ -867,15 +867,12 @@ void CArmRecompilerOps::BEQ_Compare()
|
||||||
{
|
{
|
||||||
if ((Is64Bit(m_Opcode.rs) || Is64Bit(m_Opcode.rt)) && !g_System->b32BitCore())
|
if ((Is64Bit(m_Opcode.rs) || Is64Bit(m_Opcode.rt)) && !g_System->b32BitCore())
|
||||||
{
|
{
|
||||||
g_Notify->BreakPoint(__FILE__, __LINE__);
|
ProtectGPR(m_Opcode.rs);
|
||||||
CArmRecompilerOps::UnknownOpcode();
|
|
||||||
|
|
||||||
/*ProtectGPR(m_Opcode.rs);
|
|
||||||
ProtectGPR(m_Opcode.rt);
|
ProtectGPR(m_Opcode.rt);
|
||||||
|
|
||||||
CompX86RegToX86Reg(
|
CompareArmRegToArmReg(
|
||||||
Is32Bit(m_Opcode.rs) ? Map_TempReg(x86_Any, m_Opcode.rs, true) : GetMipsRegMapHi(m_Opcode.rs),
|
Is32Bit(m_Opcode.rs) ? Map_TempReg(Arm_Any, m_Opcode.rs, true) : GetMipsRegMapHi(m_Opcode.rs),
|
||||||
Is32Bit(m_Opcode.rt) ? Map_TempReg(x86_Any, m_Opcode.rt, true) : GetMipsRegMapHi(m_Opcode.rt)
|
Is32Bit(m_Opcode.rt) ? Map_TempReg(Arm_Any, m_Opcode.rt, true) : GetMipsRegMapHi(m_Opcode.rt)
|
||||||
);
|
);
|
||||||
if (m_Section->m_Cont.FallThrough)
|
if (m_Section->m_Cont.FallThrough)
|
||||||
{
|
{
|
||||||
|
@ -887,7 +884,7 @@ void CArmRecompilerOps::BEQ_Compare()
|
||||||
BranchLabel20(ArmBranch_Notequal, m_Section->m_Cont.BranchLabel.c_str());
|
BranchLabel20(ArmBranch_Notequal, m_Section->m_Cont.BranchLabel.c_str());
|
||||||
m_Section->m_Cont.LinkLocation = (uint32_t *)(*g_RecompPos - 4);
|
m_Section->m_Cont.LinkLocation = (uint32_t *)(*g_RecompPos - 4);
|
||||||
}
|
}
|
||||||
CompX86RegToX86Reg(GetMipsRegMapLo(m_Opcode.rs), GetMipsRegMapLo(m_Opcode.rt));
|
CompareArmRegToArmReg(GetMipsRegMapLo(m_Opcode.rs), GetMipsRegMapLo(m_Opcode.rt));
|
||||||
if (m_Section->m_Cont.FallThrough)
|
if (m_Section->m_Cont.FallThrough)
|
||||||
{
|
{
|
||||||
BranchLabel20(ArmBranch_Equal, m_Section->m_Jump.BranchLabel.c_str());
|
BranchLabel20(ArmBranch_Equal, m_Section->m_Jump.BranchLabel.c_str());
|
||||||
|
@ -907,7 +904,7 @@ void CArmRecompilerOps::BEQ_Compare()
|
||||||
m_Section->m_Cont.LinkLocation2 = (uint32_t *)(*g_RecompPos - 4);
|
m_Section->m_Cont.LinkLocation2 = (uint32_t *)(*g_RecompPos - 4);
|
||||||
BranchLabel20(ArmBranch_Always, m_Section->m_Jump.BranchLabel.c_str());
|
BranchLabel20(ArmBranch_Always, m_Section->m_Jump.BranchLabel.c_str());
|
||||||
m_Section->m_Jump.LinkLocation = (uint32_t *)(*g_RecompPos - 4);
|
m_Section->m_Jump.LinkLocation = (uint32_t *)(*g_RecompPos - 4);
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue