diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp index 43631b2d9af..786f5be4a32 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_RegCache.cpp @@ -272,10 +272,10 @@ void Arm64GPRCache::FlushRegisters(BitSet32 regs, FlushMode mode, ARM64Reg tmp_r m_emit->STP(IndexType::Signed, RX1, RX2, PPC_REG, u32(ppc_offset)); if (flush_all) { - if (!reg1_zero) - UnlockRegister(EncodeRegTo32(RX1)); - if (!reg2_zero) - UnlockRegister(EncodeRegTo32(RX2)); + if (reg1.GetType() == RegType::Register) + UnlockRegister(reg1.GetReg()); + if (reg2.GetType() == RegType::Register) + UnlockRegister(reg2.GetReg()); reg1.Flush(); reg2.Flush(); }