[Android] Get CArmRecompilerOps::CompileCop1Test to use temp registers
This commit is contained in:
parent
d8bab5ac7f
commit
41baaa015b
|
@ -4161,10 +4161,14 @@ void CArmRecompilerOps::CompileCop1Test()
|
|||
if (m_RegWorkingSet.GetFpuBeenUsed())
|
||||
return;
|
||||
|
||||
MoveVariableToArmReg(&g_Reg->STATUS_REGISTER, "STATUS_REGISTER", Arm_R1);
|
||||
MoveConstToArmReg(Arm_R2, STATUS_CU1, "STATUS_REGISTER");
|
||||
AndArmRegToArmReg(Arm_R2, Arm_R1);
|
||||
CompareArmRegToConst(Arm_R1, 0);
|
||||
ArmReg TempReg1 = m_RegWorkingSet.Map_TempReg(Arm_Any, -1, false);
|
||||
ArmReg TempReg2 = m_RegWorkingSet.Map_TempReg(Arm_Any, -1, false);
|
||||
MoveVariableToArmReg(&g_Reg->STATUS_REGISTER, "STATUS_REGISTER", TempReg1);
|
||||
MoveConstToArmReg(TempReg2, STATUS_CU1, "STATUS_CU1");
|
||||
AndArmRegToArmReg(TempReg1, TempReg2);
|
||||
CompareArmRegToConst(TempReg1, 0);
|
||||
m_RegWorkingSet.SetArmRegProtected(TempReg1,false);
|
||||
m_RegWorkingSet.SetArmRegProtected(TempReg2,false);
|
||||
CompileExit(m_CompilePC, m_CompilePC, m_RegWorkingSet, CExitInfo::COP1_Unuseable, ArmBranch_Equal);
|
||||
m_RegWorkingSet.SetFpuBeenUsed(true);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue