diff --git a/target/sparc/helper.c b/target/sparc/helper.c index 359b0b15ed..1d854890b4 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 0cf1bfb73a..3ef38b9a22 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 2205f89837..ead585eef5 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 */