]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add the following IROPs which are needed for s390 DFP support:
authorFlorian Krohm <florian@eich-krohm.de>
Sun, 5 May 2013 15:04:30 +0000 (15:04 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Sun, 5 May 2013 15:04:30 +0000 (15:04 +0000)
Iop_F64toD64, Iop_D64toF64
Iop_F64toD128, Iop_D128toF64,
Iop_F128toD128, Iop_D128toF128,

Patch by Maran Pakkirisamy (maranp@linux.vnet.ibm.com).
Part of fixing BZ #307113

git-svn-id: svn://svn.valgrind.org/vex/trunk@2717

VEX/priv/ir_defs.c
VEX/pub/libvex_ir.h

index c3f7bfd593c2d462fd195385a4c7d188dae30b7e..34b02c3b015ef66b586041c406e7a3e7b980702d 100644 (file)
@@ -983,6 +983,12 @@ void ppIROp ( IROp op )
       case Iop_D128toI32U: vex_printf("D128toI32U"); return;
       case Iop_D128toI64S: vex_printf("D128toI64S"); return;
       case Iop_D128toI64U: vex_printf("D128toI64U"); return;
+      case Iop_F64toD64:   vex_printf("F64toD64");   return;
+      case Iop_D64toF64:   vex_printf("D64toF64");   return;
+      case Iop_F64toD128:  vex_printf("F64toD128");  return;
+      case Iop_D128toF64:  vex_printf("D128toF64");  return;
+      case Iop_F128toD128: vex_printf("F128toD128"); return;
+      case Iop_D128toF128: vex_printf("D128toF128"); return;
       case Iop_AddD128: vex_printf("AddD128");  return;
       case Iop_SubD128: vex_printf("SubD128");  return;
       case Iop_MulD128: vex_printf("MulD128");  return;
@@ -3009,6 +3015,24 @@ void typeOfPrimop ( IROp op,
       case Iop_I64UtoD64:
          BINARY(ity_RMode, Ity_I64, Ity_D64);
 
+      case Iop_F64toD64:
+         BINARY(ity_RMode, Ity_F64, Ity_D64);
+
+      case Iop_D64toF64:
+         BINARY(ity_RMode, Ity_D64, Ity_F64);
+
+      case Iop_F64toD128:
+         BINARY(ity_RMode, Ity_F64, Ity_D128);
+
+      case Iop_D128toF64:
+         BINARY(ity_RMode, Ity_D128, Ity_F64);
+
+      case Iop_F128toD128:
+         BINARY(ity_RMode, Ity_F128, Ity_D128);
+
+      case Iop_D128toF128:
+         BINARY(ity_RMode, Ity_D128, Ity_F128);
+
       case Iop_CmpD64:
       case Iop_CmpExpD64:
          BINARY(Ity_D64,Ity_D64, Ity_I32);
index cc8ea54972155e6d6c62336d6aa5120b0a45e449..806de632c6cbdb4059eb3a381037ba10f1cb95f1 100644 (file)
@@ -1092,6 +1092,24 @@ typedef
       /*   IRRoundingModeDFP(I32) x D128 -> I64 */
       Iop_D128toI64U,
 
+      /*   IRRoundingModeDFP(I32) x F64 -> D64 */
+      Iop_F64toD64,
+
+      /*   IRRoundingModeDFP(I32) x D64 -> F64 */
+      Iop_D64toF64,
+
+      /*   IRRoundingModeDFP(I32) x F64 -> D128 */
+      Iop_F64toD128,
+
+      /*   IRRoundingModeDFP(I32) x D128 -> F64 */
+      Iop_D128toF64,
+
+      /*   IRRoundingModeDFP(I32) x F128 -> D128 */
+      Iop_F128toD128,
+
+      /*   IRRoundingModeDFP(I32) x D128 -> F128 */
+      Iop_D128toF128,
+
       /* ROUNDING INSTRUCTIONS
        * IRRoundingMode(I32) x D64 -> D64
        * The D64 operand, if a finite number, it is rounded to a