Improve clock cycle count for THUMB operations.
This commit is contained in:
parent
9e537a8fe3
commit
6f2e320d59
|
@ -1594,7 +1594,7 @@ static INSN_REGPARM void thumbBC(uint32_t opcode)
|
||||||
POP_REG(64, 6);
|
POP_REG(64, 6);
|
||||||
POP_REG(128, 7);
|
POP_REG(128, 7);
|
||||||
reg[13].I = temp;
|
reg[13].I = temp;
|
||||||
clockTicks = 2 + codeTicksAccess16(armNextPC);
|
clockTicks += 2 + codeTicksAccess16(armNextPC);
|
||||||
}
|
}
|
||||||
|
|
||||||
// POP {Rlist, PC}
|
// POP {Rlist, PC}
|
||||||
|
@ -1673,7 +1673,7 @@ static INSN_REGPARM void thumbC0(uint32_t opcode)
|
||||||
THUMB_STM_REG(32, 5, regist);
|
THUMB_STM_REG(32, 5, regist);
|
||||||
THUMB_STM_REG(64, 6, regist);
|
THUMB_STM_REG(64, 6, regist);
|
||||||
THUMB_STM_REG(128, 7, regist);
|
THUMB_STM_REG(128, 7, regist);
|
||||||
clockTicks = 1 + codeTicksAccess16(armNextPC);
|
clockTicks += 1 + codeTicksAccess16(armNextPC);
|
||||||
}
|
}
|
||||||
|
|
||||||
// LDM R0~R7!, {Rlist}
|
// LDM R0~R7!, {Rlist}
|
||||||
|
@ -1694,7 +1694,7 @@ static INSN_REGPARM void thumbC8(uint32_t opcode)
|
||||||
THUMB_LDM_REG(32, 5);
|
THUMB_LDM_REG(32, 5);
|
||||||
THUMB_LDM_REG(64, 6);
|
THUMB_LDM_REG(64, 6);
|
||||||
THUMB_LDM_REG(128, 7);
|
THUMB_LDM_REG(128, 7);
|
||||||
clockTicks = 2 + codeTicksAccess16(armNextPC);
|
clockTicks += 2 + codeTicksAccess16(armNextPC);
|
||||||
if (!(opcode & (1 << regist)))
|
if (!(opcode & (1 << regist)))
|
||||||
reg[regist].I = temp;
|
reg[regist].I = temp;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue