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

Lines Matching refs:getNode

211   if (Res.getNode())
224 return DAG.getNode(ISD::AssertSext, SDLoc(N),
231 return DAG.getNode(ISD::AssertZext, SDLoc(N),
324 return DAG.getNode(ISD::BITCAST, dl, NOutVT, GetPromotedInteger(InOp));
328 return DAG.getNode(ISD::ANY_EXTEND, dl, NOutVT, GetSoftenedFloat(InOp));
331 return DAG.getNode(ISD::ANY_EXTEND, dl, NOutVT, GetSoftPromotedHalf(InOp));
335 return DAG.getNode(ISD::FP_TO_FP16, dl, NOutVT, GetPromotedFloat(InOp));
344 return DAG.getNode(ISD::ANY_EXTEND, dl, NOutVT,
361 InOp = DAG.getNode(ISD::ANY_EXTEND, dl,
365 return DAG.getNode(ISD::BITCAST, dl, NOutVT, InOp);
375 DAG.getNode(ISD::BITCAST, dl, NOutVT, GetWidenedVector(InOp));
383 Res = DAG.getNode(ISD::SRL, dl, NOutVT, Res,
401 InOp = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OutVT, InOp,
403 return DAG.getNode(ISD::ANY_EXTEND, dl, NOutVT, InOp);
409 return DAG.getNode(ISD::ANY_EXTEND, dl, NOutVT,
428 return DAG.getNode(ISD::FREEZE, SDLoc(N),
440 return DAG.getNode(ISD::SRL, dl, NVT, DAG.getNode(ISD::BSWAP, dl, NVT, Op),
452 return DAG.getNode(ISD::SRL, dl, NVT,
453 DAG.getNode(ISD::BITREVERSE, dl, NVT, Op),
460 return DAG.getNode(ISD::ANY_EXTEND, SDLoc(N),
473 SDValue Result = DAG.getNode(Opc, dl,
486 Op = DAG.getNode(N->getOpcode(), dl, NVT, Op);
488 return DAG.getNode(
497 return DAG.getNode(ISD::CTPOP, SDLoc(N), Op.getValueType(), Op);
511 Op = DAG.getNode(ISD::OR, dl, NVT, Op, DAG.getConstant(TopBit, dl, NVT));
513 return DAG.getNode(N->getOpcode(), dl, NVT, Op);
533 SDValue Ext = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, SVT, In, Op1);
538 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, NVT, Op0, Op1);
562 Res = DAG.getNode(NewOpc, dl, { NVT, MVT::Other },
568 Res = DAG.getNode(NewOpc, dl, NVT, N->getOperand(0));
577 return DAG.getNode((N->getOpcode() == ISD::FP_TO_UINT ||
587 return DAG.getNode(N->getOpcode(), dl, NVT, N->getOperand(0));
595 DAG.getNode(N->getOpcode(), dl, {NVT, MVT::Other}, N->getOperand(0));
617 return DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, NVT, Res,
627 return DAG.getNode(N->getOpcode(), dl, NVT, N->getOperand(0));
692 SDValue Res = DAG.getNode(N->getOpcode(), dl, DAG.getVTList(VT, SVT),
749 DAG.getNode(ISD::SHL, dl, PromotedType, Op1Promoted, ShiftAmount);
751 DAG.getNode(ISD::SHL, dl, PromotedType, Op2Promoted, ShiftAmount);
754 DAG.getNode(Opcode, dl, PromotedType, Op1Promoted, Op2Promoted);
755 return DAG.getNode(ShiftOp, dl, PromotedType, Result, ShiftAmount);
759 DAG.getNode(ISD::UMAX, dl, PromotedType, Op1Promoted, Op2Promoted);
760 return DAG.getNode(ISD::SUB, dl, PromotedType, Max, Op2Promoted);
767 DAG.getNode(ISD::ADD, dl, PromotedType, Op1Promoted, Op2Promoted);
768 return DAG.getNode(ISD::UMIN, dl, PromotedType, Add, SatMax);
777 DAG.getNode(AddOp, dl, PromotedType, Op1Promoted, Op2Promoted);
778 Result = DAG.getNode(ISD::SMIN, dl, PromotedType, Result, SatMax);
779 Result = DAG.getNode(ISD::SMAX, dl, PromotedType, Result, SatMin);
810 Op1Promoted = DAG.getNode(ISD::SHL, dl, PromotedType, Op1Promoted,
812 SDValue Result = DAG.getNode(N->getOpcode(), dl, PromotedType, Op1Promoted,
815 return DAG.getNode(ShiftOp, dl, PromotedType, Result,
818 return DAG.getNode(N->getOpcode(), dl, PromotedType, Op1Promoted, Op2Promoted,
832 return DAG.getNode(ISD::UMIN, dl, VT, V,
839 V = DAG.getNode(ISD::SMIN, dl, VT, V,
844 V = DAG.getNode(ISD::SMAX, dl, VT, V,
917 Op1Promoted = DAG.getNode(ISD::SHL, dl, PromotedType, Op1Promoted,
919 SDValue Res = DAG.getNode(N->getOpcode(), dl, PromotedType, Op1Promoted,
922 Res = DAG.getNode(Signed ? ISD::SRA : ISD::SRL, dl, PromotedType, Res,
958 SDValue Res = DAG.getNode(Opcode, dl, NVT, LHS, RHS);
962 SDValue Ofl = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, NVT, Res,
985 return DAG.getNode(ISD::VSELECT, SDLoc(N),
992 return DAG.getNode(ISD::SELECT_CC, SDLoc(N),
1027 SetCC = DAG.getNode(N->getOpcode(), dl, VTs, Opers);
1032 SetCC = DAG.getNode(N->getOpcode(), dl, SVT, N->getOperand(0),
1044 return DAG.getNode(ISD::SHL, SDLoc(N), LHS.getValueType(), LHS, RHS);
1049 return DAG.getNode(ISD::SIGN_EXTEND_INREG, SDLoc(N),
1059 return DAG.getNode(N->getOpcode(), SDLoc(N),
1067 return DAG.getNode(N->getOpcode(), SDLoc(N),
1075 return DAG.getNode(N->getOpcode(), SDLoc(N),
1085 return DAG.getNode(ISD::SRA, SDLoc(N), LHS.getValueType(), LHS, RHS);
1094 return DAG.getNode(ISD::SRL, SDLoc(N), LHS.getValueType(), LHS, RHS);
1126 EOp1 = DAG.getNode(ISD::TRUNCATE, dl, HalfNVT, EOp1);
1127 EOp2 = DAG.getNode(ISD::TRUNCATE, dl, HalfNVT, EOp2);
1129 return DAG.getNode(ISD::CONCAT_VECTORS, dl, NVT, EOp1, EOp2);
1138 SDValue WideTrunc = DAG.getNode(ISD::TRUNCATE, dl, TruncVT, WideInOp);
1143 SDValue WideExt = DAG.getNode(ISD::ZERO_EXTEND, dl, ExtVT, WideTrunc);
1147 return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, NVT, WideExt, ZeroIdx);
1152 return DAG.getNode(ISD::TRUNCATE, dl, NVT, Res);
1169 SDValue Res = DAG.getNode(Opcode, dl, NVT, LHS, RHS);
1206 SDValue Res = DAG.getNode(N->getOpcode(), SDLoc(N), DAG.getVTList(ValueVTs),
1212 return SDValue(Res.getNode(), 0);
1217 return DAG.getNode(ISD::ABS, SDLoc(N), Op0.getValueType(), Op0);
1241 SDValue Mul = DAG.getNode(N->getOpcode(), DL, VTs, LHS, RHS);
1251 SDValue Hi = DAG.getNode(ISD::SRL, DL, Mul.getValueType(), Mul,
1258 SDValue SExt = DAG.getNode(ISD::SIGN_EXTEND_INREG, DL, Mul.getValueType(),
1265 Overflow = DAG.getNode(ISD::OR, DL, N->getValueType(1), Overflow,
1266 SDValue(Mul.getNode(), 1));
1308 SDValue Res = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Parts[0]);
1310 SDValue Part = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Parts[i]);
1312 Part = DAG.getNode(ISD::SHL, dl, NVT, Part,
1315 Res = DAG.getNode(ISD::OR, dl, NVT, Res, Part);
1428 if (!Res.getNode()) return false;
1432 if (Res.getNode() == N)
1444 ReplaceValueWith(SDValue(N, 1), SDValue(Res.getNode(), 1));
1501 return DAG.getNode(ISD::ANY_EXTEND, SDLoc(N), N->getValueType(0), Op);
1549 Hi = DAG.getNode(ISD::SHL, dl, N->getValueType(0), Hi,
1552 return DAG.getNode(ISD::OR, dl, N->getValueType(0), Lo, Hi);
1665 Op = DAG.getNode(ISD::ANY_EXTEND, dl, N->getValueType(0), Op);
1666 return DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, Op.getValueType(),
1785 return DAG.getNode(ISD::TRUNCATE, SDLoc(N), N->getValueType(0), Op);
1801 Op = DAG.getNode(ISD::ANY_EXTEND, dl, N->getValueType(0), Op);
1872 return DAG.getNode(N->getOpcode(), SDLoc(N), VT, Op);
1876 SDValue Reduce = DAG.getNode(N->getOpcode(), dl, EltVT, Op);
1877 return DAG.getNode(ISD::TRUNCATE, dl, VT, Reduce);
2050 if (Lo.getNode())
2095 Hi = DAG.getNode(ISD::SHL, DL,
2101 Lo = DAG.getNode(ISD::SHL, DL, NVT, InL, DAG.getConstant(Amt, DL, ShTy));
2102 Hi = DAG.getNode(ISD::OR, DL, NVT,
2103 DAG.getNode(ISD::SHL, DL, NVT, InH,
2105 DAG.getNode(ISD::SRL, DL, NVT, InL,
2115 Lo = DAG.getNode(ISD::SRL, DL,
2122 Lo = DAG.getNode(ISD::OR, DL, NVT,
2123 DAG.getNode(ISD::SRL, DL, NVT, InL,
2125 DAG.getNode(ISD::SHL, DL, NVT, InH,
2127 Hi = DAG.getNode(ISD::SRL, DL, NVT, InH, DAG.getConstant(Amt, DL, ShTy));
2134 Hi = Lo = DAG.getNode(ISD::SRA, DL, NVT, InH,
2137 Lo = DAG.getNode(ISD::SRA, DL, NVT, InH,
2139 Hi = DAG.getNode(ISD::SRA, DL, NVT, InH,
2143 Hi = DAG.getNode(ISD::SRA, DL, NVT, InH,
2146 Lo = DAG.getNode(ISD::OR, DL, NVT,
2147 DAG.getNode(ISD::SRL, DL, NVT, InL,
2149 DAG.getNode(ISD::SHL, DL, NVT, InH,
2151 Hi = DAG.getNode(ISD::SRA, DL, NVT, InH, DAG.getConstant(Amt, DL, ShTy));
2185 Amt = DAG.getNode(ISD::AND, dl, ShTy, Amt,
2192 Hi = DAG.getNode(ISD::SHL, dl, NVT, InL, Amt); // High part from Lo part.
2196 Lo = DAG.getNode(ISD::SRL, dl, NVT, InH, Amt); // Lo part from Hi part.
2199 Hi = DAG.getNode(ISD::SRA, dl, NVT, InH, // Sign extend high part.
2201 Lo = DAG.getNode(ISD::SRA, dl, NVT, InH, Amt); // Lo part from Hi part.
2212 SDValue Amt2 = DAG.getNode(ISD::XOR, dl, ShTy, Amt,
2229 SDValue Sh1 = DAG.getNode(Op2, dl, NVT, InL, DAG.getConstant(1, dl, ShTy));
2231 SDValue Sh2 = DAG.getNode(Op2, dl, NVT, Sh1, Amt2);
2233 Lo = DAG.getNode(N->getOpcode(), dl, NVT, InL, Amt);
2234 Hi = DAG.getNode(ISD::OR, dl, NVT, DAG.getNode(Op1, dl, NVT, InH, Amt),Sh2);
2261 SDValue AmtExcess = DAG.getNode(ISD::SUB, dl, ShTy, Amt, NVBitsNode);
2262 SDValue AmtLack = DAG.getNode(ISD::SUB, dl, ShTy, NVBitsNode, Amt);
2274 LoS = DAG.getNode(ISD::SHL, dl, NVT, InL, Amt);
2275 HiS = DAG.getNode(ISD::OR, dl, NVT,
2276 DAG.getNode(ISD::SHL, dl, NVT, InH, Amt),
2277 DAG.getNode(ISD::SRL, dl, NVT, InL, AmtLack));
2281 HiL = DAG.getNode(ISD::SHL, dl, NVT, InL, AmtExcess); // Hi from Lo part.
2289 HiS = DAG.getNode(ISD::SRL, dl, NVT, InH, Amt);
2290 LoS = DAG.getNode(ISD::OR, dl, NVT,
2291 DAG.getNode(ISD::SRL, dl, NVT, InL, Amt),
2294 DAG.getNode(ISD::SHL, dl, NVT, InH, AmtLack));
2298 LoL = DAG.getNode(ISD::SRL, dl, NVT, InH, AmtExcess); // Lo from Hi part.
2306 HiS = DAG.getNode(ISD::SRA, dl, NVT, InH, Amt);
2307 LoS = DAG.getNode(ISD::OR, dl, NVT,
2308 DAG.getNode(ISD::SRL, dl, NVT, InL, Amt),
2309 DAG.getNode(ISD::SHL, dl, NVT, InH, AmtLack));
2312 HiL = DAG.getNode(ISD::SRA, dl, NVT, InH, // Sign of Hi part.
2314 LoL = DAG.getNode(ISD::SRA, dl, NVT, InH, AmtExcess); // Lo from Hi part.
2355 Hi = DAG.getNode(N->getOpcode(), DL, NVT, {LHSH, RHSH});
2366 SDValue LoMinMax = DAG.getNode(LoOpc, DL, NVT, {LHSL, RHSL});
2389 Lo = DAG.getNode(ISD::UADDO, dl, VTList, LoOps);
2391 Hi = DAG.getNode(ISD::ADDCARRY, dl, VTList, HiOps);
2393 Lo = DAG.getNode(ISD::USUBO, dl, VTList, LoOps);
2395 Hi = DAG.getNode(ISD::SUBCARRY, dl, VTList, HiOps);
2413 Lo = DAG.getNode(ISD::ADDC, dl, VTList, LoOps);
2415 Hi = DAG.getNode(ISD::ADDE, dl, VTList, HiOps);
2417 Lo = DAG.getNode(ISD::SUBC, dl, VTList, LoOps);
2419 Hi = DAG.getNode(ISD::SUBE, dl, VTList, HiOps);
2436 Lo = DAG.getNode(ISD::UADDO, dl, VTList, LoOps);
2437 Hi = DAG.getNode(ISD::ADD, dl, NVT, makeArrayRef(HiOps, 2));
2440 Lo = DAG.getNode(ISD::USUBO, dl, VTList, LoOps);
2441 Hi = DAG.getNode(ISD::SUB, dl, NVT, makeArrayRef(HiOps, 2));
2447 OVF = DAG.getNode(ISD::AND, dl, OvfVT, DAG.getConstant(1, dl, OvfVT), OVF);
2451 Hi = DAG.getNode(N->getOpcode(), dl, NVT, Hi, OVF);
2455 Hi = DAG.getNode(RevOpc, dl, NVT, Hi, OVF);
2461 Lo = DAG.getNode(ISD::ADD, dl, NVT, LoOps);
2462 Hi = DAG.getNode(ISD::ADD, dl, NVT, makeArrayRef(HiOps, 2));
2468 Hi = DAG.getNode(ISD::ADD, dl, NVT, Hi, Carry);
2479 Hi = DAG.getNode(ISD::ADD, dl, NVT, Hi, Carry2);
2481 Lo = DAG.getNode(ISD::SUB, dl, NVT, LoOps);
2482 Hi = DAG.getNode(ISD::SUB, dl, NVT, makeArrayRef(HiOps, 2));
2494 Hi = DAG.getNode(ISD::SUB, dl, NVT, Hi, Borrow);
2510 Lo = DAG.getNode(ISD::ADDC, dl, VTList, LoOps);
2512 Hi = DAG.getNode(ISD::ADDE, dl, VTList, HiOps);
2514 Lo = DAG.getNode(ISD::SUBC, dl, VTList, LoOps);
2516 Hi = DAG.getNode(ISD::SUBE, dl, VTList, HiOps);
2535 Lo = DAG.getNode(N->getOpcode(), dl, VTList, LoOps);
2537 Hi = DAG.getNode(N->getOpcode(), dl, VTList, HiOps);
2581 Lo = DAG.getNode(N->getOpcode(), dl, VTList, LoOps);
2583 Hi = DAG.getNode(CarryOp, dl, VTList, HiOps);
2589 SDValue Sum = DAG.getNode(NoCarryOp, dl, LHS.getValueType(), LHS, RHS);
2613 Lo = DAG.getNode(N->getOpcode(), dl, VTList, LoOps);
2615 Hi = DAG.getNode(N->getOpcode(), dl, VTList, HiOps);
2629 Lo = DAG.getNode(ISD::ANY_EXTEND, dl, NVT, Op);
2655 Hi = DAG.getNode(ISD::AssertSext, dl, NVT, Hi,
2659 Lo = DAG.getNode(ISD::AssertSext, dl, NVT, Lo, DAG.getValueType(EVT));
2661 Hi = DAG.getNode(ISD::SRA, dl, NVT, Lo,
2677 Hi = DAG.getNode(ISD::AssertZext, dl, NVT, Hi,
2681 Lo = DAG.getNode(ISD::AssertZext, dl, NVT, Lo, DAG.getValueType(EVT));
2691 Lo = DAG.getNode(ISD::BITREVERSE, dl, Lo.getValueType(), Lo);
2692 Hi = DAG.getNode(ISD::BITREVERSE, dl, Hi.getValueType(), Hi);
2699 Lo = DAG.getNode(ISD::BSWAP, dl, Lo.getValueType(), Lo);
2700 Hi = DAG.getNode(ISD::BSWAP, dl, Hi.getValueType(), Hi);
2723 SDValue Neg = DAG.getNode(ISD::SUB, dl, VT,
2746 SDValue LoLZ = DAG.getNode(N->getOpcode(), dl, NVT, Lo);
2747 SDValue HiLZ = DAG.getNode(ISD::CTLZ_ZERO_UNDEF, dl, NVT, Hi);
2750 DAG.getNode(ISD::ADD, dl, NVT, LoLZ,
2762 Lo = DAG.getNode(ISD::ADD, dl, NVT, DAG.getNode(ISD::CTPOP, dl, NVT, Lo),
2763 DAG.getNode(ISD::CTPOP, dl, NVT, Hi));
2777 SDValue LoLZ = DAG.getNode(ISD::CTTZ_ZERO_UNDEF, dl, NVT, Lo);
2778 SDValue HiLZ = DAG.getNode(N->getOpcode(), dl, NVT, Hi);
2781 DAG.getNode(ISD::ADD, dl, NVT, HiLZ,
2794 Lo = DAG.getNode(ISD::FLT_ROUNDS_, dl, {NVT, MVT::Other}, N->getOperand(0));
2797 Hi = DAG.getNode(ISD::SRA, dl, NVT, Lo,
2819 Op = DAG.getNode(ISD::FP16_TO_FP, dl, NFPVT, Op);
2848 Op = DAG.getNode(ISD::FP16_TO_FP, dl, NFPVT, Op);
2964 Hi = DAG.getNode(ISD::SRA, dl, NVT, Lo,
2993 Ch = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo.getValue(1),
3019 Ch = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo.getValue(1),
3024 Lo = DAG.getNode(
3026 DAG.getNode(ISD::SHL, dl, NVT, Hi,
3030 Hi = DAG.getNode(ExtType == ISD::SEXTLOAD ? ISD::SRA : ISD::SRL, dl, NVT,
3048 Lo = DAG.getNode(N->getOpcode(), dl, LL.getValueType(), LL, RL);
3049 Hi = DAG.getNode(N->getOpcode(), dl, LL.getValueType(), LH, RH);
3087 SDValue LLL = DAG.getNode(ISD::AND, dl, NVT, LL, Mask);
3088 SDValue RLL = DAG.getNode(ISD::AND, dl, NVT, RL, Mask);
3090 SDValue T = DAG.getNode(ISD::MUL, dl, NVT, LLL, RLL);
3091 SDValue TL = DAG.getNode(ISD::AND, dl, NVT, T, Mask);
3100 SDValue TH = DAG.getNode(ISD::SRL, dl, NVT, T, Shift);
3101 SDValue LLH = DAG.getNode(ISD::SRL, dl, NVT, LL, Shift);
3102 SDValue RLH = DAG.getNode(ISD::SRL, dl, NVT, RL, Shift);
3104 SDValue U = DAG.getNode(ISD::ADD, dl, NVT,
3105 DAG.getNode(ISD::MUL, dl, NVT, LLH, RLL), TH);
3106 SDValue UL = DAG.getNode(ISD::AND, dl, NVT, U, Mask);
3107 SDValue UH = DAG.getNode(ISD::SRL, dl, NVT, U, Shift);
3109 SDValue V = DAG.getNode(ISD::ADD, dl, NVT,
3110 DAG.getNode(ISD::MUL, dl, NVT, LLL, RLH), UL);
3111 SDValue VH = DAG.getNode(ISD::SRL, dl, NVT, V, Shift);
3113 SDValue W = DAG.getNode(ISD::ADD, dl, NVT,
3114 DAG.getNode(ISD::MUL, dl, NVT, LLH, RLH),
3115 DAG.getNode(ISD::ADD, dl, NVT, UH, VH));
3116 Lo = DAG.getNode(ISD::ADD, dl, NVT, TL,
3117 DAG.getNode(ISD::SHL, dl, NVT, V, Shift));
3119 Hi = DAG.getNode(ISD::ADD, dl, NVT, W,
3120 DAG.getNode(ISD::ADD, dl, NVT,
3121 DAG.getNode(ISD::MUL, dl, NVT, RH, LL),
3122 DAG.getNode(ISD::MUL, dl, NVT, RL, LH)));
3138 SDValue R = DAG.getNode(N->getOpcode(), DL, VTs, N->getOperand(0));
3172 Result = DAG.getNode(ISD::MUL, dl, VT, LHS, RHS);
3176 Result = DAG.getNode(MulOp, dl, DAG.getVTList(VT, BoolVT), LHS, RHS);
3245 Lo = DAG.getNode(ISD::FSHR, dl, NVT, Result[Part0 + 1], Result[Part0],
3247 Hi = DAG.getNode(ISD::FSHR, dl, NVT, Result[Part0 + 2], Result[Part0 + 1],
3285 SDValue HLAdjusted = DAG.getNode(ISD::SRL, dl, NVT, ResultHL,
3287 SDValue Tmp = DAG.getNode(ISD::OR, dl, NVT, HLAdjusted, ResultHH);
3294 SDValue HLAdjusted = DAG.getNode(ISD::SRL, dl, NVT, ResultHL,
3323 SatMax = DAG.getNode(ISD::OR, dl, BoolNVT, HHGT0,
3324 DAG.getNode(ISD::AND, dl, BoolNVT, HHEQ0, HLUGT));
3329 SatMin = DAG.getNode(ISD::OR, dl, BoolNVT, HHLT,
3330 DAG.getNode(ISD::AND, dl, BoolNVT, HHEQ, HLULT));
3336 SatMax = DAG.getNode(ISD::OR, dl, BoolNVT, HHGT0,
3337 DAG.getNode(ISD::AND, dl, BoolNVT, HHEQ0, HLNeg));
3342 SatMin = DAG.getNode(ISD::OR, dl, BoolNVT, HHLT,
3343 DAG.getNode(ISD::AND, dl, BoolNVT, HHEQ, HLPos));
3390 SDValue Sum = DAG.getNode(Node->getOpcode() == ISD::SADDO ?
3418 SDValue Cmp = DAG.getNode(ISD::AND, dl, OType, SignsMatch, SumSignNE);
3431 SDValue Res = DAG.getNode(ISD::SDIVREM, dl, DAG.getVTList(VT, VT), Ops);
3505 Lo = DAG.getNode(PartsOpc, dl, DAG.getVTList(VT, VT), Ops);
3565 Lo = DAG.getNode(ISD::SIGN_EXTEND, dl, NVT, N->getOperand(0));
3568 Hi = DAG.getNode(
3583 Hi = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, Hi.getValueType(), Hi,
3597 Lo = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, Lo.getValueType(), Lo,
3602 Hi = DAG.getNode(ISD::SRA, dl, Hi.getValueType(), Lo,
3609 Hi = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, Hi.getValueType(), Hi,
3622 SDValue Res = DAG.getNode(ISD::SDIVREM, dl, DAG.getVTList(VT, VT), Ops);
3647 Lo = DAG.getNode(ISD::TRUNCATE, dl, NVT, N->getOperand(0));
3648 Hi = DAG.getNode(ISD::SRL, dl, N->getOperand(0).getValueType(),
3652 Hi = DAG.getNode(ISD::TRUNCATE, dl, NVT, Hi);
3683 SDValue Overflow = DAG.getNode(ISD::AND, dl, BitVT,
3687 SDValue One = DAG.getNode(ISD::UMULO, dl, VTHalfMulO, LHSHigh, RHSLow);
3688 Overflow = DAG.getNode(ISD::OR, dl, BitVT, Overflow, One.getValue(1));
3689 SDValue OneInHigh = DAG.getNode(ISD::BUILD_PAIR, dl, VT, HalfZero,
3692 SDValue Two = DAG.getNode(ISD::UMULO, dl, VTHalfMulO, RHSHigh, LHSLow);
3693 Overflow = DAG.getNode(ISD::OR, dl, BitVT, Overflow, Two.getValue(1));
3694 SDValue TwoInHigh = DAG.getNode(ISD::BUILD_PAIR, dl, VT, HalfZero,
3703 SDValue Three = DAG.getNode(ISD::MUL, dl, VT,
3704 DAG.getNode(ISD::ZERO_EXTEND, dl, VT, LHSLow),
3705 DAG.getNode(ISD::ZERO_EXTEND, dl, VT, RHSLow));
3706 SDValue Four = DAG.getNode(ISD::ADD, dl, VT, OneInHigh, TwoInHigh);
3707 SDValue Five = DAG.getNode(ISD::UADDO, dl, VTFullAddO, Three, Four);
3708 Overflow = DAG.getNode(ISD::OR, dl, BitVT, Overflow, Five.getValue(1));
3780 SDValue Res = DAG.getNode(ISD::UDIVREM, dl, DAG.getVTList(VT, VT), Ops);
3807 SDValue Res = DAG.getNode(ISD::UDIVREM, dl, DAG.getVTList(VT, VT), Ops);
3834 Lo = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, N->getOperand(0));
3929 if (!Res.getNode()) return false;
3933 if (Res.getNode() == N)
3958 NewLHS = DAG.getNode(ISD::AND, dl,
3966 NewLHS = DAG.getNode(ISD::XOR, dl, LHSLo.getValueType(), LHSLo, RHSLo);
3967 NewRHS = DAG.getNode(ISD::XOR, dl, LHSLo.getValueType(), LHSHi, RHSHi);
3968 NewLHS = DAG.getNode(ISD::OR, dl, NewLHS.getValueType(), NewLHS, NewRHS);
4010 if (!LoCmp.getNode())
4017 if (!HiCmp.getNode())
4019 DAG.getNode(ISD::SETCC, dl, getSetCCResultType(LHSHi.getValueType()),
4022 ConstantSDNode *LoCmpC = dyn_cast<ConstantSDNode>(LoCmp.getNode());
4023 ConstantSDNode *HiCmpC = dyn_cast<ConstantSDNode>(HiCmp.getNode());
4073 SDValue LowCmp = DAG.getNode(ISD::USUBO, dl, VTList, LHSLo, RHSLo);
4074 SDValue Res = DAG.getNode(ISD::SETCCCARRY, dl, getSetCCResultType(HiVT),
4084 if (!NewLHS.getNode())
4098 if (!NewRHS.getNode()) {
4116 if (!NewRHS.getNode()) {
4133 if (!NewRHS.getNode()) {
4157 SDValue LowCmp = DAG.getNode(ISD::SUBCARRY, dl, VTList, LHSLo, RHSLo, Carry);
4158 return DAG.getNode(ISD::SETCCCARRY, dl, N->getValueType(0), LHSHi, RHSHi,
4253 return DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo, Hi);
4269 Hi = DAG.getNode(ISD::SHL, dl, NVT, Hi,
4272 Hi = DAG.getNode(
4274 DAG.getNode(ISD::SRL, dl, NVT, Lo,
4290 return DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo, Hi);
4297 return DAG.getNode(ISD::TRUNCATE, SDLoc(N), N->getValueType(0), InL);
4359 SDValue Ext = DAG.getNode(ISD::EXTRACT_SUBVECTOR, SDLoc(N), ExtVT, Ops);
4360 return DAG.getNode(ISD::ANY_EXTEND, dl, NOutVT, Ext);
4379 SDValue Index = DAG.getNode(ISD::ADD, dl, BaseIdx.getValueType(),
4381 SDValue Ext = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl,
4426 Op = DAG.getNode(ISD::ANY_EXTEND, dl, NOutVTElem, N->getOperand(i));
4447 SDValue Op = DAG.getNode(ISD::ANY_EXTEND, dl, NOutVTElem, N->getOperand(0));
4449 return DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, NOutVT, Op);
4464 SDValue Op = DAG.getNode(ISD::ANY_EXTEND, dl, NOutElemVT, SplatVal);
4466 return DAG.getNode(ISD::SPLAT_VECTOR, dl, NOutVT, Op);
4495 SDValue Ext = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, SclrTy, Op,
4532 return DAG.getNode(N->getOpcode(), dl, NVT, Promoted);
4536 return DAG.getNode(N->getOpcode(), dl, NVT, N->getOperand(0));
4549 SDValue ConvElem = DAG.getNode(ISD::ANY_EXTEND, dl,
4551 return DAG.getNode(ISD::INSERT_VECTOR_ELT, dl, NOutVT,
4560 return DAG.getNode(N->getOpcode(), dl, NVT, N->getOperand(0));
4568 SDValue Ext = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl,
4583 SDValue Ext = DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, OutVT, V0, N->getOperand(1));
4584 return DAG.getNode(ISD::TRUNCATE, dl, N->getValueType(0), Ext);
4604 SDValue Ex = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, SclrTy, Incoming,
4606 SDValue Tr = DAG.getNode(ISD::TRUNCATE, dl, RetSclrTy, Ex);