diff mbox

[58/65] target-sparc: Use ctpop helper

Message ID 20161224040042.12654-59-rth@twiddle.net
State New
Headers show

Commit Message

Richard Henderson Dec. 24, 2016, 4 a.m. UTC
Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Richard Henderson <rth@twiddle.net>
---
 target/sparc/helper.c    | 5 -----
 target/sparc/helper.h    | 1 -
 target/sparc/translate.c | 2 +-
 3 files changed, 1 insertion(+), 7 deletions(-)

Comments

Mark Cave-Ayland Dec. 30, 2016, 6:25 p.m. UTC | #1
On 24/12/16 04:00, Richard Henderson wrote:

> Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> Signed-off-by: Richard Henderson <rth@twiddle.net>
> ---
>  target/sparc/helper.c    | 5 -----
>  target/sparc/helper.h    | 1 -
>  target/sparc/translate.c | 2 +-
>  3 files changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/target/sparc/helper.c b/target/sparc/helper.c
> index 359b0b1..1d85489 100644
> --- a/target/sparc/helper.c
> +++ b/target/sparc/helper.c
> @@ -49,11 +49,6 @@ void helper_debug(CPUSPARCState *env)
>  }
>  
>  #ifdef TARGET_SPARC64
> -target_ulong helper_popc(target_ulong val)
> -{
> -    return ctpop64(val);
> -}
> -
>  void helper_tick_set_count(void *opaque, uint64_t count)
>  {
>  #if !defined(CONFIG_USER_ONLY)
> diff --git a/target/sparc/helper.h b/target/sparc/helper.h
> index 0cf1bfb..3ef38b9 100644
> --- a/target/sparc/helper.h
> +++ b/target/sparc/helper.h
> @@ -16,7 +16,6 @@ DEF_HELPER_2(wrccr, void, env, tl)
>  DEF_HELPER_1(rdcwp, tl, env)
>  DEF_HELPER_2(wrcwp, void, env, tl)
>  DEF_HELPER_FLAGS_2(array8, TCG_CALL_NO_RWG_SE, tl, tl, tl)
> -DEF_HELPER_FLAGS_1(popc, TCG_CALL_NO_RWG_SE, tl, tl)
>  DEF_HELPER_FLAGS_2(set_softint, TCG_CALL_NO_RWG, void, env, i64)
>  DEF_HELPER_FLAGS_2(clear_softint, TCG_CALL_NO_RWG, void, env, i64)
>  DEF_HELPER_FLAGS_2(write_softint, TCG_CALL_NO_RWG, void, env, i64)
> diff --git a/target/sparc/translate.c b/target/sparc/translate.c
> index 2205f89..ead585e 100644
> --- a/target/sparc/translate.c
> +++ b/target/sparc/translate.c
> @@ -4647,7 +4647,7 @@ static void disas_sparc_insn(DisasContext * dc, unsigned int insn)
>                          gen_store_gpr(dc, rd, cpu_dst);
>                          break;
>                      case 0x2e: /* V9 popc */
> -                        gen_helper_popc(cpu_dst, cpu_src2);
> +                        tcg_gen_ctpop_tl(cpu_dst, cpu_src2);
>                          gen_store_gpr(dc, rd, cpu_dst);
>                          break;
>                      case 0x2f: /* V9 movr */
> 

Looks good to me.

Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


ATB,

Mark.
diff mbox

Patch

diff --git a/target/sparc/helper.c b/target/sparc/helper.c
index 359b0b1..1d85489 100644
--- a/target/sparc/helper.c
+++ b/target/sparc/helper.c
@@ -49,11 +49,6 @@  void helper_debug(CPUSPARCState *env)
 }
 
 #ifdef TARGET_SPARC64
-target_ulong helper_popc(target_ulong val)
-{
-    return ctpop64(val);
-}
-
 void helper_tick_set_count(void *opaque, uint64_t count)
 {
 #if !defined(CONFIG_USER_ONLY)
diff --git a/target/sparc/helper.h b/target/sparc/helper.h
index 0cf1bfb..3ef38b9 100644
--- a/target/sparc/helper.h
+++ b/target/sparc/helper.h
@@ -16,7 +16,6 @@  DEF_HELPER_2(wrccr, void, env, tl)
 DEF_HELPER_1(rdcwp, tl, env)
 DEF_HELPER_2(wrcwp, void, env, tl)
 DEF_HELPER_FLAGS_2(array8, TCG_CALL_NO_RWG_SE, tl, tl, tl)
-DEF_HELPER_FLAGS_1(popc, TCG_CALL_NO_RWG_SE, tl, tl)
 DEF_HELPER_FLAGS_2(set_softint, TCG_CALL_NO_RWG, void, env, i64)
 DEF_HELPER_FLAGS_2(clear_softint, TCG_CALL_NO_RWG, void, env, i64)
 DEF_HELPER_FLAGS_2(write_softint, TCG_CALL_NO_RWG, void, env, i64)
diff --git a/target/sparc/translate.c b/target/sparc/translate.c
index 2205f89..ead585e 100644
--- a/target/sparc/translate.c
+++ b/target/sparc/translate.c
@@ -4647,7 +4647,7 @@  static void disas_sparc_insn(DisasContext * dc, unsigned int insn)
                         gen_store_gpr(dc, rd, cpu_dst);
                         break;
                     case 0x2e: /* V9 popc */
-                        gen_helper_popc(cpu_dst, cpu_src2);
+                        tcg_gen_ctpop_tl(cpu_dst, cpu_src2);
                         gen_store_gpr(dc, rd, cpu_dst);
                         break;
                     case 0x2f: /* V9 movr */