JitArm64: Pass 32-bit temp GPR to WriteConditionalExceptionExit
If a 64-bit register is passed to WriteConditionalExceptionExit, the LDR instruction in it will read too much data. This seems to be harmless right now, but causes problem in one of my PRs.
This commit is contained in:
parent
5337943785
commit
0ebc510e6f
|
@ -109,7 +109,7 @@ void JitArm64::psq_lXX(UGeckoInstruction inst)
|
|||
LDR(EncodeRegTo64(type_reg), ARM64Reg::X30, ArithOption(EncodeRegTo64(type_reg), true));
|
||||
BLR(EncodeRegTo64(type_reg));
|
||||
|
||||
WriteConditionalExceptionExit(EXCEPTION_DSI, ARM64Reg::X30, ARM64Reg::Q1);
|
||||
WriteConditionalExceptionExit(EXCEPTION_DSI, ARM64Reg::W30, ARM64Reg::Q1);
|
||||
|
||||
m_float_emit.ORR(EncodeRegToDouble(VS), ARM64Reg::D0, ARM64Reg::D0);
|
||||
}
|
||||
|
@ -261,7 +261,7 @@ void JitArm64::psq_stXX(UGeckoInstruction inst)
|
|||
LDR(EncodeRegTo64(type_reg), ARM64Reg::X30, ArithOption(EncodeRegTo64(type_reg), true));
|
||||
BLR(EncodeRegTo64(type_reg));
|
||||
|
||||
WriteConditionalExceptionExit(EXCEPTION_DSI, ARM64Reg::X30, ARM64Reg::Q1);
|
||||
WriteConditionalExceptionExit(EXCEPTION_DSI, ARM64Reg::W30, ARM64Reg::Q1);
|
||||
}
|
||||
|
||||
if (update && !early_update)
|
||||
|
|
Loading…
Reference in New Issue