// to them to be chained together for add and sub of arbitrarily large
// values.
ADDE, SUBE,
-
+
+ // Overflow-aware nodes for arithmetic operations. These nodes take two
+ // operands: the normal lhs and rhs to the add. They produce two results:
+ // the normal result of the add, and a flag indicating whether an overflow
+ // occured. These nodes are generated from the llvm.[su]add.with.overflow
+ // intrinsics. They are lowered by target-dependent code.
+ SADDO, UADDO,
+
// Simple binary floating point operators.
FADD, FSUB, FMUL, FDIV, FREM,
case ISD::CARRY_FALSE: return "carry_false";
case ISD::ADDC: return "addc";
case ISD::ADDE: return "adde";
+ case ISD::SADDO: return "saddo";
+ case ISD::UADDO: return "uaddo";
case ISD::SUBC: return "subc";
case ISD::SUBE: return "sube";
case ISD::SHL_PARTS: return "shl_parts";