PowerPC: Add PowerPCState parameter to GQR macro.

This commit is contained in:
Admiral H. Curtiss 2023-01-10 01:45:34 +01:00
parent 814c01162a
commit 2f241856b6
No known key found for this signature in database
GPG Key ID: F051B4C4044F33FB
3 changed files with 3 additions and 3 deletions

View File

@ -981,7 +981,7 @@ bool Jit64::DoJit(u32 em_address, JitBlock* b, u32 nextPC)
// the start of the block in case our guess turns out wrong. // the start of the block in case our guess turns out wrong.
for (int gqr : gqr_static) for (int gqr : gqr_static)
{ {
u32 value = GQR(gqr); u32 value = GQR(PowerPC::ppcState, gqr);
js.constantGqr[gqr] = value; js.constantGqr[gqr] = value;
CMP_or_TEST(32, PPCSTATE(spr[SPR_GQR0 + gqr]), Imm32(value)); CMP_or_TEST(32, PPCSTATE(spr[SPR_GQR0 + gqr]), Imm32(value));
J_CC(CC_NZ, target); J_CC(CC_NZ, target);

View File

@ -897,7 +897,7 @@ bool JitArm64::DoJit(u32 em_address, JitBlock* b, u32 nextPC)
js.pairedQuantizeAddresses.find(js.blockStart) == js.pairedQuantizeAddresses.end()) js.pairedQuantizeAddresses.find(js.blockStart) == js.pairedQuantizeAddresses.end())
{ {
int gqr = *code_block.m_gqr_used.begin(); int gqr = *code_block.m_gqr_used.begin();
if (!code_block.m_gqr_modified[gqr] && !GQR(gqr)) if (!code_block.m_gqr_modified[gqr] && !GQR(PowerPC::ppcState, gqr))
{ {
LDR(IndexType::Unsigned, ARM64Reg::W0, PPC_REG, PPCSTATE_OFF_SPR(SPR_GQR0 + gqr)); LDR(IndexType::Unsigned, ARM64Reg::W0, PPC_REG, PPCSTATE_OFF_SPR(SPR_GQR0 + gqr));
FixupBranch no_fail = CBZ(ARM64Reg::W0); FixupBranch no_fail = CBZ(ARM64Reg::W0);

View File

@ -250,7 +250,7 @@ void UpdatePerformanceMonitor(u32 cycles, u32 num_load_stores, u32 num_fp_inst);
#define CTR(ppc_state) (ppc_state).spr[SPR_CTR] #define CTR(ppc_state) (ppc_state).spr[SPR_CTR]
#define SRR0(ppc_state) (ppc_state).spr[SPR_SRR0] #define SRR0(ppc_state) (ppc_state).spr[SPR_SRR0]
#define SRR1(ppc_state) (ppc_state).spr[SPR_SRR1] #define SRR1(ppc_state) (ppc_state).spr[SPR_SRR1]
#define GQR(x) PowerPC::ppcState.spr[SPR_GQR0 + (x)] #define GQR(ppc_state, x) (ppc_state).spr[SPR_GQR0 + (x)]
#define TL PowerPC::ppcState.spr[SPR_TL] #define TL PowerPC::ppcState.spr[SPR_TL]
#define TU PowerPC::ppcState.spr[SPR_TU] #define TU PowerPC::ppcState.spr[SPR_TU]