diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-01-05 14:59:59 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-01-05 14:59:59 +0100 |
| commit | b79ba11d95bdfdbcaa3edd636aec86a49c2113fc (patch) | |
| tree | bcb0a5ec134107e5236a633db3ecdabb70541d68 /src/dynarec/dynarec_native.c | |
| parent | 5a35184ba7d01636323eee763717db9f2781ff5a (diff) | |
| download | box64-b79ba11d95bdfdbcaa3edd636aec86a49c2113fc.tar.gz box64-b79ba11d95bdfdbcaa3edd636aec86a49c2113fc.zip | |
[DYNAREC] Imroved log on signal and flags/sse info gathering. [ARM64_DYNAREC] Fixed some case of nat flags being incorectly used
Diffstat (limited to 'src/dynarec/dynarec_native.c')
| -rw-r--r-- | src/dynarec/dynarec_native.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dynarec/dynarec_native.c b/src/dynarec/dynarec_native.c index 4ffd1048..36670bf0 100644 --- a/src/dynarec/dynarec_native.c +++ b/src/dynarec/dynarec_native.c @@ -379,9 +379,10 @@ static int updateNeed(dynarec_native_t* dyn, int ninst, uint8_t need) { while (ninst>=0) { // need pending but instruction is only a subset: remove pend and use an X_ALL instead need |= dyn->insts[ninst].x64.need_after; - if((need&X_PEND) && (dyn->insts[ninst].x64.state_flags==SF_SUBSET || dyn->insts[ninst].x64.state_flags==SF_SET || dyn->insts[ninst].x64.state_flags==SF_SET_NODF)) { + if((need&X_PEND) && ((dyn->insts[ninst].x64.state_flags==SF_SUBSET) || (dyn->insts[ninst].x64.state_flags==SF_SET) || (dyn->insts[ninst].x64.state_flags==SF_SET_NODF))) { need &=~X_PEND; need |= X_ALL; + STOP_NATIVE_FLAGS(dyn, ninst); } if((need&X_PEND) && dyn->insts[ninst].x64.state_flags==SF_SUBSET_PENDING) { need |= X_ALL&~(dyn->insts[ninst].x64.set_flags); |