Define target-indepenent SDNode types for multiply and divide that
authorDan Gohman <gohman@apple.com>
Fri, 5 Oct 2007 14:07:56 +0000 (14:07 +0000)
committerDan Gohman <gohman@apple.com>
Fri, 5 Oct 2007 14:07:56 +0000 (14:07 +0000)
produce two results.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42632 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/SelectionDAGNodes.h

index ee926f1dcacc5665c6cbd4af00192373c2e9feaf..e153ee927aba48aaa8c835225f3b6a1760b9c786 100644 (file)
@@ -233,6 +233,15 @@ namespace ISD {
 
     // Simple integer binary arithmetic operators.
     ADD, SUB, MUL, SDIV, UDIV, SREM, UREM,
+
+    // SMUL_LOHI/UMUL_LOHI - Multiply two integers of type iN, producing
+    // a signed/unsigned value of type i[2*n], and return the full value as
+    // two results, each of type iN.
+    SMUL_LOHI, UMUL_LOHI,
+
+    // SDIVREM/UDIVREM - Divide two integers and produce both a quotient and
+    // remainder result.
+    SDIVREM, UDIVREM,
     
     // CARRY_FALSE - This node is used when folding other nodes,
     // like ADDC/SUBC, which indicate the carry result is always false.