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~

Reply via email to