]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
target/i386/tcg: update cc_op after PUSHF
authorPaolo Bonzini <pbonzini@redhat.com>
Sat, 22 Nov 2025 21:59:01 +0000 (22:59 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 27 Dec 2025 09:11:11 +0000 (10:11 +0100)
PUSHF already needs to compute the full eflags; set the cc_op to
CC_OP_EFLAGS to avoid duplicate computation in subsequent code.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
target/i386/tcg/emit.c.inc

index 1a7fab9333ad508e9233e24802b7ff85ff9052f6..22e53f5b00071aa4b3cb05d3e4cf668ea6866b64 100644 (file)
@@ -3250,6 +3250,8 @@ static void gen_PUSHF(DisasContext *s, X86DecodedInsn *decode)
     gen_update_cc_op(s);
     gen_helper_read_eflags(s->T0, tcg_env);
     gen_push_v(s, s->T0);
+    decode->cc_src = s->T0;
+    decode->cc_op = CC_OP_EFLAGS;
 }
 
 static MemOp gen_shift_count(DisasContext *s, X86DecodedInsn *decode,