From: Chris Lattner Date: Thu, 20 Jan 2005 18:50:39 +0000 (+0000) Subject: Eliminate the unimplemented ADDC/SUBB operations, add ADD_PARTS/SUB_PARTS instead. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=5880b9fa3e964efdb5465fe740f1c7aaf054766a;p=oota-llvm.git Eliminate the unimplemented ADDC/SUBB operations, add ADD_PARTS/SUB_PARTS instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19713 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h index 37e0ed02071..07bab5dbf0b 100644 --- a/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/include/llvm/CodeGen/SelectionDAGNodes.h @@ -101,10 +101,12 @@ namespace ISD { // state. SETCC, - // addc - Three input, two output operator: (X, Y, C) -> (X+Y+C, - // Cout). X,Y are integer inputs of agreeing size, C is a one bit - // value, and two values are produced: the sum and a carry out. - ADDC, SUBB, + // ADD_PARTS/SUB_PARTS - These operators take two logical operands which are + // broken into a multiple pieces each, and return the resulting pieces of + // doing an atomic add/sub operation. This is used to handle add/sub of + // expanded types. The operation ordering is: + // [Lo,Hi] = op [LoLHS,HiLHS], [LoRHS,HiRHS] + ADD_PARTS, SUB_PARTS, // Conversion operators. These are all single input single output // operations. For all of these, the result type must be strictly