diff options
author | Richard Henderson | 2020-07-20 17:30:40 +0200 |
---|---|---|
committer | Richard Henderson | 2020-07-24 23:29:35 +0200 |
commit | 3cb3a7720b01830abd5fbb81819dbb9271bf7821 (patch) | |
tree | b8f7387c421f4e9117ae5819ba3bdfee0b152583 /target | |
parent | target/hppa: Free some temps in do_sub (diff) | |
download | qemu-3cb3a7720b01830abd5fbb81819dbb9271bf7821.tar.gz qemu-3cb3a7720b01830abd5fbb81819dbb9271bf7821.tar.xz qemu-3cb3a7720b01830abd5fbb81819dbb9271bf7821.zip |
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>
Diffstat (limited to 'target')
-rw-r--r-- | target/i386/translate.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/target/i386/translate.c b/target/i386/translate.c index a1d31f09c1..caea6f5fb1 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 */ |