[Android] Fix up CArmRegInfo::Map_TempReg
This commit is contained in:
parent
a0b3a02f5f
commit
9c8e7309de
|
@ -774,8 +774,20 @@ CArmOps::ArmReg CArmRegInfo::Map_TempReg(ArmReg Reg, int32_t MipsReg, bool LoadH
|
||||||
LoadArmRegPointerToArmReg(Reg, GprReg, (uint8_t)(MipsReg << 3) + 4);
|
LoadArmRegPointerToArmReg(Reg, GprReg, (uint8_t)(MipsReg << 3) + 4);
|
||||||
}
|
}
|
||||||
else if (IsMapped(MipsReg))
|
else if (IsMapped(MipsReg))
|
||||||
|
{
|
||||||
|
if (Is64Bit(MipsReg))
|
||||||
{
|
{
|
||||||
g_Notify->BreakPoint(__FILE__, __LINE__);
|
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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue