On Thu, Apr 04, 2013 at 05:56:18PM -0500, Richard Henderson wrote: > Nothing else in the call chain ensures that these > constants don't have garbage in the high bits. > > Signed-off-by: Richard Henderson <r...@twiddle.net> > --- > tcg/ppc64/tcg-target.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/tcg/ppc64/tcg-target.c b/tcg/ppc64/tcg-target.c > index edb2b6c..27d5ea5 100644 > --- a/tcg/ppc64/tcg-target.c > +++ b/tcg/ppc64/tcg-target.c > @@ -1059,6 +1059,11 @@ static void tcg_out_cmp (TCGContext *s, int cond, > TCGArg arg1, TCGArg arg2, > int imm; > uint32_t op; > > + /* Simplify the comparisons below wrt CMPI. */ > + if (type == TCG_TYPE_I32) { > + arg2 = (int32_t)arg2; > + } > + > switch (cond) { > case TCG_COND_EQ: > case TCG_COND_NE:
Reviewed-by: Aurelien Jarno <aurel...@aurel32.net> -- Aurelien Jarno GPG: 1024D/F1BCDB73 aurel...@aurel32.net http://www.aurel32.net