mirror of
https://github.com/jpd002/Play-.git
synced 2025-04-28 13:47:57 +03:00
Use merged CMP/SELECT.
This commit is contained in:
parent
1ea40fb773
commit
9ea7e5f29b
2 changed files with 9 additions and 5 deletions
|
@ -1822,10 +1822,16 @@ void VUShared::CheckFlagPipeline(const FLAG_PIPEINFO& pipeInfo, CMipsJitter* cod
|
|||
codeGen->PushCst(FLAG_PIPELINE_SLOTS - 1);
|
||||
codeGen->And();
|
||||
|
||||
codeGen->PushRelAddrRef(pipeInfo.timeArray);
|
||||
//Load value for true branch
|
||||
//Loaded here to allow merging of Cmp and Select operations
|
||||
codeGen->PushRelAddrRef(pipeInfo.valueArray);
|
||||
codeGen->PushIdx(1);
|
||||
codeGen->LoadFromRefIdx();
|
||||
|
||||
codeGen->PushRelAddrRef(pipeInfo.timeArray);
|
||||
codeGen->PushIdx(2);
|
||||
codeGen->LoadFromRefIdx();
|
||||
|
||||
codeGen->PushRel(offsetof(CMIPS, m_State.pipeTime));
|
||||
codeGen->PushCst(relativePipeTime);
|
||||
codeGen->Add();
|
||||
|
@ -1833,9 +1839,7 @@ void VUShared::CheckFlagPipeline(const FLAG_PIPEINFO& pipeInfo, CMipsJitter* cod
|
|||
codeGen->Cmp(Jitter::CONDITION_LE);
|
||||
|
||||
//True branch
|
||||
codeGen->PushRelAddrRef(pipeInfo.valueArray);
|
||||
codeGen->PushIdx(2);
|
||||
codeGen->LoadFromRefIdx();
|
||||
codeGen->Swap();
|
||||
|
||||
//False branch
|
||||
codeGen->PushRel(pipeInfo.value);
|
||||
|
|
2
deps/CodeGen
vendored
2
deps/CodeGen
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 5d1778143ed1e9ae3ba8b8cfa69fb6d1718c2891
|
||||
Subproject commit 5af39cab7ecc0ff7341a575c1550d87f74fd2305
|
Loading…
Add table
Add a link
Reference in a new issue