mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-10 22:49:00 +01:00
Replaced KillImmediate with BindToRegister in the tw instruction. Fixes the error "WriteNormalOp - a1 and a2 cannot both be memory" which appeared on starting Monopoly Streets.
This commit is contained in:
parent
cbf102794e
commit
65eb0ff2fe
@ -1883,12 +1883,16 @@ void Jit64::twx(UGeckoInstruction inst)
|
|||||||
|
|
||||||
s32 a = inst.RA;
|
s32 a = inst.RA;
|
||||||
|
|
||||||
gpr.KillImmediate(a, true, false);
|
|
||||||
|
|
||||||
if (inst.OPCD == 3) // twi
|
if (inst.OPCD == 3) // twi
|
||||||
|
{
|
||||||
|
gpr.KillImmediate(a, true, false);
|
||||||
CMP(32, gpr.R(a), Imm32((s32)(s16)inst.SIMM_16));
|
CMP(32, gpr.R(a), Imm32((s32)(s16)inst.SIMM_16));
|
||||||
|
}
|
||||||
else // tw
|
else // tw
|
||||||
|
{
|
||||||
|
gpr.BindToRegister(a, true, false);
|
||||||
CMP(32, gpr.R(a), gpr.R(inst.RB));
|
CMP(32, gpr.R(a), gpr.R(inst.RB));
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<FixupBranch> fixups;
|
std::vector<FixupBranch> fixups;
|
||||||
CCFlags conditions[] = { CC_A, CC_B, CC_E, CC_G, CC_L };
|
CCFlags conditions[] = { CC_A, CC_B, CC_E, CC_G, CC_L };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user