Hi, Richard.

> > +    case NM_SOV:
> > +    {
> > +        TCGv t0 = tcg_temp_local_new();
> > +        TCGv t1 = tcg_temp_new();
> > +        TCGv t2 = tcg_temp_new();
> > +        TCGLabel *l1 = gen_new_label();
> > +
> > +        gen_load_gpr(t1, rs);
> > +        gen_load_gpr(t2, rt);
> > +        tcg_gen_add_tl(t0, t1, t2);
> > +        tcg_gen_ext32s_tl(t0, t0);
> > +        tcg_gen_xor_tl(t1, t1, t2);
> > +        tcg_gen_xor_tl(t2, t0, t2);
> > +        tcg_gen_andc_tl(t1, t2, t1);
> > +
> > +        tcg_gen_movi_tl(t0, 0);
> > +        tcg_gen_brcondi_tl(TCG_COND_GE, t1, 0, l1);
> 
> tcg_gen_setcondi_tl.
> 

Would here the correct simplification be:

Replace code segment

tcg_gen_movi_tl(t0, 0);
tcg_gen_brcondi_tl(TCG_COND_GE, t1, 0, l1);
tcg_gen_movi_tl(t0, 1);
gen_set_label(l1);

with

tcg_gen_setcondi_tl(TCG_COND_GE, t0, t1, 0);
(plus deleting the declaration of l1 of course)

Regards,
Aleksandar M.

Reply via email to