aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ARMJIT_A64/ARMJIT_LoadStore.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ARMJIT_A64/ARMJIT_LoadStore.cpp b/src/ARMJIT_A64/ARMJIT_LoadStore.cpp
index ba1bf00..8aa1409 100644
--- a/src/ARMJIT_A64/ARMJIT_LoadStore.cpp
+++ b/src/ARMJIT_A64/ARMJIT_LoadStore.cpp
@@ -827,12 +827,15 @@ void Compiler::T_Comp_PUSH_POP()
}
ARM64Reg sp = MapReg(13);
- s32 offset = Comp_MemAccessBlock(13, regs, !load, !load, !load, false);
+ s32 offset = Comp_MemAccessBlock(13, regs, !load, !load, !load, false, false);
- if (offset > 0)
+ if (offset)
+ {
+ if (offset > 0)
ADD(sp, sp, offset);
else
SUB(sp, sp, -offset);
+ }
}
void Compiler::T_Comp_LDMIA_STMIA()