On Sat, Mar 30, 2013 at 08:54:03AM -0700, Richard Henderson wrote: > On 03/30/2013 08:33 AM, Aurelien Jarno wrote: > > +static inline void tcg_out_add2(TCGContext *s, TCGArg retl, TCGArg reth, > > + TCGArg arg1l, TCGArg arg1h, > > + TCGArg arg2l, TCGArg arg2h, > > + int cmp4) > > +{ > > + tcg_out_bundle(s, MmI, > > + tcg_opc_a1(TCG_REG_P0, OPC_ADD_A1, TCG_REG_R2, arg1l, > > arg2l), > > + tcg_opc_m48(TCG_REG_P0, OPC_NOP_M48, 0), > > + tcg_opc_cmp_a(TCG_REG_P0, TCG_COND_LTU, > > + TCG_REG_R2, arg1l, cmp4)); > > I seem to recall a 1-cycle cross-unit delay, going between M to I units? > Maybe that was just the itanic1, it's been so long...? > > Anyway, in this case it's easy to avoid by putting the nop first and using > an mII bundle.
I'll do that in the next version, thanks for the review. > That said, the code looks correct. > > Reviewed-by: Richard Henderson <r...@twiddle.net> > > > r~ > > > > -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net