target-alpha: Use the ctz and clz opcodes

Signed-off-by: Richard Henderson <rth@twiddle.net>
master
Richard Henderson 2016-11-16 10:23:30 +01:00
parent 8d8dd793da
commit 881549da4b
3 changed files with 2 additions and 14 deletions

View File

@ -4,8 +4,6 @@ DEF_HELPER_FLAGS_1(load_pcc, TCG_CALL_NO_RWG_SE, i64, env)
DEF_HELPER_FLAGS_3(check_overflow, TCG_CALL_NO_WG, void, env, i64, i64) DEF_HELPER_FLAGS_3(check_overflow, TCG_CALL_NO_WG, void, env, i64, i64)
DEF_HELPER_FLAGS_1(ctpop, TCG_CALL_NO_RWG_SE, i64, i64) DEF_HELPER_FLAGS_1(ctpop, TCG_CALL_NO_RWG_SE, i64, i64)
DEF_HELPER_FLAGS_1(ctlz, TCG_CALL_NO_RWG_SE, i64, i64)
DEF_HELPER_FLAGS_1(cttz, TCG_CALL_NO_RWG_SE, i64, i64)
DEF_HELPER_FLAGS_2(zap, TCG_CALL_NO_RWG_SE, i64, i64, i64) DEF_HELPER_FLAGS_2(zap, TCG_CALL_NO_RWG_SE, i64, i64, i64)
DEF_HELPER_FLAGS_2(zapnot, TCG_CALL_NO_RWG_SE, i64, i64, i64) DEF_HELPER_FLAGS_2(zapnot, TCG_CALL_NO_RWG_SE, i64, i64, i64)

View File

@ -29,16 +29,6 @@ uint64_t helper_ctpop(uint64_t arg)
return ctpop64(arg); return ctpop64(arg);
} }
uint64_t helper_ctlz(uint64_t arg)
{
return clz64(arg);
}
uint64_t helper_cttz(uint64_t arg)
{
return ctz64(arg);
}
uint64_t helper_zapnot(uint64_t val, uint64_t mskb) uint64_t helper_zapnot(uint64_t val, uint64_t mskb)
{ {
uint64_t mask; uint64_t mask;

View File

@ -2555,14 +2555,14 @@ static ExitStatus translate_one(DisasContext *ctx, uint32_t insn)
REQUIRE_TB_FLAG(TB_FLAGS_AMASK_CIX); REQUIRE_TB_FLAG(TB_FLAGS_AMASK_CIX);
REQUIRE_REG_31(ra); REQUIRE_REG_31(ra);
REQUIRE_NO_LIT; REQUIRE_NO_LIT;
gen_helper_ctlz(vc, vb); tcg_gen_clzi_i64(vc, vb, 64);
break; break;
case 0x33: case 0x33:
/* CTTZ */ /* CTTZ */
REQUIRE_TB_FLAG(TB_FLAGS_AMASK_CIX); REQUIRE_TB_FLAG(TB_FLAGS_AMASK_CIX);
REQUIRE_REG_31(ra); REQUIRE_REG_31(ra);
REQUIRE_NO_LIT; REQUIRE_NO_LIT;
gen_helper_cttz(vc, vb); tcg_gen_ctzi_i64(vc, vb, 64);
break; break;
case 0x34: case 0x34:
/* UNPKBW */ /* UNPKBW */