From 3bd920638d0fd10d7b024ee3280b5d720505c7cb Mon Sep 17 00:00:00 2001 From: JosJuice Date: Tue, 23 Mar 2021 21:27:07 +0100 Subject: [PATCH] JitArm64: Use STP for pc/npc, part 2 I missed one place in dd8e504. --- Source/Core/Core/PowerPC/JitArm64/JitAsm.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/Core/Core/PowerPC/JitArm64/JitAsm.cpp b/Source/Core/Core/PowerPC/JitArm64/JitAsm.cpp index 4bf6e627e8..3b426a6214 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitAsm.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitAsm.cpp @@ -153,8 +153,9 @@ void JitArm64::GenerateAsm() SetJumpTarget(bail); do_timing = GetCodePtr(); // Write the current PC out to PPCSTATE - STR(IndexType::Unsigned, DISPATCHER_PC, PPC_REG, PPCSTATE_OFF(pc)); - STR(IndexType::Unsigned, DISPATCHER_PC, PPC_REG, PPCSTATE_OFF(npc)); + static_assert(PPCSTATE_OFF(pc) <= 252); + static_assert(PPCSTATE_OFF(pc) + 4 == PPCSTATE_OFF(npc)); + STP(IndexType::Signed, DISPATCHER_PC, DISPATCHER_PC, PPC_REG, PPCSTATE_OFF(pc)); // Check the state pointer to see if we are exiting // Gets checked on at the end of every slice