From f300e76c9bc7d7ee993d6f5c8e6c6112e3db7147 Mon Sep 17 00:00:00 2001 From: ptitSeb Date: Fri, 18 Jun 2021 13:17:37 +0200 Subject: [DYNAREC] Optimized some flags handling for a few of the complex emiter (+10% speed in 7z bench) --- src/dynarec/dynarec_arm64_emit_math.c | 88 +++++++++++++--------------------- src/dynarec/dynarec_arm64_emit_shift.c | 35 ++++++-------- src/dynarec/dynarec_arm64_emit_tests.c | 32 ++++++------- 3 files changed, 60 insertions(+), 95 deletions(-) (limited to 'src') diff --git a/src/dynarec/dynarec_arm64_emit_math.c b/src/dynarec/dynarec_arm64_emit_math.c index 8b5ef974..97eedfe9 100755 --- a/src/dynarec/dynarec_arm64_emit_math.c +++ b/src/dynarec/dynarec_arm64_emit_math.c @@ -52,21 +52,17 @@ void emit_add32(dynarec_arm_t* dyn, int ninst, rex_t rex, int s1, int s2, int s3 LSRxw(s4, s3, 3); BFIxw(xFlags, s4, F_AF, 1); // AF: bc & 0x08 } - IFX(X_ZF|X_CF|X_OF) { - MOV32w(s3, (1< is 0 here... - IFX(X_ZF|X_CF|X_OF|X_AF) { - MOV32w(s4, (1<