From: Julian Seward Date: Thu, 21 Jul 2005 17:07:18 +0000 (+0000) Subject: Fix XER.OV computation after multiply. X-Git-Tag: svn/VALGRIND_3_0_1^2~47 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4f83ec3674dd5ba8bd38c11033d83e34efb6c388;p=thirdparty%2Fvalgrind.git Fix XER.OV computation after multiply. git-svn-id: svn://svn.valgrind.org/vex/trunk@1287 --- diff --git a/VEX/priv/guest-ppc32/toIR.c b/VEX/priv/guest-ppc32/toIR.c index cb9617f854..f9df56696a 100644 --- a/VEX/priv/guest-ppc32/toIR.c +++ b/VEX/priv/guest-ppc32/toIR.c @@ -992,7 +992,7 @@ static void set_XER_OV( UInt op, IRExpr* res, /* OV true if result can't be represented in 32 bits i.e sHi != sign extension of sLo */ t64 = newTemp(Ity_I64); - assign( t64, binop(Iop_MullU32, argL, argR) ); + assign( t64, binop(Iop_MullS32, argL, argR) ); xer_ov = binop( Iop_CmpNE32, unop(Iop_64HIto32, mkexpr(t64)),