Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:N2

291     SDValue SimplifySelect(SDLoc DL, SDValue N0, SDValue N1, SDValue N2);
292 SDValue SimplifySelectCC(SDLoc DL, SDValue N0, SDValue N1, SDValue N2,
619 SDValue N0, N1, N2;
620 if (isSetCCEquivalent(N, N0, N1, N2) && N.getNode()->hasOneUse())
4507 SDValue N2 = N->getOperand(2);
4510 ConstantSDNode *N2C = dyn_cast<ConstantSDNode>(N2);
4515 if (N1 == N2)
4522 return N2;
4525 return DAG.getNode(ISD::OR, SDLoc(N), VT, N0, N2);
4557 return DAG.getNode(ISD::AND, SDLoc(N), VT, NOTNode, N2);
4571 return DAG.getNode(ISD::OR, SDLoc(N), VT, N0, N2);
4574 if (VT == MVT::i1 && (N0 == N2 || (N2C && N2C->getAPIntValue() == 0)))
4578 if (SimplifySelectOps(N, N1, N2))
4588 N1, N2, N0.getOperand(2));
4589 return SimplifySelect(SDLoc(N), N0, N1, N2);
4665 SDValue N2 = N->getOperand(2);
4681 N1 == LHS && N2.getOpcode() == ISD::SUB && N1 == N2.getOperand(1))
4682 isAbs = ISD::isBuildVectorAllZeros(N2.getOperand(0).getNode());
4684 N2 == LHS && N1.getOpcode() == ISD::SUB && N2 == N1.getOperand(1))
4727 // Fold (vselect (build_vector all_ones), N1, N2) -> N1
4730 // Fold (vselect (build_vector all_zeros), N1, N2) -> N2
4732 return N2;
4738 N2.getOpcode() == ISD::CONCAT_VECTORS &&
4751 SDValue N2 = N->getOperand(2);
4757 if (N2 == N3)
4758 return N2;
4768 return N2; // cond always true -> true val
4775 return DAG.getNode(ISD::SELECT_CC, SDLoc(N), N2.getValueType(),
4776 SCC.getOperand(0), SCC.getOperand(1), N2, N3,
4781 if (SimplifySelectOps(N, N2, N3))
4785 return SimplifySelectCC(SDLoc(N), N0, N1, N2, N3, CC);
6831 SDValue N2 = N->getOperand(2);
6839 return N2;
6841 return N2;
6844 return DAG.getNode(ISD::FADD, SDLoc(N), VT, N1, N2);
6846 return DAG.getNode(ISD::FADD, SDLoc(N), VT, N0, N2);
6850 return DAG.getNode(ISD::FMA, SDLoc(N), VT, N1, N0, N2);
6854 N2.getOpcode() == ISD::FMUL &&
6855 N0 == N2.getOperand(0) &&
6856 N2.getOperand(1).getOpcode() == ISD::ConstantFP) {
6858 DAG.getNode(ISD::FADD, dl, VT, N1, N2.getOperand(1)));
6869 N2);
6876 return DAG.getNode(ISD::FADD, dl, VT, N0, N2);
6882 return DAG.getNode(ISD::FADD, dl, VT, N2, RHSNeg);
6887 if (DAG.getTarget().Options.UnsafeFPMath && N1CFP && N0 == N2)
6894 N2.getOpcode() == ISD::FNEG && N2.getOperand(0) == N0)
7362 SDValue N2 = N->getOperand(2);
7377 N1.getOperand(0), N1.getOperand(1), N2);
7427 MVT::Other, Chain, SetCC, N2);
7472 MVT::Other, Chain, Tmp, N2);
7503 MVT::Other, Chain, SetCC, N2);
10772 SDValue N2 = N->getOperand(2);
10777 N0->getNumOperands() == 2 && N2.getOpcode() == ISD::Constant) {
10778 APInt InsIdx = cast<ConstantSDNode>(N2)->getAPIntValue();
10963 SDValue N1, SDValue N2){
10966 SDValue SCC = SimplifySelectCC(DL, N0.getOperand(0), N0.getOperand(1), N1, N2,
11105 /// SimplifySelectCC - Simplify an expression of the form (N0 cond N1) ? N2 : N3
11108 SDValue N2, SDValue N3,
11111 if (N2 == N3) return N2;
11113 EVT VT = N2.getValueType();
11115 ConstantSDNode *N2C = dyn_cast<ConstantSDNode>(N2.getNode());
11126 return N2;
11137 N0 == N2 && N3.getOpcode() == ISD::FNEG &&
11138 N2 == N3.getOperand(0))
11143 N0 == N3 && N2.getOpcode() == ISD::FNEG &&
11144 N2.getOperand(0) == N3)
11157 if (ConstantFPSDNode *TV = dyn_cast<ConstantFPSDNode>(N2))
11159 if (TLI.isTypeLegal(N2.getValueType()) &&
11160 (TLI.getOperationAction(ISD::ConstantFP, N2.getValueType()) !=
11207 (N1C->getAPIntValue() == 1 && N0 == N2))) { // (a < 1) ? a : 0
11209 EVT AType = N2.getValueType();
11227 return DAG.getNode(ISD::AND, DL, AType, Shift, N2);
11241 return DAG.getNode(ISD::AND, DL, AType, Shift, N2);
11296 if (N2.getValueType().bitsLT(SCC.getValueType()))
11297 Temp = DAG.getZeroExtendInReg(SCC, SDLoc(N2),
11298 N2.getValueType());
11300 Temp = DAG.getNode(ISD::ZERO_EXTEND, SDLoc(N2),
11301 N2.getValueType(), SCC);
11304 Temp = DAG.getNode(ISD::ZERO_EXTEND, SDLoc(N2),
11305 N2.getValueType(), SCC);
11316 ISD::SHL, DL, N2.getValueType(), Temp,
11373 N0 == N2 && N3.getOpcode() == ISD::SUB && N0 == N3.getOperand(1))
11377 N0 == N3 && N2.getOpcode() == ISD::SUB && N0 == N2.getOperand(1))
11378 SubC = dyn_cast<ConstantSDNode>(N2.getOperand(0));