[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for-5.1?] target/i386: Save cc_op before loop insns
From: |
Alex Bennée |
Subject: |
Re: [PATCH for-5.1?] target/i386: Save cc_op before loop insns |
Date: |
Fri, 24 Jul 2020 20:23:01 +0100 |
User-agent: |
mu4e 1.5.5; emacs 28.0.50 |
Richard Henderson <richard.henderson@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.henderson@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.bennee@linaro.org>
<snip>
--
Alex Bennée