clean up pc == target for REGIMM_BGEZL
This commit is contained in:
parent
d6a1a8cf52
commit
de5f7d543f
|
@ -433,7 +433,10 @@ bool CCodeBlock::AnalyzeInstruction ( DWORD PC, DWORD & TargetPC, DWORD & Contin
|
||||||
TargetPC = PC + ((short)Command.offset << 2) + 4;
|
TargetPC = PC + ((short)Command.offset << 2) + 4;
|
||||||
if (TargetPC == PC)
|
if (TargetPC == PC)
|
||||||
{
|
{
|
||||||
_Notify->BreakPoint(__FILE__,__LINE__);
|
if (!DelaySlotEffectsCompare(PC,Command.rs,0))
|
||||||
|
{
|
||||||
|
PermLoop = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ContinuePC = PC + 8;
|
ContinuePC = PC + 8;
|
||||||
LikelyBranch = true;
|
LikelyBranch = true;
|
||||||
|
|
|
@ -268,17 +268,11 @@ bool LoopAnalysis::CheckLoopRegisterUsage( CCodeSection * Section)
|
||||||
}*/
|
}*/
|
||||||
if (m_PC == m_PC + ((short)m_Command.offset << 2) + 4)
|
if (m_PC == m_PC + ((short)m_Command.offset << 2) + 4)
|
||||||
{
|
{
|
||||||
_Notify->BreakPoint(__FILE__,__LINE__);
|
if (!DelaySlotEffectsCompare(m_PC,m_Command.rs,0) && !Section->m_Jump.PermLoop)
|
||||||
#ifdef tofix
|
|
||||||
if (!DelaySlotEffectsCompare(m_PC,m_Command.rs,m_Command.rt))
|
|
||||||
{
|
{
|
||||||
if (!Section->m_Jump.PermLoop)
|
_Notify->BreakPoint(__FILE__,__LINE__);
|
||||||
{
|
|
||||||
_Notify->BreakPoint(__FILE__,__LINE__);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
#endif
|
}
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case R4300i_REGIMM_BLTZAL:
|
case R4300i_REGIMM_BLTZAL:
|
||||||
|
|
Loading…
Reference in New Issue