[llvm] [PowerPC] Deprecate uses of ISD::ADDC/ISD::ADDE/ISD::SUBC/ISD::SUBE (PR #116984)
zhijian lin via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 15 11:20:52 PST 2025
================
@@ -18252,11 +18320,13 @@ static SDValue combineADDToADDZE(SDNode *N, SelectionDAG &DAG,
SDValue Add = DAG.getNode(ISD::ADD, DL, MVT::i64, Z,
DAG.getConstant(NegConstant, DL, MVT::i64));
SDValue AddOrZ = NegConstant != 0 ? Add : Z;
- SDValue Addc = DAG.getNode(ISD::ADDC, DL, DAG.getVTList(MVT::i64, MVT::Glue),
- AddOrZ, DAG.getConstant(-1ULL, DL, MVT::i64));
- return DAG.getNode(ISD::ADDE, DL, VTs, LHS, DAG.getConstant(0, DL, MVT::i64),
+ SDValue Addc =
+ DAG.getNode(ISD::UADDO, DL, DAG.getVTList(MVT::i64, CarryType), AddOrZ,
----------------
diggerlin wrote:
since the third arg of ISD::UADDC_CARRY is zero here ,
I think it is OK to use the ISD::UADDO or ISD::UADDC_CARRY here. no matter using the second result of ISD::UADDO or ISD::UADDO as input of third arg of `ISD::UADDO_CARRY`
line 18326: `return DAG.getNode(ISD::UADDO_CARRY, DL, VTs, LHS,DAG.getConstant(0, DL, MVT::i64), SDValue(Addc.getNode(), 1));`
https://github.com/llvm/llvm-project/pull/116984
More information about the llvm-commits
mailing list