diff --git a/Core/MIPS/ARM64/Arm64CompLoadStore.cpp b/Core/MIPS/ARM64/Arm64CompLoadStore.cpp index 00eb86f893..8ec1dbc75a 100644 --- a/Core/MIPS/ARM64/Arm64CompLoadStore.cpp +++ b/Core/MIPS/ARM64/Arm64CompLoadStore.cpp @@ -376,6 +376,8 @@ namespace MIPSComp { addrReg = SCRATCH1; } } else { + // This actually gets hit in micro machines! rs = ZR rt = ZR. Probably a bug. + // Leaving this a debug assert for future investigation. _dbg_assert_msg_(JIT, !gpr.IsImm(rs), "Invalid immediate address? CPU bug?"); load ? gpr.MapDirtyIn(rt, rs) : gpr.MapInIn(rt, rs); diff --git a/Core/MIPS/ARM64/Arm64CompVFPU.cpp b/Core/MIPS/ARM64/Arm64CompVFPU.cpp index 212b7746f4..3eb024fe6b 100644 --- a/Core/MIPS/ARM64/Arm64CompVFPU.cpp +++ b/Core/MIPS/ARM64/Arm64CompVFPU.cpp @@ -170,7 +170,7 @@ namespace MIPSComp { } void Arm64Jit::ApplyPrefixD(const u8 *vregs, VectorSize sz) { - _assert_(js.prefixDFlag & JitState::PREFIX_KNOWN); + _assert_msg_(JIT, js.prefixDFlag & JitState::PREFIX_KNOWN, "Unexpected unknown prefix!"); if (!js.prefixD) return; @@ -1766,6 +1766,9 @@ namespace MIPSComp { void Arm64Jit::Comp_Viim(MIPSOpcode op) { CONDITIONAL_DISABLE; + if (js.HasUnknownPrefix()) { + DISABLE; + } u8 dreg; GetVectorRegs(&dreg, V_Single, _VT);