Lines Matching refs:dl

82                                          SDValue Idx, DebugLoc dl);
84 SDValue Idx, DebugLoc dl);
90 SDValue ShuffleWithNarrowerEltType(EVT NVT, EVT VT, DebugLoc dl,
95 DebugLoc dl);
99 unsigned NumOps, bool isSigned, DebugLoc dl);
116 SDValue EmitStackConvert(SDValue SrcOp, EVT SlotVT, EVT DestVT, DebugLoc dl);
123 DebugLoc dl);
125 DebugLoc dl);
127 DebugLoc dl);
129 SDValue ExpandBSWAP(SDValue Op, DebugLoc dl);
130 SDValue ExpandBitCount(unsigned Opc, SDValue Op, DebugLoc dl);
184 SelectionDAGLegalize::ShuffleWithNarrowerEltType(EVT NVT, EVT VT, DebugLoc dl,
194 return DAG.getVectorShuffle(NVT, dl, N1, N2, &Mask[0]);
208 return DAG.getVectorShuffle(NVT, dl, N1, N2, &NewMask[0]);
250 DebugLoc dl = CFP->getDebugLoc();
286 DAG.getExtLoad(ISD::EXTLOAD, dl, OrigVT,
293 DAG.getLoad(OrigVT, dl, DAG.getEntryNode(), CPIdx,
310 DebugLoc dl = ST->getDebugLoc();
318 SDValue Result = DAG.getNode(ISD::BITCAST, dl, intVT, Val);
319 Result = DAG.getStore(Chain, dl, Result, Ptr, ST->getPointerInfo(),
339 SDValue Store = DAG.getTruncStore(Chain, dl,
349 SDValue Load = DAG.getLoad(RegVT, dl, Store, StackPtr,
353 Stores.push_back(DAG.getStore(Load.getValue(1), dl, Load, Ptr,
359 StackPtr = DAG.getNode(ISD::ADD, dl, StackPtr.getValueType(), StackPtr,
361 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr, Increment);
371 SDValue Load = DAG.getExtLoad(ISD::EXTLOAD, dl, RegVT, Store, StackPtr,
375 Stores.push_back(DAG.getTruncStore(Load.getValue(1), dl, Load, Ptr,
383 DAG.getNode(ISD::TokenFactor, dl, MVT::Other, &Stores[0],
400 SDValue Hi = DAG.getNode(ISD::SRL, dl, VT, Val, ShiftAmount);
404 Store1 = DAG.getTruncStore(Chain, dl, TLI.isLittleEndian()?Lo:Hi, Ptr,
407 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
410 Store2 = DAG.getTruncStore(Chain, dl, TLI.isLittleEndian()?Hi:Lo, Ptr,
416 DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Store1, Store2);
431 DebugLoc dl = LD->getDebugLoc();
437 SDValue newLoad = DAG.getLoad(intVT, dl, Chain, Ptr, LD->getPointerInfo(),
441 SDValue Result = DAG.getNode(ISD::BITCAST, dl, LoadedVT, newLoad);
444 ISD::ANY_EXTEND, dl, VT, Result);
469 SDValue Load = DAG.getLoad(RegVT, dl, Chain, Ptr,
475 Stores.push_back(DAG.getStore(Load.getValue(1), dl, Load, StackPtr,
479 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr, Increment);
480 StackPtr = DAG.getNode(ISD::ADD, dl, StackPtr.getValueType(), StackPtr,
487 SDValue Load = DAG.getExtLoad(ISD::EXTLOAD, dl, RegVT, Chain, Ptr,
495 Stores.push_back(DAG.getTruncStore(Load.getValue(1), dl, Load, StackPtr,
500 SDValue TF = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, &Stores[0],
504 Load = DAG.getExtLoad(LD->getExtensionType(), dl, VT, TF, StackBase,
533 Lo = DAG.getExtLoad(ISD::ZEXTLOAD, dl, VT, Chain, Ptr, LD->getPointerInfo(),
536 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
538 Hi = DAG.getExtLoad(HiExtType, dl, VT, Chain, Ptr,
543 Hi = DAG.getExtLoad(HiExtType, dl, VT, Chain, Ptr, LD->getPointerInfo(),
546 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
548 Lo = DAG.getExtLoad(ISD::ZEXTLOAD, dl, VT, Chain, Ptr,
557 SDValue Result = DAG.getNode(ISD::SHL, dl, VT, Hi, ShiftAmount);
558 Result = DAG.getNode(ISD::OR, dl, VT, Result, Lo);
560 SDValue TF = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo.getValue(1),
573 DebugLoc dl) {
593 SDValue Ch = DAG.getStore(DAG.getEntryNode(), dl, Tmp1, StackPtr,
599 Tmp3 = DAG.getNode(CastOpc, dl, PtrVT, Tmp3);
602 Tmp3 = DAG.getNode(ISD::MUL, dl, IdxVT, Tmp3,DAG.getConstant(EltSize, IdxVT));
603 SDValue StackPtr2 = DAG.getNode(ISD::ADD, dl, IdxVT, Tmp3, StackPtr);
605 Ch = DAG.getTruncStore(Ch, dl, Tmp2, StackPtr2, MachinePointerInfo(), EltVT,
608 return DAG.getLoad(VT, dl, Ch, StackPtr,
615 ExpandINSERT_VECTOR_ELT(SDValue Vec, SDValue Val, SDValue Idx, DebugLoc dl) {
623 SDValue ScVec = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl,
634 return DAG.getVectorShuffle(Vec.getValueType(), dl, Vec, ScVec,
638 return PerformInsertVectorEltInMemory(Vec, Val, Idx, dl);
654 DebugLoc dl = ST->getDebugLoc();
661 return DAG.getStore(Chain, dl, Con, Ptr, ST->getPointerInfo(),
670 return DAG.getStore(Chain, dl, Con, Ptr, ST->getPointerInfo(),
683 Lo = DAG.getStore(Chain, dl, Lo, Ptr, ST->getPointerInfo(), isVolatile,
685 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
687 Hi = DAG.getStore(Chain, dl, Hi, Ptr,
691 return DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo, Hi);
702 DebugLoc dl = Node->getDebugLoc();
740 Value = DAG.getNode(ISD::BITCAST, dl, NVT, Value);
742 DAG.getStore(Chain, dl, Value, Ptr,
763 Value = DAG.getZeroExtendInReg(Value, dl, StVT);
765 DAG.getTruncStore(Chain, dl, Value, Ptr, ST->getPointerInfo(),
785 Lo = DAG.getTruncStore(Chain, dl, Value, Ptr, ST->getPointerInfo(),
791 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
793 Hi = DAG.getNode(ISD::SRL, dl, Value.getValueType(), Value,
796 Hi = DAG.getTruncStore(Chain, dl, Hi, Ptr,
804 Hi = DAG.getNode(ISD::SRL, dl, Value.getValueType(), Value,
807 Hi = DAG.getTruncStore(Chain, dl, Hi, Ptr, ST->getPointerInfo(),
812 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
814 Lo = DAG.getTruncStore(Chain, dl, Value, Ptr,
821 SDValue Result = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo, Hi);
850 Value = DAG.getNode(ISD::TRUNCATE, dl, StVT, Value);
852 DAG.getStore(Chain, dl, Value, Ptr, ST->getPointerInfo(),
866 DebugLoc dl = Node->getDebugLoc();
901 SDValue Res = DAG.getLoad(NVT, dl, Chain, Ptr, LD->getPointerInfo(),
904 RVal = DAG.getNode(ISD::BITCAST, dl, VT, Res);
947 DAG.getExtLoad(NewExtType, dl, Node->getValueType(0),
955 Result = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl,
960 Result = DAG.getNode(ISD::AssertZext, dl,
983 Lo = DAG.getExtLoad(ISD::ZEXTLOAD, dl, Node->getValueType(0),
990 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
992 Hi = DAG.getExtLoad(ExtType, dl, Node->getValueType(0), Chain, Ptr,
999 Ch = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo.getValue(1),
1003 Hi = DAG.getNode(ISD::SHL, dl, Hi.getValueType(), Hi,
1008 Value = DAG.getNode(ISD::OR, dl, Node->getValueType(0), Lo, Hi);
1013 Hi = DAG.getExtLoad(ExtType, dl, Node->getValueType(0), Chain, Ptr,
1019 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
1022 dl, Node->getValueType(0), Chain, Ptr,
1029 Ch = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Lo.getValue(1),
1033 Hi = DAG.getNode(ISD::SHL, dl, Hi.getValueType(), Hi,
1038 Value = DAG.getNode(ISD::OR, dl, Node->getValueType(0), Lo, Hi);
1077 SDValue Load = DAG.getLoad(SrcVT, dl, Chain, Ptr,
1091 Value = DAG.getNode(ExtendOp, dl, Node->getValueType(0), Load);
1107 SDValue Result = DAG.getExtLoad(ISD::EXTLOAD, dl, Node->getValueType(0),
1113 ValRes = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl,
1117 ValRes = DAG.getZeroExtendInReg(Result, dl, SrcVT.getScalarType());
1373 DebugLoc dl = Op.getDebugLoc();
1376 SDValue Ch = DAG.getStore(DAG.getEntryNode(), dl, Vec, StackPtr,
1382 Idx = DAG.getNode(ISD::MUL, dl, Idx.getValueType(), Idx,
1386 Idx = DAG.getNode(ISD::TRUNCATE, dl, TLI.getPointerTy(), Idx);
1388 Idx = DAG.getNode(ISD::ZERO_EXTEND, dl, TLI.getPointerTy(), Idx);
1390 StackPtr = DAG.getNode(ISD::ADD, dl, Idx.getValueType(), Idx, StackPtr);
1393 return DAG.getLoad(Op.getValueType(), dl, Ch, StackPtr,MachinePointerInfo(),
1395 return DAG.getExtLoad(ISD::EXTLOAD, dl, Op.getValueType(), Ch, StackPtr,
1407 DebugLoc dl = Op.getDebugLoc();
1416 SDValue Ch = DAG.getStore(DAG.getEntryNode(), dl, Vec, StackPtr, PtrInfo,
1425 Idx = DAG.getNode(ISD::MUL, dl, Idx.getValueType(), Idx,
1429 Idx = DAG.getNode(ISD::TRUNCATE, dl, TLI.getPointerTy(), Idx);
1431 Idx = DAG.getNode(ISD::ZERO_EXTEND, dl, TLI.getPointerTy(), Idx);
1433 SDValue SubStackPtr = DAG.getNode(ISD::ADD, dl, Idx.getValueType(), Idx,
1437 Ch = DAG.getStore(DAG.getEntryNode(), dl, Part, SubStackPtr,
1441 return DAG.getLoad(Op.getValueType(), dl, Ch, StackPtr, PtrInfo,
1452 DebugLoc dl = Node->getDebugLoc();
1468 Idx = DAG.getNode(ISD::ADD, dl, FIPtr.getValueType(), FIPtr, Idx);
1473 Stores.push_back(DAG.getTruncStore(DAG.getEntryNode(), dl,
1478 Stores.push_back(DAG.getStore(DAG.getEntryNode(), dl,
1486 StoreChain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other,
1492 return DAG.getLoad(VT, dl, StoreChain, FIPtr, PtrInfo,
1497 DebugLoc dl = Node->getDebugLoc();
1508 SignBit = DAG.getNode(ISD::BITCAST, dl, IVT, Tmp2);
1516 DAG.getStore(DAG.getEntryNode(), dl, Tmp2, StackPtr, MachinePointerInfo(),
1521 SignBit = DAG.getLoad(LoadTy, dl, Ch, StackPtr, MachinePointerInfo(),
1529 LoadPtr = DAG.getNode(ISD::ADD, dl, LoadPtr.getValueType(),
1532 SignBit = DAG.getLoad(LoadTy, dl, Ch, LoadPtr, MachinePointerInfo(),
1539 SignBit = DAG.getNode(ISD::SHL, dl, LoadTy, SignBit,
1545 SignBit = DAG.getSetCC(dl, TLI.getSetCCResultType(SignBit.getValueType()),
1549 SDValue AbsVal = DAG.getNode(ISD::FABS, dl, Tmp1.getValueType(), Tmp1);
1552 return DAG.getNode(ISD::SELECT, dl, AbsVal.getValueType(), SignBit,
1553 DAG.getNode(ISD::FNEG, dl, AbsVal.getValueType(), AbsVal),
1562 DebugLoc dl = Node->getDebugLoc();
1574 SDValue SP = DAG.getCopyFromReg(Chain, dl, SPReg, VT);
1579 SP = DAG.getNode(ISD::AND, dl, VT, SP,
1581 Tmp1 = DAG.getNode(ISD::SUB, dl, VT, SP, Size); // Value
1582 Chain = DAG.getCopyToReg(Chain, dl, SPReg, Tmp1); // Output chain
1597 DebugLoc dl) {
1655 LHS = DAG.getSetCC(dl, VT, RHS, LHS, InvCC);
1665 SetCC1 = DAG.getSetCC(dl, VT, LHS, RHS, CC1);
1666 SetCC2 = DAG.getSetCC(dl, VT, LHS, RHS, CC2);
1669 SetCC1 = DAG.getSetCC(dl, VT, LHS, LHS, CC1);
1670 SetCC2 = DAG.getSetCC(dl, VT, RHS, RHS, CC2);
1672 LHS = DAG.getNode(Opc, dl, VT, SetCC1, SetCC2);
1687 DebugLoc dl) {
1709 Store = DAG.getTruncStore(DAG.getEntryNode(), dl, SrcOp, FIPtr,
1713 Store = DAG.getStore(DAG.getEntryNode(), dl, SrcOp, FIPtr,
1719 return DAG.getLoad(DestVT, dl, Store, FIPtr, PtrInfo,
1723 return DAG.getExtLoad(ISD::EXTLOAD, dl, DestVT, Store, FIPtr,
1728 DebugLoc dl = Node->getDebugLoc();
1736 SDValue Ch = DAG.getTruncStore(DAG.getEntryNode(), dl, Node->getOperand(0),
1741 return DAG.getLoad(Node->getValueType(0), dl, Ch, StackPtr,
1752 DebugLoc dl = Node->getDebugLoc();
1785 return DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Node->getOperand(0));
1815 return DAG.getLoad(VT, dl, DAG.getEntryNode(), CPIdx,
1830 SDValue Vec1 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Value1);
1833 Vec2 = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, Value2);
1838 return DAG.getVectorShuffle(VT, dl, Vec1, Vec2, ShuffleVec.data());
1899 bool isSigned, DebugLoc dl) {
1920 Callee, Args, DAG, dl);
2085 DebugLoc dl = Node->getDebugLoc();
2090 Callee, Args, DAG, dl);
2094 SDValue Rem = DAG.getLoad(RetVT, dl, CallInfo.second, FIPtr,
2199 DebugLoc dl = Node->getDebugLoc();
2205 Callee, Args, DAG, dl);
2208 Results.push_back(DAG.getLoad(RetVT, dl, CallInfo.second, SinPtr,
2210 Results.push_back(DAG.getLoad(RetVT, dl, CallInfo.second, CosPtr,
2221 DebugLoc dl) {
2232 SDValue Lo = DAG.getNode(ISD::ADD, dl,
2242 Op0Mapped = DAG.getNode(ISD::XOR, dl, MVT::i32, Op0, SignBit);
2247 SDValue Store1 = DAG.getStore(DAG.getEntryNode(), dl,
2253 SDValue Store2 = DAG.getStore(Store1, dl, InitialHi, Hi,
2257 SDValue Load = DAG.getLoad(MVT::f64, dl, Store2, StackSlot,
2265 SDValue Sub = DAG.getNode(ISD::FSUB, dl, MVT::f64, Load, Bias);
2273 Result = DAG.getNode(ISD::FP_ROUND, dl, DestVT, Sub,
2276 Result = DAG.getNode(ISD::FP_EXTEND, dl, DestVT, Sub);
2296 SDValue Lo = DAG.getZeroExtendInReg(Op0, dl, MVT::i32);
2297 SDValue Hi = DAG.getNode(ISD::SRL, dl, MVT::i64, Op0,
2299 SDValue LoOr = DAG.getNode(ISD::OR, dl, MVT::i64, Lo, TwoP52);
2300 SDValue HiOr = DAG.getNode(ISD::OR, dl, MVT::i64, Hi, TwoP84);
2301 SDValue LoFlt = DAG.getNode(ISD::BITCAST, dl, MVT::f64, LoOr);
2302 SDValue HiFlt = DAG.getNode(ISD::BITCAST, dl, MVT::f64, HiOr);
2303 SDValue HiSub = DAG.getNode(ISD::FSUB, dl, MVT::f64, HiFlt,
2305 return DAG.getNode(ISD::FADD, dl, MVT::f64, LoFlt, HiSub);
2314 SDValue Fast = DAG.getNode(ISD::SINT_TO_FP, dl, MVT::f32, Op0);
2318 SDValue Shr = DAG.getNode(ISD::SRL, dl, MVT::i64, Op0, ShiftConst);
2320 SDValue And = DAG.getNode(ISD::AND, dl, MVT::i64, Op0, AndConst);
2321 SDValue Or = DAG.getNode(ISD::OR, dl, MVT::i64, And, Shr);
2323 SDValue SignCvt = DAG.getNode(ISD::SINT_TO_FP, dl, MVT::f32, Or);
2324 SDValue Slow = DAG.getNode(ISD::FADD, dl, MVT::f32, SignCvt, SignCvt);
2330 SDValue SignBitTest = DAG.getSetCC(dl, TLI.getSetCCResultType(MVT::i64),
2332 return DAG.getNode(ISD::SELECT, dl, MVT::f32, SignBitTest, Slow, Fast);
2337 SDValue And = DAG.getNode(ISD::AND, dl, MVT::i64, Op0,
2339 SDValue Or = DAG.getNode(ISD::OR, dl, MVT::i64, And,
2341 SDValue And2 = DAG.getNode(ISD::AND, dl, MVT::i64, Op0,
2343 SDValue Ne = DAG.getSetCC(dl, TLI.getSetCCResultType(MVT::i64),
2345 SDValue Sel = DAG.getNode(ISD::SELECT, dl, MVT::i64, Ne, Or, Op0);
2346 SDValue Ge = DAG.getSetCC(dl, TLI.getSetCCResultType(MVT::i64),
2349 SDValue Sel2 = DAG.getNode(ISD::SELECT, dl, MVT::i64, Ge, Sel, Op0);
2352 SDValue Sh = DAG.getNode(ISD::SRL, dl, MVT::i64, Sel2,
2354 SDValue Trunc = DAG.getNode(ISD::TRUNCATE, dl, MVT::i32, Sh);
2355 SDValue Fcvt = DAG.getNode(ISD::UINT_TO_FP, dl, MVT::f64, Trunc);
2358 SDValue Fmul = DAG.getNode(ISD::FMUL, dl, MVT::f64, TwoP32, Fcvt);
2359 SDValue Lo = DAG.getNode(ISD::TRUNCATE, dl, MVT::i32, Sel2);
2360 SDValue Fcvt2 = DAG.getNode(ISD::UINT_TO_FP, dl, MVT::f64, Lo);
2361 SDValue Fadd = DAG.getNode(ISD::FADD, dl, MVT::f64, Fmul, Fcvt2);
2362 return DAG.getNode(ISD::FP_ROUND, dl, MVT::f32, Fadd,
2366 SDValue Tmp1 = DAG.getNode(ISD::SINT_TO_FP, dl, DestVT, Op0);
2368 SDValue SignSet = DAG.getSetCC(dl, TLI.getSetCCResultType(Op0.getValueType()),
2372 SDValue CstOffset = DAG.getNode(ISD::SELECT, dl, Zero.getValueType(),
2392 CPIdx = DAG.getNode(ISD::ADD, dl, TLI.getPointerTy(), CPIdx, CstOffset);
2396 FudgeInReg = DAG.getLoad(MVT::f32, dl, DAG.getEntryNode(), CPIdx,
2400 SDValue Load = DAG.getExtLoad(ISD::EXTLOAD, dl, DestVT,
2409 return DAG.getNode(ISD::FADD, dl, DestVT, Tmp1, FudgeInReg);
2420 DebugLoc dl) {
2449 return DAG.getNode(OpToUse, dl, DestVT,
2451 dl, NewInTy, LegalOp));
2462 DebugLoc dl) {
2488 SDValue Operation = DAG.getNode(OpToUse, dl, NewOutTy, LegalOp);
2492 return DAG.getNode(ISD::TRUNCATE, dl, DestVT, Operation);
2497 SDValue SelectionDAGLegalize::ExpandBSWAP(SDValue Op, DebugLoc dl) {
2504 Tmp2 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(8, SHVT));
2505 Tmp1 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(8, SHVT));
2506 return DAG.getNode(ISD::OR, dl, VT, Tmp1, Tmp2);
2508 Tmp4 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(24, SHVT));
2509 Tmp3 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(8, SHVT));
2510 Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(8, SHVT));
2511 Tmp1 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(24, SHVT));
2512 Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp3, DAG.getConstant(0xFF0000, VT));
2513 Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2, DAG.getConstant(0xFF00, VT));
2514 Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp3);
2515 Tmp2 = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp1);
2516 return DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp2);
2518 Tmp8 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(56, SHVT));
2519 Tmp7 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(40, SHVT));
2520 Tmp6 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(24, SHVT));
2521 Tmp5 = DAG.getNode(ISD::SHL, dl, VT, Op, DAG.getConstant(8, SHVT));
2522 Tmp4 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(8, SHVT));
2523 Tmp3 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(24, SHVT));
2524 Tmp2 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(40, SHVT));
2525 Tmp1 = DAG.getNode(ISD::SRL, dl, VT, Op, DAG.getConstant(56, SHVT));
2526 Tmp7 = DAG.getNode(ISD::AND, dl, VT, Tmp7, DAG.getConstant(255ULL<<48, VT));
2527 Tmp6 = DAG.getNode(ISD::AND, dl, VT, Tmp6, DAG.getConstant(255ULL<<40, VT));
2528 Tmp5 = DAG.getNode(ISD::AND, dl, VT, Tmp5, DAG.getConstant(255ULL<<32, VT));
2529 Tmp4 = DAG.getNode(ISD::AND, dl, VT, Tmp4, DAG.getConstant(255ULL<<24, VT));
2530 Tmp3 = DAG.getNode(ISD::AND, dl, VT, Tmp3, DAG.getConstant(255ULL<<16, VT));
2531 Tmp2 = DAG.getNode(ISD::AND, dl, VT, Tmp2, DAG.getConstant(255ULL<<8 , VT));
2532 Tmp8 = DAG.getNode(ISD::OR, dl, VT, Tmp8, Tmp7);
2533 Tmp6 = DAG.getNode(ISD::OR, dl, VT, Tmp6, Tmp5);
2534 Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp3);
2535 Tmp2 = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp1);
2536 Tmp8 = DAG.getNode(ISD::OR, dl, VT, Tmp8, Tmp6);
2537 Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp2);
2538 return DAG.getNode(ISD::OR, dl, VT, Tmp8, Tmp4);
2545 DebugLoc dl) {
2565 Op = DAG.getNode(ISD::SUB, dl, VT, Op,
2566 DAG.getNode(ISD::AND, dl, VT,
2567 DAG.getNode(ISD::SRL, dl, VT, Op,
2571 Op = DAG.getNode(ISD::ADD, dl, VT,
2572 DAG.getNode(ISD::AND, dl, VT, Op, Mask33),
2573 DAG.getNode(ISD::AND, dl, VT,
2574 DAG.getNode(ISD::SRL, dl, VT, Op,
2578 Op = DAG.getNode(ISD::AND, dl, VT,
2579 DAG.getNode(ISD::ADD, dl, VT, Op,
2580 DAG.getNode(ISD::SRL, dl, VT, Op,
2584 Op = DAG.getNode(ISD::SRL, dl, VT,
2585 DAG.getNode(ISD::MUL, dl, VT, Op, Mask01),
2592 return DAG.getNode(ISD::CTLZ, dl, Op.getValueType(), Op);
2608 Op = DAG.getNode(ISD::OR, dl, VT, Op,
2609 DAG.getNode(ISD::SRL, dl, VT, Op, Tmp3));
2611 Op = DAG.getNOT(dl, Op, VT);
2612 return DAG.getNode(ISD::CTPOP, dl, VT, Op);
2616 return DAG.getNode(ISD::CTTZ, dl, Op.getValueType(), Op);
2623 SDValue Tmp3 = DAG.getNode(ISD::AND, dl, VT,
2624 DAG.getNOT(dl, Op, VT),
2625 DAG.getNode(ISD::SUB, dl, VT, Op,
2630 return DAG.getNode(ISD::SUB, dl, VT,
2632 DAG.getNode(ISD::CTLZ, dl, VT, Tmp3));
2633 return DAG.getNode(ISD::CTPOP, dl, VT, Tmp3);
2725 DebugLoc dl = Node->getDebugLoc();
2733 Tmp1 = ExpandBitCount(Node->getOpcode(), Node->getOperand(0), dl);
2737 Results.push_back(ExpandBSWAP(Node->getOperand(0), dl));
2775 Args, DAG, dl);
2784 SDValue Swap = DAG.getAtomic(ISD::ATOMIC_CMP_SWAP, dl,
2797 SDValue Swap = DAG.getAtomic(ISD::ATOMIC_SWAP, dl,
2854 Args, DAG, dl);
2863 Node->getValueType(0), dl);
2869 Node->getValueType(0), dl);
2883 Tmp1 = DAG.getNode(ISD::SHL, dl, Node->getValueType(0),
2885 Tmp1 = DAG.getNode(ISD::SRA, dl, Node->getValueType(0), Tmp1, ShiftCst);
2898 Node->getValueType(0), dl);
2905 Node->getOperand(0), Node->getValueType(0), dl);
2917 Tmp2 = DAG.getSetCC(dl, TLI.getSetCCResultType(VT),
2920 True = DAG.getNode(ISD::FP_TO_SINT, dl, NVT, Node->getOperand(0));
2921 False = DAG.getNode(ISD::FP_TO_SINT, dl, NVT,
2922 DAG.getNode(ISD::FSUB, dl, VT,
2924 False = DAG.getNode(ISD::XOR, dl, NVT, False,
2926 Tmp1 = DAG.getNode(ISD::SELECT, dl, NVT, Tmp2, True, False);
2937 SDValue VAListLoad = DAG.getLoad(TLI.getPointerTy(), dl, Tmp1, Tmp2,
2945 VAList = DAG.getNode(ISD::ADD, dl, TLI.getPointerTy(), VAList,
2949 VAList = DAG.getNode(ISD::AND, dl, TLI.getPointerTy(), VAList,
2955 Tmp3 = DAG.getNode(ISD::ADD, dl, TLI.getPointerTy(), VAList,
2960 Tmp3 = DAG.getStore(VAListLoad.getValue(1), dl, Tmp3, Tmp2,
2963 Results.push_back(DAG.getLoad(VT, dl, Tmp3, VAList, MachinePointerInfo(),
2973 Tmp1 = DAG.getLoad(TLI.getPointerTy(), dl, Node->getOperand(0),
2976 Tmp1 = DAG.getStore(Tmp1.getValue(1), dl, Tmp1, Node->getOperand(1),
2984 Tmp1 = DAG.getNode(ISD::BITCAST, dl, Node->getValueType(0),
3006 Node->getOperand(2), dl));
3034 Op0 = DAG.getNode(ISD::BITCAST, dl, NewVT, Op0);
3035 Op1 = DAG.getNode(ISD::BITCAST, dl, NewVT, Op1);
3067 Ops.push_back(DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, EltVT,
3071 Ops.push_back(DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, EltVT,
3076 Tmp1 = DAG.getNode(ISD::BUILD_VECTOR, dl, VT, &Ops[0], Ops.size());
3078 Tmp1 = DAG.getNode(ISD::BITCAST, dl, Node->getValueType(0), Tmp1);
3086 Tmp1 = DAG.getNode(ISD::SRL, dl, OpTy, Node->getOperand(0),
3089 Tmp1 = DAG.getNode(ISD::TRUNCATE, dl, Node->getValueType(0), Tmp1);
3092 Tmp1 = DAG.getNode(ISD::TRUNCATE, dl, Node->getValueType(0),
3102 Results.push_back(DAG.getCopyFromReg(Node->getOperand(0), dl, SP,
3114 Results.push_back(DAG.getCopyToReg(Node->getOperand(0), dl, SP,
3126 Tmp1 = DAG.getNode(ISD::FSUB, dl, Node->getValueType(0), Tmp1,
3135 Tmp2 = DAG.getSetCC(dl, TLI.getSetCCResultType(Tmp1.getValueType()),
3137 Tmp3 = DAG.getNode(ISD::FNEG, dl, VT, Tmp1);
3138 Tmp1 = DAG.getNode(ISD::SELECT, dl, VT, Tmp2, Tmp1, Tmp3);
3157 Tmp1 = DAG.getNode(ISD::FSINCOS, dl, VTs, Node->getOperand(0));
3270 Results.push_back(DAG.getCopyFromReg(Node->getOperand(1), dl, Reg,
3278 Results.push_back(DAG.getCopyFromReg(Node->getOperand(0), dl, Reg,
3288 Tmp1 = DAG.getNode(ISD::FNEG, dl, VT, Node->getOperand(1));
3289 Tmp1 = DAG.getNode(ISD::FADD, dl, VT, Node->getOperand(0), Tmp1);
3298 Tmp1 = DAG.getNode(ISD::XOR, dl, VT, Node->getOperand(1),
3300 Tmp1 = DAG.getNode(ISD::ADD, dl, VT, Tmp1, DAG.getConstant(1, VT));
3301 Results.push_back(DAG.getNode(ISD::ADD, dl, VT, Node->getOperand(0), Tmp1));
3318 Tmp1 = DAG.getNode(DivRemOpc, dl, VTs, Tmp2, Tmp3).getValue(1);
3321 Tmp1 = DAG.getNode(DivOpc, dl, VT, Tmp2, Tmp3);
3322 Tmp1 = DAG.getNode(ISD::MUL, dl, VT, Tmp1, Tmp3);
3323 Tmp1 = DAG.getNode(ISD::SUB, dl, VT, Tmp2, Tmp1);
3346 Tmp1 = DAG.getNode(DivRemOpc, dl, VTs, Node->getOperand(0),
3369 Tmp1 = DAG.getNode(ExpandOpcode, dl, VTs, Node->getOperand(0),
3402 Results.push_back(DAG.getNode(OpToUse, dl, VTs, Node->getOperand(0),
3418 ISD::ADD : ISD::SUB, dl, LHS.getValueType(),
3434 SDValue LHSSign = DAG.getSetCC(dl, OType, LHS, Zero, ISD::SETGE);
3435 SDValue RHSSign = DAG.getSetCC(dl, OType, RHS, Zero, ISD::SETGE);
3436 SDValue SignsMatch = DAG.getSetCC(dl, OType, LHSSign, RHSSign,
3440 SDValue SumSign = DAG.getSetCC(dl, OType, Sum, Zero, ISD::SETGE);
3441 SDValue SumSignNE = DAG.getSetCC(dl, OType, LHSSign, SumSign, ISD::SETNE);
3443 SDValue Cmp = DAG.getNode(ISD::AND, dl, OType, SignsMatch, SumSignNE);
3452 ISD::ADD : ISD::SUB, dl, LHS.getValueType(),
3455 Results.push_back(DAG.getSetCC(dl, Node->getValueType(1), Sum, LHS,
3473 BottomHalf = DAG.getNode(ISD::MUL, dl, VT, LHS, RHS);
3474 TopHalf = DAG.getNode(Ops[isSigned][0], dl, VT, LHS, RHS);
3476 BottomHalf = DAG.getNode(Ops[isSigned][1], dl, DAG.getVTList(VT, VT), LHS,
3481 LHS = DAG.getNode(Ops[isSigned][2], dl, WideVT, LHS);
3482 RHS = DAG.getNode(Ops[isSigned][2], dl, WideVT, RHS);
3483 Tmp1 = DAG.getNode(ISD::MUL, dl, WideVT, LHS, RHS);
3484 BottomHalf = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, VT, Tmp1,
3486 TopHalf = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, VT, Tmp1,
3507 SDValue HiLHS = DAG.getNode(ISD::SRA, dl, VT, RHS,
3509 SDValue HiRHS = DAG.getNode(ISD::SRA, dl, VT, LHS,
3517 SDValue Ret = ExpandLibCall(LC, WideVT, Args, 4, isSigned, dl);
3518 BottomHalf = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, VT, Ret,
3520 TopHalf = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, VT, Ret,
3531 Tmp1 = DAG.getNode(ISD::SRA, dl, VT, BottomHalf, Tmp1);
3532 TopHalf = DAG.getSetCC(dl, TLI.getSetCCResultType(VT), TopHalf, Tmp1,
3535 TopHalf = DAG.getSetCC(dl, TLI.getSetCCResultType(VT), TopHalf,
3544 Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, PairTy, Node->getOperand(0));
3545 Tmp2 = DAG.getNode(ISD::ANY_EXTEND, dl, PairTy, Node->getOperand(1));
3546 Tmp2 = DAG.getNode(ISD::SHL, dl, PairTy, Tmp2,
3549 Results.push_back(DAG.getNode(ISD::OR, dl, PairTy, Tmp1, Tmp2));
3557 Tmp1 = DAG.getSelectCC(dl, Tmp1.getOperand(0), Tmp1.getOperand(1),
3561 Tmp1 = DAG.getSelectCC(dl, Tmp1,
3578 Index = DAG.getNode(ISD::MUL, dl, PTy,
3580 SDValue Addr = DAG.getNode(ISD::ADD, dl, PTy, Index, Table);
3583 SDValue LD = DAG.getExtLoad(ISD::SEXTLOAD, dl, PTy, Chain, Addr,
3591 Addr = DAG.getNode(ISD::ADD, dl, PTy, Addr,
3594 Tmp1 = DAG.getNode(ISD::BRIND, dl, MVT::Other, LD.getValue(1), Addr);
3604 Tmp1 = DAG.getNode(ISD::BR_CC, dl, MVT::Other,
3611 DAG.getNode(ISD::AND, dl, Tmp2.getValueType(), Tmp2,
3613 Tmp1 = DAG.getNode(ISD::BR_CC, dl, MVT::Other, Tmp1,
3624 LegalizeSetCCCondCode(Node->getValueType(0), Tmp1, Tmp2, Tmp3, dl);
3645 Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, VT, Tmp1, Tmp2,
3659 Tmp1, Tmp2, CC, dl);
3664 Tmp1 = DAG.getNode(ISD::SELECT_CC, dl, Node->getValueType(0), Tmp1, Tmp2,
3676 Tmp2, Tmp3, Tmp4, dl);
3681 Tmp1 = DAG.getNode(ISD::BR_CC, dl, Node->getValueType(0), Tmp1, Tmp4, Tmp2,
3700 SDValue Ex = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl,
3703 SDValue Sh = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl,
3706 Scalars.push_back(DAG.getNode(Node->getOpcode(), dl,
3710 DAG.getNode(ISD::BUILD_VECTOR, dl, Node->getValueType(0),
3742 DebugLoc dl = Node->getDebugLoc();
3751 Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Node->getOperand(0));
3754 Tmp1 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1);
3757 Tmp2 = DAG.getSetCC(dl, TLI.getSetCCResultType(NVT),
3760 Tmp1 = DAG.getNode(ISD::SELECT, dl, NVT, Tmp2,
3765 Tmp1 = DAG.getNode(ISD::SUB, dl, NVT, Tmp1,
3769 Results.push_back(DAG.getNode(ISD::TRUNCATE, dl, OVT, Tmp1));
3773 Tmp1 = DAG.getNode(ISD::ZERO_EXTEND, dl, NVT, Node->getOperand(0));
3774 Tmp1 = DAG.getNode(ISD::BSWAP, dl, NVT, Tmp1);
3775 Tmp1 = DAG.getNode(ISD::SRL, dl, NVT, Tmp1,
3783 Node->getOpcode() == ISD::FP_TO_SINT, dl);
3789 Node->getOpcode() == ISD::SINT_TO_FP, dl);
3806 Tmp1 = DAG.getVAArg(NVT, dl, Chain, Ptr, Node->getOperand(2),
3810 Tmp2 = DAG.getNode(TruncOp, dl, OVT, Tmp1);
3832 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0));
3833 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1));
3835 Tmp1 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2);
3836 Results.push_back(DAG.getNode(TruncOp, dl, OVT, Tmp1));
3853 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1));
3854 Tmp3 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(2));
3856 Tmp1 = DAG.getNode(ISD::SELECT, dl, NVT, Tmp1, Tmp2, Tmp3);
3858 Tmp1 = DAG.getNode(TruncOp, dl, Node->getValueType(0), Tmp1);
3860 Tmp1 = DAG.getNode(TruncOp, dl, Node->getValueType(0), Tmp1,
3869 Tmp1 = DAG.getNode(ISD::BITCAST, dl, NVT, Node->getOperand(0));
3870 Tmp2 = DAG.getNode(ISD::BITCAST, dl, NVT, Node->getOperand(1));
3873 Tmp1 = ShuffleWithNarrowerEltType(NVT, OVT, dl, Tmp1, Tmp2, Mask);
3874 Tmp1 = DAG.getNode(ISD::BITCAST, dl, OVT, Tmp1);
3885 Tmp1 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(0));
3886 Tmp2 = DAG.getNode(ExtOp, dl, NVT, Node->getOperand(1));
3887 Results.push_back(DAG.getNode(ISD::SETCC, dl, Node->getValueType(0),
3894 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0));
3895 Tmp2 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(1));
3896 Tmp3 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1, Tmp2);
3897 Results.push_back(DAG.getNode(ISD::FP_ROUND, dl, OVT,
3905 Tmp1 = DAG.getNode(ISD::FP_EXTEND, dl, NVT, Node->getOperand(0));
3906 Tmp2 = DAG.getNode(Node->getOpcode(), dl, NVT, Tmp1);
3907 Results.push_back(DAG.getNode(ISD::FP_ROUND, dl, OVT,