[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] tcg/optimize: Handle or r, a, a with constant a
From: |
Mark Cave-Ayland |
Subject: |
Re: [Qemu-devel] [PATCH] tcg/optimize: Handle or r, a, a with constant a |
Date: |
Sun, 15 Mar 2015 12:42:01 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.5.0 |
On 13/03/15 19:26, Richard Henderson wrote:
> As seen with ubuntu-5.10-live-powerpc.iso.
>
> Reported-by: Mark Cave-Ayland <address@hidden>
> Signed-off-by: Richard Henderson <address@hidden>
> ---
> tcg/optimize.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/tcg/optimize.c b/tcg/optimize.c
> index 067917c..37c1110 100644
> --- a/tcg/optimize.c
> +++ b/tcg/optimize.c
> @@ -980,8 +980,11 @@ static void tcg_constant_folding(TCGContext *s)
> if (temps_are_copies(args[1], args[2])) {
> if (temps_are_copies(args[0], args[1])) {
> tcg_op_remove(s, op);
> - } else {
> + } else if (temps[args[1]].state != TCG_TEMP_CONST) {
> tcg_opt_gen_mov(s, op, args, opc, args[0], args[1]);
> + } else {
> + tcg_opt_gen_movi(s, op, args, opc,
> + args[0], temps[args[1]].val);
> }
> continue;
> }
>
Great work! Fixes the issue here for me so:
Tested-by: Mark Cave-Ayland <address@hidden>
ATB,
Mark.