aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-01-20 18:50:39 +0000
committerChris Lattner <sabre@nondot.org>2005-01-20 18:50:39 +0000
commit5880b9fa3e964efdb5465fe740f1c7aaf054766a (patch)
treef6f61df3962c3781cf094fe700bd268a3a002009 /include/llvm/CodeGen
parent353c3e4981c735214e3d06dbc627a98517b9fcce (diff)
downloadexternal_llvm-5880b9fa3e964efdb5465fe740f1c7aaf054766a.zip
external_llvm-5880b9fa3e964efdb5465fe740f1c7aaf054766a.tar.gz
external_llvm-5880b9fa3e964efdb5465fe740f1c7aaf054766a.tar.bz2
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
Diffstat (limited to 'include/llvm/CodeGen')
-rw-r--r--include/llvm/CodeGen/SelectionDAGNodes.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h
index 37e0ed0..07bab5d 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