Loop: Set STLI and SLITU to mark the op as modified

This commit is contained in:
zilmar 2013-02-03 21:05:18 +11:00
parent 9c03f2ce5a
commit 2fb824fcd5
1 changed files with 1 additions and 22 deletions

View File

@ -451,30 +451,9 @@ bool LoopAnalysis::CheckLoopRegisterUsage( CCodeSection * Section)
//}
break;
case R4300i_SLTI:
if (m_Command.rt == 0) { break; }
if (m_Reg.IsConst(m_Command.rs)) {
if (m_Reg.Is64Bit(m_Command.rs)) {
m_Reg.SetMipsRegLo(m_Command.rt, (m_Reg.GetMipsReg_S(m_Command.rs) < (__int64)((short)m_Command.immediate))?1:0);
} else {
m_Reg.SetMipsRegLo(m_Command.rt, (m_Reg.GetMipsRegLo_S(m_Command.rs) < (int)((short)m_Command.immediate))?1:0);
}
m_Reg.SetMipsRegState(m_Command.rt,CRegInfo::STATE_CONST_32);
} else {
m_Reg.SetMipsRegState(m_Command.rt,CRegInfo::STATE_MODIFIED);
}
break;
case R4300i_SLTIU:
if (m_Command.rt == 0) { break; }
if (m_Reg.IsConst(m_Command.rs)) {
if (m_Reg.Is64Bit(m_Command.rs)) {
m_Reg.SetMipsRegLo(m_Command.rt,(m_Reg.GetMipsReg(m_Command.rs) < (unsigned __int64)((short)m_Command.immediate))?1:0);
} else {
m_Reg.SetMipsRegLo(m_Command.rt,(m_Reg.GetMipsRegLo(m_Command.rs) < (DWORD)((short)m_Command.immediate))?1:0);
}
m_Reg.SetMipsRegState(m_Command.rt,CRegInfo::STATE_CONST_32);
} else {
m_Reg.SetMipsRegState(m_Command.rt,CRegInfo::STATE_MODIFIED);
}
break;
case R4300i_LUI:
if (m_Command.rt == 0) { break; }