mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-09 23:59:27 +01:00
Jit64: boolx - Eliminate read dependency
For certain occurrences of nandx/norx, we declare a ReadWrite constraint on the destination register, even though the value of the destination register is irrelevant. This false dependency would force the RegCache to generate a redundant MOV when the destination register wasn't already assigned to a host register. Example 1: BF 00 00 00 00 mov edi,0 8B FE mov edi,esi F7 D7 not edi Example 2: 8B 7D 80 mov edi,dword ptr [rbp-80h] 8B FE mov edi,esi F7 D7 not edi
This commit is contained in:
parent
e62fa1ea9f
commit
8964612577
@ -690,7 +690,7 @@ void Jit64::boolX(UGeckoInstruction inst)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
RCOpArg Rs = gpr.Use(s, RCMode::Read);
|
RCOpArg Rs = gpr.Use(s, RCMode::Read);
|
||||||
RCX64Reg Ra = gpr.Bind(a, RCMode::ReadWrite);
|
RCX64Reg Ra = gpr.Bind(a, RCMode::Write);
|
||||||
RegCache::Realize(Rs, Ra);
|
RegCache::Realize(Rs, Ra);
|
||||||
MOV(32, Ra, Rs);
|
MOV(32, Ra, Rs);
|
||||||
NOT(32, Ra);
|
NOT(32, Ra);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user