[Project64] Update logging in CArmRegInfo::Map_GPR_32bit
This commit is contained in:
parent
5d5b14de47
commit
2336fd0fc9
|
@ -244,21 +244,19 @@ void CArmRegInfo::Map_GPR_32bit(int32_t MipsReg, bool SignValue, int32_t MipsReg
|
||||||
}
|
}
|
||||||
SetArmRegMapOrder(Reg, 1);
|
SetArmRegMapOrder(Reg, 1);
|
||||||
|
|
||||||
CPU_Message("MipsRegToLoad = %d (%s)", MipsRegToLoad, CRegName::GPR[MipsRegToLoad]);
|
|
||||||
if (MipsRegToLoad > 0)
|
if (MipsRegToLoad > 0)
|
||||||
{
|
{
|
||||||
if (IsUnknown(MipsRegToLoad))
|
if (IsUnknown(MipsRegToLoad))
|
||||||
{
|
{
|
||||||
ArmReg GprReg = Map_Variable(VARIABLE_GPR);
|
ArmReg GprReg = Map_Variable(VARIABLE_GPR);
|
||||||
LoadArmRegPointerToArmReg(Reg, GprReg, (uint8_t)(MipsRegToLoad << 3));
|
LoadArmRegPointerToArmReg(Reg, GprReg, (uint8_t)(MipsRegToLoad << 3), CRegName::GPR_Lo[MipsRegToLoad]);
|
||||||
SetArmRegProtected(GprReg, false);
|
SetArmRegProtected(GprReg, false);
|
||||||
}
|
}
|
||||||
else if (IsMapped(MipsRegToLoad))
|
else if (IsMapped(MipsRegToLoad))
|
||||||
{
|
{
|
||||||
if (MipsReg != MipsRegToLoad)
|
if (MipsReg != MipsRegToLoad)
|
||||||
{
|
{
|
||||||
g_Notify->BreakPoint(__FILE__, __LINE__);
|
AddConstToArmReg(Reg, GetMipsRegMapLo(MipsRegToLoad), 0);
|
||||||
//MoveArmRegToArmReg(GetMipsRegMapLo(MipsRegToLoad), Reg);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -358,56 +356,45 @@ void CArmRegInfo::Map_GPR_64bit(int32_t MipsReg, int32_t MipsRegToLoad)
|
||||||
if (IsUnknown(MipsRegToLoad))
|
if (IsUnknown(MipsRegToLoad))
|
||||||
{
|
{
|
||||||
ArmReg GprReg = Map_Variable(VARIABLE_GPR);
|
ArmReg GprReg = Map_Variable(VARIABLE_GPR);
|
||||||
LoadArmRegPointerToArmReg(regHi, GprReg, (uint8_t)(MipsRegToLoad << 3) + 4);
|
LoadArmRegPointerToArmReg(regHi, GprReg, (uint8_t)(MipsRegToLoad << 3) + 4, CRegName::GPR_Hi[MipsRegToLoad]);
|
||||||
LoadArmRegPointerToArmReg(reglo, GprReg, (uint8_t)(MipsRegToLoad << 3));
|
LoadArmRegPointerToArmReg(reglo, GprReg, (uint8_t)(MipsRegToLoad << 3), CRegName::GPR_Lo[MipsRegToLoad]);
|
||||||
SetArmRegProtected(GprReg, false);
|
SetArmRegProtected(GprReg, false);
|
||||||
}
|
}
|
||||||
else if (IsMapped(MipsRegToLoad))
|
else if (IsMapped(MipsRegToLoad))
|
||||||
{
|
{
|
||||||
if (Is32Bit(MipsRegToLoad))
|
if (Is32Bit(MipsRegToLoad))
|
||||||
{
|
{
|
||||||
g_Notify->BreakPoint(__FILE__, __LINE__);
|
if (IsSigned(MipsRegToLoad))
|
||||||
/*if (IsSigned(MipsRegToLoad))
|
|
||||||
{
|
{
|
||||||
MoveX86RegToX86Reg(GetMipsRegMapLo(MipsRegToLoad), x86Hi);
|
ShiftRightSignImmed(regHi, GetMipsRegMapLo(MipsRegToLoad), 31);
|
||||||
ShiftRightSignImmed(x86Hi, 31);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
XorX86RegToX86Reg(x86Hi, x86Hi);
|
MoveConstToArmReg(regHi, (uint32_t)0);
|
||||||
}
|
}
|
||||||
if (MipsReg != MipsRegToLoad)
|
if (MipsReg != MipsRegToLoad)
|
||||||
{
|
{
|
||||||
MoveX86RegToX86Reg(GetMipsRegMapLo(MipsRegToLoad), x86lo);
|
AddConstToArmReg(reglo, GetMipsRegMapLo(MipsRegToLoad), 0);
|
||||||
}*/
|
}
|
||||||
}
|
}
|
||||||
else if (MipsReg != MipsRegToLoad)
|
else if (MipsReg != MipsRegToLoad)
|
||||||
{
|
{
|
||||||
g_Notify->BreakPoint(__FILE__, __LINE__);
|
g_Notify->BreakPoint(__FILE__, __LINE__);
|
||||||
/*MoveX86RegToX86Reg(GetMipsRegMapHi(MipsRegToLoad), x86Hi);
|
/*MoveX86RegToX86Reg(GetMipsRegMapHi(MipsRegToLoad), regHi);
|
||||||
MoveX86RegToX86Reg(GetMipsRegMapLo(MipsRegToLoad), x86lo);*/
|
MoveX86RegToX86Reg(GetMipsRegMapLo(MipsRegToLoad), reglo);*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
g_Notify->BreakPoint(__FILE__, __LINE__);
|
|
||||||
/*CPU_Message("Map_GPR_64bit 11");
|
|
||||||
if (Is32Bit(MipsRegToLoad))
|
if (Is32Bit(MipsRegToLoad))
|
||||||
{
|
{
|
||||||
if (IsSigned(MipsRegToLoad))
|
MoveConstToArmReg(regHi, (uint32_t)(IsSigned(MipsRegToLoad) ? GetMipsRegLo_S(MipsRegToLoad) >> 31 : 0));
|
||||||
{
|
|
||||||
MoveConstToX86reg(GetMipsRegLo_S(MipsRegToLoad) >> 31, x86Hi);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MoveConstToX86reg(0, x86Hi);
|
MoveConstToArmReg(regHi, GetMipsRegHi(MipsRegToLoad));
|
||||||
}
|
}
|
||||||
}
|
MoveConstToArmReg(reglo, GetMipsRegLo(MipsRegToLoad));
|
||||||
else
|
|
||||||
{
|
|
||||||
MoveConstToX86reg(GetMipsRegHi(MipsRegToLoad), x86Hi);
|
|
||||||
}
|
|
||||||
MoveConstToX86reg(GetMipsRegLo(MipsRegToLoad), x86lo);*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (MipsRegToLoad == 0)
|
else if (MipsRegToLoad == 0)
|
||||||
|
@ -672,6 +659,7 @@ bool CArmRegInfo::UnMap_ArmReg(ArmReg Reg)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
g_Notify->BreakPoint(__FILE__, __LINE__);
|
||||||
}
|
}
|
||||||
else if (GetArmRegMapped(Reg) == Temp_Mapped)
|
else if (GetArmRegMapped(Reg) == Temp_Mapped)
|
||||||
{
|
{
|
||||||
|
@ -888,7 +876,7 @@ CArmOps::ArmReg CArmRegInfo::Map_TempReg(ArmReg Reg, int32_t MipsReg, bool LoadH
|
||||||
{
|
{
|
||||||
if (IsUnknown(MipsReg))
|
if (IsUnknown(MipsReg))
|
||||||
{
|
{
|
||||||
LoadArmRegPointerToArmReg(Reg, GprReg, (uint8_t)(MipsReg << 3) + 4);
|
LoadArmRegPointerToArmReg(Reg, GprReg, (uint8_t)(MipsReg << 3) + 4, CRegName::GPR_Hi[MipsReg]);
|
||||||
}
|
}
|
||||||
else if (IsMapped(MipsReg))
|
else if (IsMapped(MipsReg))
|
||||||
{
|
{
|
||||||
|
@ -924,12 +912,11 @@ CArmOps::ArmReg CArmRegInfo::Map_TempReg(ArmReg Reg, int32_t MipsReg, bool LoadH
|
||||||
{
|
{
|
||||||
if (IsUnknown(MipsReg))
|
if (IsUnknown(MipsReg))
|
||||||
{
|
{
|
||||||
LoadArmRegPointerToArmReg(Reg, GprReg, (uint8_t)(MipsReg << 3));
|
LoadArmRegPointerToArmReg(Reg, GprReg, (uint8_t)(MipsReg << 3), CRegName::GPR_Lo[MipsReg]);
|
||||||
}
|
}
|
||||||
else if (IsMapped(MipsReg))
|
else if (IsMapped(MipsReg))
|
||||||
{
|
{
|
||||||
g_Notify->BreakPoint(__FILE__, __LINE__);
|
AddConstToArmReg(Reg,GetMipsRegMapLo(MipsReg),0);
|
||||||
//MoveArmRegToArmReg(GetMipsRegMapLo(MipsReg), Reg);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue