reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
2420 EVT VT = N0.getValueType(); 2426 return DAG.getNode(ISD::SUB, DL, VT, N0, 2431 if (SDValue V = foldAddSubMasked1(true, N0, N1, DAG, DL)) 2438 if (!TLI.preferIncOfAddToSubOfNot(VT) && N0.hasOneUse() && 2439 N0.getOpcode() == ISD::ADD && isOneOrOneSplat(N0.getOperand(1))) { 2439 N0.getOpcode() == ISD::ADD && isOneOrOneSplat(N0.getOperand(1))) { 2440 SDValue Not = DAG.getNode(ISD::XOR, DL, VT, N0.getOperand(0), 2448 if (N0.hasOneUse() && N0.getOpcode() == ISD::SUB && 2448 if (N0.hasOneUse() && N0.getOpcode() == ISD::SUB && 2449 isConstantOrConstantVector(N0.getOperand(1), /*NoOpaques=*/true)) { 2450 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N0.getOperand(0), N1); 2451 return DAG.getNode(ISD::SUB, DL, VT, Add, N0.getOperand(1)); 2455 if (N0.hasOneUse() && N0.getOpcode() == ISD::SUB && 2455 if (N0.hasOneUse() && N0.getOpcode() == ISD::SUB && 2456 isConstantOrConstantVector(N0.getOperand(0), /*NoOpaques=*/true)) { 2457 SDValue Sub = DAG.getNode(ISD::SUB, DL, VT, N1, N0.getOperand(1)); 2458 return DAG.getNode(ISD::ADD, DL, VT, Sub, N0.getOperand(0)); 2464 if (N0.getOpcode() == ISD::SIGN_EXTEND && 2465 N0.getOperand(0).getScalarValueSizeInBits() == 1 && 2467 SDValue ZExt = DAG.getNode(ISD::ZERO_EXTEND, DL, VT, N0.getOperand(0)); 2477 return DAG.getNode(ISD::SUB, DL, VT, N0, ZExt); 2485 N0, N1.getOperand(0), N1.getOperand(2)); 2491 DAG.getVTList(VT, Carry.getValueType()), N0,