From: Julian Seward Date: Thu, 14 Aug 2014 22:25:31 +0000 (+0000) Subject: Add a simple folding rule for Iop_ZeroHI64ofV128. X-Git-Tag: svn/VALGRIND_3_10_1^2~50 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8b7015192d4db6e3266bef9ad9457f0a2114a1de;p=thirdparty%2Fvalgrind.git Add a simple folding rule for Iop_ZeroHI64ofV128. git-svn-id: svn://svn.valgrind.org/vex/trunk@2921 --- diff --git a/VEX/priv/ir_opt.c b/VEX/priv/ir_opt.c index 95bdb28ef1..817f270374 100644 --- a/VEX/priv/ir_opt.c +++ b/VEX/priv/ir_opt.c @@ -1657,6 +1657,18 @@ static IRExpr* fold_Expr ( IRExpr** env, IRExpr* e ) break; } + case Iop_ZeroHI64ofV128: { + /* Could do better here -- only need to look at the bottom 64 bits + of the argument, really. */ + UShort v128 = e->Iex.Unop.arg->Iex.Const.con->Ico.V128; + if (v128 == 0x0000) { + e2 = IRExpr_Const(IRConst_V128(0x0000)); + } else { + goto unhandled; + } + break; + } + default: goto unhandled; }