target-unicore32: Use clz opcode
Signed-off-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
0efa820854
commit
03a733dc62
@ -32,16 +32,6 @@ UniCore32CPU *uc32_cpu_init(const char *cpu_model)
|
||||
return UNICORE32_CPU(cpu_generic_init(TYPE_UNICORE32_CPU, cpu_model));
|
||||
}
|
||||
|
||||
uint32_t HELPER(clo)(uint32_t x)
|
||||
{
|
||||
return clo32(x);
|
||||
}
|
||||
|
||||
uint32_t HELPER(clz)(uint32_t x)
|
||||
{
|
||||
return clz32(x);
|
||||
}
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
void helper_cp0_set(CPUUniCore32State *env, uint32_t val, uint32_t creg,
|
||||
uint32_t cop)
|
||||
|
@ -13,9 +13,6 @@ DEF_HELPER_3(cp0_get, i32, env, i32, i32)
|
||||
DEF_HELPER_1(cp1_putc, void, i32)
|
||||
#endif
|
||||
|
||||
DEF_HELPER_1(clz, i32, i32)
|
||||
DEF_HELPER_1(clo, i32, i32)
|
||||
|
||||
DEF_HELPER_2(exception, void, env, i32)
|
||||
|
||||
DEF_HELPER_3(asr_write, void, env, i32, i32)
|
||||
|
@ -1479,10 +1479,10 @@ static void do_misc(CPUUniCore32State *env, DisasContext *s, uint32_t insn)
|
||||
/* clz */
|
||||
tmp = load_reg(s, UCOP_REG_M);
|
||||
if (UCOP_SET(26)) {
|
||||
gen_helper_clo(tmp, tmp);
|
||||
} else {
|
||||
gen_helper_clz(tmp, tmp);
|
||||
/* clo */
|
||||
tcg_gen_not_i32(tmp, tmp);
|
||||
}
|
||||
tcg_gen_clzi_i32(tmp, tmp, 32);
|
||||
store_reg(s, UCOP_REG_D, tmp);
|
||||
return;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user