]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Fix propagation of undefinedness for Iop_DPBtoBCD and Iop_BCDtoDPB.
authorFlorian Krohm <florian@eich-krohm.de>
Wed, 22 Aug 2012 18:09:07 +0000 (18:09 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Wed, 22 Aug 2012 18:09:07 +0000 (18:09 +0000)
Any undefined input bit will cause all output bits to be undefined.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12885

memcheck/mc_translate.c

index 007c9c2ee779fd9f856062968e2639661b61cbbb..64c375c14ab2e072784f3ca5a49f13a3490d8ac6 100644 (file)
@@ -3631,6 +3631,8 @@ IRExpr* expr2vbits_Unop ( MCEnv* mce, IROp op, IRAtom* atom )
       case Iop_D32toD64:
       case Iop_ExtractExpD64:    /* D64  -> I64 */
       case Iop_ExtractExpD128:   /* D128 -> I64 */
+      case Iop_DPBtoBCD:
+      case Iop_BCDtoDPB:
          return mkPCastTo(mce, Ity_I64, vatom);
 
       case Iop_D64toD128:
@@ -3706,8 +3708,6 @@ IRExpr* expr2vbits_Unop ( MCEnv* mce, IROp op, IRAtom* atom )
       case Iop_ReinterpF32asI32:
       case Iop_ReinterpI64asD64:
       case Iop_ReinterpD64asI64:
-      case Iop_DPBtoBCD:
-      case Iop_BCDtoDPB:
       case Iop_NotV256:
       case Iop_NotV128:
       case Iop_Not64: