mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-03-12 22:56:52 +01:00
Jit_LoadStore: dcbx
This commit is contained in:
parent
534db3b2ed
commit
0e501e5c36
@ -269,10 +269,12 @@ void Jit64::dcbx(UGeckoInstruction inst)
|
|||||||
|
|
||||||
X64Reg addr = RSCRATCH;
|
X64Reg addr = RSCRATCH;
|
||||||
X64Reg value = RSCRATCH2;
|
X64Reg value = RSCRATCH2;
|
||||||
X64Reg tmp = gpr.GetFreeXReg();
|
RCOpArg Ra = inst.RA ? gpr.Use(inst.RA, RCMode::Read) : RCOpArg::Imm32(0);
|
||||||
gpr.FlushLockX(tmp);
|
RCOpArg Rb = gpr.Use(inst.RB, RCMode::Read);
|
||||||
|
RCX64Reg tmp = gpr.Scratch(gpr.GetFreeXReg());
|
||||||
|
RegCache::Realize(Ra, Rb, tmp);
|
||||||
|
|
||||||
MOV_sum(32, addr, inst.RA ? gpr.R(inst.RA) : Imm32(0), gpr.R(inst.RB));
|
MOV_sum(32, addr, Ra, Rb);
|
||||||
|
|
||||||
// Check whether a JIT cache line needs to be invalidated.
|
// Check whether a JIT cache line needs to be invalidated.
|
||||||
LEA(32, value, MScaled(addr, SCALE_8, 0)); // addr << 3 (masks the first 3 bits)
|
LEA(32, value, MScaled(addr, SCALE_8, 0)); // addr << 3 (masks the first 3 bits)
|
||||||
@ -297,8 +299,6 @@ void Jit64::dcbx(UGeckoInstruction inst)
|
|||||||
c = J(true);
|
c = J(true);
|
||||||
SwitchToNearCode();
|
SwitchToNearCode();
|
||||||
SetJumpTarget(c);
|
SetJumpTarget(c);
|
||||||
|
|
||||||
gpr.UnlockAllX();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Jit64::dcbt(UGeckoInstruction inst)
|
void Jit64::dcbt(UGeckoInstruction inst)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user