Lines Matching refs:N2
2080 static void commuteShuffle(SDValue &N1, SDValue &N2, MutableArrayRef<int> M) { in commuteShuffle() argument
2081 std::swap(N1, N2); in commuteShuffle()
2086 SDValue N2, ArrayRef<int> Mask) { in getVectorShuffle() argument
2089 assert(VT == N1.getValueType() && VT == N2.getValueType() && in getVectorShuffle()
2093 if (N1.isUndef() && N2.isUndef()) in getVectorShuffle()
2107 if (N1 == N2) { in getVectorShuffle()
2108 N2 = getUNDEF(VT); in getVectorShuffle()
2115 commuteShuffle(N1, N2, MaskVec); in getVectorShuffle()
2143 if (auto *N2BV = dyn_cast<BuildVectorSDNode>(N2)) in getVectorShuffle()
2150 bool N2Undef = N2.isUndef(); in getVectorShuffle()
2164 N2 = getUNDEF(VT); in getVectorShuffle()
2167 commuteShuffle(N1, N2, MaskVec); in getVectorShuffle()
2170 N2Undef = N2.isUndef(); in getVectorShuffle()
2230 SDValue Ops[2] = { N1, N2 }; in getVectorShuffle()
2527 SDValue SelectionDAG::FoldSetCC(EVT VT, SDValue N1, SDValue N2, in FoldSetCC() argument
2568 if ((N1.isUndef() || N2.isUndef()) && in FoldSetCC()
2574 if (N1.isUndef() && N2.isUndef()) in FoldSetCC()
2579 if (N1.isUndef() || N2.isUndef() || N1 == N2) in FoldSetCC()
2583 if (ConstantSDNode *N2C = dyn_cast<ConstantSDNode>(N2)) { in FoldSetCC()
2594 auto *N2CFP = dyn_cast<ConstantFPSDNode>(N2); in FoldSetCC()
2652 } else if (N1CFP && OpVT.isSimple() && !N2.isUndef()) { in FoldSetCC()
2657 return getSetCC(dl, VT, N2, N1, SwappedCond); in FoldSetCC()
2659 (OpVT.isFloatingPoint() && (N1.isUndef() || N2.isUndef()))) { in FoldSetCC()
6329 const SDNode *N2) { in FoldSymbolOffset() argument
6334 auto *C2 = dyn_cast<ConstantSDNode>(N2); in FoldSymbolOffset()
6598 SDValue N2 = peekThroughBitcasts(Ops[1]); in FoldConstantArithmetic() local
6600 auto *BV2 = dyn_cast<BuildVectorSDNode>(N2); in FoldConstantArithmetic()
6602 N2.getValueType().isInteger()) { in FoldConstantArithmetic()
6625 BVVT = N2.getValueType(); in FoldConstantArithmetic()
6768 SDValue N2 = Ops[1]; in foldConstantFPMath() local
6770 ConstantFPSDNode *N2CFP = isConstOrConstSplatFP(N2, /*AllowUndefs*/ false); in foldConstantFPMath()
6818 if (N1C && N1C->getValueAPF().isNegZero() && N2.isUndef()) in foldConstantFPMath()
6828 if (N1.isUndef() && N2.isUndef()) in foldConstantFPMath()
6830 if (N1.isUndef() || N2.isUndef()) in foldConstantFPMath()
6866 SDValue N1, SDValue N2) { in getNode() argument
6870 return getNode(Opcode, DL, VT, N1, N2, Flags); in getNode()
6874 SDValue &N2) const { in canonicalizeCommutativeBinop()
6881 SDNode *N2C = isConstantIntBuildVectorOrConstantInt(N2); in canonicalizeCommutativeBinop()
6883 SDNode *N2CFP = isConstantFPBuildVectorOrConstantFP(N2); in canonicalizeCommutativeBinop()
6885 std::swap(N1, N2); in canonicalizeCommutativeBinop()
6890 N2.getOpcode() == ISD::STEP_VECTOR) in canonicalizeCommutativeBinop()
6891 std::swap(N1, N2); in canonicalizeCommutativeBinop()
6895 SDValue N1, SDValue N2, const SDNodeFlags Flags) { in getNode() argument
6897 N2.getOpcode() != ISD::DELETED_NODE && in getNode()
6900 canonicalizeCommutativeBinop(Opcode, N1, N2); in getNode()
6903 auto *N2C = dyn_cast<ConstantSDNode>(N2); in getNode()
6908 isConstOrConstSplat(N2, /*AllowUndefs*/ false, /*AllowTruncation*/ true); in getNode()
6914 N2.getValueType() == MVT::Other && "Invalid token factor!"); in getNode()
6916 if (N1.getOpcode() == ISD::EntryToken) return N2; in getNode()
6917 if (N2.getOpcode() == ISD::EntryToken) return N1; in getNode()
6918 if (N1 == N2) return N1; in getNode()
6922 SDValue Ops[] = {N1, N2}; in getNode()
6928 SDValue Ops[] = {N1, N2}; in getNode()
6935 assert(N1.getValueType() == N2.getValueType() && in getNode()
6940 return N2; in getNode()
6949 assert(N1.getValueType() == N2.getValueType() && in getNode()
6957 return getNode(ISD::XOR, DL, VT, N1, N2); in getNode()
6961 assert(N1.getValueType() == N2.getValueType() && in getNode()
6964 return getNode(ISD::AND, DL, VT, N1, N2); in getNode()
6982 assert(N1.getValueType() == N2.getValueType() && in getNode()
6987 return getNode(ISD::OR, DL, VT, N1, N2); in getNode()
6990 return getNode(ISD::AND, DL, VT, N1, getNOT(DL, N2, VT)); in getNode()
6995 assert(N1.getValueType() == N2.getValueType() && in getNode()
7009 assert(N1.getValueType() == N2.getValueType() && in getNode()
7015 assert(N1.getValueType() == N2.getValueType() && in getNode()
7021 assert(N1.getValueType() == N2.getValueType() && in getNode()
7024 return getNode(ISD::OR, DL, VT, N1, N2); in getNode()
7029 assert(N1.getValueType() == N2.getValueType() && in getNode()
7032 return getNode(ISD::AND, DL, VT, N1, N2); in getNode()
7040 assert(N1.getValueType() == N2.getValueType() && in getNode()
7042 if (SDValue V = simplifyFPBinop(Opcode, N1, N2, Flags)) in getNode()
7048 N2.getValueType().isFloatingPoint() && in getNode()
7060 if (SDValue V = simplifyShift(N1, N2)) in getNode()
7067 assert(VT.isInteger() && N2.getValueType().isInteger() && in getNode()
7069 assert((!VT.isVector() || VT == N2.getValueType()) && in getNode()
7075 assert(N2.getValueType().getScalarSizeInBits() >= in getNode()
7097 EVT EVT = cast<VTSDNode>(N2)->getVT(); in getNode()
7109 EVT EVT = cast<VTSDNode>(N2)->getVT(); in getNode()
7160 assert(VT.isInteger() && cast<VTSDNode>(N2)->getVT().isInteger() && in getNode()
7168 assert(!cast<VTSDNode>(N2)->getVT().isVector() && in getNode()
7170 assert(cast<VTSDNode>(N2)->getVT().bitsLE(VT.getScalarType()) && in getNode()
7180 if (N1.isUndef() || N2.isUndef()) in getNode()
7242 return getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, N1.getOperand(0), N2); in getNode()
7320 if (N1.getOpcode() == ISD::INSERT_SUBVECTOR && N2 == N1.getOperand(2) && in getNode()
7328 if (SDValue SV = FoldConstantArithmetic(Opcode, DL, VT, {N1, N2}, Flags)) in getNode()
7334 std::swap(N1, N2); in getNode()
7352 if (N2.isUndef()) { in getNode()
7382 SDValue Ops[] = {N1, N2}; in getNode()
7408 SDValue N1, SDValue N2, SDValue N3) { in getNode() argument
7412 return getNode(Opcode, DL, VT, N1, N2, N3, Flags); in getNode()
7416 SDValue N1, SDValue N2, SDValue N3, in getNode() argument
7419 N2.getOpcode() != ISD::DELETED_NODE && in getNode()
7427 assert(N1.getValueType() == VT && N2.getValueType() == VT && in getNode()
7430 ConstantFPSDNode *N2CFP = dyn_cast<ConstantFPSDNode>(N2); in getNode()
7447 SDValue Ops[] = {N1, N2, N3}; in getNode()
7453 SDValue Ops[] = {N1, N2, N3}; in getNode()
7460 assert(N1.getValueType() == N2.getValueType() && in getNode()
7468 if (SDValue V = FoldSetCC(VT, N1, N2, cast<CondCodeSDNode>(N3)->get(), DL)) in getNode()
7471 SDValue Ops[] = {N1, N2, N3}; in getNode()
7480 if (SDValue V = simplifySelect(N1, N2, N3)) in getNode()
7504 if (N2.isUndef()) in getNode()
7511 if (N1.isUndef() && N2.isUndef()) in getNode()
7514 EVT N2VT = N2.getValueType(); in getNode()
7538 return N2; in getNode()
7542 if (N1.isUndef() && N2.getOpcode() == ISD::EXTRACT_SUBVECTOR && in getNode()
7543 N2.getOperand(1) == N3 && N2.getOperand(0).getValueType() == VT) in getNode()
7544 return N2.getOperand(0); in getNode()
7561 [[maybe_unused]] EVT MaskVT = N2.getValueType(); in getNode()
7570 if (N1.isUndef() || N2.isUndef()) in getNode()
7580 SDValue Ops[] = {N1, N2, N3}; in getNode()
7606 SDValue N1, SDValue N2, SDValue N3, SDValue N4) { in getNode() argument
7607 SDValue Ops[] = { N1, N2, N3, N4 }; in getNode()
7612 SDValue N1, SDValue N2, SDValue N3, SDValue N4, in getNode() argument
7614 SDValue Ops[] = { N1, N2, N3, N4, N5 }; in getNode()
10184 SDValue N1 = Ops[0], N2 = Ops[1]; in getNode() local
10185 canonicalizeCommutativeBinop(Opcode, N1, N2); in getNode()
10188 ConstantSDNode *N2CV = isConstOrConstSplat(N2, /*AllowUndefs*/ false, in getNode()
10199 SDValue F2 = getFreeze(N2); in getNode()
10317 return getNode(Opcode, DL, VT, N1, N2, N3.getOperand(0)); in getNode()
10324 return getNode(Opcode, DL, VT, N1, N2, N3.getOperand(0)); in getNode()
10366 SDValue N1, SDValue N2) { in getNode() argument
10367 SDValue Ops[] = { N1, N2 }; in getNode()
10372 SDValue N1, SDValue N2, SDValue N3) { in getNode() argument
10373 SDValue Ops[] = { N1, N2, N3 }; in getNode()
10378 SDValue N1, SDValue N2, SDValue N3, SDValue N4) { in getNode() argument
10379 SDValue Ops[] = { N1, N2, N3, N4 }; in getNode()
10384 SDValue N1, SDValue N2, SDValue N3, SDValue N4, in getNode() argument
10386 SDValue Ops[] = { N1, N2, N3, N4, N5 }; in getNode()