summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorMarkus Wick <degasus@users.noreply.github.com>2016-11-04 09:33:53 +0100
committerGitHub <noreply@github.com>2016-11-04 09:33:53 +0100
commitd2fdafa1556aaa2b71017d9e2ac2dffc2e551008 (patch)
tree603a34fd2d4ea2e20668e3b58780627738ee4660 /Source
parentab9f539233172b9266745ec266d345966e8c6207 (diff)
parentabe9c30d3d6a45599143d4452541503f6ca45c9c (diff)
Merge pull request #4415 from degasus/arm
JitArm64: Also push/pop gpr.R(addr).
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStore.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStore.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStore.cpp
index e439c7b4c8..18fb9d9b39 100644
--- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStore.cpp
+++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStore.cpp
@@ -38,11 +38,6 @@ void JitArm64::SafeLoadToReg(u32 dest, s32 addr, s32 offsetReg, u32 flags, s32 o
if (offsetReg != -1 && !gpr.IsImm(offsetReg))
off_reg = gpr.R(offsetReg);
- BitSet32 regs_in_use = gpr.GetCallerSavedUsed();
- BitSet32 fprs_in_use = fpr.GetCallerSavedUsed();
- regs_in_use[W0] = 0;
- regs_in_use[dest_reg] = 0;
-
ARM64Reg addr_reg = W0;
u32 imm_addr = 0;
bool is_immediate = false;
@@ -116,6 +111,11 @@ void JitArm64::SafeLoadToReg(u32 dest, s32 addr, s32 offsetReg, u32 flags, s32 o
MOV(gpr.R(addr), addr_reg);
}
+ BitSet32 regs_in_use = gpr.GetCallerSavedUsed();
+ BitSet32 fprs_in_use = fpr.GetCallerSavedUsed();
+ regs_in_use[W0] = 0;
+ regs_in_use[dest_reg] = 0;
+
u32 access_size = BackPatchInfo::GetFlagSize(flags);
u32 mmio_address = 0;
if (is_immediate)