&& e1->Iex.Tmp.tmp == e2->Iex.Tmp.tmp;
}
+static Bool notBool ( Bool b )
+{
+ if (b == True) return False;
+ if (b == False) return True;
+ vpanic("notBool");
+}
+
static IRExpr* fold_Expr ( IRExpr* e )
{
Int shift;
~ (e->Iex.Unop.arg->Iex.Const.con->Ico.U8)));
break;
+ case Iop_Not1:
+ e2 = IRExpr_Const(IRConst_Bit(
+ notBool(e->Iex.Unop.arg->Iex.Const.con->Ico.Bit)));
+ break;
+
default:
goto unhandled;
}
((Int)(e->Iex.Binop.arg1->Iex.Const.con->Ico.U32)
<= (Int)(e->Iex.Binop.arg2->Iex.Const.con->Ico.U32))));
break;
+
case Iop_CmpLT32S:
e2 = IRExpr_Const(IRConst_Bit(
((Int)(e->Iex.Binop.arg1->Iex.Const.con->Ico.U32)
< (Int)(e->Iex.Binop.arg2->Iex.Const.con->Ico.U32))));
break;
+ case Iop_CmpLT32U:
+ e2 = IRExpr_Const(IRConst_Bit(
+ ((UInt)(e->Iex.Binop.arg1->Iex.Const.con->Ico.U32)
+ < (UInt)(e->Iex.Binop.arg2->Iex.Const.con->Ico.U32))));
+ break;
case Iop_32HLto64:
e2 = IRExpr_Const(IRConst_U64(