|
From: <sv...@va...> - 2012-12-27 20:06:25
|
florian 2012-12-27 20:06:18 +0000 (Thu, 27 Dec 2012)
New Revision: 13211
Log:
valgrind-side support for Iop_ExtractSigD64 and Iop_ExtractSigD128.
See also companion patch VEX r2621.
Modified files:
trunk/memcheck/mc_translate.c
trunk/memcheck/tests/vbit-test/irops.c
trunk/memcheck/tests/vbit-test/util.c
Modified: trunk/memcheck/mc_translate.c (+2 -0)
===================================================================
--- trunk/memcheck/mc_translate.c 2012-12-27 17:47:09 +00:00 (rev 13210)
+++ trunk/memcheck/mc_translate.c 2012-12-27 20:06:18 +00:00 (rev 13211)
@@ -3716,6 +3716,8 @@
case Iop_D32toD64:
case Iop_ExtractExpD64: /* D64 -> I64 */
case Iop_ExtractExpD128: /* D128 -> I64 */
+ case Iop_ExtractSigD64: /* D64 -> I64 */
+ case Iop_ExtractSigD128: /* D128 -> I64 */
case Iop_DPBtoBCD:
case Iop_BCDtoDPB:
return mkPCastTo(mce, Ity_I64, vatom);
Modified: trunk/memcheck/tests/vbit-test/irops.c (+2 -0)
===================================================================
--- trunk/memcheck/tests/vbit-test/irops.c 2012-12-27 17:47:09 +00:00 (rev 13210)
+++ trunk/memcheck/tests/vbit-test/irops.c 2012-12-27 20:06:18 +00:00 (rev 13211)
@@ -509,6 +509,8 @@
{ DEFOP(Iop_SignificanceRoundD128, UNDEF_ALL), .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
{ DEFOP(Iop_ExtractExpD64, UNDEF_ALL), .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
{ DEFOP(Iop_ExtractExpD128, UNDEF_ALL), .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
+ { DEFOP(Iop_ExtractSigD64, UNDEF_ALL), .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+ { DEFOP(Iop_ExtractSigD128, UNDEF_ALL), .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
{ DEFOP(Iop_InsertExpD64, UNDEF_ALL), .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
{ DEFOP(Iop_InsertExpD128, UNDEF_ALL), .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
{ DEFOP(Iop_D64HLtoD128, UNDEF_CONCAT), .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
Modified: trunk/memcheck/tests/vbit-test/util.c (+6 -0)
===================================================================
--- trunk/memcheck/tests/vbit-test/util.c 2012-12-27 17:47:09 +00:00 (rev 13210)
+++ trunk/memcheck/tests/vbit-test/util.c 2012-12-27 20:06:18 +00:00 (rev 13211)
@@ -829,12 +829,18 @@
case Iop_ExtractExpD64:
UNARY(Ity_D64, Ity_D64);
+ case Iop_ExtractSigD64:
+ UNARY(Ity_D64, Ity_I64);
+
case Iop_InsertExpD64:
BINARY(Ity_D64,Ity_D64, Ity_D64);
case Iop_ExtractExpD128:
UNARY(Ity_D128, Ity_D64);
+ case Iop_ExtractSigD128:
+ UNARY(Ity_D128, Ity_I64);
+
case Iop_InsertExpD128:
BINARY(Ity_D64,Ity_D128, Ity_D128);
|