|
From: <sv...@va...> - 2005-03-30 23:19:52
|
Author: sewardj
Date: 2005-03-31 00:19:46 +0100 (Thu, 31 Mar 2005)
New Revision: 1114
Modified:
trunk/priv/ir/iropt.c
Log:
Add a folding rule for Mul64.
Modified: trunk/priv/ir/iropt.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/ir/iropt.c 2005-03-30 18:40:23 UTC (rev 1113)
+++ trunk/priv/ir/iropt.c 2005-03-30 23:19:46 UTC (rev 1114)
@@ -1059,6 +1059,12 @@
(e->Iex.Binop.arg1->Iex.Const.con->Ico.U32
* e->Iex.Binop.arg2->Iex.Const.con->Ico.U32)));
break;
+ case Iop_Mul64:
+ e2 =3D IRExpr_Const(IRConst_U64(
+ (e->Iex.Binop.arg1->Iex.Const.con->Ico.U64
+ * e->Iex.Binop.arg2->Iex.Const.con->Ico.U64)));
+ break;
+
case Iop_MullS32: {
/* very paranoid */
UInt u32a =3D e->Iex.Binop.arg1->Iex.Const.con->Ico.U32;
|