Jit64: Fix and re-enable psq_l for W=1
Patch by konpie: https://forums.dolphin-emu.org/Thread-code-bug-report-based-on-3-0-735
This commit is contained in:
parent
6054129df8
commit
22b47d5b9c
|
@ -122,12 +122,6 @@ void Jit64::psq_l(UGeckoInstruction inst)
|
||||||
|
|
||||||
const UGQR gqr(rSPR(SPR_GQR0 + inst.I));
|
const UGQR gqr(rSPR(SPR_GQR0 + inst.I));
|
||||||
|
|
||||||
if (inst.W) {
|
|
||||||
// PanicAlert("Single ps load: %i %i", gqr.ST_TYPE, gqr.ST_SCALE);
|
|
||||||
Default(inst);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool update = inst.OPCD == 57;
|
bool update = inst.OPCD == 57;
|
||||||
int offset = inst.SIMM_12;
|
int offset = inst.SIMM_12;
|
||||||
|
|
||||||
|
@ -143,6 +137,8 @@ void Jit64::psq_l(UGeckoInstruction inst)
|
||||||
MOV(32, gpr.R(inst.RA), R(ECX));
|
MOV(32, gpr.R(inst.RA), R(ECX));
|
||||||
MOVZX(32, 16, EAX, M(((char *)&GQR(inst.I)) + 2));
|
MOVZX(32, 16, EAX, M(((char *)&GQR(inst.I)) + 2));
|
||||||
MOVZX(32, 8, EDX, R(AL));
|
MOVZX(32, 8, EDX, R(AL));
|
||||||
|
if (inst.W)
|
||||||
|
OR(32, R(EDX), Imm8(8));
|
||||||
#ifdef _M_IX86
|
#ifdef _M_IX86
|
||||||
int addr_scale = SCALE_4;
|
int addr_scale = SCALE_4;
|
||||||
#else
|
#else
|
||||||
|
|
Loading…
Reference in New Issue