diff --git a/qemu/target-sparc/helper.c b/qemu/target-sparc/helper.c index c1642d44..51084777 100644 --- a/qemu/target-sparc/helper.c +++ b/qemu/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/qemu/target-sparc/helper.h b/qemu/target-sparc/helper.h index e1897752..e65ff275 100644 --- a/qemu/target-sparc/helper.h +++ b/qemu/target-sparc/helper.h @@ -18,7 +18,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/qemu/target-sparc/translate.c b/qemu/target-sparc/translate.c index 06ad08f5..46ccccc9 100644 --- a/qemu/target-sparc/translate.c +++ b/qemu/target-sparc/translate.c @@ -4850,7 +4850,7 @@ static void disas_sparc_insn(DisasContext * dc, unsigned int insn, bool hook_ins gen_store_gpr(dc, rd, cpu_dst); break; case 0x2e: /* V9 popc */ - gen_helper_popc(tcg_ctx, cpu_dst, cpu_src2); + tcg_gen_ctpop_tl(tcg_ctx, cpu_dst, cpu_src2); gen_store_gpr(dc, rd, cpu_dst); break; case 0x2f: /* V9 movr */