Loop: Set STLI and SLITU to mark the op as modified
This commit is contained in:
parent
9c03f2ce5a
commit
2fb824fcd5
|
@ -451,30 +451,9 @@ bool LoopAnalysis::CheckLoopRegisterUsage( CCodeSection * Section)
|
||||||
//}
|
//}
|
||||||
break;
|
break;
|
||||||
case R4300i_SLTI:
|
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:
|
case R4300i_SLTIU:
|
||||||
if (m_Command.rt == 0) { break; }
|
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);
|
m_Reg.SetMipsRegState(m_Command.rt,CRegInfo::STATE_MODIFIED);
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case R4300i_LUI:
|
case R4300i_LUI:
|
||||||
if (m_Command.rt == 0) { break; }
|
if (m_Command.rt == 0) { break; }
|
||||||
|
|
Loading…
Reference in New Issue