Skip to content

Commit 36e5b24

Browse files
committed
WIP [mips] Fixing PR for r5900: adding lifting for missing r5900 instructions, starting to fix R5900 register size
1 parent 7bcd5aa commit 36e5b24

File tree

3 files changed

+339
-40
lines changed

3 files changed

+339
-40
lines changed

arch/mips/arch_mips.cpp

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2108,15 +2108,23 @@ class MipsArchitecture: public Architecture
21082108
{
21092109
BNRegisterInfo result = {reg, 0, m_bits / 8, NoExtend};
21102110
if (m_version == MIPS_R5900) {
2111+
result.size = get_register_width(reg, m_version);
21112112
switch (reg) {
2112-
case REG_LO:
2113-
case REG_HI:
2113+
// case REG_LO:
2114+
// case REG_HI:
2115+
// result.size = 64 / 8;
2116+
// break;
21142117
case REG_LO1:
21152118
case REG_HI1:
2116-
result.size = 64 / 8;
2119+
// result.size = (128 / 2);
2120+
if (reg == REG_LO1)
2121+
result.fullWidthRegister = REG_LO;
2122+
else if (reg == REG_HI1)
2123+
result.fullWidthRegister = REG_HI;
2124+
break;
21172125
default:
2118-
if (REG_ZERO <= reg && reg <= REG_RA)
2119-
result.size = 128 / 8;
2126+
// if (REG_ZERO <= reg && reg < REG_GP)
2127+
// result.size = 128 / 8;
21202128
}
21212129
}
21222130
return result;

0 commit comments

Comments
 (0)