Merge pull request #832 from cxd4/bench-x64
[core] removed extra, unnecessary branch for the NORMAL case
This commit is contained in:
commit
456df42280
|
@ -301,22 +301,20 @@ void CInterpreterCPU::ExecuteCPU()
|
||||||
m_R4300i_Opcode[Opcode.op]();
|
m_R4300i_Opcode[Opcode.op]();
|
||||||
NextTimer -= CountPerOp;
|
NextTimer -= CountPerOp;
|
||||||
|
|
||||||
|
PROGRAM_COUNTER += 4;
|
||||||
switch (R4300iOp::m_NextInstruction)
|
switch (R4300iOp::m_NextInstruction)
|
||||||
{
|
{
|
||||||
case NORMAL:
|
case NORMAL:
|
||||||
PROGRAM_COUNTER += 4;
|
|
||||||
break;
|
break;
|
||||||
case DELAY_SLOT:
|
case DELAY_SLOT:
|
||||||
R4300iOp::m_NextInstruction = JUMP;
|
R4300iOp::m_NextInstruction = JUMP;
|
||||||
PROGRAM_COUNTER += 4;
|
|
||||||
break;
|
break;
|
||||||
case PERMLOOP_DO_DELAY:
|
case PERMLOOP_DO_DELAY:
|
||||||
R4300iOp::m_NextInstruction = PERMLOOP_DELAY_DONE;
|
R4300iOp::m_NextInstruction = PERMLOOP_DELAY_DONE;
|
||||||
PROGRAM_COUNTER += 4;
|
|
||||||
break;
|
break;
|
||||||
case JUMP:
|
case JUMP:
|
||||||
{
|
{
|
||||||
bool CheckTimer = (JumpToLocation < PROGRAM_COUNTER || TestTimer);
|
bool CheckTimer = (JumpToLocation < PROGRAM_COUNTER - 4 || TestTimer);
|
||||||
PROGRAM_COUNTER = JumpToLocation;
|
PROGRAM_COUNTER = JumpToLocation;
|
||||||
R4300iOp::m_NextInstruction = NORMAL;
|
R4300iOp::m_NextInstruction = NORMAL;
|
||||||
if (CheckTimer)
|
if (CheckTimer)
|
||||||
|
|
Loading…
Reference in New Issue