[Android] Fix up CArmRegInfo::Map_TempReg

This commit is contained in:
zilmar 2016-10-01 16:55:06 +10:00
parent a0b3a02f5f
commit 9c8e7309de
1 changed files with 14 additions and 2 deletions

View File

@ -775,7 +775,19 @@ CArmOps::ArmReg CArmRegInfo::Map_TempReg(ArmReg Reg, int32_t MipsReg, bool LoadH
} }
else if (IsMapped(MipsReg)) else if (IsMapped(MipsReg))
{ {
g_Notify->BreakPoint(__FILE__, __LINE__); if (Is64Bit(MipsReg))
{
g_Notify->BreakPoint(__FILE__, __LINE__);
//MoveArmRegToArmReg(GetMipsRegMapHi(MipsReg), Reg);
}
else if (IsSigned(MipsReg))
{
ShiftRightSignImmed(Reg,GetMipsRegMapLo(MipsReg),31);
}
else
{
MoveConstToArmReg(Reg, (uint32_t)0);
}
} }
else else
{ {
@ -827,7 +839,7 @@ CArmOps::ArmReg CArmRegInfo::Map_Variable(VARIABLE_MAPPED variable)
{ {
if (m_InCallDirect) if (m_InCallDirect)
{ {
CPU_Message("%s: in CallDirect", __FUNCTION__); CPU_Message("%s: in CallDirect",__FUNCTION__);
g_Notify->BreakPoint(__FILE__, __LINE__); g_Notify->BreakPoint(__FILE__, __LINE__);
return Arm_Unknown; return Arm_Unknown;
} }