• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/

Lines Matching refs:N2

1613 /// Swaps the values of N1 and N2. Swaps all indices in the shuffle mask M that
1614 /// point at N1 to point at N2 and indices that point at N2 to point at N1.
1615 static void commuteShuffle(SDValue &N1, SDValue &N2, MutableArrayRef<int> M) {
1616 std::swap(N1, N2);
1621 SDValue N2, ArrayRef<int> Mask) {
1624 assert(VT == N1.getValueType() && VT == N2.getValueType() &&
1628 if (N1.isUndef() && N2.isUndef())
1642 if (N1 == N2) {
1643 N2 = getUNDEF(VT);
1650 commuteShuffle(N1, N2, MaskVec);
1678 if (auto *N2BV = dyn_cast<BuildVectorSDNode>(N2))
1685 bool N2Undef = N2.isUndef();
1699 N2 = getUNDEF(VT);
1702 commuteShuffle(N1, N2, MaskVec);
1705 N2Undef = N2.isUndef();
1767 SDValue Ops[2] = { N1, N2 };
2046 SDValue SelectionDAG::FoldSetCC(EVT VT, SDValue N1, SDValue N2,
2077 if ((N1.isUndef() || N2.isUndef()) &&
2083 if (N1.isUndef() && N2.isUndef())
2088 if (N1 == N2)
2092 if (ConstantSDNode *N2C = dyn_cast<ConstantSDNode>(N2)) {
2114 auto *N2CFP = dyn_cast<ConstantFPSDNode>(N2);
2172 } else if (N1CFP && OpVT.isSimple() && !N2.isUndef()) {
2177 return getSetCC(dl, VT, N2, N1, SwappedCond);
2179 (OpVT.isFloatingPoint() && (N1.isUndef() || N2.isUndef()))) {
4887 const SDNode *N2) {
4892 auto *C2 = dyn_cast<ConstantSDNode>(N2);
4948 SDNode *N2 = Ops[1].getNode();
4952 if (auto *C2 = dyn_cast<ConstantSDNode>(N2)) {
4970 return FoldSymbolOffset(Opcode, VT, GA, N2);
4972 if (GlobalAddressSDNode *GA = dyn_cast<GlobalAddressSDNode>(N2))
4986 auto *BV2 = dyn_cast<BuildVectorSDNode>(N2);
4987 if (!BV2 && !N2->isUndef())
5145 EVT VT, SDValue N1, SDValue N2) {
5151 auto *N2CFP = dyn_cast<ConstantFPSDNode>(N2.getNode());
5189 if (N1CFP && N1CFP->getValueAPF().isNegZero() && N2.isUndef())
5199 if (N1.isUndef() && N2.isUndef())
5201 if (N1.isUndef() || N2.isUndef())
5236 SDValue N1, SDValue N2, const SDNodeFlags Flags) {
5238 ConstantSDNode *N2C = dyn_cast<ConstantSDNode>(N2);
5240 ConstantFPSDNode *N2CFP = dyn_cast<ConstantFPSDNode>(N2);
5246 std::swap(N1, N2);
5249 std::swap(N1, N2);
5257 N2.getValueType() == MVT::Other && "Invalid token factor!");
5259 if (N1.getOpcode() == ISD::EntryToken) return N2;
5260 if (N2.getOpcode() == ISD::EntryToken) return N1;
5261 if (N1 == N2) return N1;
5265 SDValue Ops[] = {N1, N2};
5271 SDValue Ops[] = {N1, N2};
5278 assert(N1.getValueType() == N2.getValueType() &&
5283 return N2;
5292 assert(N1.getValueType() == N2.getValueType() &&
5301 assert(N1.getValueType() == N2.getValueType() &&
5324 assert(N1.getValueType() == N2.getValueType() &&
5333 assert(N1.getValueType() == N2.getValueType() &&
5335 if (SDValue V = simplifyFPBinop(Opcode, N1, N2, Flags))
5338 case ISD::FCOPYSIGN: // N1 and result must match. N1/N2 need not match.
5341 N2.getValueType().isFloatingPoint() &&
5353 if (SDValue V = simplifyShift(N1, N2))
5360 assert(VT.isInteger() && N2.getValueType().isInteger() &&
5362 assert((!VT.isVector() || VT == N2.getValueType()) &&
5368 assert(N2.getValueType().getScalarSizeInBits().getFixedSize() >=
5390 EVT EVT = cast<VTSDNode>(N2)->getVT();
5402 EVT EVT = cast<VTSDNode>(N2)->getVT();
5449 if (N1.isUndef() || N2.isUndef())
5509 return getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, N1.getOperand(0), N2);
5516 // Here we are completely ignoring the extract element index (N2),
5584 if (N1.getOpcode() == ISD::INSERT_SUBVECTOR && N2 == N1.getOperand(2) &&
5591 if (SDValue SV = FoldConstantArithmetic(Opcode, DL, VT, {N1, N2}))
5594 if (SDValue V = foldConstantFPMath(Opcode, DL, VT, N1, N2))
5600 std::swap(N1, N2);
5618 if (N2.isUndef()) {
5648 SDValue Ops[] = {N1, N2};
5674 SDValue N1, SDValue N2, SDValue N3,
5680 assert(N1.getValueType() == VT && N2.getValueType() == VT &&
5683 ConstantFPSDNode *N2CFP = dyn_cast<ConstantFPSDNode>(N2);
5696 SDValue Ops[] = {N1, N2, N3};
5702 SDValue Ops[] = {N1, N2, N3};
5709 assert(N1.getValueType() == N2.getValueType() &&
5717 if (SDValue V = FoldSetCC(VT, N1, N2, cast<CondCodeSDNode>(N3)->get(), DL))
5720 SDValue Ops[] = {N1, N2, N3};
5729 if (SDValue V = simplifySelect(N1, N2, N3))
5748 if (N2.isUndef())
5755 if (N1.isUndef() && N2.isUndef())
5758 EVT N2VT = N2.getValueType();
5778 return N2;
5782 if (N1.isUndef() && N2.getOpcode() == ISD::EXTRACT_SUBVECTOR &&
5783 N2.getOperand(1) == N3 && N2.getOperand(0).getValueType() == VT)
5784 return N2.getOperand(0);
5797 SDValue Ops[] = {N1, N2, N3};
5823 SDValue N1, SDValue N2, SDValue N3, SDValue N4) {
5824 SDValue Ops[] = { N1, N2, N3, N4 };
5829 SDValue N1, SDValue N2, SDValue N3, SDValue N4,
5831 SDValue Ops[] = { N1, N2, N3, N4, N5 };
7598 return getNode(Opcode, DL, VT, N1, N2, N3.getOperand(0));
7605 return getNode(Opcode, DL, VT, N1, N2, N3.getOperand(0));
7647 SDValue N1, SDValue N2) {
7648 SDValue Ops[] = { N1, N2 };
7653 SDValue N1, SDValue N2, SDValue N3) {
7654 SDValue Ops[] = { N1, N2, N3 };
7659 SDValue N1, SDValue N2, SDValue N3, SDValue N4) {
7660 SDValue Ops[] = { N1, N2, N3, N4 };
7665 SDValue N1, SDValue N2, SDValue N3, SDValue N4,
7667 SDValue Ops[] = { N1, N2, N3, N4, N5 };