about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-04-26 18:17:42 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-04-26 18:17:42 +0200
commit43d281740778f959f94165386545363591c2f8ea (patch)
treecbe4f9c152395ac07dbf6d8c132a503503c78eb5
parentff14ccc0a5475c8148efea715b36a725c342301d (diff)
downloadbox64-43d281740778f959f94165386545363591c2f8ea.tar.gz
box64-43d281740778f959f94165386545363591c2f8ea.zip
[DYNAREC] Fixed an issue with flags when using SF_SET_NODF (fixed regression with Freedom Planet 2 Wine/Wow64, probably a few other too)
-rw-r--r--src/dynarec/dynarec_native.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dynarec/dynarec_native.c b/src/dynarec/dynarec_native.c
index d4934439..2482aa08 100644
--- a/src/dynarec/dynarec_native.c
+++ b/src/dynarec/dynarec_native.c
@@ -354,7 +354,7 @@ static int updateNeed(dynarec_native_t* dyn, int ninst, uint8_t need) {
             need &=~X_PEND;
             need |= X_ALL;
         }
-        if((need&X_PEND) && (dyn->insts[ninst].x64.state_flags==SF_SET)) {
+        if((need&X_PEND) && (dyn->insts[ninst].x64.state_flags==SF_SET || dyn->insts[ninst].x64.state_flags==SF_SET_NODF)) {
             need &=~X_PEND;
             need |= dyn->insts[ninst].x64.set_flags;    // SF_SET will compute all flags, it's not SUBSET!
         }