Browse Source

Removing remanents of NCE changes to previous state

vkexperiments1
CamilleLaVey 3 days ago
parent
commit
74248bd35a
  1. 5
      src/core/arm/nce/interpreter_visitor.cpp

5
src/core/arm/nce/interpreter_visitor.cpp

@ -765,8 +765,8 @@ std::optional<u64> MatchAndExecuteOneInstruction(Core::Memory::Memory& memory, m
fpsimd_context* fpsimd_context) { fpsimd_context* fpsimd_context) {
std::span<u64, 31> regs(reinterpret_cast<u64*>(context->regs), 31); std::span<u64, 31> regs(reinterpret_cast<u64*>(context->regs), 31);
std::span<u128, 32> vregs(reinterpret_cast<u128*>(fpsimd_context->vregs), 32); std::span<u128, 32> vregs(reinterpret_cast<u128*>(fpsimd_context->vregs), 32);
u64 sp = context->sp;
const u64 pc = context->pc;
u64& sp = *reinterpret_cast<u64*>(&context->sp);
const u64& pc = *reinterpret_cast<u64*>(&context->pc);
InterpreterVisitor visitor(memory, regs, vregs, sp, pc); InterpreterVisitor visitor(memory, regs, vregs, sp, pc);
u32 instruction = memory.Read32(pc); u32 instruction = memory.Read32(pc);
@ -774,7 +774,6 @@ std::optional<u64> MatchAndExecuteOneInstruction(Core::Memory::Memory& memory, m
auto decoder = Dynarmic::A64::Decode<VisitorBase>(instruction); auto decoder = Dynarmic::A64::Decode<VisitorBase>(instruction);
was_executed = decoder.get().call(visitor, instruction); was_executed = decoder.get().call(visitor, instruction);
context->sp = sp;
return was_executed ? std::optional<u64>(pc + 4) : std::nullopt; return was_executed ? std::optional<u64>(pc + 4) : std::nullopt;
} }

Loading…
Cancel
Save