Richard Henderson <richard.hender...@linaro.org> writes:

> 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
> Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
> ---
>  target/i386/translate.c | 1 +
>  1 file changed, 1 insertion(+)
>
> 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)

At first I thought that was too broad to go in disas_insn and then I
realised it was one of those mega functions....

>              l1 = gen_new_label();
>              l2 = gen_new_label();
>              l3 = gen_new_label();
> +            gen_update_cc_op(s);


Seems legit:

Reviewed-by: Alex Bennée <alex.ben...@linaro.org>
<snip>

-- 
Alex Bennée

Reply via email to