valgrind side changes to support the new IRops introduced
in VEX r2727 (conversion ops between binary floating point and
decimal floating point).
Patch by Maran Pakkirisamy (maranp@linux.vnet.ibm.com).
Part of fixing BZ 307113.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13428 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/memcheck/mc_translate.c b/memcheck/mc_translate.c
index 22738f6..74d4ca5 100644
--- a/memcheck/mc_translate.c
+++ b/memcheck/mc_translate.c
@@ -3437,22 +3437,31 @@
          /* I32(rm) x I64/D64 -> D64/I64 */
          return mkLazy2(mce, Ity_I64, vatom1, vatom2);
 
+      case Iop_F32toD32:
+      case Iop_F64toD32:
+      case Iop_F128toD32:
+      case Iop_D32toF32:
+      case Iop_D64toF32:
+      case Iop_D128toF32:
+         /* I32(rm) x F32/F64/F128/D32/D64/D128 -> D32/F32 */
+         return mkLazy2(mce, Ity_I32, vatom1, vatom2);
+
+      case Iop_F32toD64:
       case Iop_F64toD64:
+      case Iop_F128toD64:
+      case Iop_D32toF64:
       case Iop_D64toF64:
-         /* I32(rm) x F64/D64 -> D64/F64 */
-         return mkLazy2(mce, Ity_I64, vatom1, vatom2);
-
-      case Iop_F64toD128:
-         /* I32(rm) x F64 -> D128 */
-         return mkLazy2(mce, Ity_I128, vatom1, vatom2);
-
       case Iop_D128toF64:
-         /* I32(rm) x D128 -> F64 */
+         /* I32(rm) x F32/F64/F128/D32/D64/D128 -> D64/F64 */
          return mkLazy2(mce, Ity_I64, vatom1, vatom2);
 
+      case Iop_F32toD128:
+      case Iop_F64toD128:
       case Iop_F128toD128:
+      case Iop_D32toF128:
+      case Iop_D64toF128:
       case Iop_D128toF128:
-         /* I32(rm) x F128/D128 -> D128/F128 */
+         /* I32(rm) x F32/F64/F128/D32/D64/D128 -> D128/F128 */
          return mkLazy2(mce, Ity_I128, vatom1, vatom2);
 
       case Iop_RoundF32toInt: