On 05/20/2010 07:52 AM, Nathan Froyd wrote: > +/* Tests */ > +#define OP_COND(name, cond) \ > +static inline void glue(gen_op_, name) (TCGv ret, TCGv t0, TCGv t1) \ > +{ \ > + int l1 = gen_new_label(); \ > + int l2 = gen_new_label(); \ > + \ > + tcg_gen_brcond_tl(cond, t0, t1, l1); \ > + tcg_gen_movi_tl(ret, 0); \ > + tcg_gen_br(l2); \ > + gen_set_label(l1); \ > + tcg_gen_movi_tl(ret, 1); \ > + gen_set_label(l2); \ > +} > +OP_COND(eq, TCG_COND_EQ); > +OP_COND(ne, TCG_COND_NE); > +OP_COND(ge, TCG_COND_GE); > +OP_COND(geu, TCG_COND_GEU); > +OP_COND(lt, TCG_COND_LT); > +OP_COND(ltu, TCG_COND_LTU); > +#undef OP_COND > + > +#define OP_CONDI(name, cond) > \ ... > +#define OP_CONDZ(name, cond) \
What are these doing in this patch? r~