]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add two new primops needed by the amd64 front end.
authorJulian Seward <jseward@acm.org>
Mon, 31 Jan 2005 18:08:45 +0000 (18:08 +0000)
committerJulian Seward <jseward@acm.org>
Mon, 31 Jan 2005 18:08:45 +0000 (18:08 +0000)
git-svn-id: svn://svn.valgrind.org/vex/trunk@792

VEX/priv/ir/irdefs.c
VEX/pub/libvex_ir.h

index 6fa5804af6ec0955f098d40657c7b73c20b6b1f7..ef6bc5f5bdaf0c7eeb9326186be703c62c2c7aa2 100644 (file)
@@ -169,6 +169,9 @@ void ppIROp ( IROp op )
       case Iop_DivModU64to32: vex_printf("DivModU64to32"); return;
       case Iop_DivModS64to32: vex_printf("DivModS64to32"); return;
 
+      case Iop_DivModU128to64: vex_printf("DivModU128to64"); return;
+      case Iop_DivModS128to64: vex_printf("DivModS128to64"); return;
+
       case Iop_16HIto8:  vex_printf("16HIto8"); return;
       case Iop_16to8:    vex_printf("16to8");   return;
       case Iop_8HLto16:  vex_printf("8HLto16"); return;
@@ -1240,6 +1243,9 @@ void typeOfPrimop ( IROp op, IRType* t_dst, IRType* t_arg1, IRType* t_arg2 )
       case Iop_DivModU64to32: case Iop_DivModS64to32:
          BINARY(Ity_I64, Ity_I64,Ity_I32);
 
+      case Iop_DivModU128to64: case Iop_DivModS128to64:
+         BINARY(Ity_V128, Ity_V128,Ity_I64);
+
       case Iop_16HIto8: case Iop_16to8:
          UNARY(Ity_I8,Ity_I16);
       case Iop_8HLto16:
index 8f231ed925cbc0ef8b823d4839384bc72ce7f388..73ab79908968617c2f8ce965f0eb9d58b42b64a9 100644 (file)
@@ -210,12 +210,17 @@ typedef
       Iop_CmpLE32S,
       Iop_CmpLT32U,
       Iop_CmpLE32U,
+
       /* Division */
       /* TODO: clarify semantics wrt rounding, negative values, whatever */
       Iop_DivModU64to32, // :: I64,I32 -> I64
                          // of which lo half is div and hi half is mod
       Iop_DivModS64to32, // ditto, signed
 
+      Iop_DivModU128to64, // :: V128,I64 -> V128
+                          // of which lo half is div and hi half is mod
+      Iop_DivModS128to64, // ditto, signed
+
       /* Widening conversions */
       Iop_8Uto16, Iop_8Uto32, Iop_16Uto32, Iop_32Uto64,
       Iop_8Sto16, Iop_8Sto32, Iop_16Sto32, Iop_32Sto64,