|
From: <sv...@va...> - 2014-08-04 08:09:33
|
Author: sewardj
Date: Mon Aug 4 08:09:23 2014
New Revision: 2912
Log:
Add a folding rule: XorV128(t,0) ==> t.
Modified:
trunk/priv/ir_opt.c
Modified: trunk/priv/ir_opt.c
==============================================================================
--- trunk/priv/ir_opt.c (original)
+++ trunk/priv/ir_opt.c Mon Aug 4 08:09:23 2014
@@ -2259,6 +2259,18 @@
e2 = mkZeroOfPrimopResultType(e->Iex.Binop.op);
break;
}
+ /* XorV128(t,0) ==> t */
+ if (e->Iex.Binop.op == Iop_XorV128) {
+ if (isZeroV128(e->Iex.Binop.arg2)) {
+ e2 = e->Iex.Binop.arg1;
+ break;
+ }
+ //Disabled because there's no known test case right now.
+ //if (isZeroV128(e->Iex.Binop.arg1)) {
+ // e2 = e->Iex.Binop.arg2;
+ // break;
+ //}
+ }
break;
case Iop_CmpNE32:
|