From 7ac4b8de3a97b9dd7cdbbcf4bd7b613d5f5846f1 Mon Sep 17 00:00:00 2001 From: Cacodemon345 Date: Mon, 15 Sep 2025 17:39:22 +0000 Subject: [PATCH] Revert some changes --- src/codegen_new/codegen.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/codegen_new/codegen.c b/src/codegen_new/codegen.c index bffa6b513..875dd72ca 100644 --- a/src/codegen_new/codegen.c +++ b/src/codegen_new/codegen.c @@ -740,9 +740,12 @@ codegen_skip: else uop_MOV_IMM(ir, IREG_pc, op_pc + pc_off); uop_MOV_IMM(ir, IREG_oldpc, old_pc); - uop_MOV_IMM(ir, IREG_op32, op_32); - uop_MOV_PTR(ir, IREG_ea_seg, (void *) op_ea_seg); - uop_MOV_IMM(ir, IREG_ssegs, op_ssegs); + if (op_32 != last_op_32) + uop_MOV_IMM(ir, IREG_op32, op_32); + if (op_ea_seg != last_op_ea_seg) + uop_MOV_PTR(ir, IREG_ea_seg, (void *) op_ea_seg); + if (op_ssegs != last_op_ssegs) + uop_MOV_IMM(ir, IREG_ssegs, op_ssegs); uop_CALL_INSTRUCTION_FUNC(ir, op, fetchdat); codegen_flags_changed = 0; codegen_mark_code_present(block, cs + cpu_state.pc, 8);