Lines Matching refs:N2

2043 static void commuteShuffle(SDValue &N1, SDValue &N2, MutableArrayRef<int> M) {  in commuteShuffle()  argument
2044 std::swap(N1, N2); in commuteShuffle()
2049 SDValue N2, ArrayRef<int> Mask) { in getVectorShuffle() argument
2052 assert(VT == N1.getValueType() && VT == N2.getValueType() && in getVectorShuffle()
2056 if (N1.isUndef() && N2.isUndef()) in getVectorShuffle()
2070 if (N1 == N2) { in getVectorShuffle()
2071 N2 = getUNDEF(VT); in getVectorShuffle()
2078 commuteShuffle(N1, N2, MaskVec); in getVectorShuffle()
2106 if (auto *N2BV = dyn_cast<BuildVectorSDNode>(N2)) in getVectorShuffle()
2113 bool N2Undef = N2.isUndef(); in getVectorShuffle()
2127 N2 = getUNDEF(VT); in getVectorShuffle()
2130 commuteShuffle(N1, N2, MaskVec); in getVectorShuffle()
2133 N2Undef = N2.isUndef(); in getVectorShuffle()
2192 SDValue Ops[2] = { N1, N2 }; in getVectorShuffle()
2486 SDValue SelectionDAG::FoldSetCC(EVT VT, SDValue N1, SDValue N2, in FoldSetCC() argument
2527 if ((N1.isUndef() || N2.isUndef()) && in FoldSetCC()
2533 if (N1.isUndef() && N2.isUndef()) in FoldSetCC()
2538 if (N1.isUndef() || N2.isUndef() || N1 == N2) in FoldSetCC()
2542 if (ConstantSDNode *N2C = dyn_cast<ConstantSDNode>(N2)) { in FoldSetCC()
2553 auto *N2CFP = dyn_cast<ConstantFPSDNode>(N2); in FoldSetCC()
2611 } else if (N1CFP && OpVT.isSimple() && !N2.isUndef()) { in FoldSetCC()
2616 return getSetCC(dl, VT, N2, N1, SwappedCond); in FoldSetCC()
2618 (OpVT.isFloatingPoint() && (N1.isUndef() || N2.isUndef()))) { in FoldSetCC()
6008 const SDNode *N2) { in FoldSymbolOffset() argument
6013 auto *C2 = dyn_cast<ConstantSDNode>(N2); in FoldSymbolOffset()
6276 SDValue N2 = peekThroughBitcasts(Ops[1]); in FoldConstantArithmetic() local
6278 auto *BV2 = dyn_cast<BuildVectorSDNode>(N2); in FoldConstantArithmetic()
6280 if (BV1 && BV2 && BVVT.isInteger() && BVVT == N2.getValueType()) { in FoldConstantArithmetic()
6439 SDValue N2 = Ops[1]; in foldConstantFPMath() local
6441 ConstantFPSDNode *N2CFP = isConstOrConstSplatFP(N2, /*AllowUndefs*/ false); in foldConstantFPMath()
6489 if (N1C && N1C->getValueAPF().isNegZero() && N2.isUndef()) in foldConstantFPMath()
6499 if (N1.isUndef() && N2.isUndef()) in foldConstantFPMath()
6501 if (N1.isUndef() || N2.isUndef()) in foldConstantFPMath()
6536 SDValue N1, SDValue N2) { in getNode() argument
6540 return getNode(Opcode, DL, VT, N1, N2, Flags); in getNode()
6544 SDValue &N2) const { in canonicalizeCommutativeBinop()
6551 SDNode *N2C = isConstantIntBuildVectorOrConstantInt(N2); in canonicalizeCommutativeBinop()
6553 SDNode *N2CFP = isConstantFPBuildVectorOrConstantFP(N2); in canonicalizeCommutativeBinop()
6555 std::swap(N1, N2); in canonicalizeCommutativeBinop()
6560 N2.getOpcode() == ISD::STEP_VECTOR) in canonicalizeCommutativeBinop()
6561 std::swap(N1, N2); in canonicalizeCommutativeBinop()
6565 SDValue N1, SDValue N2, const SDNodeFlags Flags) { in getNode() argument
6567 N2.getOpcode() != ISD::DELETED_NODE && in getNode()
6570 canonicalizeCommutativeBinop(Opcode, N1, N2); in getNode()
6573 auto *N2C = dyn_cast<ConstantSDNode>(N2); in getNode()
6578 isConstOrConstSplat(N2, /*AllowUndefs*/ false, /*AllowTruncation*/ true); in getNode()
6584 N2.getValueType() == MVT::Other && "Invalid token factor!"); in getNode()
6586 if (N1.getOpcode() == ISD::EntryToken) return N2; in getNode()
6587 if (N2.getOpcode() == ISD::EntryToken) return N1; in getNode()
6588 if (N1 == N2) return N1; in getNode()
6592 SDValue Ops[] = {N1, N2}; in getNode()
6598 SDValue Ops[] = {N1, N2}; in getNode()
6605 assert(N1.getValueType() == N2.getValueType() && in getNode()
6610 return N2; in getNode()
6619 assert(N1.getValueType() == N2.getValueType() && in getNode()
6627 return getNode(ISD::XOR, DL, VT, N1, N2); in getNode()
6631 assert(N1.getValueType() == N2.getValueType() && in getNode()
6634 return getNode(ISD::AND, DL, VT, N1, N2); in getNode()
6652 assert(N1.getValueType() == N2.getValueType() && in getNode()
6657 return getNode(ISD::OR, DL, VT, N1, N2); in getNode()
6660 return getNode(ISD::AND, DL, VT, N1, getNOT(DL, N2, VT)); in getNode()
6666 assert(N1.getValueType() == N2.getValueType() && in getNode()
6672 assert(N1.getValueType() == N2.getValueType() && in getNode()
6675 return getNode(ISD::OR, DL, VT, N1, N2); in getNode()
6680 assert(N1.getValueType() == N2.getValueType() && in getNode()
6683 return getNode(ISD::AND, DL, VT, N1, N2); in getNode()
6691 assert(N1.getValueType() == N2.getValueType() && in getNode()
6693 if (SDValue V = simplifyFPBinop(Opcode, N1, N2, Flags)) in getNode()
6699 N2.getValueType().isFloatingPoint() && in getNode()
6711 if (SDValue V = simplifyShift(N1, N2)) in getNode()
6718 assert(VT.isInteger() && N2.getValueType().isInteger() && in getNode()
6720 assert((!VT.isVector() || VT == N2.getValueType()) && in getNode()
6726 assert(N2.getValueType().getScalarSizeInBits() >= in getNode()
6748 EVT EVT = cast<VTSDNode>(N2)->getVT(); in getNode()
6760 EVT EVT = cast<VTSDNode>(N2)->getVT(); in getNode()
6811 assert(VT.isInteger() && cast<VTSDNode>(N2)->getVT().isInteger() && in getNode()
6819 assert(!cast<VTSDNode>(N2)->getVT().isVector() && in getNode()
6821 assert(cast<VTSDNode>(N2)->getVT().bitsLE(VT.getScalarType()) && in getNode()
6831 if (N1.isUndef() || N2.isUndef()) in getNode()
6893 return getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, N1.getOperand(0), N2); in getNode()
6971 if (N1.getOpcode() == ISD::INSERT_SUBVECTOR && N2 == N1.getOperand(2) && in getNode()
6979 if (SDValue SV = FoldConstantArithmetic(Opcode, DL, VT, {N1, N2})) in getNode()
6985 std::swap(N1, N2); in getNode()
7003 if (N2.isUndef()) { in getNode()
7033 SDValue Ops[] = {N1, N2}; in getNode()
7059 SDValue N1, SDValue N2, SDValue N3) { in getNode() argument
7063 return getNode(Opcode, DL, VT, N1, N2, N3, Flags); in getNode()
7067 SDValue N1, SDValue N2, SDValue N3, in getNode() argument
7070 N2.getOpcode() != ISD::DELETED_NODE && in getNode()
7078 assert(N1.getValueType() == VT && N2.getValueType() == VT && in getNode()
7081 ConstantFPSDNode *N2CFP = dyn_cast<ConstantFPSDNode>(N2); in getNode()
7098 SDValue Ops[] = {N1, N2, N3}; in getNode()
7104 SDValue Ops[] = {N1, N2, N3}; in getNode()
7111 assert(N1.getValueType() == N2.getValueType() && in getNode()
7119 if (SDValue V = FoldSetCC(VT, N1, N2, cast<CondCodeSDNode>(N3)->get(), DL)) in getNode()
7122 SDValue Ops[] = {N1, N2, N3}; in getNode()
7131 if (SDValue V = simplifySelect(N1, N2, N3)) in getNode()
7155 if (N2.isUndef()) in getNode()
7162 if (N1.isUndef() && N2.isUndef()) in getNode()
7165 EVT N2VT = N2.getValueType(); in getNode()
7189 return N2; in getNode()
7193 if (N1.isUndef() && N2.getOpcode() == ISD::EXTRACT_SUBVECTOR && in getNode()
7194 N2.getOperand(1) == N3 && N2.getOperand(0).getValueType() == VT) in getNode()
7195 return N2.getOperand(0); in getNode()
7215 SDValue Ops[] = {N1, N2, N3}; in getNode()
7241 SDValue N1, SDValue N2, SDValue N3, SDValue N4) { in getNode() argument
7242 SDValue Ops[] = { N1, N2, N3, N4 }; in getNode()
7247 SDValue N1, SDValue N2, SDValue N3, SDValue N4, in getNode() argument
7249 SDValue Ops[] = { N1, N2, N3, N4, N5 }; in getNode()
9859 SDValue N1 = Ops[0], N2 = Ops[1]; in getNode() local
9860 canonicalizeCommutativeBinop(Opcode, N1, N2); in getNode()
9863 ConstantSDNode *N2CV = isConstOrConstSplat(N2, /*AllowUndefs*/ false, in getNode()
9874 SDValue F2 = getFreeze(N2); in getNode()
9980 return getNode(Opcode, DL, VT, N1, N2, N3.getOperand(0)); in getNode()
9987 return getNode(Opcode, DL, VT, N1, N2, N3.getOperand(0)); in getNode()
10029 SDValue N1, SDValue N2) { in getNode() argument
10030 SDValue Ops[] = { N1, N2 }; in getNode()
10035 SDValue N1, SDValue N2, SDValue N3) { in getNode() argument
10036 SDValue Ops[] = { N1, N2, N3 }; in getNode()
10041 SDValue N1, SDValue N2, SDValue N3, SDValue N4) { in getNode() argument
10042 SDValue Ops[] = { N1, N2, N3, N4 }; in getNode()
10047 SDValue N1, SDValue N2, SDValue N3, SDValue N4, in getNode() argument
10049 SDValue Ops[] = { N1, N2, N3, N4, N5 }; in getNode()