Lines Matching refs:dl

853   // FIXME dl should come from parent load or store, not from address
854 DebugLoc dl = N.getDebugLoc();
923 Base = SDValue(DAG.getMachineNode(Opc, dl, CN->getValueType(0), Base), 0);
969 // FIXME dl should come from the parent load or store, not the address
970 DebugLoc dl = N.getDebugLoc();
1037 Base = SDValue(DAG.getMachineNode(Opc, dl, CN->getValueType(0), Base),0);
1232 DebugLoc dl = Op.getDebugLoc();
1243 Zext = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Op.getOperand(0));
1246 SDValue Clz = DAG.getNode(ISD::CTLZ, dl, VT, Zext);
1247 SDValue Scc = DAG.getNode(ISD::SRL, dl, VT, Clz,
1249 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i32, Scc);
1266 SDValue Sub = DAG.getNode(ISD::XOR, dl, LHSVT, Op.getOperand(0),
1268 return DAG.getSetCC(dl, VT, Sub, DAG.getConstant(0, LHSVT), CC);
1281 DebugLoc dl = Node->getDebugLoc();
1286 SDValue GprIndex = DAG.getExtLoad(ISD::ZEXTLOAD, dl, MVT::i32, InChain,
1293 SDValue GprAnd = DAG.getNode(ISD::AND, dl, MVT::i32, GprIndex,
1295 SDValue CC64 = DAG.getSetCC(dl, MVT::i32, GprAnd,
1297 SDValue GprIndexPlusOne = DAG.getNode(ISD::ADD, dl, MVT::i32, GprIndex,
1300 GprIndex = DAG.getNode(ISD::SELECT, dl, MVT::i32, CC64, GprIndexPlusOne,
1305 SDValue FprPtr = DAG.getNode(ISD::ADD, dl, PtrVT, VAListPtr,
1309 SDValue FprIndex = DAG.getExtLoad(ISD::ZEXTLOAD, dl, MVT::i32, InChain,
1314 SDValue RegSaveAreaPtr = DAG.getNode(ISD::ADD, dl, PtrVT, VAListPtr,
1317 SDValue OverflowAreaPtr = DAG.getNode(ISD::ADD, dl, PtrVT, VAListPtr,
1321 SDValue OverflowArea = DAG.getLoad(MVT::i32, dl, InChain, OverflowAreaPtr,
1325 SDValue RegSaveArea = DAG.getLoad(MVT::i32, dl, InChain, RegSaveAreaPtr,
1330 SDValue CC = DAG.getSetCC(dl, MVT::i32, VT.isInteger() ? GprIndex : FprIndex,
1334 SDValue RegConstant = DAG.getNode(ISD::MUL, dl, MVT::i32,
1340 SDValue OurReg = DAG.getNode(ISD::ADD, dl, PtrVT, RegSaveArea,
1345 OurReg = DAG.getNode(ISD::ADD, dl, PtrVT, OurReg,
1349 SDValue IndexPlus1 = DAG.getNode(ISD::ADD, dl, MVT::i32,
1354 InChain = DAG.getTruncStore(InChain, dl, IndexPlus1,
1360 SDValue Result = DAG.getNode(ISD::SELECT, dl, PtrVT, CC, OurReg, OverflowArea);
1363 SDValue OverflowAreaPlusN = DAG.getNode(ISD::ADD, dl, PtrVT, OverflowArea,
1367 OverflowArea = DAG.getNode(ISD::SELECT, dl, MVT::i32, CC, OverflowArea,
1370 InChain = DAG.getTruncStore(InChain, dl, OverflowArea,
1375 return DAG.getLoad(VT, dl, InChain, Result, MachinePointerInfo(), false, false, 0);
1389 DebugLoc dl = Op.getDebugLoc();
1417 Args, DAG, dl);
1427 DebugLoc dl = Op.getDebugLoc();
1435 return DAG.getStore(Op.getOperand(0), dl, FR, Op.getOperand(1),
1488 SDValue firstStore = DAG.getTruncStore(Op.getOperand(0), dl, ArgGPR,
1493 SDValue nextPtr = DAG.getNode(ISD::ADD, dl, PtrVT, Op.getOperand(1),
1498 DAG.getTruncStore(firstStore, dl, ArgFPR, nextPtr,
1502 nextPtr = DAG.getNode(ISD::ADD, dl, PtrVT, nextPtr, ConstStackOffset);
1506 DAG.getStore(secondStore, dl, StackOffsetFI, nextPtr,
1510 nextPtr = DAG.getNode(ISD::ADD, dl, PtrVT, nextPtr, ConstFrameOffset);
1513 return DAG.getStore(thirdStore, dl, FR, nextPtr,
1610 DebugLoc dl, SelectionDAG &DAG,
1615 dl, DAG, InVals);
1618 dl, DAG, InVals);
1628 DebugLoc dl, SelectionDAG &DAG,
1709 SDValue ArgValue = DAG.getCopyFromReg(Chain, dl, Reg, ValVT);
1722 InVals.push_back(DAG.getLoad(VA.getValVT(), dl, Chain, FIN,
1802 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT);
1803 SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN,
1808 FIN = DAG.getNode(ISD::ADD, dl, PtrOff.getValueType(), FIN, PtrOff);
1821 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, MVT::f64);
1822 SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN,
1828 FIN = DAG.getNode(ISD::ADD, dl, PtrOff.getValueType(), FIN, PtrOff);
1833 Chain = DAG.getNode(ISD::TokenFactor, dl,
1845 DebugLoc dl, SelectionDAG &DAG,
1988 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT);
1989 SDValue Store = DAG.getTruncStore(Val.getValue(1), dl, Val, FIN,
2013 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT);
2014 SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN,
2034 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, MVT::i32);
2048 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, MVT::i64);
2054 ArgVal = DAG.getNode(ISD::AssertSext, dl, MVT::i64, ArgVal,
2057 ArgVal = DAG.getNode(ISD::AssertZext, dl, MVT::i64, ArgVal,
2060 ArgVal = DAG.getNode(ISD::TRUNCATE, dl, MVT::i32, ArgVal);
2089 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, ObjectVT);
2106 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, ObjectVT);
2140 ArgVal = DAG.getLoad(ObjectVT, dl, Chain, FIN, MachinePointerInfo(),
2187 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT);
2188 SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN,
2193 FIN = DAG.getNode(ISD::ADD, dl, PtrOff.getValueType(), FIN, PtrOff);
2198 Chain = DAG.getNode(ISD::TokenFactor, dl,
2361 DebugLoc dl) {
2367 MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, FIN,
2383 DebugLoc dl) {
2393 Chain = DAG.getStore(Chain, dl, OldRetAddr, NewRetAddrFrIdx,
2405 Chain = DAG.getStore(Chain, dl, OldFP, NewFramePtrIdx,
2440 DebugLoc dl) const {
2445 LROpOut = DAG.getLoad(VT, dl, Chain, LROpOut, MachinePointerInfo(),
2453 FPOpOut = DAG.getLoad(VT, dl, Chain, FPOpOut, MachinePointerInfo(),
2470 DebugLoc dl) {
2472 return DAG.getMemcpy(Chain, dl, Dst, Src, SizeNode, Flags.getByValAlign(),
2485 DebugLoc dl) {
2494 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr,
2497 MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff,
2506 DebugLoc dl, bool isPPC64, int SPDiff, unsigned NumBytes,
2517 MemOpChains2, dl);
2519 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other,
2524 isPPC64, isDarwinABI, dl);
2534 SDValue &Chain, DebugLoc dl, int SPDiff, bool isTailCall,
2575 Callee = DAG.getTargetGlobalAddress(G->getGlobal(), dl,
2634 SDValue LoadFuncPtr = DAG.getNode(PPCISD::LOAD, dl, VTs, MTCTROps,
2643 SDValue AddPtr = DAG.getNode(ISD::ADD, dl, MVT::i64, Callee, PtrOff);
2644 SDValue LoadEnvPtr = DAG.getNode(PPCISD::LOAD, dl, VTs, Chain, AddPtr,
2649 SDValue EnvVal = DAG.getCopyToReg(Chain, dl, PPC::X11, LoadEnvPtr,
2661 SDValue LoadTOCPtr = DAG.getNode(PPCISD::LOAD_TOC, dl, VTs, Chain,
2671 Chain = DAG.getNode(PPCISD::MTCTR, dl, NodeTys, MTCTROps,
2708 DebugLoc dl, SelectionDAG &DAG,
2721 Chain = DAG.getCopyFromReg(Chain, dl,
2731 PPCTargetLowering::FinishCall(CallingConv::ID CallConv, DebugLoc dl,
2743 unsigned CallOpc = PrepareCall(DAG, Callee, InFlag, Chain, dl, SPDiff,
2776 return DAG.getNode(PPCISD::TC_RETURN, dl, MVT::Other, &Ops[0], Ops.size());
2779 Chain = DAG.getNode(CallOpc, dl, NodeTys, &Ops[0], Ops.size());
2802 Chain = DAG.getNode(PPCISD::TOC_RESTORE, dl, VTs, Chain, InFlag);
2806 InFlag = DAG.getNode(PPCISD::NOP, dl, MVT::Glue, InFlag);
2817 Ins, dl, DAG, InVals);
2827 DebugLoc dl, SelectionDAG &DAG,
2836 dl, DAG, InVals);
2840 dl, DAG, InVals);
2850 DebugLoc dl, SelectionDAG &DAG,
2942 dl);
2975 PtrOff = DAG.getNode(ISD::ADD, dl, getPointerTy(), StackPtr, PtrOff);
2982 Flags, DAG, dl);
3008 PtrOff = DAG.getNode(ISD::ADD, dl, getPointerTy(), StackPtr, PtrOff);
3010 MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff,
3022 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other,
3029 dl, MVT::i32), 0);
3037 Chain = DAG.getCopyToReg(Chain, dl, RegsToPass[i].first,
3043 PrepareTailCall(DAG, InFlag, Chain, dl, false, SPDiff, NumBytes, LROp, FPOp,
3046 return FinishCall(CallConv, dl, isTailCall, isVarArg, DAG,
3058 DebugLoc dl, SelectionDAG &DAG,
3105 dl);
3157 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, PtrOff);
3163 Arg = DAG.getNode(ExtOp, dl, MVT::i64, Arg);
3174 SDValue Load = DAG.getExtLoad(ISD::EXTLOAD, dl, PtrVT, Chain, Arg,
3183 SDValue AddPtr = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, Const);
3186 Flags, DAG, dl);
3202 Flags, DAG, dl);
3211 SDValue AddArg = DAG.getNode(ISD::ADD, dl, PtrVT, Arg, Const);
3213 SDValue Load = DAG.getLoad(PtrVT, dl, Chain, AddArg,
3236 TailCallArguments, dl);
3246 SDValue Store = DAG.getStore(Chain, dl, Arg, PtrOff,
3252 SDValue Load = DAG.getLoad(PtrVT, dl, Store, PtrOff,
3259 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, ConstFour);
3260 SDValue Load = DAG.getLoad(PtrVT, dl, Store, PtrOff,
3279 TailCallArguments, dl);
3303 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr,
3305 SDValue Store = DAG.getStore(Chain, dl, Arg, PtrOff,
3309 SDValue Load = DAG.getLoad(MVT::v4f32, dl, Store, PtrOff,
3319 SDValue Ix = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff,
3321 SDValue Load = DAG.getLoad(PtrVT, dl, Store, Ix, MachinePointerInfo(),
3338 TailCallArguments, dl);
3364 TailCallArguments, dl);
3372 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other,
3383 SDValue Val = DAG.getCopyFromReg(Chain, dl, PPC::X2, MVT::i64);
3386 SDValue AddPtr = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, PtrOff);
3387 Chain = DAG.getStore(Val.getValue(1), dl, Val, AddPtr, MachinePointerInfo(),
3405 Chain = DAG.getCopyToReg(Chain, dl, RegsToPass[i].first,
3411 PrepareTailCall(DAG, InFlag, Chain, dl, isPPC64, SPDiff, NumBytes, LROp,
3414 return FinishCall(CallConv, dl, isTailCall, isVarArg, DAG,
3435 DebugLoc dl, SelectionDAG &DAG) const {
3455 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(),
3461 return DAG.getNode(PPCISD::RET_FLAG, dl, MVT::Other, Chain, Flag);
3463 return DAG.getNode(PPCISD::RET_FLAG, dl, MVT::Other, Chain);
3469 DebugLoc dl = Op.getDebugLoc();
3484 SDValue LoadLinkSP = DAG.getLoad(PtrVT, dl, Chain, StackPtr,
3489 Chain = DAG.getCopyToReg(LoadLinkSP.getValue(1), dl, SP, SaveSP);
3492 return DAG.getStore(Chain, dl, LoadLinkSP, StackPtr, MachinePointerInfo(),
3554 DebugLoc dl = Op.getDebugLoc();
3559 SDValue NegSize = DAG.getNode(ISD::SUB, dl, PtrVT,
3566 return DAG.getNode(PPCISD::DYNALLOC, dl, VTs, Ops, 3);
3586 DebugLoc dl = Op.getDebugLoc();
3599 LHS = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, LHS);
3600 return DAG.getNode(PPCISD::FSEL, dl, ResVT, LHS, TV, FV);
3607 LHS = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, LHS);
3608 return DAG.getNode(PPCISD::FSEL, dl, ResVT,
3609 DAG.getNode(ISD::FNEG, dl, MVT::f64, LHS), TV, FV);
3617 Cmp = DAG.getNode(ISD::FSUB, dl, CmpVT, LHS, RHS);
3619 Cmp = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Cmp);
3620 return DAG.getNode(PPCISD::FSEL, dl, ResVT, Cmp, FV, TV);
3623 Cmp = DAG.getNode(ISD::FSUB, dl, CmpVT, LHS, RHS);
3625 Cmp = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Cmp);
3626 return DAG.getNode(PPCISD::FSEL, dl, ResVT, Cmp, TV, FV);
3629 Cmp = DAG.getNode(ISD::FSUB, dl, CmpVT, RHS, LHS);
3631 Cmp = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Cmp);
3632 return DAG.getNode(PPCISD::FSEL, dl, ResVT, Cmp, FV, TV);
3635 Cmp = DAG.getNode(ISD::FSUB, dl, CmpVT, RHS, LHS);
3637 Cmp = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Cmp);
3638 return DAG.getNode(PPCISD::FSEL, dl, ResVT, Cmp, TV, FV);
3645 DebugLoc dl) const {
3649 Src = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Src);
3657 dl, MVT::f64, Src);
3660 Tmp = DAG.getNode(PPCISD::FCTIDZ, dl, MVT::f64, Src);
3668 SDValue Chain = DAG.getStore(DAG.getEntryNode(), dl, Tmp, FIPtr,
3674 FIPtr = DAG.getNode(ISD::ADD, dl, FIPtr.getValueType(), FIPtr,
3676 return DAG.getLoad(Op.getValueType(), dl, Chain, FIPtr, MachinePointerInfo(),
3682 DebugLoc dl = Op.getDebugLoc();
3688 SDValue Bits = DAG.getNode(ISD::BITCAST, dl, MVT::f64, Op.getOperand(0));
3689 SDValue FP = DAG.getNode(PPCISD::FCFID, dl, MVT::f64, Bits);
3691 FP = DAG.getNode(ISD::FP_ROUND, dl,
3708 SDValue Ext64 = DAG.getNode(PPCISD::EXTSW_32, dl, MVT::i32,
3717 DAG.getMemIntrinsicNode(PPCISD::STD_32, dl, DAG.getVTList(MVT::Other),
3720 SDValue Ld = DAG.getLoad(MVT::f64, dl, Store, FIdx, MachinePointerInfo(),
3724 SDValue FP = DAG.getNode(PPCISD::FCFID, dl, MVT::f64, Ld);
3726 FP = DAG.getNode(ISD::FP_ROUND, dl, MVT::f32, FP, DAG.getIntPtrConstant(0));
3732 DebugLoc dl = Op.getDebugLoc();
3761 SDValue Chain = DAG.getNode(PPCISD::MFFS, dl, NodeTys, &InFlag, 0);
3766 SDValue Store = DAG.getStore(DAG.getEntryNode(), dl, Chain,
3771 SDValue Addr = DAG.getNode(ISD::ADD, dl, PtrVT, StackSlot, Four);
3772 SDValue CWD = DAG.getLoad(MVT::i32, dl, Store, Addr, MachinePointerInfo(),
3777 DAG.getNode(ISD::AND, dl, MVT::i32,
3780 DAG.getNode(ISD::SRL, dl, MVT::i32,
3781 DAG.getNode(ISD::AND, dl, MVT::i32,
3782 DAG.getNode(ISD::XOR, dl, MVT::i32,
3788 DAG.getNode(ISD::XOR, dl, MVT::i32, CWD1, CWD2);
3791 ISD::TRUNCATE : ISD::ZERO_EXTEND), dl, VT, RetVal);
3797 DebugLoc dl = Op.getDebugLoc();
3809 SDValue Tmp1 = DAG.getNode(ISD::SUB, dl, AmtVT,
3811 SDValue Tmp2 = DAG.getNode(PPCISD::SHL, dl, VT, Hi, Amt);
3812 SDValue Tmp3 = DAG.getNode(PPCISD::SRL, dl, VT, Lo, Tmp1);
3813 SDValue Tmp4 = DAG.getNode(ISD::OR , dl, VT, Tmp2, Tmp3);
3814 SDValue Tmp5 = DAG.getNode(ISD::ADD, dl, AmtVT, Amt,
3816 SDValue Tmp6 = DAG.getNode(PPCISD::SHL, dl, VT, Lo, Tmp5);
3817 SDValue OutHi = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp6);
3818 SDValue OutLo = DAG.getNode(PPCISD::SHL, dl, VT, Lo, Amt);
3820 return DAG.getMergeValues(OutOps, 2, dl);
3825 DebugLoc dl = Op.getDebugLoc();
3838 SDValue Tmp1 = DAG.getNode(ISD::SUB, dl, AmtVT,
3840 SDValue Tmp2 = DAG.getNode(PPCISD::SRL, dl, VT, Lo, Amt);
3841 SDValue Tmp3 = DAG.getNode(PPCISD::SHL, dl, VT, Hi, Tmp1);
3842 SDValue Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp3);
3843 SDValue Tmp5 = DAG.getNode(ISD::ADD, dl, AmtVT, Amt,
3845 SDValue Tmp6 = DAG.getNode(PPCISD::SRL, dl, VT, Hi, Tmp5);
3846 SDValue OutLo = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp6);
3847 SDValue OutHi = DAG.getNode(PPCISD::SRL, dl, VT, Hi, Amt);
3849 return DAG.getMergeValues(OutOps, 2, dl);
3853 DebugLoc dl = Op.getDebugLoc();
3866 SDValue Tmp1 = DAG.getNode(ISD::SUB, dl, AmtVT,
3868 SDValue Tmp2 = DAG.getNode(PPCISD::SRL, dl, VT, Lo, Amt);
3869 SDValue Tmp3 = DAG.getNode(PPCISD::SHL, dl, VT, Hi, Tmp1);
3870 SDValue Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp3);
3871 SDValue Tmp5 = DAG.getNode(ISD::ADD, dl, AmtVT, Amt,
3873 SDValue Tmp6 = DAG.getNode(PPCISD::SRA, dl, VT, Hi, Tmp5);
3874 SDValue OutHi = DAG.getNode(PPCISD::SRA, dl, VT, Hi, Amt);
3875 SDValue OutLo = DAG.getSelectCC(dl, Tmp5, DAG.getConstant(0, AmtVT),
3878 return DAG.getMergeValues(OutOps, 2, dl);
3888 SelectionDAG &DAG, DebugLoc dl) {
3907 SDValue Res = DAG.getNode(ISD::BUILD_VECTOR, dl, CanonicalVT,
3909 return DAG.getNode(ISD::BITCAST, dl, ReqVT, Res);
3915 SelectionDAG &DAG, DebugLoc dl,
3918 return DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, DestVT,
3926 DebugLoc dl, EVT DestVT = MVT::Other) {
3928 return DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, DestVT,
3936 EVT VT, SelectionDAG &DAG, DebugLoc dl) {
3938 LHS = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, LHS);
3939 RHS = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, RHS);
3944 SDValue T = DAG.getVectorShuffle(MVT::v16i8, dl, LHS, RHS, Ops);
3945 return DAG.getNode(ISD::BITCAST, dl, VT, T);
3955 DebugLoc dl = Op.getDebugLoc();
3978 Z = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, Z, Z, Z, Z);
3979 Op = DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Z);
3988 return BuildSplatI(SextVal, SplatSize, Op.getValueType(), DAG, dl);
3996 SDValue Res = BuildSplatI(SextVal >> 1, SplatSize, MVT::Other, DAG, dl);
3997 Res = DAG.getNode(ISD::ADD, dl, Res.getValueType(), Res, Res);
3998 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res);
4006 SDValue OnesV = BuildSplatI(-1, 4, MVT::v4i32, DAG, dl);
4010 OnesV, DAG, dl);
4013 Res = DAG.getNode(ISD::XOR, dl, MVT::v4i32, Res, OnesV);
4014 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res);
4034 SDValue Res = BuildSplatI(i, SplatSize, MVT::Other, DAG, dl);
4039 Res = BuildIntrinsicOp(IIDs[SplatSize-1], Res, Res, DAG, dl);
4040 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res);
4045 SDValue Res = BuildSplatI(i, SplatSize, MVT::Other, DAG, dl);
4050 Res = BuildIntrinsicOp(IIDs[SplatSize-1], Res, Res, DAG, dl);
4051 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res);
4056 SDValue Res = BuildSplatI(i, SplatSize, MVT::Other, DAG, dl);
4061 Res = BuildIntrinsicOp(IIDs[SplatSize-1], Res, Res, DAG, dl);
4062 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res);
4068 SDValue Res = BuildSplatI(i, SplatSize, MVT::Other, DAG, dl);
4073 Res = BuildIntrinsicOp(IIDs[SplatSize-1], Res, Res, DAG, dl);
4074 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res);
4079 SDValue T = BuildSplatI(i, SplatSize, MVT::v16i8, DAG, dl);
4080 return BuildVSLDOI(T, T, 1, Op.getValueType(), DAG, dl);
4084 SDValue T = BuildSplatI(i, SplatSize, MVT::v16i8, DAG, dl);
4085 return BuildVSLDOI(T, T, 2, Op.getValueType(), DAG, dl);
4089 SDValue T = BuildSplatI(i, SplatSize, MVT::v16i8, DAG, dl);
4090 return BuildVSLDOI(T, T, 3, Op.getValueType(), DAG, dl);
4098 SDValue LHS = BuildSplatI(SextVal-16, SplatSize, MVT::Other, DAG, dl);
4099 SDValue RHS = BuildSplatI(-16, SplatSize, MVT::Other, DAG, dl);
4100 LHS = DAG.getNode(ISD::SUB, dl, LHS.getValueType(), LHS, RHS);
4101 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), LHS);
4105 SDValue LHS = BuildSplatI(SextVal+16, SplatSize, MVT::Other, DAG, dl);
4106 SDValue RHS = BuildSplatI(-16, SplatSize, MVT::Other, DAG, dl);
4107 LHS = DAG.getNode(ISD::ADD, dl, LHS.getValueType(), LHS, RHS);
4108 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), LHS);
4118 DebugLoc dl) {
4143 OpLHS = GeneratePerfectShuffle(PerfectShuffleTable[LHSID], LHS, RHS, DAG, dl);
4144 OpRHS = GeneratePerfectShuffle(PerfectShuffleTable[RHSID], LHS, RHS, DAG, dl);
4178 return BuildVSLDOI(OpLHS, OpRHS, 4, OpLHS.getValueType(), DAG, dl);
4180 return BuildVSLDOI(OpLHS, OpRHS, 8, OpLHS.getValueType(), DAG, dl);
4182 return BuildVSLDOI(OpLHS, OpRHS, 12, OpLHS.getValueType(), DAG, dl);
4185 OpLHS = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, OpLHS);
4186 OpRHS = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, OpRHS);
4187 SDValue T = DAG.getVectorShuffle(MVT::v16i8, dl, OpLHS, OpRHS, ShufIdxs);
4188 return DAG.getNode(ISD::BITCAST, dl, VT, T);
4197 DebugLoc dl = Op.getDebugLoc();
4289 return GeneratePerfectShuffle(PFEntry, V1, V2, DAG, dl);
4310 SDValue VPermMask = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v16i8,
4312 return DAG.getNode(PPCISD::VPERM, dl, V1.getValueType(), V1, V2, VPermMask);
4365 DebugLoc dl = Op.getDebugLoc();
4373 SDValue Tmp = DAG.getNode(PPCISD::VCMP, dl, Op.getOperand(2).getValueType(),
4376 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Tmp);
4388 SDValue CompNode = DAG.getNode(PPCISD::VCMPo, dl, VTs, Ops, 3);
4392 SDValue Flags = DAG.getNode(PPCISD::MFCR, dl, MVT::i32,
4416 Flags = DAG.getNode(ISD::SRL, dl, MVT::i32, Flags,
4419 Flags = DAG.getNode(ISD::AND, dl, MVT::i32, Flags,
4424 Flags = DAG.getNode(ISD::XOR, dl, MVT::i32, Flags,
4431 DebugLoc dl = Op.getDebugLoc();
4439 SDValue Store = DAG.getStore(DAG.getEntryNode(), dl,
4443 return DAG.getLoad(Op.getValueType(), dl, Store, FIdx, MachinePointerInfo(),
4448 DebugLoc dl = Op.getDebugLoc();
4452 SDValue Zero = BuildSplatI( 0, 1, MVT::v4i32, DAG, dl);
4453 SDValue Neg16 = BuildSplatI(-16, 4, MVT::v4i32, DAG, dl);//+16 as shift amt.
4456 BuildIntrinsicOp(Intrinsic::ppc_altivec_vrlw, RHS, Neg16, DAG, dl);
4459 LHS = DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, LHS);
4460 RHS = DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, RHS);
4461 RHSSwap = DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, RHSSwap);
4466 LHS, RHS, DAG, dl, MVT::v4i32);
4469 LHS, RHSSwap, Zero, DAG, dl, MVT::v4i32);
4472 Neg16, DAG, dl);
4473 return DAG.getNode(ISD::ADD, dl, MVT::v4i32, LoProd, HiProd);
4477 SDValue Zero = BuildSplatI(0, 1, MVT::v8i16, DAG, dl);
4480 LHS, RHS, Zero, DAG, dl);
4486 LHS, RHS, DAG, dl, MVT::v8i16);
4487 EvenParts = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, EvenParts);
4491 LHS, RHS, DAG, dl, MVT::v8i16);
4492 OddParts = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, OddParts);
4500 return DAG.getVectorShuffle(MVT::v16i8, dl, EvenParts, OddParts, Ops);
4559 DebugLoc dl = N->getDebugLoc();
4582 SDValue Lo = DAG.getNode(ISD::EXTRACT_ELEMENT, dl,
4585 SDValue Hi = DAG.getNode(ISD::EXTRACT_ELEMENT, dl,
4597 Result = DAG.getNode(PPCISD::MFFS, dl, NodeTys, &InFlag, 0);
4605 Result = DAG.getNode(PPCISD::MTFSB1, dl, NodeTys, Ops, 2);
4612 Result = DAG.getNode(PPCISD::MTFSB0, dl, NodeTys, Ops, 2);
4621 Result = DAG.getNode(PPCISD::FADDRTZ, dl, NodeTys, Ops, 3);
4631 Result = DAG.getNode(PPCISD::MTFSF, dl, NodeTys, Ops, 4);
4636 Results.push_back(DAG.getNode(ISD::BUILD_PAIR, dl, MVT::ppcf128,
4641 Results.push_back(LowerFP_TO_INT(SDValue(N, 0), DAG, dl));
4666 DebugLoc dl = MI->getDebugLoc();
4695 BuildMI(BB, dl, TII->get(is64bit ? PPC::LDARX : PPC::LWARX), dest)
4698 BuildMI(BB, dl, TII->get(BinOpcode), TmpReg).addReg(incr).addReg(dest);
4699 BuildMI(BB, dl, TII->get(is64bit ? PPC::STDCX : PPC::STWCX))
4701 BuildMI(BB, dl, TII->get(PPC::BCC))
4735 DebugLoc dl = MI->getDebugLoc();
4790 BuildMI(BB, dl, TII->get(is64bit ? PPC::ADD8 : PPC::ADD4), Ptr1Reg)
4795 BuildMI(BB, dl, TII->get(PPC::RLWINM), Shift1Reg).addReg(Ptr1Reg)
4797 BuildMI(BB, dl, TII->get(is64bit ? PPC::XORI8 : PPC::XORI), ShiftReg)
4800 BuildMI(BB, dl, TII->get(PPC::RLDICR), PtrReg)
4803 BuildMI(BB, dl, TII->get(PPC::RLWINM), PtrReg)
4805 BuildMI(BB, dl, TII->get(PPC::SLW), Incr2Reg)
4808 BuildMI(BB, dl, TII->get(PPC::LI), Mask2Reg).addImm(255);
4810 BuildMI(BB, dl, TII->get(PPC::LI), Mask3Reg).addImm(0);
4811 BuildMI(BB, dl, TII->get(PPC::ORI),Mask2Reg).addReg(Mask3Reg).addImm(65535);
4813 BuildMI(BB, dl, TII->get(PPC::SLW), MaskReg)
4817 BuildMI(BB, dl, TII->get(PPC::LWARX), TmpDestReg)
4820 BuildMI(BB, dl, TII->get(BinOpcode), TmpReg)
4822 BuildMI(BB, dl, TII->get(is64bit ? PPC::ANDC8 : PPC::ANDC), Tmp2Reg)
4824 BuildMI(BB, dl, TII->get(is64bit ? PPC::AND8 : PPC::AND), Tmp3Reg)
4826 BuildMI(BB, dl, TII->get(is64bit ? PPC::OR8 : PPC::OR), Tmp4Reg)
4828 BuildMI(BB, dl, TII->get(is64bit ? PPC::STDCX : PPC::STWCX))
4830 BuildMI(BB, dl, TII->get(PPC::BCC))
4838 BuildMI(*BB, BB->begin(), dl, TII->get(PPC::SRW), dest).addReg(TmpDestReg)
4876 DebugLoc dl = MI->getDebugLoc();
4890 BuildMI(BB, dl, TII->get(PPC::BCC))
4905 BuildMI(*BB, BB->begin(), dl,
4982 DebugLoc dl = MI->getDebugLoc();
5014 BuildMI(BB, dl, TII->get(is64bit ? PPC::LDARX : PPC::LWARX), dest)
5016 BuildMI(BB, dl, TII->get(is64bit ? PPC::CMPD : PPC::CMPW), PPC::CR0)
5018 BuildMI(BB, dl, TII->get(PPC::BCC))
5024 BuildMI(BB, dl, TII->get(is64bit ? PPC::STDCX : PPC::STWCX))
5026 BuildMI(BB, dl, TII->get(PPC::BCC))
5028 BuildMI(BB, dl, TII->get(PPC::B)).addMBB(exitMBB);
5033 BuildMI(BB, dl, TII->get(is64bit ? PPC::STDCX : PPC::STWCX))
5053 DebugLoc dl = MI->getDebugLoc();
5122 BuildMI(BB, dl, TII->get(is64bit ? PPC::ADD8 : PPC::ADD4), Ptr1Reg)
5127 BuildMI(BB, dl, TII->get(PPC::RLWINM), Shift1Reg).addReg(Ptr1Reg)
5129 BuildMI(BB, dl, TII->get(is64bit ? PPC::XORI8 : PPC::XORI), ShiftReg)
5132 BuildMI(BB, dl, TII->get(PPC::RLDICR), PtrReg)
5135 BuildMI(BB, dl, TII->get(PPC::RLWINM), PtrReg)
5137 BuildMI(BB, dl, TII->get(PPC::SLW), NewVal2Reg)
5139 BuildMI(BB, dl, TII->get(PPC::SLW), OldVal2Reg)
5142 BuildMI(BB, dl, TII->get(PPC::LI), Mask2Reg).addImm(255);
5144 BuildMI(BB, dl, TII->get(PPC::LI), Mask3Reg).addImm(0);
5145 BuildMI(BB, dl, TII->get(PPC::ORI), Mask2Reg)
5148 BuildMI(BB, dl, TII->get(PPC::SLW), MaskReg)
5150 BuildMI(BB, dl, TII->get(PPC::AND), NewVal3Reg)
5152 BuildMI(BB, dl, TII->get(PPC::AND), OldVal3Reg)
5156 BuildMI(BB, dl, TII->get(PPC::LWARX), TmpDestReg)
5158 BuildMI(BB, dl, TII->get(PPC::AND),TmpReg)
5160 BuildMI(BB, dl, TII->get(PPC::CMPW), PPC::CR0)
5162 BuildMI(BB, dl, TII->get(PPC::BCC))
5168 BuildMI(BB, dl, TII->get(PPC::ANDC),Tmp2Reg)
5170 BuildMI(BB, dl, TII->get(PPC::OR),Tmp4Reg)
5172 BuildMI(BB, dl, TII->get(PPC::STWCX)).addReg(Tmp4Reg)
5174 BuildMI(BB, dl, TII->get(PPC::BCC))
5176 BuildMI(BB, dl, TII->get(PPC::B)).addMBB(exitMBB);
5181 BuildMI(BB, dl, TII->get(PPC::STWCX)).addReg(TmpDestReg)
5188 BuildMI(*BB, BB->begin(), dl, TII->get(PPC::SRW),dest).addReg(TmpReg)
5206 DebugLoc dl = N->getDebugLoc();
5239 Val = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Val);
5243 Val = DAG.getNode(PPCISD::FCTIDZ, dl, MVT::f64, Val);
5245 Val = DAG.getNode(PPCISD::FCFID, dl, MVT::f64, Val);
5248 Val = DAG.getNode(ISD::FP_ROUND, dl, MVT::f32, Val,
5269 Val = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Val);
5272 Val = DAG.getNode(PPCISD::FCTIWZ, dl, MVT::f64, Val);
5275 Val = DAG.getNode(PPCISD::STFIWX, dl, MVT::Other, N->getOperand(0), Val,
5290 BSwapOp = DAG.getNode(ISD::ANY_EXTEND, dl, MVT::i32, BSwapOp);
5297 DAG.getMemIntrinsicNode(PPCISD::STBRX, dl, DAG.getVTList(MVT::Other),
5317 DAG.getMemIntrinsicNode(PPCISD::LBRX, dl,
5324 ResVal = DAG.getNode(ISD::TRUNCATE, dl, MVT::i16, BSLoad);
5412 return DAG.getNode(ISD::BR, dl, MVT::Other,
5427 SDValue CompNode = DAG.getNode(PPCISD::VCMPo, dl, VTs, Ops, 3);
5447 return DAG.getNode(PPCISD::COND_BRANCH, dl, MVT::Other, N->getOperand(0),
5713 DebugLoc dl = Op.getDebugLoc();
5729 return DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(),
5730 DAG.getNode(ISD::ADD, dl, getPointerTy(),
5737 return DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(),
5743 DebugLoc dl = Op.getDebugLoc();
5757 SDValue FrameAddr = DAG.getCopyFromReg(DAG.getEntryNode(), dl, FrameReg,
5760 FrameAddr = DAG.getLoad(Op.getValueType(), dl, DAG.getEntryNode(),