diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-09-15 19:02:42 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-09-15 19:02:42 +0200 |
| commit | 85b07f7441e7342e7d4c40166eef3b47c7090745 (patch) | |
| tree | a0f65921a6344b3aa308d693a2bcec46215d664c /src | |
| parent | c4f5b7c062462412f82abe50e90e016d0b8f0ffa (diff) | |
| download | box64-85b07f7441e7342e7d4c40166eef3b47c7090745.tar.gz box64-85b07f7441e7342e7d4c40166eef3b47c7090745.zip | |
[ARM64_DYNAREC] Allow use of Native flags when using UFLAG_IF macro helper
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_helper.h | 4 | ||||
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_pass0.h | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_helper.h b/src/dynarec/arm64/dynarec_arm64_helper.h index aa67cc49..48e809bf 100644 --- a/src/dynarec/arm64/dynarec_arm64_helper.h +++ b/src/dynarec/arm64/dynarec_arm64_helper.h @@ -1202,8 +1202,12 @@ #define UFLAG_OP12(A1, A2) if(dyn->insts[ninst].x64.gen_flags) {STRxw_U12(A1, xEmu, offsetof(x64emu_t, op1));STRxw_U12(A2, xEmu, offsetof(x64emu_t, op2));} #define UFLAG_RES(A) if(dyn->insts[ninst].x64.gen_flags) {STRxw_U12(A, xEmu, offsetof(x64emu_t, res));} #define UFLAG_DF(r, A) if(dyn->insts[ninst].x64.gen_flags) {SET_DF(r, A);} +#ifndef UFLAG_IF #define UFLAG_IF if(dyn->insts[ninst].x64.gen_flags) +#endif +#ifndef UFLAG_IF2 #define UFLAG_IF2(A) if(dyn->insts[ninst].x64.gen_flags A) +#endif #ifndef DEFAULT #define DEFAULT *ok = -1; BARRIER(2) #endif diff --git a/src/dynarec/arm64/dynarec_arm64_pass0.h b/src/dynarec/arm64/dynarec_arm64_pass0.h index 123d9f6a..e71a1dcf 100644 --- a/src/dynarec/arm64/dynarec_arm64_pass0.h +++ b/src/dynarec/arm64/dynarec_arm64_pass0.h @@ -58,6 +58,8 @@ #define FEMIT(A) dyn->insts[ninst].nat_flags_op = dyn->insts[ninst].x64.set_flags?NAT_FLAG_OP_TOUCH:NAT_FLAG_OP_UNUSABLE #define IFNATIVE(A) if(mark_natflag(dyn, ninst, A, 0)) #define IFNATIVEN(A) if(mark_natflag(dyn, ninst, A, 0)) +#define UFLAG_IF if(dyn->insts[ninst].x64.set_flags) +#define UFLAG_IF2(A) if(dyn->insts[ninst].x64.set_flags A) #define IFX(A) if((dyn->insts[ninst].x64.set_flags&(A))) #define IFX2(A, B) if((dyn->insts[ninst].x64.set_flags&(A)) B) #define IFX_PENDOR0 if((dyn->insts[ninst].x64.set_flags&(X_PEND) || !dyn->insts[ninst].x64.set_flags)) |