[Android] Get TestVariable to use temp registers

This commit is contained in:
zilmar 2016-10-01 11:44:21 +10:00
parent 5e7b18700d
commit 1a16d46368
1 changed files with 10 additions and 4 deletions

View File

@ -871,10 +871,16 @@ void CArmOps::SubConstFromVariable(uint32_t Const, void * Variable, const char *
void CArmOps::TestVariable(uint32_t Const, void * Variable, const char * VariableName) void CArmOps::TestVariable(uint32_t Const, void * Variable, const char * VariableName)
{ {
MoveVariableToArmReg(Variable,VariableName, Arm_R2); ArmReg TempReg1 = m_RegWorkingSet.Map_TempReg(Arm_Any, -1, false);
MoveConstToArmReg(Arm_R3, Const); ArmReg TempReg2 = m_RegWorkingSet.Map_TempReg(Arm_Any, -1, false);
AndArmRegToArmReg(Arm_R3,Arm_R2);
CompareArmRegToArmReg(Arm_R2,Arm_R3); MoveVariableToArmReg(Variable,VariableName, TempReg1);
MoveConstToArmReg(TempReg2, Const);
AndArmRegToArmReg(TempReg1,TempReg2);
CompareArmRegToArmReg(TempReg1,TempReg2);
m_RegWorkingSet.SetArmRegProtected(TempReg1,false);
m_RegWorkingSet.SetArmRegProtected(TempReg2,false);
} }
void CArmOps::XorArmRegToArmReg(ArmReg DestReg, ArmReg SourceReg) void CArmOps::XorArmRegToArmReg(ArmReg DestReg, ArmReg SourceReg)