summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorMarkus Wick <degasus@users.noreply.github.com>2021-03-24 08:46:51 +0100
committerGitHub <noreply@github.com>2021-03-24 08:46:51 +0100
commite2b5026652a85eee2b9d4e4a40698ef51902da6a (patch)
treeb7a74315b56b2859f5f1f06c9c8d0fe26bfe5cc0 /Source/Core
parent85aee64cd86c4862283a38827a001d91ed6a6980 (diff)
parent3bd920638d0fd10d7b024ee3280b5d720505c7cb (diff)
Merge pull request #9605 from JosJuice/jitarm64-pc-stp-2
JitArm64: Use STP for pc/npc, part 2
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/PowerPC/JitArm64/JitAsm.cpp5
1 files 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