On 12/06/2016 08:22 AM, Alex Bennée wrote: >> > + if (fv == 1 && tv == 0) { >> > + cond = tcg_invert_cond(cond); >> > + } else if (!(tv == 1 && fv == 0)) { >> > + goto do_default; >> > + } > Why the weird exit early here on an inverted test. Couldn't it just be > > } else if (tv == 1 && fv == 0) { > args[3] = cond; > op->opc = opc = (opc == INDEX_op_movcond_i32 > ? INDEX_op_setcond_i32 > : INDEX_op_setcond_i64); > nb_iargs = 2; > } > > And fall through to the goto do_default as before? >
Not if you want to share the update code with the first case above. r~