From 7fb1a349475b2c4a25a99391e92fb18c93ef3a65 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Sat, 4 Jan 2025 11:36:03 +0100 Subject: [ARM64_DYNAREC] Don't simplify flags for add rsp, const when safeflags=2 is used --- src/dynarec/arm64/dynarec_arm64_emit_math.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/dynarec/arm64/dynarec_arm64_emit_math.c b/src/dynarec/arm64/dynarec_arm64_emit_math.c index 531964fb..d7ac7da5 100644 --- a/src/dynarec/arm64/dynarec_arm64_emit_math.c +++ b/src/dynarec/arm64/dynarec_arm64_emit_math.c @@ -83,7 +83,7 @@ void emit_add32(dynarec_arm_t* dyn, int ninst, rex_t rex, int s1, int s2, int s3 void emit_add32c(dynarec_arm_t* dyn, int ninst, rex_t rex, int s1, int64_t c, int s3, int s4, int s5) { MAYUSE(s5); - if(s1==xRSP && (!dyn->insts || dyn->insts[ninst].x64.gen_flags==X_PEND)) + if((s1==xRSP) && (box64_dynarec_safeflags<2) && (!dyn->insts || (dyn->insts[ninst].x64.gen_flags==X_PEND) || (!box64_dynarec_df && (dyn->insts[ninst].x64.gen_flags==X_ALL)))) { // special case when doing math on ESP and only PEND is needed: ignoring it! if(c>=0 && c<0x1000) { -- cgit 1.4.1