Valgrind: r16202 - in /trunk/memcheck: mc_translate.c tests/vbit-test/irops.c

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Valgrind: r16202 - in /trunk/memcheck: mc_translate.c tests/vbit-test/irops.c

svn-2
Author: sewardj
Date: Fri Jan 13 18:02:38 2017
New Revision: 16202

Log:
Add support for Iop_MaxNumF64, Iop_MinNumF64, Iop_MaxNumF32 and
Iop_MinNumF32, as introduced in vex r3293.

Modified:
    trunk/memcheck/mc_translate.c
    trunk/memcheck/tests/vbit-test/irops.c

Modified: trunk/memcheck/mc_translate.c
==============================================================================
--- trunk/memcheck/mc_translate.c (original)
+++ trunk/memcheck/mc_translate.c Fri Jan 13 18:02:38 2017
@@ -1611,6 +1611,14 @@
       return at;
    }
 
+   /* I32 x I32 -> I32 */
+   if (t1 == Ity_I32 && t2 == Ity_I32 && finalVty == Ity_I32) {
+      if (0) VG_(printf)("mkLazy2: I32 x I32 -> I32\n");
+      at = mkUifU(mce, Ity_I32, va1, va2);
+      at = mkPCastTo(mce, Ity_I32, at);
+      return at;
+   }
+
    if (0) {
       VG_(printf)("mkLazy2 ");
       ppIRType(t1);
@@ -3942,6 +3950,16 @@
       case Iop_CmpExpD128:
          return mkLazy2(mce, Ity_I32, vatom1, vatom2);
 
+      case Iop_MaxNumF32:
+      case Iop_MinNumF32:
+         /* F32 x F32 -> F32 */
+         return mkLazy2(mce, Ity_I32, vatom1, vatom2);
+
+      case Iop_MaxNumF64:
+      case Iop_MinNumF64:
+         /* F64 x F64 -> F64 */
+         return mkLazy2(mce, Ity_I64, vatom1, vatom2);
+
       /* non-FP after here */
 
       case Iop_DivModU64to32:

Modified: trunk/memcheck/tests/vbit-test/irops.c
==============================================================================
--- trunk/memcheck/tests/vbit-test/irops.c (original)
+++ trunk/memcheck/tests/vbit-test/irops.c Fri Jan 13 18:02:38 2017
@@ -295,6 +295,12 @@
   { DEFOP(Iop_RecpExpF64, UNDEF_UNKNOWN), },
   { DEFOP(Iop_RecpExpF32, UNDEF_UNKNOWN), },
 
+  /* --------- Possibly required by IEEE 754-2008. --------- */
+  { DEFOP(Iop_MaxNumF64, UNDEF_ALL), .arm = 1 },
+  { DEFOP(Iop_MinNumF64, UNDEF_ALL), .arm = 1 },
+  { DEFOP(Iop_MaxNumF32, UNDEF_ALL), .arm = 1 },
+  { DEFOP(Iop_MinNumF32, UNDEF_ALL), .arm = 1 },
+
   /* ------------------ 16-bit scalar FP ------------------ */
   { DEFOP(Iop_F16toF64,  UNDEF_ALL), .arm64 = 1 },
   { DEFOP(Iop_F64toF16,  UNDEF_ALL), .arm64 = 1 },


------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
Valgrind-developers mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/valgrind-developers