aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2020-07-20 08:30:40 -0700
committerRichard Henderson <richard.henderson@linaro.org>2020-07-24 14:29:35 -0700
commit3cb3a7720b01830abd5fbb81819dbb9271bf7821 (patch)
treeb8f7387c421f4e9117ae5819ba3bdfee0b152583
parent79826f99feb7222b7804058f0b4ace9ee0546361 (diff)
downloadqemu-3cb3a7720b01830abd5fbb81819dbb9271bf7821.zip
qemu-3cb3a7720b01830abd5fbb81819dbb9271bf7821.tar.gz
qemu-3cb3a7720b01830abd5fbb81819dbb9271bf7821.tar.bz2
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 Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20200720154028.477457-1-richard.henderson@linaro.org>
-rw-r--r--target/i386/translate.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/target/i386/translate.c b/target/i386/translate.c
index a1d31f0..caea6f5 100644
--- a/target/i386/translate.c
+++ b/target/i386/translate.c
@@ -7148,6 +7148,7 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)
l1 = gen_new_label();
l2 = gen_new_label();
l3 = gen_new_label();
+ gen_update_cc_op(s);
b &= 3;
switch(b) {
case 0: /* loopnz */