Lines Matching refs:getNode

432       Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Call.second,  in softenSetCCOperands()
434 NewLHS = DAG.getNode(ShouldInvertCC ? ISD::AND : ISD::OR, dl, in softenSetCCOperands()
484 return DAG.getNode(ISD::BRIND, dl, MVT::Other, Chain, Addr); in expandIndirectJTBranch()
526 return TLO.New.getNode(); in ShrinkDemandedConstant()
547 SDValue NewOp = TLO.DAG.getNode(Opcode, DL, VT, Op.getOperand(0), NewC); in ShrinkDemandedConstant()
577 assert(Op.getNode()->getNumValues() == 1 && in ShrinkDemandedOp()
590 if (!Op.getNode()->hasOneUse()) in ShrinkDemandedOp()
602 SDValue X = DAG.getNode( in ShrinkDemandedOp()
604 DAG.getNode(ISD::TRUNCATE, dl, SmallVT, Op.getOperand(0)), in ShrinkDemandedOp()
605 DAG.getNode(ISD::TRUNCATE, dl, SmallVT, Op.getOperand(1))); in ShrinkDemandedOp()
607 SDValue Z = DAG.getNode(ISD::ANY_EXTEND, dl, VT, X); in ShrinkDemandedOp()
623 DCI.AddToWorklist(Op.getNode()); in SimplifyDemandedBits()
640 DCI.AddToWorklist(Op.getNode()); in SimplifyDemandedBits()
814 (isNullConstant(Op1) || ISD::isBuildVectorAllZeros(Op1.getNode()))) in SimplifyMultipleUseDemandedBits()
1067 DAG.getNode(AVGOpc, DL, NVT, DAG.getExtOrTrunc(IsSigned, ExtOpA, DL, NVT), in combineShiftToAVG()
1124 if (!AssumeSingleUse && !Op.getNode()->hasOneUse()) { in SimplifyDemandedBits()
1185 if (ISD::isZEXTLoad(Op.getNode()) && Op.getResNo() == 0) { in SimplifyDemandedBits()
1270 SDValue NewOp = TLO.DAG.getNode(Op.getOpcode(), dl, VT, NewSrc, NewSub, in SimplifyDemandedBits()
1297 SDValue NewOp = TLO.DAG.getNode(Op.getOpcode(), dl, VT, DemandedSrc, in SimplifyDemandedBits()
1396 SDValue Xor = TLO.DAG.getNode(ISD::XOR, dl, VT, Op0.getOperand(0), Op1); in SimplifyDemandedBits()
1405 ISD::isBuildVectorOfConstantSDNodes(Op0.getOperand(0).getNode())) && in SimplifyDemandedBits()
1416 TLO.DAG.getNode(ISD::AND, dl, VT, Op0.getOperand(0), Op1); in SimplifyDemandedBits()
1418 TLO.DAG.getNode(ISD::INSERT_SUBVECTOR, dl, VT, NewAnd, in SimplifyDemandedBits()
1459 SDValue NewOp = TLO.DAG.getNode(Op.getOpcode(), dl, VT, Op0, Op1); in SimplifyDemandedBits()
1470 SDNodeFlags Flags = Op.getNode()->getFlags(); in SimplifyDemandedBits()
1512 SDValue NewOp = TLO.DAG.getNode(Op.getOpcode(), dl, VT, Op0, Op1); in SimplifyDemandedBits()
1533 SDValue MaskX = TLO.DAG.getNode(ISD::AND, dl, VT, X, C12); in SimplifyDemandedBits()
1534 SDValue MaskY = TLO.DAG.getNode(ISD::AND, dl, VT, Y, C2); in SimplifyDemandedBits()
1536 Op, TLO.DAG.getNode(ISD::OR, dl, VT, MaskX, MaskY)); in SimplifyDemandedBits()
1574 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::OR, dl, VT, Op0, Op1)); in SimplifyDemandedBits()
1586 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::AND, dl, VT, Op0, ANDC)); in SimplifyDemandedBits()
1611 TLI.isDesirableToCommuteXorWithShift(Op.getNode())) { in SimplifyDemandedBits()
1617 return TLO.CombineTo(Op, TLO.DAG.getNode(Op0Opcode, dl, VT, Not, in SimplifyDemandedBits()
1639 SDValue NewOp = TLO.DAG.getNode(Op.getOpcode(), dl, VT, Op0, Op1); in SimplifyDemandedBits()
1710 (isNullConstant(Op1) || ISD::isBuildVectorAllZeros(Op1.getNode()))) in SimplifyDemandedBits()
1750 Op, TLO.DAG.getNode(Opc, dl, VT, Op0.getOperand(0), NewSA)); in SimplifyDemandedBits()
1764 SDValue NarrowShl = TLO.DAG.getNode( in SimplifyDemandedBits()
1768 Op, TLO.DAG.getNode(ISD::ANY_EXTEND, dl, VT, NarrowShl)); in SimplifyDemandedBits()
1788 SDValue NewExt = TLO.DAG.getNode(ISD::ANY_EXTEND, dl, VT, in SimplifyDemandedBits()
1791 Op, TLO.DAG.getNode(ISD::SHL, dl, VT, NewExt, NewSA)); in SimplifyDemandedBits()
1800 SDNodeFlags Flags = Op.getNode()->getFlags(); in SimplifyDemandedBits()
1821 SDValue NewOp = TLO.DAG.getNode(ISD::SHL, dl, VT, DemandedOp0, Op1); in SimplifyDemandedBits()
1851 SDValue NewOp = TLO.DAG.getNode(ISD::TRUNCATE, dl, HalfVT, Op0); in SimplifyDemandedBits()
1854 SDValue NewShift = TLO.DAG.getNode(ISD::SHL, dl, HalfVT, NewOp, in SimplifyDemandedBits()
1857 TLO.DAG.getNode(ISD::ZERO_EXTEND, dl, VT, NewShift); in SimplifyDemandedBits()
1870 SDNodeFlags Flags = Op.getNode()->getFlags(); in SimplifyDemandedBits()
1930 Op, TLO.DAG.getNode(Opc, dl, VT, Op0.getOperand(0), NewSA)); in SimplifyDemandedBits()
1953 SDValue NewOp = TLO.DAG.getNode(ISD::TRUNCATE, dl, HalfVT, Op0); in SimplifyDemandedBits()
1957 TLO.DAG.getNode(ISD::SRL, dl, HalfVT, NewOp, NewShiftAmt); in SimplifyDemandedBits()
1959 Op, TLO.DAG.getNode(ISD::ZERO_EXTEND, dl, VT, NewShift)); in SimplifyDemandedBits()
1978 SDValue NewOp = TLO.DAG.getNode(ISD::SRL, dl, VT, DemandedOp0, Op1); in SimplifyDemandedBits()
2006 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::SRL, dl, VT, Op0, Op1)); in SimplifyDemandedBits()
2034 Op, TLO.DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, VT, in SimplifyDemandedBits()
2074 Op, TLO.DAG.getNode(ISD::SRL, dl, VT, Op0, Op1, Flags)); in SimplifyDemandedBits()
2081 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::SRL, dl, VT, Op0, NewSA)); in SimplifyDemandedBits()
2093 SDValue NewOp = TLO.DAG.getNode(ISD::SRA, dl, VT, DemandedOp0, Op1); in SimplifyDemandedBits()
2146 SDValue NewOp = TLO.DAG.getNode(Op.getOpcode(), dl, VT, DemandedOp0, in SimplifyDemandedBits()
2191 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::SHL, dl, VT, Op0, Op1)); in SimplifyDemandedBits()
2196 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::SRL, dl, VT, Op0, Op1)); in SimplifyDemandedBits()
2225 return TLO.CombineTo(Op, TLO.DAG.getNode(BitOp, SDLoc(Op), VT, Op0, Op1)); in SimplifyDemandedBits()
2294 SDValue NewOp = TLO.DAG.getNode(ShiftOpcode, dl, VT, Src, ShAmt); in SimplifyDemandedBits()
2312 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::PARITY, dl, VT, in SimplifyDemandedBits()
2336 TLO.DAG.getNode(ISD::SHL, dl, VT, Op0, ShiftAmt)); in SimplifyDemandedBits()
2412 return TLO.CombineTo(Op, TLO.DAG.getNode(Opc, dl, VT, Src)); in SimplifyDemandedBits()
2433 return TLO.CombineTo(Op, TLO.DAG.getNode(Op.getOpcode(), dl, VT, NewSrc)); in SimplifyDemandedBits()
2469 return TLO.CombineTo(Op, TLO.DAG.getNode(Opc, dl, VT, Src)); in SimplifyDemandedBits()
2490 return TLO.CombineTo(Op, TLO.DAG.getNode(Opc, dl, VT, Src, Flags)); in SimplifyDemandedBits()
2497 return TLO.CombineTo(Op, TLO.DAG.getNode(Op.getOpcode(), dl, VT, NewSrc)); in SimplifyDemandedBits()
2529 return TLO.CombineTo(Op, TLO.DAG.getNode(Op.getOpcode(), dl, VT, NewSrc)); in SimplifyDemandedBits()
2547 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::TRUNCATE, dl, VT, NewSrc)); in SimplifyDemandedBits()
2562 if (Src.getNode()->hasOneUse()) { in SimplifyDemandedBits()
2580 TLO.DAG.getNode(ISD::TRUNCATE, dl, VT, Src.getOperand(0)); in SimplifyDemandedBits()
2582 Op, TLO.DAG.getNode(ISD::SRL, dl, VT, NewTrunc, NewShAmt)); in SimplifyDemandedBits()
2636 TLO.DAG.getNode(Op.getOpcode(), dl, VT, DemandedSrc, Idx); in SimplifyDemandedBits()
2666 SDValue Sign = TLO.DAG.getNode(ISD::FGETSIGN, dl, Ty, Src); in SimplifyDemandedBits()
2669 Sign = TLO.DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Sign); in SimplifyDemandedBits()
2673 TLO.DAG.getNode(ISD::SHL, dl, VT, Sign, ShAmt)); in SimplifyDemandedBits()
2758 SDValue Shl = TLO.DAG.getNode(ISD::SHL, dl, VT, Op.getOperand(0), AmtC); in SimplifyDemandedBits()
2767 SDValue And1 = TLO.DAG.getNode(ISD::AND, dl, VT, Op.getOperand(0), One); in SimplifyDemandedBits()
2776 SDNodeFlags Flags = Op.getNode()->getFlags(); in SimplifyDemandedBits()
2813 TLO.DAG.getNode(Op.getOpcode(), dl, VT, Op0, Op1, Flags); in SimplifyDemandedBits()
2832 SDValue NewOp = TLO.DAG.getNode(Op.getOpcode(), dl, VT, Op0, Neg1, Flags); in SimplifyDemandedBits()
2858 SDValue Shl = TLO.DAG.getNode(ISD::SHL, dl, VT, X, ShlAmtC); in SimplifyDemandedBits()
2859 SDValue Res = TLO.DAG.getNode(NT, dl, VT, Y, Shl); in SimplifyDemandedBits()
2912 const SDNode *N = Op.getNode(); in SimplifyDemandedBits()
2948 DCI.AddToWorklist(Op.getNode()); in SimplifyDemandedVectorElts()
2997 if (DAG.getNode(BO.getOpcode(), SDLoc(BO), EltVT, C0, C1).isUndef()) in getKnownUndefForVectorBinop()
3033 if (!AssumeSingleUse && !Op.getNode()->hasOneUse()) in SimplifyDemandedVectorElts()
3059 TLO.DAG.getNode(Opcode, SDLoc(Op), VT, NewOp0 ? NewOp0 : Op0, in SimplifyDemandedVectorElts()
3249 TLO.DAG.getNode(Op.getOpcode(), SDLoc(Op), VT, DemandedSubOps); in SimplifyDemandedVectorElts()
3273 return TLO.CombineTo(Op, TLO.DAG.getNode(ISD::INSERT_SUBVECTOR, DL, VT, in SimplifyDemandedVectorElts()
3292 SDValue NewOp = TLO.DAG.getNode(Op.getOpcode(), SDLoc(Op), VT, NewSrc, in SimplifyDemandedVectorElts()
3320 SDValue NewOp = TLO.DAG.getNode(Op.getOpcode(), SDLoc(Op), VT, NewSrc, in SimplifyDemandedVectorElts()
3498 Op->isOnlyUserOf(Src.getNode()) && in SimplifyDemandedVectorElts()
3509 Fold = TLO.DAG.getNode(ISD::AND, DL, SrcVT, Src.getOperand(0), Fold); in SimplifyDemandedVectorElts()
3522 if (Op0 == Op1 && Op->isOnlyUserOf(Op0.getNode())) { in SimplifyDemandedVectorElts()
3998 SDValue NewAnd = DAG.getNode(ISD::AND, SDLoc(N0), OpVT, NotX, Y); in foldSetCCWithAnd()
4096 SDValue T0 = DAG.getNode(ISD::SHL, DL, XVT, X, ShiftAmt); in optimizeSetCCOfSignedTruncationCheck()
4097 SDValue T1 = DAG.getNode(ISD::SRA, DL, XVT, T0, ShiftAmt); in optimizeSetCCOfSignedTruncationCheck()
4167 SDValue T0 = DAG.getNode(NewShiftOpcode, DL, VT, X, Y); in optimizeSetCCByHoistingAndByConstFromLogicalShift()
4168 SDValue T1 = DAG.getNode(ISD::AND, DL, VT, T0, C); in optimizeSetCCByHoistingAndByConstFromLogicalShift()
4210 SDValue YShl1 = DAG.getNode(ISD::SHL, DL, N1.getValueType(), Y, One); in foldSetCCWithBinOp()
4212 DCI.AddToWorklist(YShl1.getNode()); in foldSetCCWithBinOp()
4252 SDValue Add = DAG.getNode(ISD::ADD, dl, CTVT, Result, NegOne); in simplifySetCCWithCTPOP()
4253 Result = DAG.getNode(ISD::AND, dl, CTVT, Result, Add); in simplifySetCCWithCTPOP()
4268 SDValue Add = DAG.getNode(ISD::ADD, dl, CTVT, CTOp, NegOne); in simplifySetCCWithCTPOP()
4275 SDValue And = DAG.getNode(ISD::AND, dl, CTVT, CTOp, Add); in simplifySetCCWithCTPOP()
4282 SDValue Xor = DAG.getNode(ISD::XOR, dl, CTVT, CTOp, Add); in simplifySetCCWithCTPOP()
4321 SDValue NewOr = DAG.getNode(ISD::OR, dl, OpVT, R, N0.getOperand(1)); in foldSetCCWithRotate()
4325 SDValue NewOr = DAG.getNode(ISD::OR, dl, OpVT, R, N0.getOperand(0)); in foldSetCCWithRotate()
4384 SDValue Shift = DAG.getNode(ISD::SHL, dl, OpVT, Y, NewShAmt); in foldSetCCWithFunnelShift()
4385 SDValue NewOr = DAG.getNode(ISD::OR, dl, OpVT, Shift, X); in foldSetCCWithFunnelShift()
4391 SDValue Shift = DAG.getNode(ISD::SRL, dl, OpVT, Y, NewShAmt); in foldSetCCWithFunnelShift()
4392 SDValue NewOr = DAG.getNode(ISD::OR, dl, OpVT, Shift, X); in foldSetCCWithFunnelShift()
4467 return DAG.getNode(LogicOp, dl, VT, IsXZero, IsYZero); in SimplifySetCC()
4497 if (auto *N1C = dyn_cast<ConstantSDNode>(N1.getNode())) { in SimplifySetCC()
4545 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, dl, MinVT, PreExt); in SimplifySetCC()
4593 N0.getNode()->hasOneUse() && in SimplifySetCC()
4595 N0.getOperand(0).getNode()->hasOneUse() && in SimplifySetCC()
4637 DAG.getNode(ISD::AND, dl, newVT, NewLoad, in SimplifySetCC()
4716 SDValue ZextOp = DAG.getNode(ISD::AND, dl, ExtDstTy, N0.getOperand(0), in SimplifySetCC()
4719 DCI.AddToWorklist(ZextOp.getNode()); in SimplifySetCC()
4733 return DAG.getNode(ISD::TRUNCATE, dl, VT, N0); in SimplifySetCC()
4761 Val = DAG.getNode(ISD::AND, dl, N0.getValueType(), in SimplifySetCC()
4793 Op0 = DAG.getNode(ISD::AND, dl, VT, in SimplifySetCC()
4794 DAG.getNode(ISD::TRUNCATE, dl, VT, Op0.getOperand(0)), in SimplifySetCC()
4797 Op0 = DAG.getNode(ISD::AND, dl, VT, in SimplifySetCC()
4798 DAG.getNode(ISD::ANY_EXTEND, dl, VT, Op0.getOperand(0)), in SimplifySetCC()
4980 SDValue HiMask = DAG.getNode(ISD::AND, dl, OpVT, Hi, LoBits); in SimplifySetCC()
4982 DAG.getNode(CmpZero ? ISD::OR : ISD::AND, dl, OpVT, Lo, HiMask); in SimplifySetCC()
4995 return MergeConcat(DAG.getNode(N0.getOpcode(), dl, OpVT, Lo0, Lo1), in SimplifySetCC()
4996 DAG.getNode(N0.getOpcode(), dl, OpVT, Hi0, Hi1)); in SimplifySetCC()
5026 if (auto *N1C = dyn_cast<ConstantSDNode>(N1.getNode())) { in SimplifySetCC()
5048 return DAG.getNode(ISD::TRUNCATE, dl, VT, in SimplifySetCC()
5049 DAG.getNode(ISD::SRL, dl, ShValTy, N0, in SimplifySetCC()
5058 return DAG.getNode(ISD::TRUNCATE, dl, VT, in SimplifySetCC()
5059 DAG.getNode(ISD::SRL, dl, ShValTy, N0, in SimplifySetCC()
5078 DAG.getNode(ISD::SRL, dl, ShValTy, N0.getOperand(0), in SimplifySetCC()
5106 SDValue Shift = DAG.getNode(ISD::SRL, dl, ShValTy, N0, in SimplifySetCC()
5131 SDValue NegN1 = DAG.getNode(ISD::FNEG, dl, N0.getValueType(), N1); in SimplifySetCC()
5146 return DAG.getNode(ISD::IS_FPCLASS, dl, VT, Op, in SimplifySetCC()
5241 if (N0.getOpcode() == ISD::ADD && N0.getNode()->hasOneUse()) in SimplifySetCC()
5249 if (N0.getOpcode() == ISD::XOR && N0.getNode()->hasOneUse()) in SimplifySetCC()
5259 if (N0.getOpcode() == ISD::SUB && N0.getNode()->hasOneUse()) in SimplifySetCC()
5311 Temp = DAG.getNode(ISD::XOR, dl, OpVT, N0, N1); in SimplifySetCC()
5314 DCI.AddToWorklist(Temp.getNode()); in SimplifySetCC()
5317 N0 = DAG.getNode(ISD::XOR, dl, OpVT, N0, N1); in SimplifySetCC()
5322 N0 = DAG.getNode(ISD::AND, dl, OpVT, N1, Temp); in SimplifySetCC()
5324 DCI.AddToWorklist(Temp.getNode()); in SimplifySetCC()
5329 N0 = DAG.getNode(ISD::AND, dl, OpVT, N0, Temp); in SimplifySetCC()
5331 DCI.AddToWorklist(Temp.getNode()); in SimplifySetCC()
5336 N0 = DAG.getNode(ISD::OR, dl, OpVT, N1, Temp); in SimplifySetCC()
5338 DCI.AddToWorklist(Temp.getNode()); in SimplifySetCC()
5343 N0 = DAG.getNode(ISD::OR, dl, OpVT, N0, Temp); in SimplifySetCC()
5348 DCI.AddToWorklist(N0.getNode()); in SimplifySetCC()
5351 N0 = DAG.getNode(ExtendCode, dl, VT, N0); in SimplifySetCC()
5365 SDNode *N = unwrapAddress(SDValue(WN, 0)).getNode(); in isGAPlusOffset()
5376 if (isGAPlusOffset(N1.getNode(), GA, Offset)) { in isGAPlusOffset()
5381 } else if (isGAPlusOffset(N2.getNode(), GA, Offset)) { in isGAPlusOffset()
5952 if (!Op.getNode()) in lowerImmediateIfPossible()
6079 Res = DAG.getNode(ISD::SRA, dl, VT, Res, Shift, Flags); in BuildExactSDIV()
6080 Created.push_back(Res.getNode()); in BuildExactSDIV()
6083 return DAG.getNode(ISD::MUL, dl, VT, Res, Factor); in BuildExactSDIV()
6130 SDValue Add = DAG.getNode(ISD::ADD, DL, VT, N0, Pow2MinusOne); in buildSDIVPow2WithCMov()
6131 SDValue CMov = DAG.getNode(ISD::SELECT, DL, VT, Cmp, Add, N0); in buildSDIVPow2WithCMov()
6133 Created.push_back(Cmp.getNode()); in buildSDIVPow2WithCMov()
6134 Created.push_back(Add.getNode()); in buildSDIVPow2WithCMov()
6135 Created.push_back(CMov.getNode()); in buildSDIVPow2WithCMov()
6139 DAG.getNode(ISD::SRA, DL, VT, CMov, DAG.getConstant(Lg2, DL, VT)); in buildSDIVPow2WithCMov()
6146 Created.push_back(SRA.getNode()); in buildSDIVPow2WithCMov()
6147 return DAG.getNode(ISD::SUB, DL, VT, Zero, SRA); in buildSDIVPow2WithCMov()
6255 X = DAG.getNode(ISD::SIGN_EXTEND, dl, MulVT, X); in BuildSDIV()
6256 Y = DAG.getNode(ISD::SIGN_EXTEND, dl, MulVT, Y); in BuildSDIV()
6257 Y = DAG.getNode(ISD::MUL, dl, MulVT, X, Y); in BuildSDIV()
6258 Y = DAG.getNode(ISD::SRL, dl, MulVT, Y, in BuildSDIV()
6260 return DAG.getNode(ISD::TRUNCATE, dl, VT, Y); in BuildSDIV()
6264 return DAG.getNode(ISD::MULHS, dl, VT, X, Y); in BuildSDIV()
6267 DAG.getNode(ISD::SMUL_LOHI, dl, DAG.getVTList(VT, VT), X, Y); in BuildSDIV()
6268 return SDValue(LoHi.getNode(), 1); in BuildSDIV()
6277 X = DAG.getNode(ISD::SIGN_EXTEND, dl, WideVT, X); in BuildSDIV()
6278 Y = DAG.getNode(ISD::SIGN_EXTEND, dl, WideVT, Y); in BuildSDIV()
6279 Y = DAG.getNode(ISD::MUL, dl, WideVT, X, Y); in BuildSDIV()
6280 Y = DAG.getNode(ISD::SRL, dl, WideVT, Y, in BuildSDIV()
6282 return DAG.getNode(ISD::TRUNCATE, dl, VT, Y); in BuildSDIV()
6291 Created.push_back(Q.getNode()); in BuildSDIV()
6294 Factor = DAG.getNode(ISD::MUL, dl, VT, N0, Factor); in BuildSDIV()
6295 Created.push_back(Factor.getNode()); in BuildSDIV()
6296 Q = DAG.getNode(ISD::ADD, dl, VT, Q, Factor); in BuildSDIV()
6297 Created.push_back(Q.getNode()); in BuildSDIV()
6300 Q = DAG.getNode(ISD::SRA, dl, VT, Q, Shift); in BuildSDIV()
6301 Created.push_back(Q.getNode()); in BuildSDIV()
6305 SDValue T = DAG.getNode(ISD::SRL, dl, VT, Q, SignShift); in BuildSDIV()
6306 Created.push_back(T.getNode()); in BuildSDIV()
6307 T = DAG.getNode(ISD::AND, dl, VT, T, ShiftMask); in BuildSDIV()
6308 Created.push_back(T.getNode()); in BuildSDIV()
6309 return DAG.getNode(ISD::ADD, dl, VT, Q, T); in BuildSDIV()
6432 Q = DAG.getNode(ISD::SRL, dl, VT, Q, PreShift); in BuildUDIV()
6433 Created.push_back(Q.getNode()); in BuildUDIV()
6441 X = DAG.getNode(ISD::ZERO_EXTEND, dl, MulVT, X); in BuildUDIV()
6442 Y = DAG.getNode(ISD::ZERO_EXTEND, dl, MulVT, Y); in BuildUDIV()
6443 Y = DAG.getNode(ISD::MUL, dl, MulVT, X, Y); in BuildUDIV()
6444 Y = DAG.getNode(ISD::SRL, dl, MulVT, Y, in BuildUDIV()
6446 return DAG.getNode(ISD::TRUNCATE, dl, VT, Y); in BuildUDIV()
6450 return DAG.getNode(ISD::MULHU, dl, VT, X, Y); in BuildUDIV()
6453 DAG.getNode(ISD::UMUL_LOHI, dl, DAG.getVTList(VT, VT), X, Y); in BuildUDIV()
6454 return SDValue(LoHi.getNode(), 1); in BuildUDIV()
6463 X = DAG.getNode(ISD::ZERO_EXTEND, dl, WideVT, X); in BuildUDIV()
6464 Y = DAG.getNode(ISD::ZERO_EXTEND, dl, WideVT, Y); in BuildUDIV()
6465 Y = DAG.getNode(ISD::MUL, dl, WideVT, X, Y); in BuildUDIV()
6466 Y = DAG.getNode(ISD::SRL, dl, WideVT, Y, in BuildUDIV()
6468 return DAG.getNode(ISD::TRUNCATE, dl, VT, Y); in BuildUDIV()
6478 Created.push_back(Q.getNode()); in BuildUDIV()
6481 SDValue NPQ = DAG.getNode(ISD::SUB, dl, VT, N0, Q); in BuildUDIV()
6482 Created.push_back(NPQ.getNode()); in BuildUDIV()
6489 NPQ = DAG.getNode(ISD::SRL, dl, VT, NPQ, DAG.getConstant(1, dl, ShVT)); in BuildUDIV()
6491 Created.push_back(NPQ.getNode()); in BuildUDIV()
6493 Q = DAG.getNode(ISD::ADD, dl, VT, NPQ, Q); in BuildUDIV()
6494 Created.push_back(Q.getNode()); in BuildUDIV()
6498 Q = DAG.getNode(ISD::SRL, dl, VT, Q, PostShift); in BuildUDIV()
6499 Created.push_back(Q.getNode()); in BuildUDIV()
6720 N = DAG.getNode(ISD::SUB, DL, VT, N, CompTargetNode); in prepareUREMEqFold()
6724 SDValue Op0 = DAG.getNode(ISD::MUL, DL, VT, N, PVal); in prepareUREMEqFold()
6725 Created.push_back(Op0.getNode()); in prepareUREMEqFold()
6734 Op0 = DAG.getNode(ISD::ROTR, DL, VT, Op0, KVal); in prepareUREMEqFold()
6735 Created.push_back(Op0.getNode()); in prepareUREMEqFold()
6749 Created.push_back(NewCC.getNode()); in prepareUREMEqFold()
6757 Created.push_back(TautologicalInvertedChannels.getNode()); in prepareUREMEqFold()
6766 return DAG.getNode(ISD::VSELECT, DL, SETCCVT, TautologicalInvertedChannels, in prepareUREMEqFold()
6774 return DAG.getNode(ISD::XOR, DL, SETCCVT, NewCC, in prepareUREMEqFold()
6979 SDValue Op0 = DAG.getNode(ISD::MUL, DL, VT, N, PVal); in prepareSREMEqFold()
6980 Created.push_back(Op0.getNode()); in prepareSREMEqFold()
6988 Op0 = DAG.getNode(ISD::ADD, DL, VT, Op0, AVal); in prepareSREMEqFold()
6989 Created.push_back(Op0.getNode()); in prepareSREMEqFold()
6999 Op0 = DAG.getNode(ISD::ROTR, DL, VT, Op0, KVal); in prepareSREMEqFold()
7000 Created.push_back(Op0.getNode()); in prepareSREMEqFold()
7026 Created.push_back(Fold.getNode()); in prepareSREMEqFold()
7037 Created.push_back(DivisorIsIntMin.getNode()); in prepareSREMEqFold()
7040 SDValue Masked = DAG.getNode(ISD::AND, DL, VT, N, IntMax); in prepareSREMEqFold()
7041 Created.push_back(Masked.getNode()); in prepareSREMEqFold()
7043 Created.push_back(MaskedIsZero.getNode()); in prepareSREMEqFold()
7049 SDValue Blended = DAG.getNode(ISD::VSELECT, DL, SETCCVT, DivisorIsIntMin, in prepareSREMEqFold()
7087 SDValue Fabs = DAG.getNode(ISD::FABS, DL, VT, Op); in getSqrtInputTest()
7121 if (N && N.getNode()->use_empty()) in getNegatedExpression()
7122 DAG.RemoveDeadNode(N.getNode()); in getNegatedExpression()
7215 SDValue N = DAG.getNode(ISD::FSUB, DL, VT, NegX, Y, Flags); in getNegatedExpression()
7224 SDValue N = DAG.getNode(ISD::FSUB, DL, VT, NegY, X, Flags); in getNegatedExpression()
7246 return DAG.getNode(ISD::FSUB, DL, VT, Y, X, Flags); in getNegatedExpression()
7271 SDValue N = DAG.getNode(Opcode, DL, VT, NegX, Y, Flags); in getNegatedExpression()
7285 SDValue N = DAG.getNode(Opcode, DL, VT, X, NegY, Flags); in getNegatedExpression()
7327 SDValue N = DAG.getNode(Opcode, DL, VT, NegX, Y, NegZ, Flags); in getNegatedExpression()
7336 SDValue N = DAG.getNode(Opcode, DL, VT, X, NegY, NegZ, Flags); in getNegatedExpression()
7348 return DAG.getNode(Opcode, DL, VT, NegV); in getNegatedExpression()
7353 return DAG.getNode(ISD::FP_ROUND, DL, VT, NegV, Op.getOperand(1)); in getNegatedExpression()
7424 assert((LL.getNode() && LH.getNode() && RL.getNode() && RH.getNode()) || in expandMUL_LOHI()
7425 (!LL.getNode() && !LH.getNode() && !RL.getNode() && !RH.getNode())); in expandMUL_LOHI()
7431 Lo = DAG.getNode(Signed ? ISD::SMUL_LOHI : ISD::UMUL_LOHI, dl, VTs, L, R); in expandMUL_LOHI()
7432 Hi = SDValue(Lo.getNode(), 1); in expandMUL_LOHI()
7436 Lo = DAG.getNode(ISD::MUL, dl, HiLoVT, L, R); in expandMUL_LOHI()
7437 Hi = DAG.getNode(Signed ? ISD::MULHS : ISD::MULHU, dl, HiLoVT, L, R); in expandMUL_LOHI()
7445 if (!LL.getNode() && !RL.getNode() && in expandMUL_LOHI()
7447 LL = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, LHS); in expandMUL_LOHI()
7448 RL = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, RHS); in expandMUL_LOHI()
7451 if (!LL.getNode()) in expandMUL_LOHI()
7485 if (!LH.getNode() && !RH.getNode() && in expandMUL_LOHI()
7488 LH = DAG.getNode(ISD::SRL, dl, VT, LHS, Shift); in expandMUL_LOHI()
7489 LH = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, LH); in expandMUL_LOHI()
7490 RH = DAG.getNode(ISD::SRL, dl, VT, RHS, Shift); in expandMUL_LOHI()
7491 RH = DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, RH); in expandMUL_LOHI()
7494 if (!LH.getNode()) in expandMUL_LOHI()
7503 RH = DAG.getNode(ISD::MUL, dl, HiLoVT, LL, RH); in expandMUL_LOHI()
7504 LH = DAG.getNode(ISD::MUL, dl, HiLoVT, LH, RL); in expandMUL_LOHI()
7505 Hi = DAG.getNode(ISD::ADD, dl, HiLoVT, Hi, RH); in expandMUL_LOHI()
7506 Hi = DAG.getNode(ISD::ADD, dl, HiLoVT, Hi, LH); in expandMUL_LOHI()
7513 Lo = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Lo); in expandMUL_LOHI()
7514 Hi = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Hi); in expandMUL_LOHI()
7515 Hi = DAG.getNode(ISD::SHL, dl, VT, Hi, Shift); in expandMUL_LOHI()
7516 return DAG.getNode(ISD::OR, dl, VT, Lo, Hi); in expandMUL_LOHI()
7519 SDValue Next = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Hi); in expandMUL_LOHI()
7525 Next = DAG.getNode(ISD::ADD, dl, VT, Next, Merge(Lo, Hi)); in expandMUL_LOHI()
7536 Next = DAG.getNode(ISD::ADDC, dl, DAG.getVTList(VT, MVT::Glue), Next, in expandMUL_LOHI()
7539 Next = DAG.getNode(ISD::UADDO_CARRY, dl, DAG.getVTList(VT, BoolType), Next, in expandMUL_LOHI()
7543 Result.push_back(DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, Next)); in expandMUL_LOHI()
7544 Next = DAG.getNode(ISD::SRL, dl, VT, Next, Shift); in expandMUL_LOHI()
7550 Hi = DAG.getNode(ISD::ADDE, dl, DAG.getVTList(HiLoVT, MVT::Glue), Hi, Zero, in expandMUL_LOHI()
7553 Hi = DAG.getNode(ISD::UADDO_CARRY, dl, DAG.getVTList(HiLoVT, BoolType), Hi, in expandMUL_LOHI()
7556 Next = DAG.getNode(ISD::ADD, dl, VT, Next, Merge(Lo, Hi)); in expandMUL_LOHI()
7559 SDValue NextSub = DAG.getNode(ISD::SUB, dl, VT, Next, in expandMUL_LOHI()
7560 DAG.getNode(ISD::ZERO_EXTEND, dl, VT, RL)); in expandMUL_LOHI()
7563 NextSub = DAG.getNode(ISD::SUB, dl, VT, Next, in expandMUL_LOHI()
7564 DAG.getNode(ISD::ZERO_EXTEND, dl, VT, LL)); in expandMUL_LOHI()
7568 Result.push_back(DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, Next)); in expandMUL_LOHI()
7569 Next = DAG.getNode(ISD::SRL, dl, VT, Next, Shift); in expandMUL_LOHI()
7570 Result.push_back(DAG.getNode(ISD::TRUNCATE, dl, HiLoVT, Next)); in expandMUL_LOHI()
7680 PartialRem = DAG.getNode(ISD::AND, dl, HiLoVT, LL, in expandDIVREMByConstant()
7684 LL = DAG.getNode( in expandDIVREMByConstant()
7686 DAG.getNode(ISD::SRL, dl, HiLoVT, LL, in expandDIVREMByConstant()
7688 DAG.getNode(ISD::SHL, dl, HiLoVT, LH, in expandDIVREMByConstant()
7691 LH = DAG.getNode(ISD::SRL, dl, HiLoVT, LH, in expandDIVREMByConstant()
7700 Sum = DAG.getNode(ISD::UADDO, dl, VTList, LL, LH); in expandDIVREMByConstant()
7701 Sum = DAG.getNode(ISD::UADDO_CARRY, dl, VTList, Sum, in expandDIVREMByConstant()
7704 Sum = DAG.getNode(ISD::ADD, dl, HiLoVT, LL, LH); in expandDIVREMByConstant()
7714 Sum = DAG.getNode(ISD::ADD, dl, HiLoVT, Sum, Carry); in expandDIVREMByConstant()
7724 DAG.getNode(ISD::UREM, dl, HiLoVT, Sum, in expandDIVREMByConstant()
7730 SDValue Dividend = DAG.getNode(ISD::BUILD_PAIR, dl, VT, LL, LH); in expandDIVREMByConstant()
7731 SDValue Rem = DAG.getNode(ISD::BUILD_PAIR, dl, VT, RemL, RemH); in expandDIVREMByConstant()
7733 Dividend = DAG.getNode(ISD::SUB, dl, VT, Dividend, Rem); in expandDIVREMByConstant()
7742 SDValue Quotient = DAG.getNode(ISD::MUL, dl, VT, Dividend, in expandDIVREMByConstant()
7757 RemL = DAG.getNode(ISD::SHL, dl, HiLoVT, RemL, in expandDIVREMByConstant()
7759 RemL = DAG.getNode(ISD::ADD, dl, HiLoVT, RemL, PartialRem); in expandDIVREMByConstant()
7796 ShAmt = DAG.getNode(ISD::VP_UREM, DL, ShVT, Z, BitWidthC, Mask, VL); in expandVPFunnelShift()
7797 InvShAmt = DAG.getNode(ISD::VP_SUB, DL, ShVT, BitWidthC, ShAmt, Mask, VL); in expandVPFunnelShift()
7798 ShX = DAG.getNode(ISD::VP_SHL, DL, VT, X, IsFSHL ? ShAmt : InvShAmt, Mask, in expandVPFunnelShift()
7800 ShY = DAG.getNode(ISD::VP_LSHR, DL, VT, Y, IsFSHL ? InvShAmt : ShAmt, Mask, in expandVPFunnelShift()
7808 ShAmt = DAG.getNode(ISD::VP_AND, DL, ShVT, Z, BitMask, Mask, VL); in expandVPFunnelShift()
7810 SDValue NotZ = DAG.getNode(ISD::VP_XOR, DL, ShVT, Z, in expandVPFunnelShift()
7812 InvShAmt = DAG.getNode(ISD::VP_AND, DL, ShVT, NotZ, BitMask, Mask, VL); in expandVPFunnelShift()
7815 ShAmt = DAG.getNode(ISD::VP_UREM, DL, ShVT, Z, BitWidthC, Mask, VL); in expandVPFunnelShift()
7816 InvShAmt = DAG.getNode(ISD::VP_SUB, DL, ShVT, BitMask, ShAmt, Mask, VL); in expandVPFunnelShift()
7821 ShX = DAG.getNode(ISD::VP_SHL, DL, VT, X, ShAmt, Mask, VL); in expandVPFunnelShift()
7822 SDValue ShY1 = DAG.getNode(ISD::VP_LSHR, DL, VT, Y, One, Mask, VL); in expandVPFunnelShift()
7823 ShY = DAG.getNode(ISD::VP_LSHR, DL, VT, ShY1, InvShAmt, Mask, VL); in expandVPFunnelShift()
7825 SDValue ShX1 = DAG.getNode(ISD::VP_SHL, DL, VT, X, One, Mask, VL); in expandVPFunnelShift()
7826 ShX = DAG.getNode(ISD::VP_SHL, DL, VT, ShX1, InvShAmt, Mask, VL); in expandVPFunnelShift()
7827 ShY = DAG.getNode(ISD::VP_LSHR, DL, VT, Y, ShAmt, Mask, VL); in expandVPFunnelShift()
7830 return DAG.getNode(ISD::VP_OR, DL, VT, ShX, ShY, Mask, VL); in expandVPFunnelShift()
7864 Z = DAG.getNode(ISD::SUB, DL, VT, Zero, Z); in expandFunnelShift()
7870 Y = DAG.getNode(RevOpcode, DL, VT, X, Y, One); in expandFunnelShift()
7871 X = DAG.getNode(ISD::SRL, DL, VT, X, One); in expandFunnelShift()
7873 X = DAG.getNode(RevOpcode, DL, VT, X, Y, One); in expandFunnelShift()
7874 Y = DAG.getNode(ISD::SHL, DL, VT, Y, One); in expandFunnelShift()
7878 return DAG.getNode(RevOpcode, DL, VT, X, Y, Z); in expandFunnelShift()
7888 ShAmt = DAG.getNode(ISD::UREM, DL, ShVT, Z, BitWidthC); in expandFunnelShift()
7889 InvShAmt = DAG.getNode(ISD::SUB, DL, ShVT, BitWidthC, ShAmt); in expandFunnelShift()
7890 ShX = DAG.getNode(ISD::SHL, DL, VT, X, IsFSHL ? ShAmt : InvShAmt); in expandFunnelShift()
7891 ShY = DAG.getNode(ISD::SRL, DL, VT, Y, IsFSHL ? InvShAmt : ShAmt); in expandFunnelShift()
7898 ShAmt = DAG.getNode(ISD::AND, DL, ShVT, Z, Mask); in expandFunnelShift()
7900 InvShAmt = DAG.getNode(ISD::AND, DL, ShVT, DAG.getNOT(DL, Z, ShVT), Mask); in expandFunnelShift()
7903 ShAmt = DAG.getNode(ISD::UREM, DL, ShVT, Z, BitWidthC); in expandFunnelShift()
7904 InvShAmt = DAG.getNode(ISD::SUB, DL, ShVT, Mask, ShAmt); in expandFunnelShift()
7909 ShX = DAG.getNode(ISD::SHL, DL, VT, X, ShAmt); in expandFunnelShift()
7910 SDValue ShY1 = DAG.getNode(ISD::SRL, DL, VT, Y, One); in expandFunnelShift()
7911 ShY = DAG.getNode(ISD::SRL, DL, VT, ShY1, InvShAmt); in expandFunnelShift()
7913 SDValue ShX1 = DAG.getNode(ISD::SHL, DL, VT, X, One); in expandFunnelShift()
7914 ShX = DAG.getNode(ISD::SHL, DL, VT, ShX1, InvShAmt); in expandFunnelShift()
7915 ShY = DAG.getNode(ISD::SRL, DL, VT, Y, ShAmt); in expandFunnelShift()
7918 return DAG.getNode(ISD::OR, DL, VT, ShX, ShY); in expandFunnelShift()
7938 SDValue Sub = DAG.getNode(ISD::SUB, DL, ShVT, Zero, Op1); in expandROT()
7939 return DAG.getNode(RevRot, DL, VT, Op0, Sub); in expandROT()
7958 SDValue NegOp1 = DAG.getNode(ISD::SUB, DL, ShVT, Zero, Op1); in expandROT()
7959 SDValue ShAmt = DAG.getNode(ISD::AND, DL, ShVT, Op1, BitWidthMinusOneC); in expandROT()
7960 ShVal = DAG.getNode(ShOpc, DL, VT, Op0, ShAmt); in expandROT()
7961 SDValue HsAmt = DAG.getNode(ISD::AND, DL, ShVT, NegOp1, BitWidthMinusOneC); in expandROT()
7962 HsVal = DAG.getNode(HsOpc, DL, VT, Op0, HsAmt); in expandROT()
7967 SDValue ShAmt = DAG.getNode(ISD::UREM, DL, ShVT, Op1, BitWidthC); in expandROT()
7968 ShVal = DAG.getNode(ShOpc, DL, VT, Op0, ShAmt); in expandROT()
7969 SDValue HsAmt = DAG.getNode(ISD::SUB, DL, ShVT, BitWidthMinusOneC, ShAmt); in expandROT()
7972 DAG.getNode(HsOpc, DL, VT, DAG.getNode(HsOpc, DL, VT, Op0, One), HsAmt); in expandROT()
7974 return DAG.getNode(ISD::OR, DL, VT, ShVal, HsVal); in expandROT()
7997 SDValue SafeShAmt = DAG.getNode(ISD::AND, dl, ShAmtVT, ShAmt, in expandShiftParts()
7999 SDValue Tmp1 = IsSRA ? DAG.getNode(ISD::SRA, dl, VT, ShOpHi, in expandShiftParts()
8005 Tmp2 = DAG.getNode(ISD::FSHL, dl, VT, ShOpHi, ShOpLo, ShAmt); in expandShiftParts()
8006 Tmp3 = DAG.getNode(ISD::SHL, dl, VT, ShOpLo, SafeShAmt); in expandShiftParts()
8008 Tmp2 = DAG.getNode(ISD::FSHR, dl, VT, ShOpHi, ShOpLo, ShAmt); in expandShiftParts()
8009 Tmp3 = DAG.getNode(IsSRA ? ISD::SRA : ISD::SRL, dl, VT, ShOpHi, SafeShAmt); in expandShiftParts()
8015 SDValue AndNode = DAG.getNode(ISD::AND, dl, ShAmtVT, ShAmt, in expandShiftParts()
8021 Hi = DAG.getNode(ISD::SELECT, dl, VT, Cond, Tmp3, Tmp2); in expandShiftParts()
8022 Lo = DAG.getNode(ISD::SELECT, dl, VT, Cond, Tmp1, Tmp3); in expandShiftParts()
8024 Lo = DAG.getNode(ISD::SELECT, dl, VT, Cond, Tmp3, Tmp2); in expandShiftParts()
8025 Hi = DAG.getNode(ISD::SELECT, dl, VT, Cond, Tmp1, Tmp3); in expandShiftParts()
8062 SDValue Bits = DAG.getNode(ISD::BITCAST, dl, IntVT, Src); in expandFP_TO_SINT()
8064 SDValue ExponentBits = DAG.getNode( in expandFP_TO_SINT()
8065 ISD::SRL, dl, IntVT, DAG.getNode(ISD::AND, dl, IntVT, Bits, ExponentMask), in expandFP_TO_SINT()
8067 SDValue Exponent = DAG.getNode(ISD::SUB, dl, IntVT, ExponentBits, Bias); in expandFP_TO_SINT()
8069 SDValue Sign = DAG.getNode(ISD::SRA, dl, IntVT, in expandFP_TO_SINT()
8070 DAG.getNode(ISD::AND, dl, IntVT, Bits, SignMask), in expandFP_TO_SINT()
8074 SDValue R = DAG.getNode(ISD::OR, dl, IntVT, in expandFP_TO_SINT()
8075 DAG.getNode(ISD::AND, dl, IntVT, Bits, MantissaMask), in expandFP_TO_SINT()
8082 DAG.getNode(ISD::SHL, dl, DstVT, R, in expandFP_TO_SINT()
8084 DAG.getNode(ISD::SUB, dl, IntVT, Exponent, ExponentLoBit), in expandFP_TO_SINT()
8086 DAG.getNode(ISD::SRL, dl, DstVT, R, in expandFP_TO_SINT()
8088 DAG.getNode(ISD::SUB, dl, IntVT, ExponentLoBit, Exponent), in expandFP_TO_SINT()
8092 SDValue Ret = DAG.getNode(ISD::SUB, dl, DstVT, in expandFP_TO_SINT()
8093 DAG.getNode(ISD::XOR, dl, DstVT, R, Sign), Sign); in expandFP_TO_SINT()
8130 Result = DAG.getNode(ISD::STRICT_FP_TO_SINT, dl, { DstVT, MVT::Other }, in expandFP_TO_UINT()
8134 Result = DAG.getNode(ISD::FP_TO_SINT, dl, DstVT, Src); in expandFP_TO_UINT()
8174 SDValue Val = DAG.getNode(ISD::STRICT_FSUB, dl, { SrcVT, MVT::Other }, in expandFP_TO_UINT()
8176 SInt = DAG.getNode(ISD::STRICT_FP_TO_SINT, dl, { DstVT, MVT::Other }, in expandFP_TO_UINT()
8180 SDValue Val = DAG.getNode(ISD::FSUB, dl, SrcVT, Src, FltOfs); in expandFP_TO_UINT()
8181 SInt = DAG.getNode(ISD::FP_TO_SINT, dl, DstVT, Val); in expandFP_TO_UINT()
8183 Result = DAG.getNode(ISD::XOR, dl, DstVT, SInt, IntOfs); in expandFP_TO_UINT()
8190 SDValue True = DAG.getNode(ISD::FP_TO_SINT, dl, DstVT, Src); in expandFP_TO_UINT()
8192 SDValue False = DAG.getNode(ISD::FP_TO_SINT, dl, DstVT, in expandFP_TO_UINT()
8193 DAG.getNode(ISD::FSUB, dl, SrcVT, Src, Cst)); in expandFP_TO_UINT()
8194 False = DAG.getNode(ISD::XOR, dl, DstVT, False, in expandFP_TO_UINT()
8241 SDValue Lo = DAG.getNode(ISD::AND, dl, SrcVT, Src, LoMask); in expandUINT_TO_FP()
8242 SDValue Hi = DAG.getNode(ISD::SRL, dl, SrcVT, Src, HiShift); in expandUINT_TO_FP()
8243 SDValue LoOr = DAG.getNode(ISD::OR, dl, SrcVT, Lo, TwoP52); in expandUINT_TO_FP()
8244 SDValue HiOr = DAG.getNode(ISD::OR, dl, SrcVT, Hi, TwoP84); in expandUINT_TO_FP()
8248 DAG.getNode(ISD::FSUB, dl, DstVT, HiFlt, TwoP84PlusTwoP52); in expandUINT_TO_FP()
8249 Result = DAG.getNode(ISD::FADD, dl, DstVT, LoFlt, HiSub); in expandUINT_TO_FP()
8296 Quiet0 = DAG.getNode(ISD::FCANONICALIZE, dl, VT, Quiet0, in expandFMINNUM_FMAXNUM()
8300 Quiet1 = DAG.getNode(ISD::FCANONICALIZE, dl, VT, Quiet1, in expandFMINNUM_FMAXNUM()
8305 return DAG.getNode(NewOp, dl, VT, Quiet0, Quiet1, Node->getFlags()); in expandFMINNUM_FMAXNUM()
8320 return DAG.getNode(IEEE2018Op, dl, VT, Node->getOperand(0), in expandFMINNUM_FMAXNUM()
8370 Op = DAG.getNode(ISD::EXTRACT_ELEMENT, DL, MVT::f64, Op, in expandIS_FPCLASS()
8421 SDValue Abs = DAG.getNode(ISD::FABS, DL, OperandVT, Op); in expandIS_FPCLASS()
8461 Res = DAG.getNode(ISD::OR, DL, ResultVT, Res, PartialRes); in expandIS_FPCLASS()
8473 SDValue IntBitV = DAG.getNode(ISD::AND, DL, IntVT, OpAsInt, IntBitMaskV); in expandIS_FPCLASS()
8480 SDValue AbsV = DAG.getNode(ISD::AND, DL, IntVT, OpAsInt, ValueMaskV); in expandIS_FPCLASS()
8501 PartialRes = DAG.getNode(ISD::AND, DL, ResultVT, PartialRes, SignV); in expandIS_FPCLASS()
8510 SDValue ExpBits = DAG.getNode(ISD::AND, DL, IntVT, OpAsInt, ExpMaskV); in expandIS_FPCLASS()
8536 DAG.getNode(ISD::SUB, DL, IntVT, V, DAG.getConstant(1, DL, IntVT)); in expandIS_FPCLASS()
8539 PartialRes = DAG.getNode(ISD::AND, DL, ResultVT, PartialRes, SignV); in expandIS_FPCLASS()
8565 SDValue ExpBits = DAG.getNode(ISD::AND, DL, IntVT, AbsV, ExpMaskV); in expandIS_FPCLASS()
8570 PartialRes = DAG.getNode(ISD::OR, DL, ResultVT, PartialRes, IsPseudo); in expandIS_FPCLASS()
8582 PartialRes = DAG.getNode(ISD::AND, DL, ResultVT, IsNan, IsNotQnan); in expandIS_FPCLASS()
8591 SDValue ExpMinus1 = DAG.getNode(ISD::SUB, DL, IntVT, AbsV, ExpLSBV); in expandIS_FPCLASS()
8596 PartialRes = DAG.getNode(ISD::AND, DL, ResultVT, PartialRes, SignV); in expandIS_FPCLASS()
8599 DAG.getNode(ISD::XOR, DL, ResultVT, SignV, ResultInvertionMask); in expandIS_FPCLASS()
8600 PartialRes = DAG.getNode(ISD::AND, DL, ResultVT, PartialRes, PosSignV); in expandIS_FPCLASS()
8604 DAG.getNode(ISD::AND, DL, ResultVT, PartialRes, getIntBitIsSet()); in expandIS_FPCLASS()
8611 Res = DAG.getNode(ISD::XOR, DL, ResultVT, Res, ResultInvertionMask); in expandIS_FPCLASS()
8652 Op = DAG.getNode(ISD::SUB, dl, VT, Op, in expandCTPOP()
8653 DAG.getNode(ISD::AND, dl, VT, in expandCTPOP()
8654 DAG.getNode(ISD::SRL, dl, VT, Op, in expandCTPOP()
8658 Op = DAG.getNode(ISD::ADD, dl, VT, DAG.getNode(ISD::AND, dl, VT, Op, Mask33), in expandCTPOP()
8659 DAG.getNode(ISD::AND, dl, VT, in expandCTPOP()
8660 DAG.getNode(ISD::SRL, dl, VT, Op, in expandCTPOP()
8664 Op = DAG.getNode(ISD::AND, dl, VT, in expandCTPOP()
8665 DAG.getNode(ISD::ADD, dl, VT, Op, in expandCTPOP()
8666 DAG.getNode(ISD::SRL, dl, VT, Op, in expandCTPOP()
8678 return DAG.getNode(ISD::AND, dl, VT, in expandCTPOP()
8679 DAG.getNode(ISD::ADD, dl, VT, Op, in expandCTPOP()
8680 DAG.getNode(ISD::SRL, dl, VT, Op, in expandCTPOP()
8688 return DAG.getNode(ISD::SRL, dl, VT, in expandCTPOP()
8689 DAG.getNode(ISD::MUL, dl, VT, Op, Mask01), in expandCTPOP()
8719 Tmp1 = DAG.getNode(ISD::VP_AND, dl, VT, in expandVPCTPOP()
8720 DAG.getNode(ISD::VP_LSHR, dl, VT, Op, in expandVPCTPOP()
8723 Op = DAG.getNode(ISD::VP_SUB, dl, VT, Op, Tmp1, Mask, VL); in expandVPCTPOP()
8726 Tmp2 = DAG.getNode(ISD::VP_AND, dl, VT, Op, Mask33, Mask, VL); in expandVPCTPOP()
8727 Tmp3 = DAG.getNode(ISD::VP_AND, dl, VT, in expandVPCTPOP()
8728 DAG.getNode(ISD::VP_LSHR, dl, VT, Op, in expandVPCTPOP()
8731 Op = DAG.getNode(ISD::VP_ADD, dl, VT, Tmp2, Tmp3, Mask, VL); in expandVPCTPOP()
8734 Tmp4 = DAG.getNode(ISD::VP_LSHR, dl, VT, Op, DAG.getConstant(4, dl, ShVT), in expandVPCTPOP()
8736 Tmp5 = DAG.getNode(ISD::VP_ADD, dl, VT, Op, Tmp4, Mask, VL); in expandVPCTPOP()
8737 Op = DAG.getNode(ISD::VP_AND, dl, VT, Tmp5, Mask0F, Mask, VL); in expandVPCTPOP()
8745 return DAG.getNode(ISD::VP_LSHR, dl, VT, in expandVPCTPOP()
8746 DAG.getNode(ISD::VP_MUL, dl, VT, Op, Mask01, Mask, VL), in expandVPCTPOP()
8760 return DAG.getNode(ISD::CTLZ, dl, VT, Op); in expandCTLZ()
8766 SDValue CTLZ = DAG.getNode(ISD::CTLZ_ZERO_UNDEF, dl, VT, Op); in expandCTLZ()
8793 Op = DAG.getNode(ISD::OR, dl, VT, Op, in expandCTLZ()
8794 DAG.getNode(ISD::SRL, dl, VT, Op, Tmp)); in expandCTLZ()
8797 return DAG.getNode(ISD::CTPOP, dl, VT, Op); in expandCTLZ()
8818 Op = DAG.getNode(ISD::VP_OR, dl, VT, Op, in expandVPCTLZ()
8819 DAG.getNode(ISD::VP_LSHR, dl, VT, Op, Tmp, Mask, VL), Mask, in expandVPCTLZ()
8822 Op = DAG.getNode(ISD::VP_XOR, dl, VT, Op, DAG.getConstant(-1, dl, VT), Mask, in expandVPCTLZ()
8824 return DAG.getNode(ISD::VP_CTPOP, dl, VT, Op, Mask, VL); in expandVPCTLZ()
8838 SDValue Neg = DAG.getNode(ISD::SUB, DL, VT, DAG.getConstant(0, DL, VT), Op); in CTTZTableLookup()
8839 SDValue Lookup = DAG.getNode( in CTTZTableLookup()
8841 DAG.getNode(ISD::MUL, DL, VT, DAG.getNode(ISD::AND, DL, VT, Op, Neg), in CTTZTableLookup()
8880 return DAG.getNode(ISD::CTTZ, dl, VT, Op); in expandCTTZ()
8886 SDValue CTTZ = DAG.getNode(ISD::CTTZ_ZERO_UNDEF, dl, VT, Op); in expandCTTZ()
8914 SDValue Tmp = DAG.getNode( in expandCTTZ()
8916 DAG.getNode(ISD::SUB, dl, VT, Op, DAG.getConstant(1, dl, VT))); in expandCTTZ()
8920 return DAG.getNode(ISD::SUB, dl, VT, DAG.getConstant(NumBitsPerElt, dl, VT), in expandCTTZ()
8921 DAG.getNode(ISD::CTLZ, dl, VT, Tmp)); in expandCTTZ()
8924 return DAG.getNode(ISD::CTPOP, dl, VT, Tmp); in expandCTTZ()
8935 SDValue Not = DAG.getNode(ISD::VP_XOR, dl, VT, Op, in expandVPCTTZ()
8937 SDValue MinusOne = DAG.getNode(ISD::VP_SUB, dl, VT, Op, in expandVPCTTZ()
8939 SDValue Tmp = DAG.getNode(ISD::VP_AND, dl, VT, Not, MinusOne, Mask, VL); in expandVPCTTZ()
8940 return DAG.getNode(ISD::VP_CTPOP, dl, VT, Tmp, Mask, VL); in expandVPCTTZ()
8954 return DAG.getNode(ISD::SMAX, dl, VT, Op, in expandABS()
8955 DAG.getNode(ISD::SUB, dl, VT, Zero, Op)); in expandABS()
8963 return DAG.getNode(ISD::UMIN, dl, VT, Op, in expandABS()
8964 DAG.getNode(ISD::SUB, dl, VT, Zero, Op)); in expandABS()
8972 return DAG.getNode(ISD::SMIN, dl, VT, Op, in expandABS()
8973 DAG.getNode(ISD::SUB, dl, VT, Zero, Op)); in expandABS()
8986 DAG.getNode(ISD::SRA, dl, VT, Op, in expandABS()
8988 SDValue Xor = DAG.getNode(ISD::XOR, dl, VT, Op, Shift); in expandABS()
8992 return DAG.getNode(ISD::SUB, dl, VT, Xor, Shift); in expandABS()
8995 return DAG.getNode(ISD::SUB, dl, VT, Shift, Xor); in expandABS()
9010 SDValue Max = DAG.getNode(MaxOpc, dl, VT, LHS, RHS); in expandABD()
9011 SDValue Min = DAG.getNode(MinOpc, dl, VT, LHS, RHS); in expandABD()
9012 return DAG.getNode(ISD::SUB, dl, VT, Max, Min); in expandABD()
9017 return DAG.getNode(ISD::OR, dl, VT, in expandABD()
9018 DAG.getNode(ISD::USUBSAT, dl, VT, LHS, RHS), in expandABD()
9019 DAG.getNode(ISD::USUBSAT, dl, VT, RHS, LHS)); in expandABD()
9026 return DAG.getSelect(dl, VT, Cmp, DAG.getNode(ISD::SUB, dl, VT, LHS, RHS), in expandABD()
9027 DAG.getNode(ISD::SUB, dl, VT, RHS, LHS)); in expandABD()
9045 return DAG.getNode(ISD::ROTL, dl, VT, Op, DAG.getConstant(8, dl, SHVT)); in expandBSWAP()
9047 Tmp4 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(24, dl, SHVT)); in expandBSWAP()
9048 Tmp3 = DAG.getNode(ISD::AND, dl, VT, Op, in expandBSWAP()
9050 Tmp3 = DAG.getNode(ISD::SHL, dl, VT, Tmp3, DAG.getConstant(8, dl, SHVT)); in expandBSWAP()
9051 Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(8, dl, SHVT)); in expandBSWAP()
9052 Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2, DAG.getConstant(0xFF00, dl, VT)); in expandBSWAP()
9053 Tmp1 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(24, dl, SHVT)); in expandBSWAP()
9054 Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp3); in expandBSWAP()
9055 Tmp2 = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp1); in expandBSWAP()
9056 return DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp2); in expandBSWAP()
9058 Tmp8 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(56, dl, SHVT)); in expandBSWAP()
9059 Tmp7 = DAG.getNode(ISD::AND, dl, VT, Op, in expandBSWAP()
9061 Tmp7 = DAG.getNode(ISD::SHL, dl, VT, Tmp7, DAG.getConstant(40, dl, SHVT)); in expandBSWAP()
9062 Tmp6 = DAG.getNode(ISD::AND, dl, VT, Op, in expandBSWAP()
9064 Tmp6 = DAG.getNode(ISD::SHL, dl, VT, Tmp6, DAG.getConstant(24, dl, SHVT)); in expandBSWAP()
9065 Tmp5 = DAG.getNode(ISD::AND, dl, VT, Op, in expandBSWAP()
9067 Tmp5 = DAG.getNode(ISD::SHL, dl, VT, Tmp5, DAG.getConstant(8, dl, SHVT)); in expandBSWAP()
9068 Tmp4 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(8, dl, SHVT)); in expandBSWAP()
9069 Tmp4 = DAG.getNode(ISD::AND, dl, VT, Tmp4, in expandBSWAP()
9071 Tmp3 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(24, dl, SHVT)); in expandBSWAP()
9072 Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp3, in expandBSWAP()
9074 Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(40, dl, SHVT)); in expandBSWAP()
9075 Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2, in expandBSWAP()
9077 Tmp1 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(56, dl, SHVT)); in expandBSWAP()
9078 Tmp8 = DAG.getNode(ISD::OR, dl, VT, Tmp8, Tmp7); in expandBSWAP()
9079 Tmp6 = DAG.getNode(ISD::OR, dl, VT, Tmp6, Tmp5); in expandBSWAP()
9080 Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp3); in expandBSWAP()
9081 Tmp2 = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp1); in expandBSWAP()
9082 Tmp8 = DAG.getNode(ISD::OR, dl, VT, Tmp8, Tmp6); in expandBSWAP()
9083 Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp2); in expandBSWAP()
9084 return DAG.getNode(ISD::OR, dl, VT, Tmp8, Tmp4); in expandBSWAP()
9104 Tmp1 = DAG.getNode(ISD::VP_SHL, dl, VT, Op, DAG.getConstant(8, dl, SHVT), in expandVPBSWAP()
9106 Tmp2 = DAG.getNode(ISD::VP_LSHR, dl, VT, Op, DAG.getConstant(8, dl, SHVT), in expandVPBSWAP()
9108 return DAG.getNode(ISD::VP_OR, dl, VT, Tmp1, Tmp2, Mask, EVL); in expandVPBSWAP()
9110 Tmp4 = DAG.getNode(ISD::VP_SHL, dl, VT, Op, DAG.getConstant(24, dl, SHVT), in expandVPBSWAP()
9112 Tmp3 = DAG.getNode(ISD::VP_AND, dl, VT, Op, DAG.getConstant(0xFF00, dl, VT), in expandVPBSWAP()
9114 Tmp3 = DAG.getNode(ISD::VP_SHL, dl, VT, Tmp3, DAG.getConstant(8, dl, SHVT), in expandVPBSWAP()
9116 Tmp2 = DAG.getNode(ISD::VP_LSHR, dl, VT, Op, DAG.getConstant(8, dl, SHVT), in expandVPBSWAP()
9118 Tmp2 = DAG.getNode(ISD::VP_AND, dl, VT, Tmp2, in expandVPBSWAP()
9120 Tmp1 = DAG.getNode(ISD::VP_LSHR, dl, VT, Op, DAG.getConstant(24, dl, SHVT), in expandVPBSWAP()
9122 Tmp4 = DAG.getNode(ISD::VP_OR, dl, VT, Tmp4, Tmp3, Mask, EVL); in expandVPBSWAP()
9123 Tmp2 = DAG.getNode(ISD::VP_OR, dl, VT, Tmp2, Tmp1, Mask, EVL); in expandVPBSWAP()
9124 return DAG.getNode(ISD::VP_OR, dl, VT, Tmp4, Tmp2, Mask, EVL); in expandVPBSWAP()
9126 Tmp8 = DAG.getNode(ISD::VP_SHL, dl, VT, Op, DAG.getConstant(56, dl, SHVT), in expandVPBSWAP()
9128 Tmp7 = DAG.getNode(ISD::VP_AND, dl, VT, Op, in expandVPBSWAP()
9130 Tmp7 = DAG.getNode(ISD::VP_SHL, dl, VT, Tmp7, DAG.getConstant(40, dl, SHVT), in expandVPBSWAP()
9132 Tmp6 = DAG.getNode(ISD::VP_AND, dl, VT, Op, in expandVPBSWAP()
9134 Tmp6 = DAG.getNode(ISD::VP_SHL, dl, VT, Tmp6, DAG.getConstant(24, dl, SHVT), in expandVPBSWAP()
9136 Tmp5 = DAG.getNode(ISD::VP_AND, dl, VT, Op, in expandVPBSWAP()
9138 Tmp5 = DAG.getNode(ISD::VP_SHL, dl, VT, Tmp5, DAG.getConstant(8, dl, SHVT), in expandVPBSWAP()
9140 Tmp4 = DAG.getNode(ISD::VP_LSHR, dl, VT, Op, DAG.getConstant(8, dl, SHVT), in expandVPBSWAP()
9142 Tmp4 = DAG.getNode(ISD::VP_AND, dl, VT, Tmp4, in expandVPBSWAP()
9144 Tmp3 = DAG.getNode(ISD::VP_LSHR, dl, VT, Op, DAG.getConstant(24, dl, SHVT), in expandVPBSWAP()
9146 Tmp3 = DAG.getNode(ISD::VP_AND, dl, VT, Tmp3, in expandVPBSWAP()
9148 Tmp2 = DAG.getNode(ISD::VP_LSHR, dl, VT, Op, DAG.getConstant(40, dl, SHVT), in expandVPBSWAP()
9150 Tmp2 = DAG.getNode(ISD::VP_AND, dl, VT, Tmp2, in expandVPBSWAP()
9152 Tmp1 = DAG.getNode(ISD::VP_LSHR, dl, VT, Op, DAG.getConstant(56, dl, SHVT), in expandVPBSWAP()
9154 Tmp8 = DAG.getNode(ISD::VP_OR, dl, VT, Tmp8, Tmp7, Mask, EVL); in expandVPBSWAP()
9155 Tmp6 = DAG.getNode(ISD::VP_OR, dl, VT, Tmp6, Tmp5, Mask, EVL); in expandVPBSWAP()
9156 Tmp4 = DAG.getNode(ISD::VP_OR, dl, VT, Tmp4, Tmp3, Mask, EVL); in expandVPBSWAP()
9157 Tmp2 = DAG.getNode(ISD::VP_OR, dl, VT, Tmp2, Tmp1, Mask, EVL); in expandVPBSWAP()
9158 Tmp8 = DAG.getNode(ISD::VP_OR, dl, VT, Tmp8, Tmp6, Mask, EVL); in expandVPBSWAP()
9159 Tmp4 = DAG.getNode(ISD::VP_OR, dl, VT, Tmp4, Tmp2, Mask, EVL); in expandVPBSWAP()
9160 return DAG.getNode(ISD::VP_OR, dl, VT, Tmp8, Tmp4, Mask, EVL); in expandVPBSWAP()
9183 Tmp = (Sz > 8 ? DAG.getNode(ISD::BSWAP, dl, VT, Op) : Op); in expandBITREVERSE()
9186 Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Tmp, DAG.getConstant(4, dl, SHVT)); in expandBITREVERSE()
9187 Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2, DAG.getConstant(Mask4, dl, VT)); in expandBITREVERSE()
9188 Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp, DAG.getConstant(Mask4, dl, VT)); in expandBITREVERSE()
9189 Tmp3 = DAG.getNode(ISD::SHL, dl, VT, Tmp3, DAG.getConstant(4, dl, SHVT)); in expandBITREVERSE()
9190 Tmp = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp3); in expandBITREVERSE()
9193 Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Tmp, DAG.getConstant(2, dl, SHVT)); in expandBITREVERSE()
9194 Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2, DAG.getConstant(Mask2, dl, VT)); in expandBITREVERSE()
9195 Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp, DAG.getConstant(Mask2, dl, VT)); in expandBITREVERSE()
9196 Tmp3 = DAG.getNode(ISD::SHL, dl, VT, Tmp3, DAG.getConstant(2, dl, SHVT)); in expandBITREVERSE()
9197 Tmp = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp3); in expandBITREVERSE()
9200 Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Tmp, DAG.getConstant(1, dl, SHVT)); in expandBITREVERSE()
9201 Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2, DAG.getConstant(Mask1, dl, VT)); in expandBITREVERSE()
9202 Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp, DAG.getConstant(Mask1, dl, VT)); in expandBITREVERSE()
9203 Tmp3 = DAG.getNode(ISD::SHL, dl, VT, Tmp3, DAG.getConstant(1, dl, SHVT)); in expandBITREVERSE()
9204 Tmp = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp3); in expandBITREVERSE()
9212 DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(J - I, dl, SHVT)); in expandBITREVERSE()
9215 DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(I - J, dl, SHVT)); in expandBITREVERSE()
9218 Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2, DAG.getConstant(Shift, dl, VT)); in expandBITREVERSE()
9219 Tmp = DAG.getNode(ISD::OR, dl, VT, Tmp, Tmp2); in expandBITREVERSE()
9248 Tmp = (Sz > 8 ? DAG.getNode(ISD::VP_BSWAP, dl, VT, Op, Mask, EVL) : Op); in expandVPBITREVERSE()
9251 Tmp2 = DAG.getNode(ISD::VP_LSHR, dl, VT, Tmp, DAG.getConstant(4, dl, SHVT), in expandVPBITREVERSE()
9253 Tmp2 = DAG.getNode(ISD::VP_AND, dl, VT, Tmp2, in expandVPBITREVERSE()
9255 Tmp3 = DAG.getNode(ISD::VP_AND, dl, VT, Tmp, DAG.getConstant(Mask4, dl, VT), in expandVPBITREVERSE()
9257 Tmp3 = DAG.getNode(ISD::VP_SHL, dl, VT, Tmp3, DAG.getConstant(4, dl, SHVT), in expandVPBITREVERSE()
9259 Tmp = DAG.getNode(ISD::VP_OR, dl, VT, Tmp2, Tmp3, Mask, EVL); in expandVPBITREVERSE()
9262 Tmp2 = DAG.getNode(ISD::VP_LSHR, dl, VT, Tmp, DAG.getConstant(2, dl, SHVT), in expandVPBITREVERSE()
9264 Tmp2 = DAG.getNode(ISD::VP_AND, dl, VT, Tmp2, in expandVPBITREVERSE()
9266 Tmp3 = DAG.getNode(ISD::VP_AND, dl, VT, Tmp, DAG.getConstant(Mask2, dl, VT), in expandVPBITREVERSE()
9268 Tmp3 = DAG.getNode(ISD::VP_SHL, dl, VT, Tmp3, DAG.getConstant(2, dl, SHVT), in expandVPBITREVERSE()
9270 Tmp = DAG.getNode(ISD::VP_OR, dl, VT, Tmp2, Tmp3, Mask, EVL); in expandVPBITREVERSE()
9273 Tmp2 = DAG.getNode(ISD::VP_LSHR, dl, VT, Tmp, DAG.getConstant(1, dl, SHVT), in expandVPBITREVERSE()
9275 Tmp2 = DAG.getNode(ISD::VP_AND, dl, VT, Tmp2, in expandVPBITREVERSE()
9277 Tmp3 = DAG.getNode(ISD::VP_AND, dl, VT, Tmp, DAG.getConstant(Mask1, dl, VT), in expandVPBITREVERSE()
9279 Tmp3 = DAG.getNode(ISD::VP_SHL, dl, VT, Tmp3, DAG.getConstant(1, dl, SHVT), in expandVPBITREVERSE()
9281 Tmp = DAG.getNode(ISD::VP_OR, dl, VT, Tmp2, Tmp3, Mask, EVL); in expandVPBITREVERSE()
9336 SDValue ShiftedElt = DAG.getNode(ISD::SRL, SL, LoadVT, Load, ShiftAmount); in scalarizeVectorLoad()
9338 DAG.getNode(ISD::AND, SL, LoadVT, ShiftedElt, SrcEltBitMask); in scalarizeVectorLoad()
9339 SDValue Scalar = DAG.getNode(ISD::TRUNCATE, SL, SrcEltVT, Elt); in scalarizeVectorLoad()
9343 Scalar = DAG.getNode(ExtendOp, SL, DstEltVT, Scalar); in scalarizeVectorLoad()
9372 SDValue NewChain = DAG.getNode(ISD::TokenFactor, SL, MVT::Other, LoadChains); in scalarizeVectorLoad()
9412 SDValue Elt = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, RegSclVT, Value, in scalarizeVectorStore()
9414 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, SL, MemSclVT, Elt); in scalarizeVectorStore()
9415 SDValue ExtElt = DAG.getNode(ISD::ZERO_EXTEND, SL, IntVT, Trunc); in scalarizeVectorStore()
9421 DAG.getNode(ISD::SHL, SL, IntVT, ExtElt, ShiftAmount); in scalarizeVectorStore()
9422 CurrVal = DAG.getNode(ISD::OR, SL, IntVT, CurrVal, ShiftedElt); in scalarizeVectorStore()
9437 SDValue Elt = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SL, RegSclVT, Value, in scalarizeVectorStore()
9452 return DAG.getNode(ISD::TokenFactor, SL, MVT::Other, Stores); in scalarizeVectorStore()
9479 SDValue Result = DAG.getNode(ISD::BITCAST, dl, LoadedVT, newLoad); in expandUnalignedLoad()
9481 Result = DAG.getNode(VT.isFloatingPoint() ? ISD::FP_EXTEND : in expandUnalignedLoad()
9496 auto FrameIndex = cast<FrameIndexSDNode>(StackBase.getNode())->getIndex(); in expandUnalignedLoad()
9541 SDValue TF = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Stores); in expandUnalignedLoad()
9598 SDValue Result = DAG.getNode(ISD::SHL, dl, VT, Hi, ShiftAmount); in expandUnalignedLoad()
9599 Result = DAG.getNode(ISD::OR, dl, VT, Result, Lo); in expandUnalignedLoad()
9601 SDValue TF = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo.getValue(1), in expandUnalignedLoad()
9632 SDValue Result = DAG.getNode(ISD::BITCAST, dl, intVT, Val); in expandUnalignedStore()
9649 auto FrameIndex = cast<FrameIndexSDNode>(StackPtr.getNode())->getIndex(); in expandUnalignedStore()
9697 SDValue Result = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Stores); in expandUnalignedStore()
9716 Lo = DAG.getNode( in expandUnalignedStore()
9720 SDValue Hi = DAG.getNode(ISD::SRL, dl, VT, Val, ShiftAmount); in expandUnalignedStore()
9736 DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Store1, Store2); in expandUnalignedStore()
9758 MaskInIntReg = DAG.getNode(ISD::ZERO_EXTEND, DL, MVT::i32, MaskInIntReg); in IncrementMemoryAddress()
9763 Increment = DAG.getNode(ISD::CTPOP, DL, MaskIntVT, MaskInIntReg); in IncrementMemoryAddress()
9768 Increment = DAG.getNode(ISD::MUL, DL, AddrVT, Increment, Scale); in IncrementMemoryAddress()
9776 return DAG.getNode(ISD::ADD, DL, AddrVT, Addr, Increment); in IncrementMemoryAddress()
9799 SDValue Sub = DAG.getNode(SubOpcode, dl, IdxVT, VS, in clampDynamicVectorIndex()
9801 return DAG.getNode(ISD::UMIN, dl, IdxVT, Idx, Sub); in clampDynamicVectorIndex()
9805 return DAG.getNode(ISD::AND, dl, IdxVT, Idx, in clampDynamicVectorIndex()
9809 return DAG.getNode(ISD::UMIN, dl, IdxVT, Idx, in clampDynamicVectorIndex()
9844 DAG.getNode(ISD::MUL, dl, IdxVT, Index, in getVectorSubVecPointer()
9847 Index = DAG.getNode(ISD::MUL, dl, IdxVT, Index, in getVectorSubVecPointer()
9905 Zext = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Op.getOperand(0)); in lowerCmpEqZeroToCtlzSrl()
9908 SDValue Clz = DAG.getNode(ISD::CTLZ, dl, VT, Zext); in lowerCmpEqZeroToCtlzSrl()
9909 SDValue Scc = DAG.getNode(ISD::SRL, dl, VT, Clz, in lowerCmpEqZeroToCtlzSrl()
9911 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i32, Scc); in lowerCmpEqZeroToCtlzSrl()
9929 return DAG.getNode(ISD::SUB, DL, VT, Op0, in expandIntMINMAX()
9937 return DAG.getNode(ISD::SUB, DL, VT, Op0, in expandIntMINMAX()
9938 DAG.getNode(ISD::USUBSAT, DL, VT, Op0, Op1)); in expandIntMINMAX()
9945 return DAG.getNode(ISD::ADD, DL, VT, Op0, in expandIntMINMAX()
9946 DAG.getNode(ISD::USUBSAT, DL, VT, Op1, Op0)); in expandIntMINMAX()
10009 SDValue Max = DAG.getNode(ISD::UMAX, dl, VT, LHS, RHS); in expandAddSubSat()
10010 return DAG.getNode(ISD::SUB, dl, VT, Max, RHS); in expandAddSubSat()
10016 SDValue Min = DAG.getNode(ISD::UMIN, dl, VT, LHS, InvRHS); in expandAddSubSat()
10017 return DAG.getNode(ISD::ADD, dl, VT, Min, RHS); in expandAddSubSat()
10046 SDValue Result = DAG.getNode(OverflowOp, dl, DAG.getVTList(VT, BoolVT), LHS, RHS); in expandAddSubSat()
10056 return DAG.getNode(ISD::OR, dl, VT, SumDiff, OverflowMask); in expandAddSubSat()
10067 return DAG.getNode(ISD::AND, dl, VT, SumDiff, Not); in expandAddSubSat()
10107 SDValue Shift = DAG.getNode(ISD::SRA, dl, VT, SumDiff, in expandAddSubSat()
10109 Result = DAG.getNode(ISD::XOR, dl, VT, Shift, SatMin); in expandAddSubSat()
10134 SDValue Result = DAG.getNode(ISD::SHL, dl, VT, LHS, RHS); in expandShlSat()
10136 DAG.getNode(IsSigned ? ISD::SRA : ISD::SRL, dl, VT, Result, RHS); in expandShlSat()
10176 return DAG.getNode(ISD::MUL, dl, VT, LHS, RHS); in expandFixedPointMul()
10179 DAG.getNode(ISD::SMULO, dl, DAG.getVTList(VT, BoolVT), LHS, RHS); in expandFixedPointMul()
10190 SDValue Xor = DAG.getNode(ISD::XOR, dl, VT, LHS, RHS); in expandFixedPointMul()
10196 DAG.getNode(ISD::UMULO, dl, DAG.getVTList(VT, BoolVT), LHS, RHS); in expandFixedPointMul()
10217 SDValue Result = DAG.getNode(LoHiOp, dl, DAG.getVTList(VT, VT), LHS, RHS); in expandFixedPointMul()
10221 Lo = DAG.getNode(ISD::MUL, dl, VT, LHS, RHS); in expandFixedPointMul()
10222 Hi = DAG.getNode(HiOp, dl, VT, LHS, RHS); in expandFixedPointMul()
10239 SDValue Result = DAG.getNode(ISD::FSHR, dl, VT, Hi, Lo, in expandFixedPointMul()
10267 SDValue Sign = DAG.getNode(ISD::SRA, dl, VT, Lo, in expandFixedPointMul()
10337 LHS = DAG.getNode(ISD::SHL, dl, VT, LHS, in expandFixedPointDiv()
10340 RHS = DAG.getNode(Signed ? ISD::SRA : ISD::SRL, dl, VT, RHS, in expandFixedPointDiv()
10354 Quot = DAG.getNode(ISD::SDIVREM, dl, in expandFixedPointDiv()
10360 Quot = DAG.getNode(ISD::SDIV, dl, VT, in expandFixedPointDiv()
10362 Rem = DAG.getNode(ISD::SREM, dl, VT, in expandFixedPointDiv()
10369 SDValue QuotNeg = DAG.getNode(ISD::XOR, dl, BoolVT, LHSNeg, RHSNeg); in expandFixedPointDiv()
10370 SDValue Sub1 = DAG.getNode(ISD::SUB, dl, VT, Quot, in expandFixedPointDiv()
10373 DAG.getNode(ISD::AND, dl, BoolVT, RemNonZero, QuotNeg), in expandFixedPointDiv()
10376 Quot = DAG.getNode(ISD::UDIV, dl, VT, in expandFixedPointDiv()
10393 SDValue NodeCarry = DAG.getNode(OpcCarry, dl, Node->getVTList(), in expandUADDSUBO()
10395 Result = SDValue(NodeCarry.getNode(), 0); in expandUADDSUBO()
10396 Overflow = SDValue(NodeCarry.getNode(), 1); in expandUADDSUBO()
10400 Result = DAG.getNode(IsAdd ? ISD::ADD : ISD::SUB, dl, in expandUADDSUBO()
10435 Result = DAG.getNode(IsAdd ? ISD::ADD : ISD::SUB, dl, in expandSADDSUBO()
10445 SDValue Sat = DAG.getNode(OpcSat, dl, LHS.getValueType(), LHS, RHS); in expandSADDSUBO()
10464 DAG.getNode(ISD::XOR, dl, OType, ConditionRHS, ResultLowerThanLHS), dl, in expandSADDSUBO()
10486 Result = DAG.getNode(ISD::SHL, dl, VT, LHS, ShiftAmt); in expandMULO()
10488 DAG.getNode(UseArithShift ? ISD::SRA : ISD::SRL, in expandMULO()
10506 BottomHalf = DAG.getNode(ISD::MUL, dl, VT, LHS, RHS); in expandMULO()
10507 TopHalf = DAG.getNode(Ops[isSigned][0], dl, VT, LHS, RHS); in expandMULO()
10509 BottomHalf = DAG.getNode(Ops[isSigned][1], dl, DAG.getVTList(VT, VT), LHS, in expandMULO()
10513 LHS = DAG.getNode(Ops[isSigned][2], dl, WideVT, LHS); in expandMULO()
10514 RHS = DAG.getNode(Ops[isSigned][2], dl, WideVT, RHS); in expandMULO()
10515 SDValue Mul = DAG.getNode(ISD::MUL, dl, WideVT, LHS, RHS); in expandMULO()
10516 BottomHalf = DAG.getNode(ISD::TRUNCATE, dl, VT, Mul); in expandMULO()
10519 TopHalf = DAG.getNode(ISD::TRUNCATE, dl, VT, in expandMULO()
10520 DAG.getNode(ISD::SRL, dl, WideVT, Mul, ShiftAmt)); in expandMULO()
10547 DAG.getNode(ISD::SRA, dl, VT, LHS, in expandMULO()
10551 DAG.getNode(ISD::SRA, dl, VT, RHS, in expandMULO()
10595 SDValue Sign = DAG.getNode(ISD::SRA, dl, VT, BottomHalf, ShiftAmt); in expandMULO()
10605 Overflow = DAG.getNode(ISD::TRUNCATE, dl, RType, Overflow); in expandMULO()
10631 Op = DAG.getNode(BaseOpcode, dl, HalfVT, Lo, Hi); in expandVecReduce()
10644 Res = DAG.getNode(BaseOpcode, dl, EltVT, Res, Ops[i], Node->getFlags()); in expandVecReduce()
10648 Res = DAG.getNode(ISD::ANY_EXTEND, dl, Node->getValueType(0), Res); in expandVecReduce()
10674 Res = DAG.getNode(BaseOpcode, dl, EltVT, Res, Ops[i], Flags); in expandVecReduceSeq()
10690 Result = DAG.getNode(DivRemOpc, dl, VTs, Dividend, Divisor).getValue(1); in expandREM()
10695 SDValue Divide = DAG.getNode(DivOpc, dl, VT, Dividend, Divisor); in expandREM()
10696 SDValue Mul = DAG.getNode(ISD::MUL, dl, VT, Divide, Divisor); in expandREM()
10697 Result = DAG.getNode(ISD::SUB, dl, VT, Dividend, Mul); in expandREM()
10733 Src = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f32, Src); in expandFP_TO_INT_SAT()
10759 Clamped = DAG.getNode(ISD::FMAXNUM, dl, SrcVT, Clamped, MinFloatNode); in expandFP_TO_INT_SAT()
10761 Clamped = DAG.getNode(ISD::FMINNUM, dl, SrcVT, Clamped, MaxFloatNode); in expandFP_TO_INT_SAT()
10763 SDValue FpToInt = DAG.getNode(IsSigned ? ISD::FP_TO_SINT : ISD::FP_TO_UINT, in expandFP_TO_INT_SAT()
10786 DAG.getNode(IsSigned ? ISD::FP_TO_SINT : ISD::FP_TO_UINT, dl, DstVT, Src); in expandFP_TO_INT_SAT()
10842 auto FrameIndex = cast<FrameIndexSDNode>(StackPtr.getNode())->getIndex(); in expandVectorSplice()
10851 SDValue StackPtr2 = DAG.getNode(ISD::ADD, DL, PtrVT, StackPtr, OffsetToV2); in expandVectorSplice()
10875 TrailingBytes = DAG.getNode(ISD::UMIN, DL, PtrVT, TrailingBytes, VLBytes); in expandVectorSplice()
10879 StackPtr2 = DAG.getNode(ISD::SUB, DL, PtrVT, StackPtr2, TrailingBytes); in expandVectorSplice()
11022 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, SetCC1.getValue(1), in LegalizeSetCCCondCode()
11025 LHS = DAG.getNode(Opc, dl, VT, SetCC1, SetCC2); in LegalizeSetCCCondCode()
11030 LHS = DAG.getNode(Opc, dl, VT, SetCC1, SetCC2, Mask, EVL); in LegalizeSetCCCondCode()