Permalink
Browse files

Fix JIT bug in ARM64. Fixes #10183

  • Loading branch information...
hrydgard committed Nov 24, 2017
1 parent 0646dc7 commit 2cceba41bc6929a190e70f7344bb543fc40e8479
Showing with 6 additions and 1 deletion.
  1. +2 −0 Core/MIPS/ARM64/Arm64CompLoadStore.cpp
  2. +4 −1 Core/MIPS/ARM64/Arm64CompVFPU.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);
@@ -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()) {

This comment has been minimized.

@unknownbrackets

unknownbrackets Nov 24, 2017

Collaborator

armjit needs this too?

-[Unknown]

This comment has been minimized.

@hrydgard

hrydgard Nov 24, 2017

Owner

Indeed, I'll fix.

DISABLE;
}
u8 dreg;
GetVectorRegs(&dreg, V_Single, _VT);

0 comments on commit 2cceba4

Please sign in to comment.