From 0c17b55e28dc149e0d6ea146132484eba3787341 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Wed, 12 Feb 2025 19:27:39 +0100 Subject: [ARM64_DYNAREC] Fixed some issue with DF and mayset opcodes --- src/dynarec/arm64/dynarec_arm64_helper.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/dynarec/arm64/dynarec_arm64_helper.h b/src/dynarec/arm64/dynarec_arm64_helper.h index 19f432e0..5e8a2e57 100644 --- a/src/dynarec/arm64/dynarec_arm64_helper.h +++ b/src/dynarec/arm64/dynarec_arm64_helper.h @@ -1086,14 +1086,15 @@ #endif #define SET_DFNONE() \ - do { \ + if(!dyn->insts[ninst].x64.may_set) { \ dyn->f.dfnone_here = 1; \ if (!dyn->f.dfnone) { \ STRw_U12(wZR, xEmu, offsetof(x64emu_t, df)); \ dyn->f.dfnone = 1; \ } \ - } while (0); + } #define SET_DF(S, N) \ + if(!dyn->insts[ninst].x64.may_set) { \ if ((N) != d_none) { \ MOVZw(S, (N)); \ STRw_U12(S, xEmu, offsetof(x64emu_t, df)); \ @@ -1104,7 +1105,8 @@ } \ dyn->f.dfnone = 0; \ } else \ - SET_DFNONE() + SET_DFNONE(); \ + } #ifndef SET_NODF #define SET_NODF() dyn->f.dfnone = 0 #endif -- cgit 1.4.1