|
From: <sv...@va...> - 2012-08-20 16:51:47
|
florian 2012-08-20 17:51:39 +0100 (Mon, 20 Aug 2012)
New Revision: 12884
Log:
Handle the following IRops as they may get generated:
Iop_Mul8, Iop_Sar8, Iop_CmpwNEZ32, and Iop_8HLto16.
With this change mc_translate now handles all IR ops which are architecture
independent, except Iop_LeftXYZ and Iop_Max32U.
Modified files:
trunk/memcheck/mc_translate.c
Modified: trunk/memcheck/mc_translate.c (+7 -1)
===================================================================
--- trunk/memcheck/mc_translate.c 2012-08-20 11:40:02 +01:00 (rev 12883)
+++ trunk/memcheck/mc_translate.c 2012-08-20 17:51:39 +01:00 (rev 12884)
@@ -3313,6 +3313,8 @@
case Iop_DivModS128to64:
return mkLazy2(mce, Ity_I128, vatom1, vatom2);
+ case Iop_8HLto16:
+ return assignNew('V', mce, Ity_I16, binop(op, vatom1, vatom2));
case Iop_16HLto32:
return assignNew('V', mce, Ity_I32, binop(op, vatom1, vatom2));
case Iop_32HLto64:
@@ -3410,6 +3412,7 @@
case Iop_Sub16:
return mkLeft16(mce, mkUifU16(mce, vatom1,vatom2));
+ case Iop_Mul8:
case Iop_Sub8:
case Iop_Add8:
return mkLeft8(mce, mkUifU8(mce, vatom1,vatom2));
@@ -3459,7 +3462,7 @@
case Iop_Shl16: case Iop_Shr16: case Iop_Sar16:
return scalarShift( mce, Ity_I16, op, vatom1,vatom2, atom1,atom2 );
- case Iop_Shl8: case Iop_Shr8:
+ case Iop_Shl8: case Iop_Shr8: case Iop_Sar8:
return scalarShift( mce, Ity_I8, op, vatom1,vatom2, atom1,atom2 );
case Iop_AndV256:
@@ -3756,6 +3759,9 @@
case Iop_Abs32x4:
return mkPCast32x4(mce, vatom);
+ case Iop_CmpwNEZ32:
+ return mkPCastTo(mce, Ity_I32, vatom);
+
case Iop_CmpwNEZ64:
return mkPCastTo(mce, Ity_I64, vatom);
|