qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] ARM: fix smmul and smmla instructions


From: Laurent Desnogues
Subject: Re: [Qemu-devel] [PATCH] ARM: fix smmul and smmla instructions
Date: Wed, 26 Nov 2008 09:41:47 +0100

On Wed, Nov 26, 2008 at 12:27 AM, Mans Rullgard <address@hidden> wrote:
> This fixes the destination and accumulator registers for the smmul
> and smmla instructions.

This patch is correct.


Laurent

> Signed-off-by: Mans Rullgard <address@hidden>
> ---
>  target-arm/translate.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/target-arm/translate.c b/target-arm/translate.c
> index 305a438..49e48c5 100644
> --- a/target-arm/translate.c
> +++ b/target-arm/translate.c
> @@ -6507,8 +6507,8 @@ static void disas_arm_insn(CPUState * env, DisasContext 
> *s)
>                         tcg_gen_shri_i64(tmp64, tmp64, 32);
>                         tmp = new_tmp();
>                         tcg_gen_trunc_i64_i32(tmp, tmp64);
> -                        if (rn != 15) {
> -                            tmp2 = load_reg(s, rn);
> +                        if (rd != 15) {
> +                            tmp2 = load_reg(s, rd);
>                             if (insn & (1 << 6)) {
>                                 tcg_gen_sub_i32(tmp, tmp, tmp2);
>                             } else {
> @@ -6516,7 +6516,7 @@ static void disas_arm_insn(CPUState * env, DisasContext 
> *s)
>                             }
>                             dead_tmp(tmp2);
>                         }
> -                        store_reg(s, rd, tmp);
> +                        store_reg(s, rn, tmp);
>                     } else {
>                         if (insn & (1 << 5))
>                             gen_swap_half(tmp2);
> --
> 1.6.0.4
>
>
>
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]