diff options
author | Richard Henderson <rth@twiddle.net> | 2016-11-16 10:23:30 +0100 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2017-01-10 08:06:11 -0800 |
commit | 881549da4b58ed1b703823a435b9028c4a8b41d3 (patch) | |
tree | de24ce9898c529df824835b416660fbed2a04d3c /target | |
parent | 8d8dd793da13ab052890150fbcae9f506d0077f3 (diff) |
target-alpha: Use the ctz and clz opcodes
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target')
-rw-r--r-- | target/alpha/helper.h | 2 | ||||
-rw-r--r-- | target/alpha/int_helper.c | 10 | ||||
-rw-r--r-- | target/alpha/translate.c | 4 |
3 files changed, 2 insertions, 14 deletions
diff --git a/target/alpha/helper.h b/target/alpha/helper.h index 004221df8c..eed3906bd4 100644 --- a/target/alpha/helper.h +++ b/target/alpha/helper.h @@ -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_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(zapnot, TCG_CALL_NO_RWG_SE, i64, i64, i64) diff --git a/target/alpha/int_helper.c b/target/alpha/int_helper.c index 19bebfe742..3c303bd1db 100644 --- a/target/alpha/int_helper.c +++ b/target/alpha/int_helper.c @@ -29,16 +29,6 @@ uint64_t helper_ctpop(uint64_t 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 mask; diff --git a/target/alpha/translate.c b/target/alpha/translate.c index 5ac227700a..6e2e5638a3 100644 --- a/target/alpha/translate.c +++ b/target/alpha/translate.c @@ -2555,14 +2555,14 @@ static ExitStatus translate_one(DisasContext *ctx, uint32_t insn) REQUIRE_TB_FLAG(TB_FLAGS_AMASK_CIX); REQUIRE_REG_31(ra); REQUIRE_NO_LIT; - gen_helper_ctlz(vc, vb); + tcg_gen_clzi_i64(vc, vb, 64); break; case 0x33: /* CTTZ */ REQUIRE_TB_FLAG(TB_FLAGS_AMASK_CIX); REQUIRE_REG_31(ra); REQUIRE_NO_LIT; - gen_helper_cttz(vc, vb); + tcg_gen_ctzi_i64(vc, vb, 64); break; case 0x34: /* UNPKBW */ |