From 6390789a09714a50cddd7db1a9348f80e162f7be Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Thu, 25 Feb 2021 23:36:40 -0500 Subject: [PATCH] target/i386: Save cc_op before loop insns We forgot to update cc_op before these branch insns, which lead to losing track of the current eflags. Buglink: https://bugs.launchpad.net/qemu/+bug/1888165 Backports commit 3cb3a7720b01830abd5fbb81819dbb9271bf7821 from qemu --- qemu/target/i386/translate.c | 1 + 1 file changed, 1 insertion(+) diff --git a/qemu/target/i386/translate.c b/qemu/target/i386/translate.c index 14795531..353dd84f 100644 --- a/qemu/target/i386/translate.c +++ b/qemu/target/i386/translate.c @@ -7690,6 +7690,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu) l1 = gen_new_label(tcg_ctx); l2 = gen_new_label(tcg_ctx); l3 = gen_new_label(tcg_ctx); + gen_update_cc_op(s); b &= 3; switch(b) { case 0: /* loopnz */