diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-01-04 11:36:03 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-01-04 12:30:28 +0100 |
| commit | 7fb1a349475b2c4a25a99391e92fb18c93ef3a65 (patch) | |
| tree | b0f6aa0af59a4df4054f70b4e771e4939d78f83d /src | |
| parent | d0870201399ea7d694a1610f122e148404139491 (diff) | |
| download | box64-7fb1a349475b2c4a25a99391e92fb18c93ef3a65.tar.gz box64-7fb1a349475b2c4a25a99391e92fb18c93ef3a65.zip | |
[ARM64_DYNAREC] Don't simplify flags for add rsp, const when safeflags=2 is used
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_emit_math.c | 2 |
1 files changed, 1 insertions, 1 deletions
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) { |