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(128, 7);
|
||||
reg[13].I = temp;
|
||||
clockTicks = 2 + codeTicksAccess16(armNextPC);
|
||||
clockTicks += 2 + codeTicksAccess16(armNextPC);
|
||||
}
|
||||
|
||||
// POP {Rlist, PC}
|
||||
|
@ -1673,7 +1673,7 @@ static INSN_REGPARM void thumbC0(uint32_t opcode)
|
|||
THUMB_STM_REG(32, 5, regist);
|
||||
THUMB_STM_REG(64, 6, regist);
|
||||
THUMB_STM_REG(128, 7, regist);
|
||||
clockTicks = 1 + codeTicksAccess16(armNextPC);
|
||||
clockTicks += 1 + codeTicksAccess16(armNextPC);
|
||||
}
|
||||
|
||||
// LDM R0~R7!, {Rlist}
|
||||
|
@ -1694,7 +1694,7 @@ static INSN_REGPARM void thumbC8(uint32_t opcode)
|
|||
THUMB_LDM_REG(32, 5);
|
||||
THUMB_LDM_REG(64, 6);
|
||||
THUMB_LDM_REG(128, 7);
|
||||
clockTicks = 2 + codeTicksAccess16(armNextPC);
|
||||
clockTicks += 2 + codeTicksAccess16(armNextPC);
|
||||
if (!(opcode & (1 << regist)))
|
||||
reg[regist].I = temp;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue