Benjamin Herrenschmidt <b...@kernel.crashing.org> writes: > Hi Richard ! > > So in my discovery of TCG, one thing I noticed is the horrendous amount > of code generated for branches, especially conditional ones. >
static inline void gen_bcond(DisasContext *ctx, int type) { [...] if ((bo & 0x4) == 0) { /* Decrement and test CTR */ [...] if (bo & 0x2) { tcg_gen_brcondi_tl(TCG_COND_NE, temp, 0, l1); } else { tcg_gen_brcondi_tl(TCG_COND_EQ, temp, 0, l1); } BUG, both jumping to same label? Can we replace it unconditionally with tcg_gen_br(l1) ? Regards Nikunj