qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] Alpha: remove amask helper


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [PATCH] Alpha: remove amask helper
Date: Fri, 10 Apr 2009 23:27:30 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

On Fri, Apr 10, 2009 at 10:58:05AM +0200, Tristan Gingold wrote:
> The direct use of helper_amask in translate.c was bogus (as env is not
> assigned).  Directly code amask in tcg and remove the helper.
> 
> Signed-off-by: Tristan Gingold <address@hidden>
> ---
>  target-alpha/helper.h    |    1 -
>  target-alpha/op_helper.c |   15 ---------------
>  target-alpha/translate.c |   15 +++++++++++++--
>  3 files changed, 13 insertions(+), 18 deletions(-)

Thanks, applied

> diff --git a/target-alpha/helper.h b/target-alpha/helper.h
> index f62b1c2..a4faca2 100644
> --- a/target-alpha/helper.h
> +++ b/target-alpha/helper.h
> @@ -3,7 +3,6 @@
>  DEF_HELPER_0(tb_flush, void)
>  
>  DEF_HELPER_2(excp, void, int, int)
> -DEF_HELPER_1(amask, i64, i64)
>  DEF_HELPER_0(load_pcc, i64)
>  DEF_HELPER_0(rc, i64)
>  DEF_HELPER_0(rs, i64)
> diff --git a/target-alpha/op_helper.c b/target-alpha/op_helper.c
> index 59010fc..e9c7d28 100644
> --- a/target-alpha/op_helper.c
> +++ b/target-alpha/op_helper.c
> @@ -37,21 +37,6 @@ void helper_excp (int excp, int error)
>      cpu_loop_exit();
>  }
>  
> -uint64_t helper_amask (uint64_t arg)
> -{
> -    switch (env->implver) {
> -    case IMPLVER_2106x:
> -        /* EV4, EV45, LCA, LCA45 & EV5 */
> -        break;
> -    case IMPLVER_21164:
> -    case IMPLVER_21264:
> -    case IMPLVER_21364:
> -        arg &= ~env->amask;
> -        break;
> -    }
> -    return arg;
> -}
> -
>  uint64_t helper_load_pcc (void)
>  {
>      /* XXX: TODO */
> diff --git a/target-alpha/translate.c b/target-alpha/translate.c
> index 11b8139..a971b03 100644
> --- a/target-alpha/translate.c
> +++ b/target-alpha/translate.c
> @@ -1160,9 +1160,20 @@ static always_inline int translate_one (DisasContext 
> *ctx, uint32_t insn)
>              /* AMASK */
>              if (likely(rc != 31)) {
>                  if (islit)
> -                    tcg_gen_movi_i64(cpu_ir[rc], helper_amask(lit));
> +                    tcg_gen_movi_i64(cpu_ir[rc], lit);
>                  else
> -                    gen_helper_amask(cpu_ir[rc], cpu_ir[rb]);
> +                    tcg_gen_mov_i64(cpu_ir[rc], cpu_ir[rb]);
> +                switch (ctx->env->implver) {
> +                case IMPLVER_2106x:
> +                    /* EV4, EV45, LCA, LCA45 & EV5 */
> +                    break;
> +                case IMPLVER_21164:
> +                case IMPLVER_21264:
> +                case IMPLVER_21364:
> +                    tcg_gen_andi_i64(cpu_ir[rc], cpu_ir[rc],
> +                                     ~(uint64_t)ctx->amask);
> +                    break;
> +                }
>              }
>              break;
>          case 0x64:
> -- 
> 1.6.2
> 
> 
> 
> 

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
address@hidden                 http://www.aurel32.net




reply via email to

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