/* Note that overflow is only computed during addition stage. */
tcg_gen_add_i64(cpu_mac, cpu_mac, t1);
tcg_gen_setcond_i64(TCG_COND_LTU, t1, cpu_mac, t1);
- tcg_gen_trunc_i64_tl(cpu_sr_cy, t1);
+ tcg_gen_extrl_i64_i32(cpu_sr_cy, t1);
gen_ove_cy(dc);
}
/* Note that overflow is only computed during subtraction stage. */
tcg_gen_setcond_i64(TCG_COND_LTU, t2, cpu_mac, t1);
tcg_gen_sub_i64(cpu_mac, cpu_mac, t1);
- tcg_gen_trunc_i64_tl(cpu_sr_cy, t2);
+ tcg_gen_extrl_i64_i32(cpu_sr_cy, t2);
gen_ove_cy(dc);
}
static bool trans_l_macrc(DisasContext *dc, arg_l_macrc *a)
{
check_r0_write(dc, a->d);
- tcg_gen_trunc_i64_tl(cpu_R(dc, a->d), cpu_mac);
+ tcg_gen_extrl_i64_i32(cpu_R(dc, a->d), cpu_mac);
tcg_gen_movi_i64(cpu_mac, 0);
return true;
}