Lines Matching defs:ADC

24436       (Opc == X86ISD::ADD || Opc == X86ISD::SUB || Opc == X86ISD::ADC ||
26592 // ADC/SBB
26599 // ADC/SBB.
32673 SDValue Sum = DAG.getNode(IsAdd ? X86ISD::ADC : X86ISD::SBB, DL, VTs,
34698 NODE_NAME_CASE(ADC)
48631 return DAG.getNode(X86ISD::ADC, DL, DAG.getVTList(VT, MVT::i32), TrueOp,
51643 /// then try to convert it to an ADC or SBB. This replaces TEST+SET+{ADD/SUB}
51644 /// with CMP+{ADC, SBB}.
51645 /// Also try (ADD/SUB)+(AND(SRL,1)) bit extraction pattern with BT+{ADC, SBB}.
51706 return DAG.getNode(IsSub ? X86ISD::SBB : X86ISD::ADC, DL,
51728 return DAG.getNode(IsSub ? X86ISD::SBB : X86ISD::ADC, DL,
51737 return DAG.getNode(IsSub ? X86ISD::ADC : X86ISD::SBB, DL,
51758 return DAG.getNode(IsSub ? X86ISD::ADC : X86ISD::SBB, DL,
51812 // Add the flags type for ADC/SBB nodes.
51818 return DAG.getNode(IsSub ? X86ISD::ADC : X86ISD::SBB, DL, VTs, X,
51823 return DAG.getNode(IsSub ? X86ISD::SBB : X86ISD::ADC, DL, VTs, X,
51828 /// then try to convert it to an ADC or SBB. This replaces TEST+SET+{ADD/SUB}
51829 /// with CMP+{ADC, SBB}.
56673 // Optimize RES, EFLAGS = X86ISD::ADC LHS, RHS, EFLAGS
56684 return DAG.getNode(X86ISD::ADC, SDLoc(N), N->getVTList(), RHS, LHS,
56687 // If the LHS and RHS of the ADC node are zero, then it can't overflow and
56705 // Fold ADC(C1,C2,Carry) -> ADC(0,C1+C2,Carry)
56711 return DAG.getNode(X86ISD::ADC, DL, N->getVTList(),
56719 return DAG.getNode(X86ISD::ADC, SDLoc(N), VTs, LHS, RHS, Flags);
56722 // Fold ADC(ADD(X,Y),0,Carry) -> ADC(X,Y,Carry)
56726 return DAG.getNode(X86ISD::ADC, SDLoc(N), N->getVTList(), LHS.getOperand(0),
57141 // Fold ADD(ADC(Y,0,W),X) -> ADC(X,Y,W)
57142 if (Op0.getOpcode() == X86ISD::ADC && Op0->hasOneUse() &&
57145 return DAG.getNode(X86ISD::ADC, SDLoc(Op0), Op0->getVTList(), Op1,
57293 // Fold SUB(X,ADC(Y,0,W)) -> SBB(X,Y,W)
57294 if (Op1.getOpcode() == X86ISD::ADC && Op1->hasOneUse() &&
57301 // Fold SUB(X,SBB(Y,Z,W)) -> SUB(ADC(X,Z,W),Y)
57302 // Don't fold to ADC(0,0,W)/SETCC_CARRY pattern which will prevent more folds.
57306 SDValue ADC = DAG.getNode(X86ISD::ADC, SDLoc(Op1), Op1->getVTList(), Op0,
57308 return DAG.getNode(ISD::SUB, DL, VT, ADC.getValue(0), Op1.getOperand(0));
59366 case X86ISD::ADC: return combineADC(N, DAG, DCI);