Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:dl

97                                          const SDLoc &dl);
99 const SDLoc &dl);
105 SDValue ShuffleWithNarrowerEltType(EVT NVT, EVT VT, const SDLoc &dl,
110 bool &NeedInvert, const SDLoc &dl);
114 unsigned NumOps, bool isSigned, const SDLoc &dl);
132 const SDLoc &dl);
137 void getSignAsIntValue(FloatSignAsInt &State, const SDLoc &DL,
139 SDValue modifySignAsInt(const FloatSignAsInt &State, const SDLoc &DL,
144 const SDLoc &dl);
146 const SDLoc &dl);
148 const SDLoc &dl);
150 SDValue ExpandBITREVERSE(SDValue Op, const SDLoc &dl);
151 SDValue ExpandBSWAP(SDValue Op, const SDLoc &dl);
152 SDValue ExpandBitCount(unsigned Opc, SDValue Op, const SDLoc &dl);
215 EVT NVT, EVT VT, const SDLoc &dl, SDValue N1, SDValue N2,
224 return DAG.getVectorShuffle(NVT, dl, N1, N2, Mask);
238 return DAG.getVectorShuffle(NVT, dl, N1, N2, NewMask);
246 SDLoc dl(CFP);
258 return DAG.getConstant(LLVMC->getValueAPF().bitcastToAPInt(), dl,
283 ISD::EXTLOAD, dl, OrigVT, DAG.getEntryNode(), CPIdx,
289 DAG.getLoad(OrigVT, dl, DAG.getEntryNode(), CPIdx,
297 SDLoc dl(CP);
303 DAG.getLoad(VT, dl, DAG.getEntryNode(), CPIdx,
316 const SDLoc &dl) {
337 DAG.getEntryNode(), dl, Tmp1, StackPtr,
342 Tmp3 = DAG.getZExtOrTrunc(Tmp3, dl, PtrVT);
345 Tmp3 = DAG.getNode(ISD::MUL, dl, IdxVT, Tmp3,
346 DAG.getConstant(EltSize, dl, IdxVT));
347 SDValue StackPtr2 = DAG.getNode(ISD::ADD, dl, IdxVT, Tmp3, StackPtr);
349 Ch = DAG.getTruncStore(Ch, dl, Tmp2, StackPtr2, MachinePointerInfo(), EltVT,
352 return DAG.getLoad(VT, dl, Ch, StackPtr, MachinePointerInfo::getFixedStack(
359 const SDLoc &dl) {
367 SDValue ScVec = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl,
378 return DAG.getVectorShuffle(Vec.getValueType(), dl, Vec, ScVec, ShufOps);
381 return PerformInsertVectorEltInMemory(Vec, Val, Idx, dl);
398 SDLoc dl(ST);
405 return DAG.getStore(Chain, dl, Con, Ptr, ST->getPointerInfo(),
414 return DAG.getStore(Chain, dl, Con, Ptr, ST->getPointerInfo(),
423 SDValue Lo = DAG.getConstant(IntVal.trunc(32), dl, MVT::i32);
424 SDValue Hi = DAG.getConstant(IntVal.lshr(32).trunc(32), dl, MVT::i32);
428 Lo = DAG.getStore(Chain, dl, Lo, Ptr, ST->getPointerInfo(), isVolatile,
430 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
431 DAG.getConstant(4, dl, Ptr.getValueType()));
432 Hi = DAG.getStore(Chain, dl, Hi, Ptr,
437 return DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo, Hi);
448 SDLoc dl(Node);
472 const DataLayout &DL = DAG.getDataLayout();
473 if (!TLI.allowsMemoryAccess(*DAG.getContext(), DL, MemVT, AS, Align)) {
489 Value = DAG.getNode(ISD::BITCAST, dl, NVT, Value);
491 DAG.getStore(Chain, dl, Value, Ptr,
505 auto &DL = DAG.getDataLayout();
513 Value = DAG.getZeroExtendInReg(Value, dl, StVT);
515 DAG.getTruncStore(Chain, dl, Value, Ptr, ST->getPointerInfo(),
532 if (DL.isLittleEndian()) {
535 Lo = DAG.getTruncStore(Chain, dl, Value, Ptr, ST->getPointerInfo(),
542 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
543 DAG.getConstant(IncrementSize, dl,
546 ISD::SRL, dl, Value.getValueType(), Value,
547 DAG.getConstant(RoundWidth, dl,
548 TLI.getShiftAmountTy(Value.getValueType(), DL)));
549 Hi = DAG.getTruncStore(Chain, dl, Hi, Ptr,
558 ISD::SRL, dl, Value.getValueType(), Value,
559 DAG.getConstant(ExtraWidth, dl,
560 TLI.getShiftAmountTy(Value.getValueType(), DL)));
561 Hi = DAG.getTruncStore(Chain, dl, Hi, Ptr, ST->getPointerInfo(),
567 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
568 DAG.getConstant(IncrementSize, dl,
570 Lo = DAG.getTruncStore(Chain, dl, Value, Ptr,
577 SDValue Result = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo, Hi);
588 if (!TLI.allowsMemoryAccess(*DAG.getContext(), DL, MemVT, AS, Align)) {
607 Value = DAG.getNode(ISD::TRUNCATE, dl, StVT, Value);
609 DAG.getStore(Chain, dl, Value, Ptr, ST->getPointerInfo(),
623 SDLoc dl(Node);
637 const DataLayout &DL = DAG.getDataLayout();
640 if (!TLI.allowsMemoryAccess(*DAG.getContext(), DL, MemVT, AS, Align)) {
657 SDValue Res = DAG.getLoad(NVT, dl, Chain, Ptr, LD->getMemOperand());
658 RVal = DAG.getNode(ISD::BITCAST, dl, VT, Res);
708 DAG.getExtLoad(NewExtType, dl, Node->getValueType(0),
717 Result = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl,
722 Result = DAG.getNode(ISD::AssertZext, dl,
741 auto &DL = DAG.getDataLayout();
743 if (DL.isLittleEndian()) {
746 Lo = DAG.getExtLoad(ISD::ZEXTLOAD, dl, Node->getValueType(0),
753 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
754 DAG.getConstant(IncrementSize, dl,
756 Hi = DAG.getExtLoad(ExtType, dl, Node->getValueType(0), Chain, Ptr,
763 Ch = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo.getValue(1),
768 ISD::SHL, dl, Hi.getValueType(), Hi,
769 DAG.getConstant(RoundWidth, dl,
770 TLI.getShiftAmountTy(Hi.getValueType(), DL)));
773 Value = DAG.getNode(ISD::OR, dl, Node->getValueType(0), Lo, Hi);
778 Hi = DAG.getExtLoad(ExtType, dl, Node->getValueType(0), Chain, Ptr,
784 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
785 DAG.getConstant(IncrementSize, dl,
788 dl, Node->getValueType(0), Chain, Ptr,
795 Ch = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo.getValue(1),
800 ISD::SHL, dl, Hi.getValueType(), Hi,
801 DAG.getConstant(ExtraWidth, dl,
802 TLI.getShiftAmountTy(Hi.getValueType(), DL)));
805 Value = DAG.getNode(ISD::OR, dl, Node->getValueType(0), Lo, Hi);
832 const DataLayout &DL = DAG.getDataLayout();
833 if (!TLI.allowsMemoryAccess(*DAG.getContext(), DL, MemVT, AS, Align)) {
852 SDValue Load = DAG.getExtLoad(MidExtType, dl, LoadVT, Chain, Ptr,
856 Value = DAG.getNode(ExtendOp, dl, Node->getValueType(0), Load);
870 SDValue Result = DAG.getExtLoad(ISD::ZEXTLOAD, dl, LoadVT,
873 Value = DAG.getNode(ISD::FP16_TO_FP, dl, DestVT, Result);
890 SDValue Result = DAG.getExtLoad(ISD::EXTLOAD, dl,
896 ValRes = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl,
900 ValRes = DAG.getZeroExtendInReg(Result, dl, SrcVT.getScalarType());
1177 SDLoc dl(Op);
1219 Ch = DAG.getStore(DAG.getEntryNode(), dl, Vec, StackPtr,
1226 Idx = DAG.getNode(ISD::MUL, dl, Idx.getValueType(), Idx,
1229 Idx = DAG.getZExtOrTrunc(Idx, dl, TLI.getPointerTy(DAG.getDataLayout()));
1230 StackPtr = DAG.getNode(ISD::ADD, dl, Idx.getValueType(), Idx, StackPtr);
1235 NewLoad = DAG.getLoad(Op.getValueType(), dl, Ch, StackPtr,
1239 ISD::EXTLOAD, dl, Op.getValueType(), Ch, StackPtr, MachinePointerInfo(),
1261 SDLoc dl(Op);
1271 SDValue Ch = DAG.getStore(DAG.getEntryNode(), dl, Vec, StackPtr, PtrInfo,
1280 Idx = DAG.getNode(ISD::MUL, dl, Idx.getValueType(), Idx,
1282 Idx = DAG.getZExtOrTrunc(Idx, dl, TLI.getPointerTy(DAG.getDataLayout()));
1284 SDValue SubStackPtr = DAG.getNode(ISD::ADD, dl, Idx.getValueType(), Idx,
1288 Ch = DAG.getStore(Ch, dl, Part, SubStackPtr,
1292 return DAG.getLoad(Op.getValueType(), dl, Ch, StackPtr, PtrInfo,
1303 SDLoc dl(Node);
1319 SDValue Idx = DAG.getConstant(Offset, dl, FIPtr.getValueType());
1320 Idx = DAG.getNode(ISD::ADD, dl, FIPtr.getValueType(), FIPtr, Idx);
1325 Stores.push_back(DAG.getTruncStore(DAG.getEntryNode(), dl,
1330 Stores.push_back(DAG.getStore(DAG.getEntryNode(), dl,
1338 StoreChain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Stores);
1343 return DAG.getLoad(VT, dl, StoreChain, FIPtr, PtrInfo,
1367 const SDLoc &DL,
1375 State.IntValue = DAG.getNode(ISD::BITCAST, DL, IVT, Value);
1391 State.Chain = DAG.getStore(DAG.getEntryNode(), DL, Value, State.FloatPtr,
1403 IntPtr = DAG.getNode(ISD::ADD, DL, StackPtr.getValueType(), StackPtr,
1404 DAG.getConstant(ByteOffset, DL, StackPtr.getValueType()));
1410 State.IntValue = DAG.getExtLoad(ISD::EXTLOAD, DL, LoadTy, State.Chain,
1420 const SDLoc &DL,
1423 return DAG.getNode(ISD::BITCAST, DL, State.FloatVT, NewIntValue);
1426 SDValue Chain = DAG.getTruncStore(State.Chain, DL, NewIntValue, State.IntPtr,
1429 return DAG.getLoad(State.FloatVT, DL, Chain, State.FloatPtr,
1434 SDLoc DL(Node);
1440 getSignAsIntValue(SignAsInt, DL, Sign);
1443 SDValue SignMask = DAG.getConstant(SignAsInt.SignMask, DL, IntVT);
1444 SDValue SignBit = DAG.getNode(ISD::AND, DL, IntVT, SignAsInt.IntValue,
1451 SDValue AbsValue = DAG.getNode(ISD::FABS, DL, FloatVT, Mag);
1452 SDValue NegValue = DAG.getNode(ISD::FNEG, DL, FloatVT, AbsValue);
1453 SDValue Cond = DAG.getSetCC(DL, getSetCCResultType(IntVT), SignBit,
1454 DAG.getConstant(0, DL, IntVT), ISD::SETNE);
1455 return DAG.getSelect(DL, FloatVT, Cond, NegValue, AbsValue);
1460 getSignAsIntValue(MagAsInt, DL, Mag);
1462 SDValue ClearSignMask = DAG.getConstant(~MagAsInt.SignMask, DL, MagVT);
1463 SDValue ClearedSign = DAG.getNode(ISD::AND, DL, MagVT, MagAsInt.IntValue,
1470 SDValue ShiftCnst = DAG.getConstant(ShiftAmount, DL, IntVT);
1471 SignBit = DAG.getNode(ISD::SRL, DL, IntVT, SignBit, ShiftCnst);
1473 SDValue ShiftCnst = DAG.getConstant(-ShiftAmount, DL, IntVT);
1474 SignBit = DAG.getNode(ISD::SHL, DL, IntVT, SignBit, ShiftCnst);
1476 SignBit = DAG.getNode(ISD::TRUNCATE, DL, MagVT, SignBit);
1478 SignBit = DAG.getNode(ISD::ZERO_EXTEND, DL, MagVT, SignBit);
1480 SDValue ShiftCnst = DAG.getConstant(ShiftAmount, DL, MagVT);
1481 SignBit = DAG.getNode(ISD::SRL, DL, MagVT, SignBit, ShiftCnst);
1483 SDValue ShiftCnst = DAG.getConstant(-ShiftAmount, DL, MagVT);
1484 SignBit = DAG.getNode(ISD::SHL, DL, MagVT, SignBit, ShiftCnst);
1489 SDValue CopiedSign = DAG.getNode(ISD::OR, DL, MagVT, ClearedSign, SignBit);
1490 return modifySignAsInt(MagAsInt, DL, CopiedSign);
1494 SDLoc DL(Node);
1500 SDValue Zero = DAG.getConstantFP(0.0, DL, FloatVT);
1501 return DAG.getNode(ISD::FCOPYSIGN, DL, FloatVT, Value, Zero);
1506 getSignAsIntValue(ValueAsInt, DL, Value);
1508 SDValue ClearSignMask = DAG.getConstant(~ValueAsInt.SignMask, DL, IntVT);
1509 SDValue ClearedSign = DAG.getNode(ISD::AND, DL, IntVT, ValueAsInt.IntValue,
1511 return modifySignAsInt(ValueAsInt, DL, ClearedSign);
1519 SDLoc dl(Node);
1528 Chain = DAG.getCALLSEQ_START(Chain, DAG.getIntPtrConstant(0, dl, true), dl);
1531 SDValue SP = DAG.getCopyFromReg(Chain, dl, SPReg, VT);
1536 Tmp1 = DAG.getNode(ISD::SUB, dl, VT, SP, Size); // Value
1538 Tmp1 = DAG.getNode(ISD::AND, dl, VT, Tmp1,
1539 DAG.getConstant(-(uint64_t)Align, dl, VT));
1540 Chain = DAG.getCopyToReg(Chain, dl, SPReg, Tmp1); // Output chain
1542 Tmp2 = DAG.getCALLSEQ_END(Chain, DAG.getIntPtrConstant(0, dl, true),
1543 DAG.getIntPtrConstant(0, dl, true), SDValue(), dl);
1570 const SDLoc &dl) {
1647 SetCC1 = DAG.getSetCC(dl, VT, LHS, RHS, CC1);
1648 SetCC2 = DAG.getSetCC(dl, VT, LHS, RHS, CC2);
1651 SetCC1 = DAG.getSetCC(dl, VT, LHS, LHS, CC1);
1652 SetCC2 = DAG.getSetCC(dl, VT, RHS, RHS, CC2);
1654 LHS = DAG.getNode(Opc, dl, VT, SetCC1, SetCC2);
1668 EVT DestVT, const SDLoc &dl) {
1690 Store = DAG.getTruncStore(DAG.getEntryNode(), dl, SrcOp, FIPtr,
1694 Store = DAG.getStore(DAG.getEntryNode(), dl, SrcOp, FIPtr,
1700 return DAG.getLoad(DestVT, dl, Store, FIPtr, PtrInfo,
1704 return DAG.getExtLoad(ISD::EXTLOAD, dl, DestVT, Store, FIPtr,
1709 SDLoc dl(Node);
1718 DAG.getEntryNode(), dl, Node->getOperand(0), StackPtr,
1722 Node->getValueType(0), dl, Ch, StackPtr,
1731 SDLoc dl(Node);
1751 Vec = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, V);
1780 Shuffle = DAG.getVectorShuffle(VT, dl, IntermedVals[i].first,
1813 Res = DAG.getVectorShuffle(VT, dl, Vec1, Vec2, ShuffleVec);
1826 SDLoc dl(Node);
1859 return DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Node->getOperand(0));
1891 VT, dl, DAG.getEntryNode(), CPIdx,
1914 SDValue Vec1 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Value1);
1917 Vec2 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Value2);
1922 return DAG.getVectorShuffle(VT, dl, Vec1, Vec2, ShuffleVec);
1991 bool isSigned, const SDLoc &dl) {
2009 CLI.setDebugLoc(dl).setChain(DAG.getEntryNode())
2136 SDLoc dl(Node);
2138 CLI.setDebugLoc(dl).setChain(InChain)
2145 SDValue Rem = DAG.getLoad(RetVT, dl, CallInfo.second, FIPtr,
2247 SDLoc dl(Node);
2249 CLI.setDebugLoc(dl).setChain(InChain)
2255 Results.push_back(DAG.getLoad(RetVT, dl, CallInfo.second, SinPtr,
2257 Results.push_back(DAG.getLoad(RetVT, dl, CallInfo.second, CosPtr,
2267 const SDLoc &dl) {
2277 SDValue WordOff = DAG.getConstant(sizeof(int), dl,
2281 SDValue Lo = DAG.getNode(ISD::ADD, dl, StackSlot.getValueType(),
2290 SDValue SignBit = DAG.getConstant(0x80000000u, dl, MVT::i32);
2291 Op0Mapped = DAG.getNode(ISD::XOR, dl, MVT::i32, Op0, SignBit);
2296 SDValue Store1 = DAG.getStore(DAG.getEntryNode(), dl,
2300 SDValue InitialHi = DAG.getConstant(0x43300000u, dl, MVT::i32);
2302 SDValue Store2 = DAG.getStore(Store1, dl, InitialHi, Hi,
2306 SDValue Load = DAG.getLoad(MVT::f64, dl, Store2, StackSlot,
2312 dl, MVT::f64);
2314 SDValue Sub = DAG.getNode(ISD::FSUB, dl, MVT::f64, Load, Bias);
2322 Result = DAG.getNode(ISD::FP_ROUND, dl, DestVT, Sub,
2323 DAG.getIntPtrConstant(0, dl));
2325 Result = DAG.getNode(ISD::FP_EXTEND, dl, DestVT, Sub);
2339 DAG.getConstant(UINT64_C(0x4330000000000000), dl, MVT::i64);
2341 DAG.getConstantFP(BitsToDouble(UINT64_C(0x4530000000100000)), dl,
2344 DAG.getConstant(UINT64_C(0x4530000000000000), dl, MVT::i64);
2346 SDValue Lo = DAG.getZeroExtendInReg(Op0, dl, MVT::i32);
2347 SDValue Hi = DAG.getNode(ISD::SRL, dl, MVT::i64, Op0,
2348 DAG.getConstant(32, dl, MVT::i64));
2349 SDValue LoOr = DAG.getNode(ISD::OR, dl, MVT::i64, Lo, TwoP52);
2350 SDValue HiOr = DAG.getNode(ISD::OR, dl, MVT::i64, Hi, TwoP84);
2351 SDValue LoFlt = DAG.getNode(ISD::BITCAST, dl, MVT::f64, LoOr);
2352 SDValue HiFlt = DAG.getNode(ISD::BITCAST, dl, MVT::f64, HiOr);
2353 SDValue HiSub = DAG.getNode(ISD::FSUB, dl, MVT::f64, HiFlt,
2355 return DAG.getNode(ISD::FADD, dl, MVT::f64, LoFlt, HiSub);
2364 SDValue Fast = DAG.getNode(ISD::SINT_TO_FP, dl, MVT::f32, Op0);
2367 1, dl, TLI.getShiftAmountTy(Op0.getValueType(), DAG.getDataLayout()));
2368 SDValue Shr = DAG.getNode(ISD::SRL, dl, MVT::i64, Op0, ShiftConst);
2369 SDValue AndConst = DAG.getConstant(1, dl, MVT::i64);
2370 SDValue And = DAG.getNode(ISD::AND, dl, MVT::i64, Op0, AndConst);
2371 SDValue Or = DAG.getNode(ISD::OR, dl, MVT::i64, And, Shr);
2373 SDValue SignCvt = DAG.getNode(ISD::SINT_TO_FP, dl, MVT::f32, Or);
2374 SDValue Slow = DAG.getNode(ISD::FADD, dl, MVT::f32, SignCvt, SignCvt);
2380 SDValue SignBitTest = DAG.getSetCC(dl, getSetCCResultType(MVT::i64),
2381 Op0, DAG.getConstant(0, dl, MVT::i64), ISD::SETLT);
2382 return DAG.getSelect(dl, MVT::f32, SignBitTest, Slow, Fast);
2387 SDValue And = DAG.getNode(ISD::AND, dl, MVT::i64, Op0,
2388 dl, MVT::i64));
2389 SDValue Or = DAG.getNode(ISD::OR, dl, MVT::i64, And,
2390 DAG.getConstant(UINT64_C(0x800), dl, MVT::i64));
2391 SDValue And2 = DAG.getNode(ISD::AND, dl, MVT::i64, Op0,
2392 DAG.getConstant(UINT64_C(0x7ff), dl, MVT::i64));
2393 SDValue Ne = DAG.getSetCC(dl, getSetCCResultType(MVT::i64), And2,
2394 DAG.getConstant(UINT64_C(0), dl, MVT::i64),
2396 SDValue Sel = DAG.getSelect(dl, MVT::i64, Ne, Or, Op0);
2397 SDValue Ge = DAG.getSetCC(dl, getSetCCResultType(MVT::i64), Op0,
2398 DAG.getConstant(UINT64_C(0x0020000000000000), dl,
2401 SDValue Sel2 = DAG.getSelect(dl, MVT::i64, Ge, Sel, Op0);
2404 SDValue Sh = DAG.getNode(ISD::SRL, dl, MVT::i64, Sel2,
2405 DAG.getConstant(32, dl, SHVT));
2406 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, dl, MVT::i32, Sh);
2407 SDValue Fcvt = DAG.getNode(ISD::UINT_TO_FP, dl, MVT::f64, Trunc);
2409 DAG.getConstantFP(BitsToDouble(UINT64_C(0x41f0000000000000)), dl,
2411 SDValue Fmul = DAG.getNode(ISD::FMUL, dl, MVT::f64, TwoP32, Fcvt);
2412 SDValue Lo = DAG.getNode(ISD::TRUNCATE, dl, MVT::i32, Sel2);
2413 SDValue Fcvt2 = DAG.getNode(ISD::UINT_TO_FP, dl, MVT::f64, Lo);
2414 SDValue Fadd = DAG.getNode(ISD::FADD, dl, MVT::f64, Fmul, Fcvt2);
2415 return DAG.getNode(ISD::FP_ROUND, dl, MVT::f32, Fadd,
2416 DAG.getIntPtrConstant(0, dl));
2419 SDValue Tmp1 = DAG.getNode(ISD::SINT_TO_FP, dl, DestVT, Op0);
2421 SDValue SignSet = DAG.getSetCC(dl, getSetCCResultType(Op0.getValueType()),
2423 DAG.getConstant(0, dl, Op0.getValueType()),
2425 SDValue Zero = DAG.getIntPtrConstant(0, dl),
2426 Four = DAG.getIntPtrConstant(4, dl);
2427 SDValue CstOffset = DAG.getSelect(dl, Zero.getValueType(),
2449 CPIdx = DAG.getNode(ISD::ADD, dl, CPIdx.getValueType(), CPIdx, CstOffset);
2454 MVT::f32, dl, DAG.getEntryNode(), CPIdx,
2459 ISD::EXTLOAD, dl, DestVT, DAG.getEntryNode(), CPIdx,
2467 return DAG.getNode(ISD::FADD, dl, DestVT, Tmp1, FudgeInReg);
2477 const SDLoc &dl) {
2506 return DAG.getNode(OpToUse, dl, DestVT,
2508 dl, NewInTy, LegalOp));
2518 const SDLoc &dl) {
2547 SDValue Operation = DAG.getNode(OpToUse, dl, NewOutTy, LegalOp);
2551 return DAG.getNode(ISD::TRUNCATE, dl, DestVT, Operation);
2555 SDValue SelectionDAGLegalize::ExpandBITREVERSE(SDValue Op, const SDLoc &dl) {
2561 Tmp = DAG.getConstant(0, dl, VT);
2565 DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(J - I, dl, SHVT));
2568 DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(I - J, dl, SHVT));
2572 Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2, DAG.getConstant(Shift, dl, VT));
2573 Tmp = DAG.getNode(ISD::OR, dl, VT, Tmp, Tmp2);
2580 SDValue SelectionDAGLegalize::ExpandBSWAP(SDValue Op, const SDLoc &dl) {
2587 Tmp2 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
2588 Tmp1 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
2589 return DAG.getNode(ISD::OR, dl, VT, Tmp1, Tmp2);
2591 Tmp4 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(24, dl, SHVT));
2592 Tmp3 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
2593 Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
2594 Tmp1 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(24, dl, SHVT));
2595 Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp3,
2596 DAG.getConstant(0xFF0000, dl, VT));
2597 Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2, DAG.getConstant(0xFF00, dl, VT));
2598 Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp3);
2599 Tmp2 = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp1);
2600 return DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp2);
2602 Tmp8 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(56, dl, SHVT));
2603 Tmp7 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(40, dl, SHVT));
2604 Tmp6 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(24, dl, SHVT));
2605 Tmp5 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
2606 Tmp4 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(8, dl, SHVT));
2607 Tmp3 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(24, dl, SHVT));
2608 Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(40, dl, SHVT));
2609 Tmp1 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(56, dl, SHVT));
2610 Tmp7 = DAG.getNode(ISD::AND, dl, VT, Tmp7,
2611 DAG.getConstant(255ULL<<48, dl, VT));
2612 Tmp6 = DAG.getNode(ISD::AND, dl, VT, Tmp6,
2613 DAG.getConstant(255ULL<<40, dl, VT));
2614 Tmp5 = DAG.getNode(ISD::AND, dl, VT, Tmp5,
2615 DAG.getConstant(255ULL<<32, dl, VT));
2616 Tmp4 = DAG.getNode(ISD::AND, dl, VT, Tmp4,
2617 DAG.getConstant(255ULL<<24, dl, VT));
2618 Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp3,
2619 DAG.getConstant(255ULL<<16, dl, VT));
2620 Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2,
2621 DAG.getConstant(255ULL<<8 , dl, VT));
2622 Tmp8 = DAG.getNode(ISD::OR, dl, VT, Tmp8, Tmp7);
2623 Tmp6 = DAG.getNode(ISD::OR, dl, VT, Tmp6, Tmp5);
2624 Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp3);
2625 Tmp2 = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp1);
2626 Tmp8 = DAG.getNode(ISD::OR, dl, VT, Tmp8, Tmp6);
2627 Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp2);
2628 return DAG.getNode(ISD::OR, dl, VT, Tmp8, Tmp4);
2634 const SDLoc &dl) {
2649 dl, VT);
2651 dl, VT);
2653 dl, VT);
2655 dl, VT);
2658 Op = DAG.getNode(ISD::SUB, dl, VT, Op,
2659 DAG.getNode(ISD::AND, dl, VT,
2660 DAG.getNode(ISD::SRL, dl, VT, Op,
2661 DAG.getConstant(1, dl, ShVT)),
2664 Op = DAG.getNode(ISD::ADD, dl, VT,
2665 DAG.getNode(ISD::AND, dl, VT, Op, Mask33),
2666 DAG.getNode(ISD::AND, dl, VT,
2667 DAG.getNode(ISD::SRL, dl, VT, Op,
2668 DAG.getConstant(2, dl, ShVT)),
2671 Op = DAG.getNode(ISD::AND, dl, VT,
2672 DAG.getNode(ISD::ADD, dl, VT, Op,
2673 DAG.getNode(ISD::SRL, dl, VT, Op,
2674 DAG.getConstant(4, dl, ShVT))),
2677 Op = DAG.getNode(ISD::SRL, dl, VT,
2678 DAG.getNode(ISD::MUL, dl, VT, Op, Mask01),
2679 DAG.getConstant(Len - 8, dl, ShVT));
2685 return DAG.getNode(ISD::CTLZ, dl, Op.getValueType(), Op);
2692 SDValue CTLZ = DAG.getNode(ISD::CTLZ_ZERO_UNDEF, dl, VT, Op);
2693 SDValue Zero = DAG.getConstant(0, dl, VT);
2694 SDValue SrcIsZero = DAG.getSetCC(dl, SetCCVT, Op, Zero, ISD::SETEQ);
2695 return DAG.getNode(ISD::SELECT, dl, VT, SrcIsZero,
2696 DAG.getConstant(len, dl, VT), CTLZ);
2710 SDValue Tmp3 = DAG.getConstant(1ULL << i, dl, ShVT);
2711 Op = DAG.getNode(ISD::OR, dl, VT, Op,
2712 DAG.getNode(ISD::SRL, dl, VT, Op, Tmp3));
2714 Op = DAG.getNOT(dl, Op, VT);
2715 return DAG.getNode(ISD::CTPOP, dl, VT, Op);
2719 return DAG.getNode(ISD::CTTZ, dl, Op.getValueType(), Op);
2726 SDValue Tmp3 = DAG.getNode(ISD::AND, dl, VT,
2727 DAG.getNOT(dl, Op, VT),
2728 DAG.getNode(ISD::SUB, dl, VT, Op,
2729 DAG.getConstant(1, dl, VT)));
2733 return DAG.getNode(ISD::SUB, dl, VT,
2734 DAG.getConstant(VT.getSizeInBits(), dl, VT),
2735 DAG.getNode(ISD::CTLZ, dl, VT, Tmp3));
2736 return DAG.getNode(ISD::CTPOP, dl, VT, Tmp3);
2743 SDLoc dl(Node);
2752 Tmp1 = ExpandBitCount(Node->getOpcode(), Node->getOperand(0), dl);
2756 Results.push_back(ExpandBITREVERSE(Node->getOperand(0), dl));
2759 Results.push_back(ExpandBSWAP(Node->getOperand(0), dl));
2764 Results.push_back(DAG.getConstant(0, dl, Node->getValueType(0)));
2767 Results.push_back(DAG.getConstant(1, dl, Node->getValueType(0)));
2782 DAG.getConstant(0, dl, Node->getValueType(0)));
2788 Results.push_back(DAG.getConstant(0, dl, MVT::i32));
2793 SDValue Zero = DAG.getConstant(0, dl, Node->getValueType(0));
2796 ISD::ATOMIC_CMP_SWAP, dl, cast<AtomicSDNode>(Node)->getMemoryVT(), VTs,
2808 SDValue Swap = DAG.getAtomic(ISD::ATOMIC_SWAP, dl,
2824 ISD::ATOMIC_CMP_SWAP, dl, cast<AtomicSDNode>(Node)->getMemoryVT(), VTs,
2839 LHS = DAG.getNode(ISD::AssertSext, dl, OuterType, Res,
2841 RHS = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, OuterType,
2846 LHS = DAG.getNode(ISD::AssertZext, dl, OuterType, Res,
2848 RHS = DAG.getNode(ISD::ZERO_EXTEND, dl, OuterType, Node->getOperand(2));
2852 LHS = DAG.getZeroExtendInReg(Res, dl, AtomicType);
2853 RHS = DAG.getNode(ISD::ZERO_EXTEND, dl, OuterType, Node->getOperand(2));
2860 DAG.getSetCC(dl, Node->getValueType(1), LHS, RHS, ISD::SETEQ);
2877 Results.push_back(DAG.getConstant(0, dl, VT));
2880 Results.push_back(DAG.getConstantFP(0, dl, VT));
2887 Node->getValueType(0), dl);
2893 Node->getValueType(0), dl);
2906 SDValue ShiftCst = DAG.getConstant(BitsDiff, dl, ShiftAmountTy);
2907 Tmp1 = DAG.getNode(ISD::SHL, dl, Node->getValueType(0),
2909 Tmp1 = DAG.getNode(ISD::SRA, dl, Node->getValueType(0), Tmp1, ShiftCst);
2922 Node->getValueType(0), dl);
2929 Node->getOperand(0), Node->getValueType(0), dl);
2944 Tmp1 = DAG.getConstantFP(apf, dl, VT);
2945 Tmp2 = DAG.getSetCC(dl, getSetCCResultType(VT),
2948 True = DAG.getNode(ISD::FP_TO_SINT, dl, NVT, Node->getOperand(0));
2950 False = DAG.getNode(ISD::FP_TO_SINT, dl, NVT,
2951 DAG.getNode(ISD::FSUB, dl, VT,
2953 False = DAG.getNode(ISD::XOR, dl, NVT, False,
2954 DAG.getConstant(x, dl, NVT));
2955 Tmp1 = DAG.getSelect(dl, NVT, Tmp2, True, False);
2969 Tmp1 = DAG.getNode(ISD::BITCAST, dl, Node->getValueType(0),
2991 Node->getOperand(2), dl));
3021 Op0 = DAG.getNode(ISD::BITCAST, dl, NewVT, Op0);
3022 Op1 = DAG.getNode(ISD::BITCAST, dl, NewVT, Op1);
3056 ISD::EXTRACT_VECTOR_ELT, dl, EltVT, Op0,
3057 DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout()))));
3060 ISD::EXTRACT_VECTOR_ELT, dl, EltVT, Op1,
3061 DAG.getConstant(Idx - NumElems, dl,
3065 Tmp1 = DAG.getNode(ISD::BUILD_VECTOR, dl, VT, Ops);
3067 Tmp1 = DAG.getNode(ISD::BITCAST, dl, Node->getValueType(0), Tmp1);
3075 Tmp1 = DAG.getNode(ISD::SRL, dl, OpTy, Node->getOperand(0),
3076 DAG.getConstant(OpTy.getSizeInBits() / 2, dl,
3080 Tmp1 = DAG.getNode(ISD::TRUNCATE, dl, Node->getValueType(0), Tmp1);
3083 Tmp1 = DAG.getNode(ISD::TRUNCATE, dl, Node->getValueType(0),
3093 Results.push_back(DAG.getCopyFromReg(Node->getOperand(0), dl, SP,
3105 Results.push_back(DAG.getCopyToReg(Node->getOperand(0), dl, SP,
3112 Results.push_back(DAG.getConstant(0, dl, Node->getValueType(0)));
3120 Tmp1 = DAG.getConstantFP(-0.0, dl, Node->getValueType(0));
3122 Tmp1 = DAG.getNode(ISD::FSUB, dl, Node->getValueType(0), Tmp1,
3144 Tmp1 = DAG.getSelectCC(dl, Tmp1, Tmp2, Tmp1, Tmp2, Pred);
3158 Tmp1 = DAG.getNode(ISD::FSINCOS, dl, VTs, Node->getOperand(0));
3174 DAG.getNode(ISD::FP16_TO_FP, dl, MVT::f32, Node->getOperand(0));
3176 DAG.getNode(ISD::FP_EXTEND, dl, Node->getValueType(0), Res));
3187 SDValue FloatVal = DAG.getNode(ISD::FP_ROUND, dl, MVT::f32, Op,
3188 DAG.getIntPtrConstant(0, dl));
3190 DAG.getNode(ISD::FP_TO_FP16, dl, Node->getValueType(0), FloatVal));
3212 Tmp1 = DAG.getNode(ISD::FNEG, dl, VT, Node->getOperand(1));
3213 Tmp1 = DAG.getNode(ISD::FADD, dl, VT, Node->getOperand(0), Tmp1, Flags);
3223 Tmp1 = DAG.getNode(ISD::XOR, dl, VT, Node->getOperand(1),
3224 DAG.getConstant(APInt::getAllOnesValue(VT.getSizeInBits()), dl,
3226 Tmp1 = DAG.getNode(ISD::ADD, dl, VT, Tmp1, DAG.getConstant(1, dl, VT));
3227 Results.push_back(DAG.getNode(ISD::ADD, dl, VT, Node->getOperand(0), Tmp1));
3240 Tmp1 = DAG.getNode(DivRemOpc, dl, VTs, Tmp2, Tmp3).getValue(1);
3244 Tmp1 = DAG.getNode(DivOpc, dl, VT, Tmp2, Tmp3);
3245 Tmp1 = DAG.getNode(ISD::MUL, dl, VT, Tmp1, Tmp3);
3246 Tmp1 = DAG.getNode(ISD::SUB, dl, VT, Tmp2, Tmp1);
3258 Tmp1 = DAG.getNode(DivRemOpc, dl, VTs, Node->getOperand(0),
3272 Tmp1 = DAG.getNode(ExpandOpcode, dl, VTs, Node->getOperand(0),
3300 Results.push_back(DAG.getNode(OpToUse, dl, VTs, Node->getOperand(0),
3312 Lo = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Lo);
3313 Hi = DAG.getNode(ISD::ANY_EXTEND, dl, VT, Hi);
3315 DAG.getConstant(HalfType.getSizeInBits(), dl,
3317 Hi = DAG.getNode(ISD::SHL, dl, VT, Hi, Shift);
3318 Results.push_back(DAG.getNode(ISD::OR, dl, VT, Lo, Hi));
3327 ISD::ADD : ISD::SUB, dl, LHS.getValueType(),
3333 SDValue Zero = DAG.getConstant(0, dl, LHS.getValueType());
3344 SDValue LHSSign = DAG.getSetCC(dl, OType, LHS, Zero, ISD::SETGE);
3345 SDValue RHSSign = DAG.getSetCC(dl, OType, RHS, Zero, ISD::SETGE);
3346 SDValue SignsMatch = DAG.getSetCC(dl, OType, LHSSign, RHSSign,
3350 SDValue SumSign = DAG.getSetCC(dl, OType, Sum, Zero, ISD::SETGE);
3351 SDValue SumSignNE = DAG.getSetCC(dl, OType, LHSSign, SumSign, ISD::SETNE);
3353 SDValue Cmp = DAG.getNode(ISD::AND, dl, OType, SignsMatch, SumSignNE);
3354 Results.push_back(DAG.getBoolExtOrTrunc(Cmp, dl, ResultType, ResultType));
3362 ISD::ADD : ISD::SUB, dl, LHS.getValueType(),
3370 SDValue SetCC = DAG.getSetCC(dl, SetCCType, Sum, LHS, CC);
3372 Results.push_back(DAG.getBoolExtOrTrunc(SetCC, dl, ResultType, ResultType));
3388 BottomHalf = DAG.getNode(ISD::MUL, dl, VT, LHS, RHS);
3389 TopHalf = DAG.getNode(Ops[isSigned][0], dl, VT, LHS, RHS);
3391 BottomHalf = DAG.getNode(Ops[isSigned][1], dl, DAG.getVTList(VT, VT), LHS,
3395 LHS = DAG.getNode(Ops[isSigned][2], dl, WideVT, LHS);
3396 RHS = DAG.getNode(Ops[isSigned][2], dl, WideVT, RHS);
3397 Tmp1 = DAG.getNode(ISD::MUL, dl, WideVT, LHS, RHS);
3398 BottomHalf = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, VT, Tmp1,
3399 DAG.getIntPtrConstant(0, dl));
3400 TopHalf = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, VT, Tmp1,
3401 DAG.getIntPtrConstant(1, dl));
3422 DAG.getNode(ISD::SRA, dl, VT, RHS,
3423 DAG.getConstant(LoSize - 1, dl,
3426 DAG.getNode(ISD::SRA, dl, VT, LHS,
3427 DAG.getConstant(LoSize - 1, dl,
3435 SDValue Ret = ExpandLibCall(LC, WideVT, Args, 4, isSigned, dl);
3436 BottomHalf = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, VT, Ret,
3437 DAG.getIntPtrConstant(0, dl));
3438 TopHalf = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, VT, Ret,
3439 DAG.getIntPtrConstant(1, dl));
3450 VT.getSizeInBits() - 1, dl,
3452 Tmp1 = DAG.getNode(ISD::SRA, dl, VT, BottomHalf, Tmp1);
3453 TopHalf = DAG.getSetCC(dl, getSetCCResultType(VT), TopHalf, Tmp1,
3456 TopHalf = DAG.getSetCC(dl, getSetCCResultType(VT), TopHalf,
3457 DAG.getConstant(0, dl, VT), ISD::SETNE);
3465 Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, PairTy, Node->getOperand(0));
3466 Tmp2 = DAG.getNode(ISD::ANY_EXTEND, dl, PairTy, Node->getOperand(1));
3468 ISD::SHL, dl, PairTy, Tmp2,
3469 DAG.getConstant(PairTy.getSizeInBits() / 2, dl,
3471 Results.push_back(DAG.getNode(ISD::OR, dl, PairTy, Tmp1, Tmp2));
3479 Tmp1 = DAG.getSelectCC(dl, Tmp1.getOperand(0), Tmp1.getOperand(1),
3483 Tmp1 = DAG.getSelectCC(dl, Tmp1,
3484 DAG.getConstant(0, dl, Tmp1.getValueType()),
3500 Index = DAG.getNode(ISD::MUL, dl, Index.getValueType(), Index,
3501 DAG.getConstant(EntrySize, dl, Index.getValueType()));
3502 SDValue Addr = DAG.getNode(ISD::ADD, dl, Index.getValueType(),
3507 ISD::SEXTLOAD, dl, PTy, Chain, Addr,
3515 Addr = DAG.getNode(ISD::ADD, dl, PTy, Addr,
3518 Tmp1 = DAG.getNode(ISD::BRIND, dl, MVT::Other, LD.getValue(1), Addr);
3528 Tmp1 = DAG.getNode(ISD::BR_CC, dl, MVT::Other,
3535 DAG.getNode(ISD::AND, dl, Tmp2.getValueType(), Tmp2,
3536 DAG.getConstant(1, dl, Tmp2.getValueType()));
3537 Tmp1 = DAG.getNode(ISD::BR_CC, dl, MVT::Other, Tmp1,
3539 DAG.getConstant(0, dl, Tmp3.getValueType()),
3549 Tmp3, NeedInvert, dl);
3555 Tmp1 = DAG.getNode(ISD::SETCC, dl, Node->getValueType(0),
3561 Tmp1 = DAG.getLogicalNOT(dl, Tmp1, Tmp1->getValueType(0));
3580 Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, VT, Tmp1, Tmp2,
3581 DAG.getConstant(TrueValue, dl, VT),
3582 DAG.getConstant(0, dl, VT),
3605 SDValue Cond = DAG.getNode(ISD::SETCC, dl, CCVT, Tmp1, Tmp2, CC);
3606 Results.push_back(DAG.getSelect(dl, VT, Cond, Tmp3, Tmp4));
3620 Tmp1 = DAG.getSelectCC(dl, Tmp1, Tmp2, Tmp4, Tmp3, InvCC);
3629 Tmp1 = DAG.getSelectCC(dl, Tmp2, Tmp1, Tmp4, Tmp3, SwapInvCC);
3636 dl);
3648 Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, Node->getValueType(0),
3651 Tmp2 = DAG.getConstant(0, dl, Tmp1.getValueType());
3653 Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, Node->getValueType(0), Tmp1,
3667 Tmp2.getValueType()), Tmp2, Tmp3, Tmp4, NeedInvert, dl);
3674 Tmp4 = DAG.getNOT(dl, Tmp4, Tmp4->getValueType(0));
3679 Tmp1 = DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0), Tmp1,
3682 Tmp3 = DAG.getConstant(0, dl, Tmp2.getValueType());
3684 Tmp1 = DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0), Tmp1, Tmp4,
3705 ISD::EXTRACT_VECTOR_ELT, dl, VT.getScalarType(), Node->getOperand(0),
3706 DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
3708 ISD::EXTRACT_VECTOR_ELT, dl, VT.getScalarType(), Node->getOperand(1),
3709 DAG.getConstant(Idx, dl, TLI.getVectorIdxTy(DAG.getDataLayout())));
3710 Scalars.push_back(DAG.getNode(Node->getOpcode(), dl,
3714 DAG.getNode(ISD::BUILD_VECTOR, dl, Node->getValueType(0), Scalars);
3741 SDLoc dl(Node);
3751 CLI.setDebugLoc(dl)
3791 CLI.setDebugLoc(dl)
4007 SDLoc dl(Node);
4016 Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Node->getOperand(0));
4023 Tmp1 = DAG.getNode(ISD::OR, dl, NVT, Tmp1,
4024 DAG.getConstant(TopBit, dl, NVT));
4028 Tmp1 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1);
4032 Tmp1 = DAG.getNode(ISD::SUB, dl, NVT, Tmp1,
4034 OVT.getSizeInBits(), dl, NVT));
4036 Results.push_back(DAG.getNode(ISD::TRUNCATE, dl, OVT, Tmp1));
4040 Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Node->getOperand(0));
4041 Tmp1 = DAG.getNode(ISD::BSWAP, dl, NVT, Tmp1);
4043 ISD::SRL, dl, NVT, Tmp1,
4044 DAG.getConstant(DiffBits, dl,
4052 Node->getOpcode() == ISD::FP_TO_SINT, dl);
4058 Node->getOpcode() == ISD::SINT_TO_FP, dl);
4075 Tmp1 = DAG.getVAArg(NVT, dl, Chain, Ptr, Node->getOperand(2),
4079 Tmp2 = DAG.getNode(TruncOp, dl, OVT, Tmp1);
4105 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0));
4106 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1));
4108 Tmp1 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2);
4109 Results.push_back(DAG.getNode(TruncOp, dl, OVT, Tmp1));
4127 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1));
4128 Tmp3 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(2));
4130 Tmp1 = DAG.getSelect(dl, NVT, Tmp1, Tmp2, Tmp3);
4132 Tmp1 = DAG.getNode(TruncOp, dl, Node->getValueType(0), Tmp1);
4134 Tmp1 = DAG.getNode(TruncOp, dl, Node->getValueType(0), Tmp1,
4135 DAG.getIntPtrConstant(0, dl));
4143 Tmp1 = DAG.getNode(ISD::BITCAST, dl, NVT, Node->getOperand(0));
4144 Tmp2 = DAG.getNode(ISD::BITCAST, dl, NVT, Node->getOperand(1));
4147 Tmp1 = ShuffleWithNarrowerEltType(NVT, OVT, dl, Tmp1, Tmp2, Mask);
4148 Tmp1 = DAG.getNode(ISD::BITCAST, dl, OVT, Tmp1);
4159 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0));
4160 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1));
4161 Results.push_back(DAG.getNode(ISD::SETCC, dl, Node->getValueType(0),
4172 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(2));
4173 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(3));
4174 Results.push_back(DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0),
4187 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0));
4188 Tmp2 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(1));
4189 Tmp3 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2,
4191 Results.push_back(DAG.getNode(ISD::FP_ROUND, dl, OVT,
4192 Tmp3, DAG.getIntPtrConstant(0, dl)));
4196 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0));
4197 Tmp2 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(1));
4198 Tmp3 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(2));
4200 DAG.getNode(ISD::FP_ROUND, dl, OVT,
4201 DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2, Tmp3),
4202 DAG.getIntPtrConstant(0, dl)));
4207 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0));
4209 Tmp3 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2);
4217 Results.push_back(DAG.getNode(ISD::FP_ROUND, dl, OVT,
4218 Tmp3, DAG.getIntPtrConstant(isTrunc, dl)));
4237 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0));
4238 Tmp2 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1);
4239 Results.push_back(DAG.getNode(ISD::FP_ROUND, dl, OVT,
4240 Tmp2, DAG.getIntPtrConstant(0, dl)));