Lines Matching refs:dl
1851 SDLoc dl(N); in SelectAddressRegImm() local
1860 Disp = DAG.getTargetConstant(imm, dl, N.getValueType()); in SelectAddressRegImm()
1900 Disp = DAG.getTargetConstant(imm, dl, N.getValueType()); in SelectAddressRegImm()
1911 Disp = DAG.getTargetConstant(Imm, dl, CN->getValueType(0)); in SelectAddressRegImm()
1924 Disp = DAG.getTargetConstant((short)Addr, dl, MVT::i32); in SelectAddressRegImm()
1926 Base = DAG.getTargetConstant((Addr - (signed short)Addr) >> 16, dl, in SelectAddressRegImm()
1929 Base = SDValue(DAG.getMachineNode(Opc, dl, CN->getValueType(0), Base), 0); in SelectAddressRegImm()
1934 Disp = DAG.getTargetConstant(0, dl, getPointerTy(DAG.getDataLayout())); in SelectAddressRegImm()
2114 static SDValue getTOCEntry(SelectionDAG &DAG, const SDLoc &dl, bool Is64Bit, in getTOCEntry() argument
2118 DAG.getNode(PPCISD::GlobalBaseReg, dl, VT); in getTOCEntry()
2122 PPCISD::TOC_ENTRY, dl, DAG.getVTList(VT, MVT::Other), Ops, VT, in getTOCEntry()
2218 SDLoc dl(GA); in LowerGlobalTLSAddress() local
2228 SDValue TGAHi = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, in LowerGlobalTLSAddress()
2230 SDValue TGALo = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, in LowerGlobalTLSAddress()
2234 SDValue Hi = DAG.getNode(PPCISD::Hi, dl, PtrVT, TGAHi, TLSReg); in LowerGlobalTLSAddress()
2235 return DAG.getNode(PPCISD::Lo, dl, PtrVT, TGALo, Hi); in LowerGlobalTLSAddress()
2239 SDValue TGA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, 0); in LowerGlobalTLSAddress()
2240 SDValue TGATLS = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, in LowerGlobalTLSAddress()
2246 GOTPtr = DAG.getNode(PPCISD::ADDIS_GOT_TPREL_HA, dl, in LowerGlobalTLSAddress()
2249 GOTPtr = DAG.getNode(PPCISD::PPC32_GOT, dl, PtrVT); in LowerGlobalTLSAddress()
2250 SDValue TPOffset = DAG.getNode(PPCISD::LD_GOT_TPREL_L, dl, in LowerGlobalTLSAddress()
2252 return DAG.getNode(PPCISD::ADD_TLS, dl, PtrVT, TPOffset, TGATLS); in LowerGlobalTLSAddress()
2256 SDValue TGA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, 0); in LowerGlobalTLSAddress()
2261 GOTPtr = DAG.getNode(PPCISD::ADDIS_TLSGD_HA, dl, PtrVT, in LowerGlobalTLSAddress()
2265 GOTPtr = DAG.getNode(PPCISD::GlobalBaseReg, dl, PtrVT); in LowerGlobalTLSAddress()
2267 GOTPtr = DAG.getNode(PPCISD::PPC32_PICGOT, dl, PtrVT); in LowerGlobalTLSAddress()
2269 return DAG.getNode(PPCISD::ADDI_TLSGD_L_ADDR, dl, PtrVT, in LowerGlobalTLSAddress()
2274 SDValue TGA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, 0); in LowerGlobalTLSAddress()
2279 GOTPtr = DAG.getNode(PPCISD::ADDIS_TLSLD_HA, dl, PtrVT, in LowerGlobalTLSAddress()
2283 GOTPtr = DAG.getNode(PPCISD::GlobalBaseReg, dl, PtrVT); in LowerGlobalTLSAddress()
2285 GOTPtr = DAG.getNode(PPCISD::PPC32_PICGOT, dl, PtrVT); in LowerGlobalTLSAddress()
2287 SDValue TLSAddr = DAG.getNode(PPCISD::ADDI_TLSLD_L_ADDR, dl, in LowerGlobalTLSAddress()
2289 SDValue DtvOffsetHi = DAG.getNode(PPCISD::ADDIS_DTPREL_HA, dl, in LowerGlobalTLSAddress()
2291 return DAG.getNode(PPCISD::ADDI_DTPREL_L, dl, PtrVT, DtvOffsetHi, TGA); in LowerGlobalTLSAddress()
2340 SDLoc dl(Op); in LowerSETCC() local
2349 return DAG.getNode(ISD::BITCAST, dl, MVT::v2i64, in LowerSETCC()
2350 DAG.getSetCC(dl, MVT::v4i32, in LowerSETCC()
2351 DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, Op.getOperand(0)), in LowerSETCC()
2352 DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, Op.getOperand(1)), in LowerSETCC()
2372 Zext = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Op.getOperand(0)); in LowerSETCC()
2375 SDValue Clz = DAG.getNode(ISD::CTLZ, dl, VT, Zext); in LowerSETCC()
2376 SDValue Scc = DAG.getNode(ISD::SRL, dl, VT, Clz, in LowerSETCC()
2377 DAG.getConstant(Log2b, dl, MVT::i32)); in LowerSETCC()
2378 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i32, Scc); in LowerSETCC()
2395 SDValue Sub = DAG.getNode(ISD::XOR, dl, LHSVT, Op.getOperand(0), in LowerSETCC()
2397 return DAG.getSetCC(dl, VT, Sub, DAG.getConstant(0, dl, LHSVT), CC); in LowerSETCC()
2409 SDLoc dl(Node); in LowerVAARG() local
2414 SDValue GprIndex = DAG.getExtLoad(ISD::ZEXTLOAD, dl, MVT::i32, InChain, in LowerVAARG()
2421 SDValue GprAnd = DAG.getNode(ISD::AND, dl, MVT::i32, GprIndex, in LowerVAARG()
2422 DAG.getConstant(1, dl, MVT::i32)); in LowerVAARG()
2423 SDValue CC64 = DAG.getSetCC(dl, MVT::i32, GprAnd, in LowerVAARG()
2424 DAG.getConstant(0, dl, MVT::i32), ISD::SETNE); in LowerVAARG()
2425 SDValue GprIndexPlusOne = DAG.getNode(ISD::ADD, dl, MVT::i32, GprIndex, in LowerVAARG()
2426 DAG.getConstant(1, dl, MVT::i32)); in LowerVAARG()
2428 GprIndex = DAG.getNode(ISD::SELECT, dl, MVT::i32, CC64, GprIndexPlusOne, in LowerVAARG()
2433 SDValue FprPtr = DAG.getNode(ISD::ADD, dl, PtrVT, VAListPtr, in LowerVAARG()
2434 DAG.getConstant(1, dl, MVT::i32)); in LowerVAARG()
2437 SDValue FprIndex = DAG.getExtLoad(ISD::ZEXTLOAD, dl, MVT::i32, InChain, in LowerVAARG()
2442 SDValue RegSaveAreaPtr = DAG.getNode(ISD::ADD, dl, PtrVT, VAListPtr, in LowerVAARG()
2443 DAG.getConstant(8, dl, MVT::i32)); in LowerVAARG()
2445 SDValue OverflowAreaPtr = DAG.getNode(ISD::ADD, dl, PtrVT, VAListPtr, in LowerVAARG()
2446 DAG.getConstant(4, dl, MVT::i32)); in LowerVAARG()
2449 SDValue OverflowArea = DAG.getLoad(MVT::i32, dl, InChain, OverflowAreaPtr, in LowerVAARG()
2454 SDValue RegSaveArea = DAG.getLoad(MVT::i32, dl, InChain, RegSaveAreaPtr, in LowerVAARG()
2460 SDValue CC = DAG.getSetCC(dl, MVT::i32, VT.isInteger() ? GprIndex : FprIndex, in LowerVAARG()
2461 DAG.getConstant(8, dl, MVT::i32), ISD::SETLT); in LowerVAARG()
2464 SDValue RegConstant = DAG.getNode(ISD::MUL, dl, MVT::i32, in LowerVAARG()
2466 DAG.getConstant(VT.isInteger() ? 4 : 8, dl, in LowerVAARG()
2470 SDValue OurReg = DAG.getNode(ISD::ADD, dl, PtrVT, RegSaveArea, in LowerVAARG()
2475 OurReg = DAG.getNode(ISD::ADD, dl, PtrVT, OurReg, in LowerVAARG()
2476 DAG.getConstant(32, dl, MVT::i32)); in LowerVAARG()
2479 SDValue IndexPlus1 = DAG.getNode(ISD::ADD, dl, MVT::i32, in LowerVAARG()
2481 DAG.getConstant(VT == MVT::i64 ? 2 : 1, dl, in LowerVAARG()
2484 InChain = DAG.getTruncStore(InChain, dl, IndexPlus1, in LowerVAARG()
2490 SDValue Result = DAG.getNode(ISD::SELECT, dl, PtrVT, CC, OurReg, OverflowArea); in LowerVAARG()
2493 SDValue OverflowAreaPlusN = DAG.getNode(ISD::ADD, dl, PtrVT, OverflowArea, in LowerVAARG()
2495 dl, MVT::i32)); in LowerVAARG()
2497 OverflowArea = DAG.getNode(ISD::SELECT, dl, MVT::i32, CC, OverflowArea, in LowerVAARG()
2500 InChain = DAG.getTruncStore(InChain, dl, OverflowArea, in LowerVAARG()
2505 return DAG.getLoad(VT, dl, InChain, Result, MachinePointerInfo(), in LowerVAARG()
2531 SDLoc dl(Op); in LowerINIT_TRAMPOLINE() local
2544 Entry.Node = DAG.getConstant(isPPC64 ? 48 : 40, dl, in LowerINIT_TRAMPOLINE()
2553 CLI.setDebugLoc(dl).setChain(Chain) in LowerINIT_TRAMPOLINE()
2567 SDLoc dl(Op); in LowerVASTART() local
2574 return DAG.getStore(Op.getOperand(0), dl, FR, Op.getOperand(1), in LowerVASTART()
2603 SDValue ArgGPR = DAG.getConstant(FuncInfo->getVarArgsNumGPR(), dl, MVT::i32); in LowerVASTART()
2604 SDValue ArgFPR = DAG.getConstant(FuncInfo->getVarArgsNumFPR(), dl, MVT::i32); in LowerVASTART()
2611 SDValue ConstFrameOffset = DAG.getConstant(FrameOffset, dl, PtrVT); in LowerVASTART()
2614 SDValue ConstStackOffset = DAG.getConstant(StackOffset, dl, PtrVT); in LowerVASTART()
2617 SDValue ConstFPROffset = DAG.getConstant(FPROffset, dl, PtrVT); in LowerVASTART()
2622 SDValue firstStore = DAG.getTruncStore(Op.getOperand(0), dl, ArgGPR, in LowerVASTART()
2627 SDValue nextPtr = DAG.getNode(ISD::ADD, dl, PtrVT, Op.getOperand(1), in LowerVASTART()
2632 DAG.getTruncStore(firstStore, dl, ArgFPR, nextPtr, in LowerVASTART()
2636 nextPtr = DAG.getNode(ISD::ADD, dl, PtrVT, nextPtr, ConstStackOffset); in LowerVASTART()
2640 DAG.getStore(secondStore, dl, StackOffsetFI, nextPtr, in LowerVASTART()
2644 nextPtr = DAG.getNode(ISD::ADD, dl, PtrVT, nextPtr, ConstFrameOffset); in LowerVASTART()
2647 return DAG.getStore(thirdStore, dl, FR, nextPtr, in LowerVASTART()
2862 const SmallVectorImpl<ISD::InputArg> &Ins, const SDLoc &dl, in LowerFormalArguments() argument
2867 dl, DAG, InVals); in LowerFormalArguments()
2870 dl, DAG, InVals); in LowerFormalArguments()
2873 dl, DAG, InVals); in LowerFormalArguments()
2879 const SmallVectorImpl<ISD::InputArg> &Ins, const SDLoc &dl, in LowerFormalArguments_32SVR4() argument
2984 SDValue ArgValue = DAG.getCopyFromReg(Chain, dl, Reg, in LowerFormalArguments_32SVR4()
2988 ArgValue = DAG.getNode(ISD::TRUNCATE, dl, MVT::i1, ArgValue); in LowerFormalArguments_32SVR4()
3001 InVals.push_back(DAG.getLoad(VA.getValVT(), dl, Chain, FIN, in LowerFormalArguments_32SVR4()
3074 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT); in LowerFormalArguments_32SVR4()
3075 SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_32SVR4()
3079 SDValue PtrOff = DAG.getConstant(PtrVT.getSizeInBits()/8, dl, PtrVT); in LowerFormalArguments_32SVR4()
3080 FIN = DAG.getNode(ISD::ADD, dl, PtrOff.getValueType(), FIN, PtrOff); in LowerFormalArguments_32SVR4()
3093 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, MVT::f64); in LowerFormalArguments_32SVR4()
3094 SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_32SVR4()
3098 SDValue PtrOff = DAG.getConstant(MVT(MVT::f64).getSizeInBits()/8, dl, in LowerFormalArguments_32SVR4()
3100 FIN = DAG.getNode(ISD::ADD, dl, PtrOff.getValueType(), FIN, PtrOff); in LowerFormalArguments_32SVR4()
3105 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOps); in LowerFormalArguments_32SVR4()
3115 const SDLoc &dl) const { in extendArgForPPC64()
3117 ArgVal = DAG.getNode(ISD::AssertSext, dl, MVT::i64, ArgVal, in extendArgForPPC64()
3120 ArgVal = DAG.getNode(ISD::AssertZext, dl, MVT::i64, ArgVal, in extendArgForPPC64()
3123 return DAG.getNode(ISD::TRUNCATE, dl, ObjectVT, ArgVal); in extendArgForPPC64()
3128 const SmallVectorImpl<ISD::InputArg> &Ins, const SDLoc &dl, in LowerFormalArguments_64SVR4() argument
3274 SDValue ArgOff = DAG.getConstant(PtrByteSize - ObjSize, dl, PtrVT); in LowerFormalArguments_64SVR4()
3275 Arg = DAG.getNode(ISD::ADD, dl, ArgOff.getValueType(), Arg, ArgOff); in LowerFormalArguments_64SVR4()
3281 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT); in LowerFormalArguments_64SVR4()
3287 Store = DAG.getTruncStore(Val.getValue(1), dl, Val, Arg, in LowerFormalArguments_64SVR4()
3295 DAG.getStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_64SVR4()
3317 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT); in LowerFormalArguments_64SVR4()
3320 SDValue Off = DAG.getConstant(j, dl, PtrVT); in LowerFormalArguments_64SVR4()
3321 Addr = DAG.getNode(ISD::ADD, dl, Off.getValueType(), Addr, Off); in LowerFormalArguments_64SVR4()
3324 DAG.getStore(Val.getValue(1), dl, Val, Addr, in LowerFormalArguments_64SVR4()
3341 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, MVT::i64); in LowerFormalArguments_64SVR4()
3344 ArgVal = extendArgForPPC64(Flags, ObjectVT, DAG, ArgVal, dl); in LowerFormalArguments_64SVR4()
3354 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, MVT::i64); in LowerFormalArguments_64SVR4()
3359 ArgVal = extendArgForPPC64(Flags, ObjectVT, DAG, ArgVal, dl); in LowerFormalArguments_64SVR4()
3389 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, ObjectVT); in LowerFormalArguments_64SVR4()
3399 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, MVT::i64); in LowerFormalArguments_64SVR4()
3403 ArgVal = DAG.getNode(ISD::SRL, dl, MVT::i64, ArgVal, in LowerFormalArguments_64SVR4()
3404 DAG.getConstant(32, dl, MVT::i32)); in LowerFormalArguments_64SVR4()
3405 ArgVal = DAG.getNode(ISD::TRUNCATE, dl, MVT::i32, ArgVal); in LowerFormalArguments_64SVR4()
3408 ArgVal = DAG.getNode(ISD::BITCAST, dl, ObjectVT, ArgVal); in LowerFormalArguments_64SVR4()
3441 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, ObjectVT); in LowerFormalArguments_64SVR4()
3472 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, ObjectVT); in LowerFormalArguments_64SVR4()
3491 ArgVal = DAG.getLoad(ObjectVT, dl, Chain, FIN, MachinePointerInfo(), in LowerFormalArguments_64SVR4()
3528 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT); in LowerFormalArguments_64SVR4()
3529 SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_64SVR4()
3533 SDValue PtrOff = DAG.getConstant(PtrByteSize, dl, PtrVT); in LowerFormalArguments_64SVR4()
3534 FIN = DAG.getNode(ISD::ADD, dl, PtrOff.getValueType(), FIN, PtrOff); in LowerFormalArguments_64SVR4()
3539 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOps); in LowerFormalArguments_64SVR4()
3546 const SmallVectorImpl<ISD::InputArg> &Ins, const SDLoc &dl, in LowerFormalArguments_Darwin() argument
3696 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT); in LowerFormalArguments_Darwin()
3698 SDValue Store = DAG.getTruncStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_Darwin()
3721 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT); in LowerFormalArguments_Darwin()
3723 DAG.getStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_Darwin()
3743 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, MVT::i32); in LowerFormalArguments_Darwin()
3746 ArgVal = DAG.getNode(ISD::TRUNCATE, dl, MVT::i1, ArgVal); in LowerFormalArguments_Darwin()
3761 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, MVT::i64); in LowerFormalArguments_Darwin()
3766 ArgVal = extendArgForPPC64(Flags, ObjectVT, DAG, ArgVal, dl); in LowerFormalArguments_Darwin()
3794 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, ObjectVT); in LowerFormalArguments_Darwin()
3811 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, ObjectVT); in LowerFormalArguments_Darwin()
3845 ArgVal = DAG.getLoad(ObjectVT, dl, Chain, FIN, MachinePointerInfo(), in LowerFormalArguments_Darwin()
3890 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT); in LowerFormalArguments_Darwin()
3891 SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_Darwin()
3895 SDValue PtrOff = DAG.getConstant(PtrVT.getSizeInBits()/8, dl, PtrVT); in LowerFormalArguments_Darwin()
3896 FIN = DAG.getNode(ISD::ADD, dl, PtrOff.getValueType(), FIN, PtrOff); in LowerFormalArguments_Darwin()
3901 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOps); in LowerFormalArguments_Darwin()
4165 SmallVectorImpl<SDValue> &MemOpChains, const SDLoc &dl) { in StoreTailCallArgumentsToStackSlot() argument
4172 Chain, dl, Arg, FIN, in StoreTailCallArgumentsToStackSlot()
4182 int SPDiff, const SDLoc &dl) { in EmitTailCallStoreFPAndRetAddr() argument
4195 Chain = DAG.getStore(Chain, dl, OldRetAddr, NewRetAddrFrIdx, in EmitTailCallStoreFPAndRetAddr()
4207 Chain, dl, OldFP, NewFramePtrIdx, in EmitTailCallStoreFPAndRetAddr()
4238 SDValue &FPOpOut, const SDLoc &dl) const { in EmitTailCallLoadFPAndRetAddr()
4243 LROpOut = DAG.getLoad(VT, dl, Chain, LROpOut, MachinePointerInfo(), in EmitTailCallLoadFPAndRetAddr()
4251 FPOpOut = DAG.getLoad(VT, dl, Chain, FPOpOut, MachinePointerInfo(), in EmitTailCallLoadFPAndRetAddr()
4267 SelectionDAG &DAG, const SDLoc &dl) { in CreateCopyOfByValArgument() argument
4268 SDValue SizeNode = DAG.getConstant(Flags.getByValSize(), dl, MVT::i32); in CreateCopyOfByValArgument()
4269 return DAG.getMemcpy(Chain, dl, Dst, Src, SizeNode, Flags.getByValAlign(), in CreateCopyOfByValArgument()
4280 SmallVectorImpl<TailCallArgumentInfo> &TailCallArguments, const SDLoc &dl) { in LowerMemOpCallTo() argument
4289 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, in LowerMemOpCallTo()
4290 DAG.getConstant(ArgOffset, dl, PtrVT)); in LowerMemOpCallTo()
4292 MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff, in LowerMemOpCallTo()
4301 const SDLoc &dl, int SPDiff, unsigned NumBytes, SDValue LROp, in PrepareTailCall() argument
4310 MemOpChains2, dl); in PrepareTailCall()
4312 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOpChains2); in PrepareTailCall()
4315 Chain = EmitTailCallStoreFPAndRetAddr(DAG, Chain, LROp, FPOp, SPDiff, dl); in PrepareTailCall()
4318 Chain = DAG.getCALLSEQ_END(Chain, DAG.getIntPtrConstant(NumBytes, dl, true), in PrepareTailCall()
4319 DAG.getIntPtrConstant(0, dl, true), InFlag, dl); in PrepareTailCall()
4339 SDValue CallSeqStart, const SDLoc &dl, int SPDiff, bool isTailCall, in PrepareCall() argument
4385 Callee = DAG.getTargetGlobalAddress(G->getGlobal(), dl, in PrepareCall()
4453 SDValue LoadFuncPtr = DAG.getLoad(MVT::i64, dl, LDChain, Callee, MPI, in PrepareCall()
4457 SDValue PtrOff = DAG.getIntPtrConstant(16, dl); in PrepareCall()
4458 SDValue AddPtr = DAG.getNode(ISD::ADD, dl, MVT::i64, Callee, PtrOff); in PrepareCall()
4459 SDValue LoadEnvPtr = DAG.getLoad(MVT::i64, dl, LDChain, AddPtr, in PrepareCall()
4463 SDValue TOCOff = DAG.getIntPtrConstant(8, dl); in PrepareCall()
4464 SDValue AddTOC = DAG.getNode(ISD::ADD, dl, MVT::i64, Callee, TOCOff); in PrepareCall()
4465 SDValue TOCPtr = DAG.getLoad(MVT::i64, dl, LDChain, AddTOC, in PrepareCall()
4470 SDValue TOCVal = DAG.getCopyToReg(Chain, dl, PPC::X2, TOCPtr, in PrepareCall()
4478 SDValue EnvVal = DAG.getCopyToReg(Chain, dl, PPC::X11, LoadEnvPtr, in PrepareCall()
4490 Chain = DAG.getNode(PPCISD::MTCTR, dl, NodeTys, in PrepareCall()
4515 Ops.push_back(DAG.getConstant(SPDiff, dl, MVT::i32)); in PrepareCall()
4543 const SmallVectorImpl<ISD::InputArg> &Ins, const SDLoc &dl, in LowerCallResult() argument
4556 SDValue Val = DAG.getCopyFromReg(Chain, dl, in LowerCallResult()
4565 Val = DAG.getNode(ISD::TRUNCATE, dl, VA.getValVT(), Val); in LowerCallResult()
4568 Val = DAG.getNode(ISD::AssertZext, dl, VA.getLocVT(), Val, in LowerCallResult()
4570 Val = DAG.getNode(ISD::TRUNCATE, dl, VA.getValVT(), Val); in LowerCallResult()
4573 Val = DAG.getNode(ISD::AssertSext, dl, VA.getLocVT(), Val, in LowerCallResult()
4575 Val = DAG.getNode(ISD::TRUNCATE, dl, VA.getValVT(), Val); in LowerCallResult()
4586 CallingConv::ID CallConv, const SDLoc &dl, bool isTailCall, bool isVarArg, in FinishCall() argument
4595 unsigned CallOpc = PrepareCall(DAG, Callee, InFlag, Chain, CallSeqStart, dl, in FinishCall()
4630 return DAG.getNode(PPCISD::TC_RETURN, dl, MVT::Other, Ops); in FinishCall()
4659 SDValue TOCOff = DAG.getIntPtrConstant(TOCSaveOffset, dl); in FinishCall()
4660 SDValue AddTOC = DAG.getNode(ISD::ADD, dl, MVT::i64, StackPtr, TOCOff); in FinishCall()
4672 Chain = DAG.getNode(CallOpc, dl, NodeTys, Ops); in FinishCall()
4675 Chain = DAG.getCALLSEQ_END(Chain, DAG.getIntPtrConstant(NumBytes, dl, true), in FinishCall()
4676 DAG.getIntPtrConstant(BytesCalleePops, dl, true), in FinishCall()
4677 InFlag, dl); in FinishCall()
4682 Ins, dl, DAG, InVals); in FinishCall()
4689 SDLoc &dl = CLI.DL; in LowerCall() local
4736 dl, DAG, InVals, CS); in LowerCall()
4740 dl, DAG, InVals, CS); in LowerCall()
4745 dl, DAG, InVals, CS); in LowerCall()
4753 const SmallVectorImpl<ISD::InputArg> &Ins, const SDLoc &dl, in LowerCall_32SVR4() argument
4842 Chain = DAG.getCALLSEQ_START(Chain, DAG.getIntPtrConstant(NumBytes, dl, true), in LowerCall_32SVR4()
4843 dl); in LowerCall_32SVR4()
4849 Chain = EmitTailCallLoadFPAndRetAddr(DAG, SPDiff, Chain, LROp, FPOp, dl); in LowerCall_32SVR4()
4881 SDValue PtrOff = DAG.getIntPtrConstant(LocMemOffset, dl); in LowerCall_32SVR4()
4882 PtrOff = DAG.getNode(ISD::ADD, dl, getPointerTy(MF.getDataLayout()), in LowerCall_32SVR4()
4890 Flags, DAG, dl); in LowerCall_32SVR4()
4908 Arg = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::i32, Arg); in LowerCall_32SVR4()
4919 SDValue PtrOff = DAG.getIntPtrConstant(LocMemOffset, dl); in LowerCall_32SVR4()
4920 PtrOff = DAG.getNode(ISD::ADD, dl, getPointerTy(MF.getDataLayout()), in LowerCall_32SVR4()
4923 MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff, in LowerCall_32SVR4()
4935 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOpChains); in LowerCall_32SVR4()
4941 Chain = DAG.getCopyToReg(Chain, dl, RegsToPass[i].first, in LowerCall_32SVR4()
4953 dl, VTs, makeArrayRef(Ops, InFlag.getNode() ? 2 : 1)); in LowerCall_32SVR4()
4959 PrepareTailCall(DAG, InFlag, Chain, dl, SPDiff, NumBytes, LROp, FPOp, in LowerCall_32SVR4()
4962 return FinishCall(CallConv, dl, isTailCall, isVarArg, isPatchPoint, in LowerCall_32SVR4()
4972 SelectionDAG &DAG, const SDLoc &dl) const { in createMemcpyOutsideCallSeq()
4975 Flags, DAG, dl); in createMemcpyOutsideCallSeq()
4990 const SmallVectorImpl<ISD::InputArg> &Ins, const SDLoc &dl, in LowerCall_64SVR4() argument
5143 DAG.getIntPtrConstant(NumBytes, dl, true), dl); in LowerCall_64SVR4()
5149 Chain = EmitTailCallLoadFPAndRetAddr(DAG, SPDiff, Chain, LROp, FPOp, dl); in LowerCall_64SVR4()
5185 PtrOff = DAG.getConstant(ArgOffset, dl, StackPtr.getValueType()); in LowerCall_64SVR4()
5187 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, PtrOff); in LowerCall_64SVR4()
5202 Arg = DAG.getNode(ExtOp, dl, MVT::i64, Arg); in LowerCall_64SVR4()
5228 SDValue Load = DAG.getExtLoad(ISD::EXTLOAD, dl, PtrVT, Chain, Arg, in LowerCall_64SVR4()
5242 SDValue Const = DAG.getConstant(PtrByteSize - Size, dl, in LowerCall_64SVR4()
5244 AddPtr = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, Const); in LowerCall_64SVR4()
5248 Flags, DAG, dl); in LowerCall_64SVR4()
5268 Flags, DAG, dl); in LowerCall_64SVR4()
5282 SDValue Const = DAG.getConstant(8 - Size, dl, PtrOff.getValueType()); in LowerCall_64SVR4()
5283 AddPtr = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, Const); in LowerCall_64SVR4()
5287 Flags, DAG, dl); in LowerCall_64SVR4()
5290 SDValue Load = DAG.getLoad(PtrVT, dl, Chain, PtrOff, in LowerCall_64SVR4()
5304 SDValue Const = DAG.getConstant(j, dl, PtrOff.getValueType()); in LowerCall_64SVR4()
5305 SDValue AddArg = DAG.getNode(ISD::ADD, dl, PtrVT, Arg, Const); in LowerCall_64SVR4()
5307 SDValue Load = DAG.getLoad(PtrVT, dl, Chain, AddArg, in LowerCall_64SVR4()
5344 TailCallArguments, dl); in LowerCall_64SVR4()
5383 ArgVal = DAG.getNode(ISD::BITCAST, dl, MVT::i64, Arg); in LowerCall_64SVR4()
5387 ArgVal = DAG.getNode(ISD::BITCAST, dl, MVT::i32, Arg); in LowerCall_64SVR4()
5388 ArgVal = DAG.getNode(ISD::ANY_EXTEND, dl, MVT::i64, ArgVal); in LowerCall_64SVR4()
5394 Lo = DAG.getNode(ISD::BITCAST, dl, MVT::i32, OutVals[i - 1]); in LowerCall_64SVR4()
5395 Hi = DAG.getNode(ISD::BITCAST, dl, MVT::i32, Arg); in LowerCall_64SVR4()
5398 ArgVal = DAG.getNode(ISD::BUILD_PAIR, dl, MVT::i64, Lo, Hi); in LowerCall_64SVR4()
5402 ArgVal = DAG.getNode(ISD::BITCAST, dl, MVT::i32, Arg); in LowerCall_64SVR4()
5403 ArgVal = DAG.getNode(ISD::ANY_EXTEND, dl, MVT::i64, ArgVal); in LowerCall_64SVR4()
5405 ArgVal = DAG.getNode(ISD::SHL, dl, MVT::i64, ArgVal, in LowerCall_64SVR4()
5406 DAG.getConstant(32, dl, MVT::i32)); in LowerCall_64SVR4()
5423 SDValue ConstFour = DAG.getConstant(4, dl, PtrOff.getValueType()); in LowerCall_64SVR4()
5424 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, ConstFour); in LowerCall_64SVR4()
5429 TailCallArguments, dl); in LowerCall_64SVR4()
5463 SDValue Store = DAG.getStore(Chain, dl, Arg, PtrOff, in LowerCall_64SVR4()
5467 SDValue Load = DAG.getLoad(MVT::v4f32, dl, Store, PtrOff, in LowerCall_64SVR4()
5483 SDValue Ix = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, in LowerCall_64SVR4()
5484 DAG.getConstant(i, dl, PtrVT)); in LowerCall_64SVR4()
5485 SDValue Load = DAG.getLoad(PtrVT, dl, Store, Ix, MachinePointerInfo(), in LowerCall_64SVR4()
5507 TailCallArguments, dl); in LowerCall_64SVR4()
5527 SDValue Store = DAG.getStore(Chain, dl, Arg, PtrOff, in LowerCall_64SVR4()
5531 SDValue Load = DAG.getLoad(IsF32 ? MVT::v4f32 : MVT::v4f64, dl, in LowerCall_64SVR4()
5541 SDValue Ix = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, in LowerCall_64SVR4()
5542 DAG.getConstant(i, dl, PtrVT)); in LowerCall_64SVR4()
5543 SDValue Load = DAG.getLoad(PtrVT, dl, Store, Ix, MachinePointerInfo(), in LowerCall_64SVR4()
5560 TailCallArguments, dl); in LowerCall_64SVR4()
5576 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOpChains); in LowerCall_64SVR4()
5586 SDValue Val = DAG.getCopyFromReg(Chain, dl, PPC::X2, MVT::i64); in LowerCall_64SVR4()
5589 SDValue PtrOff = DAG.getIntPtrConstant(TOCSaveOffset, dl); in LowerCall_64SVR4()
5590 SDValue AddPtr = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, PtrOff); in LowerCall_64SVR4()
5592 Val.getValue(1), dl, Val, AddPtr, in LowerCall_64SVR4()
5606 Chain = DAG.getCopyToReg(Chain, dl, RegsToPass[i].first, in LowerCall_64SVR4()
5612 PrepareTailCall(DAG, InFlag, Chain, dl, SPDiff, NumBytes, LROp, FPOp, in LowerCall_64SVR4()
5615 return FinishCall(CallConv, dl, isTailCall, isVarArg, isPatchPoint, hasNest, in LowerCall_64SVR4()
5625 const SmallVectorImpl<ISD::InputArg> &Ins, const SDLoc &dl, in LowerCall_Darwin() argument
5707 Chain = DAG.getCALLSEQ_START(Chain, DAG.getIntPtrConstant(NumBytes, dl, true), in LowerCall_Darwin()
5708 dl); in LowerCall_Darwin()
5714 Chain = EmitTailCallLoadFPAndRetAddr(DAG, SPDiff, Chain, LROp, FPOp, dl); in LowerCall_Darwin()
5762 PtrOff = DAG.getConstant(ArgOffset, dl, StackPtr.getValueType()); in LowerCall_Darwin()
5764 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, PtrOff); in LowerCall_Darwin()
5770 Arg = DAG.getNode(ExtOp, dl, MVT::i64, Arg); in LowerCall_Darwin()
5783 SDValue Load = DAG.getExtLoad(ISD::EXTLOAD, dl, PtrVT, Chain, Arg, in LowerCall_Darwin()
5791 SDValue Const = DAG.getConstant(PtrByteSize - Size, dl, in LowerCall_Darwin()
5793 SDValue AddPtr = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, Const); in LowerCall_Darwin()
5796 Flags, DAG, dl); in LowerCall_Darwin()
5806 Flags, DAG, dl); in LowerCall_Darwin()
5812 SDValue Const = DAG.getConstant(j, dl, PtrOff.getValueType()); in LowerCall_Darwin()
5813 SDValue AddArg = DAG.getNode(ISD::ADD, dl, PtrVT, Arg, Const); in LowerCall_Darwin()
5815 SDValue Load = DAG.getLoad(PtrVT, dl, Chain, AddArg, in LowerCall_Darwin()
5836 Arg = DAG.getNode(ISD::ZERO_EXTEND, dl, PtrVT, Arg); in LowerCall_Darwin()
5842 TailCallArguments, dl); in LowerCall_Darwin()
5852 SDValue Store = DAG.getStore(Chain, dl, Arg, PtrOff, in LowerCall_Darwin()
5858 SDValue Load = DAG.getLoad(PtrVT, dl, Store, PtrOff, in LowerCall_Darwin()
5865 SDValue ConstFour = DAG.getConstant(4, dl, PtrOff.getValueType()); in LowerCall_Darwin()
5866 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, ConstFour); in LowerCall_Darwin()
5867 SDValue Load = DAG.getLoad(PtrVT, dl, Store, PtrOff, in LowerCall_Darwin()
5886 TailCallArguments, dl); in LowerCall_Darwin()
5909 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, in LowerCall_Darwin()
5910 DAG.getConstant(ArgOffset, dl, PtrVT)); in LowerCall_Darwin()
5911 SDValue Store = DAG.getStore(Chain, dl, Arg, PtrOff, in LowerCall_Darwin()
5915 SDValue Load = DAG.getLoad(MVT::v4f32, dl, Store, PtrOff, in LowerCall_Darwin()
5925 SDValue Ix = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, in LowerCall_Darwin()
5926 DAG.getConstant(i, dl, PtrVT)); in LowerCall_Darwin()
5927 SDValue Load = DAG.getLoad(PtrVT, dl, Store, Ix, MachinePointerInfo(), in LowerCall_Darwin()
5944 TailCallArguments, dl); in LowerCall_Darwin()
5970 TailCallArguments, dl); in LowerCall_Darwin()
5978 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, MemOpChains); in LowerCall_Darwin()
5994 Chain = DAG.getCopyToReg(Chain, dl, RegsToPass[i].first, in LowerCall_Darwin()
6000 PrepareTailCall(DAG, InFlag, Chain, dl, SPDiff, NumBytes, LROp, FPOp, in LowerCall_Darwin()
6003 return FinishCall(CallConv, dl, isTailCall, isVarArg, isPatchPoint, in LowerCall_Darwin()
6024 const SDLoc &dl, SelectionDAG &DAG) const { in LowerReturn() argument
6045 Arg = DAG.getNode(ISD::ANY_EXTEND, dl, VA.getLocVT(), Arg); in LowerReturn()
6048 Arg = DAG.getNode(ISD::ZERO_EXTEND, dl, VA.getLocVT(), Arg); in LowerReturn()
6051 Arg = DAG.getNode(ISD::SIGN_EXTEND, dl, VA.getLocVT(), Arg); in LowerReturn()
6055 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), Arg, Flag); in LowerReturn()
6085 return DAG.getNode(PPCISD::RET_FLAG, dl, MVT::Other, RetOps); in LowerReturn()
6091 SDLoc dl(Op); in LowerGET_DYNAMIC_AREA_OFFSET() local
6102 return DAG.getNode(PPCISD::DYNAREAOFFSET, dl, VTs, Ops); in LowerGET_DYNAMIC_AREA_OFFSET()
6108 SDLoc dl(Op); in LowerSTACKRESTORE() local
6123 SDValue LoadLinkSP = DAG.getLoad(PtrVT, dl, Chain, StackPtr, in LowerSTACKRESTORE()
6128 Chain = DAG.getCopyToReg(LoadLinkSP.getValue(1), dl, SP, SaveSP); in LowerSTACKRESTORE()
6131 return DAG.getStore(Chain, dl, LoadLinkSP, StackPtr, MachinePointerInfo(), in LowerSTACKRESTORE()
6185 SDLoc dl(Op); in LowerDYNAMIC_STACKALLOC() local
6190 SDValue NegSize = DAG.getNode(ISD::SUB, dl, PtrVT, in LowerDYNAMIC_STACKALLOC()
6191 DAG.getConstant(0, dl, PtrVT), Size); in LowerDYNAMIC_STACKALLOC()
6197 return DAG.getNode(PPCISD::DYNALLOC, dl, VTs, Ops); in LowerDYNAMIC_STACKALLOC()
6224 SDLoc dl(Op); in LowerLOAD() local
6232 DAG.getExtLoad(ISD::EXTLOAD, dl, getPointerTy(DAG.getDataLayout()), Chain, in LowerLOAD()
6234 SDValue Result = DAG.getNode(ISD::TRUNCATE, dl, MVT::i1, NewLD); in LowerLOAD()
6237 return DAG.getMergeValues(Ops, dl); in LowerLOAD()
6249 SDLoc dl(Op); in LowerSTORE() local
6257 Value = DAG.getNode(ISD::ZERO_EXTEND, dl, getPointerTy(DAG.getDataLayout()), in LowerSTORE()
6259 return DAG.getTruncStore(Chain, dl, Value, BasePtr, MVT::i8, MMO); in LowerSTORE()
6297 SDLoc dl(Op); in LowerSELECT_CC() local
6309 LHS = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, LHS); in LowerSELECT_CC()
6310 Sel1 = DAG.getNode(PPCISD::FSEL, dl, ResVT, LHS, TV, FV); in LowerSELECT_CC()
6312 Sel1 = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Sel1); in LowerSELECT_CC()
6313 return DAG.getNode(PPCISD::FSEL, dl, ResVT, in LowerSELECT_CC()
6314 DAG.getNode(ISD::FNEG, dl, MVT::f64, LHS), Sel1, FV); in LowerSELECT_CC()
6321 LHS = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, LHS); in LowerSELECT_CC()
6322 return DAG.getNode(PPCISD::FSEL, dl, ResVT, LHS, TV, FV); in LowerSELECT_CC()
6329 LHS = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, LHS); in LowerSELECT_CC()
6330 return DAG.getNode(PPCISD::FSEL, dl, ResVT, in LowerSELECT_CC()
6331 DAG.getNode(ISD::FNEG, dl, MVT::f64, LHS), TV, FV); in LowerSELECT_CC()
6340 Cmp = DAG.getNode(ISD::FSUB, dl, CmpVT, LHS, RHS, &Flags); in LowerSELECT_CC()
6342 Cmp = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Cmp); in LowerSELECT_CC()
6343 Sel1 = DAG.getNode(PPCISD::FSEL, dl, ResVT, Cmp, TV, FV); in LowerSELECT_CC()
6345 Sel1 = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Sel1); in LowerSELECT_CC()
6346 return DAG.getNode(PPCISD::FSEL, dl, ResVT, in LowerSELECT_CC()
6347 DAG.getNode(ISD::FNEG, dl, MVT::f64, Cmp), Sel1, FV); in LowerSELECT_CC()
6350 Cmp = DAG.getNode(ISD::FSUB, dl, CmpVT, LHS, RHS, &Flags); in LowerSELECT_CC()
6352 Cmp = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Cmp); in LowerSELECT_CC()
6353 return DAG.getNode(PPCISD::FSEL, dl, ResVT, Cmp, FV, TV); in LowerSELECT_CC()
6356 Cmp = DAG.getNode(ISD::FSUB, dl, CmpVT, LHS, RHS, &Flags); in LowerSELECT_CC()
6358 Cmp = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Cmp); in LowerSELECT_CC()
6359 return DAG.getNode(PPCISD::FSEL, dl, ResVT, Cmp, TV, FV); in LowerSELECT_CC()
6362 Cmp = DAG.getNode(ISD::FSUB, dl, CmpVT, RHS, LHS, &Flags); in LowerSELECT_CC()
6364 Cmp = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Cmp); in LowerSELECT_CC()
6365 return DAG.getNode(PPCISD::FSEL, dl, ResVT, Cmp, FV, TV); in LowerSELECT_CC()
6368 Cmp = DAG.getNode(ISD::FSUB, dl, CmpVT, RHS, LHS, &Flags); in LowerSELECT_CC()
6370 Cmp = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Cmp); in LowerSELECT_CC()
6371 return DAG.getNode(PPCISD::FSEL, dl, ResVT, Cmp, TV, FV); in LowerSELECT_CC()
6378 const SDLoc &dl) const { in LowerFP_TO_INTForReuse()
6382 Src = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Src); in LowerFP_TO_INTForReuse()
6392 dl, MVT::f64, Src); in LowerFP_TO_INTForReuse()
6399 dl, MVT::f64, Src); in LowerFP_TO_INTForReuse()
6418 Chain = DAG.getMemIntrinsicNode(PPCISD::STFIWX, dl, in LowerFP_TO_INTForReuse()
6421 Chain = DAG.getStore(DAG.getEntryNode(), dl, Tmp, FIPtr, in LowerFP_TO_INTForReuse()
6427 FIPtr = DAG.getNode(ISD::ADD, dl, FIPtr.getValueType(), FIPtr, in LowerFP_TO_INTForReuse()
6428 DAG.getConstant(4, dl, FIPtr.getValueType())); in LowerFP_TO_INTForReuse()
6442 const SDLoc &dl) const { in LowerFP_TO_INTDirectMove()
6447 Src = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Src); in LowerFP_TO_INTDirectMove()
6457 dl, MVT::f64, Src); in LowerFP_TO_INTDirectMove()
6458 Tmp = DAG.getNode(PPCISD::MFVSR, dl, MVT::i32, Tmp); in LowerFP_TO_INTDirectMove()
6465 dl, MVT::f64, Src); in LowerFP_TO_INTDirectMove()
6466 Tmp = DAG.getNode(PPCISD::MFVSR, dl, MVT::i64, Tmp); in LowerFP_TO_INTDirectMove()
6473 const SDLoc &dl) const { in LowerFP_TO_INT()
6475 return LowerFP_TO_INTDirectMove(Op, DAG, dl); in LowerFP_TO_INT()
6478 LowerFP_TO_INTForReuse(Op, RLI, DAG, dl); in LowerFP_TO_INT()
6480 return DAG.getLoad(Op.getValueType(), dl, RLI.Chain, RLI.Ptr, RLI.MPI, false, in LowerFP_TO_INT()
6497 SDLoc dl(Op); in canReuseLoadAddress() local
6504 LowerFP_TO_INTForReuse(Op, RLI, DAG, dl); in canReuseLoadAddress()
6519 RLI.Ptr = DAG.getNode(ISD::ADD, dl, RLI.Ptr.getValueType(), RLI.Ptr, in canReuseLoadAddress()
6543 SDLoc dl(NewResChain); in spliceIntoChain() local
6545 SDValue TF = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, in spliceIntoChain()
6583 const SDLoc &dl) const { in LowerINT_TO_FPDirectMove()
6599 dl, MVT::f64, Src); in LowerINT_TO_FPDirectMove()
6600 FP = DAG.getNode(ConvOp, dl, SinglePrec ? MVT::f32 : MVT::f64, FP); in LowerINT_TO_FPDirectMove()
6603 FP = DAG.getNode(PPCISD::MTVSRA, dl, MVT::f64, Src); in LowerINT_TO_FPDirectMove()
6604 FP = DAG.getNode(ConvOp, dl, SinglePrec ? MVT::f32 : MVT::f64, FP); in LowerINT_TO_FPDirectMove()
6612 SDLoc dl(Op); in LowerINT_TO_FP() local
6622 Value = DAG.getNode(PPCISD::QBFLT, dl, MVT::v4f64, Value); in LowerINT_TO_FP()
6624 SDValue FPHalfs = DAG.getConstantFP(0.5, dl, MVT::v4f64); in LowerINT_TO_FP()
6626 Value = DAG.getNode(ISD::FMA, dl, MVT::v4f64, Value, FPHalfs, FPHalfs); in LowerINT_TO_FP()
6629 Value = DAG.getNode(ISD::FP_ROUND, dl, in LowerINT_TO_FP()
6631 DAG.getIntPtrConstant(1, dl)); in LowerINT_TO_FP()
6640 return DAG.getNode(ISD::SELECT, dl, Op.getValueType(), Op.getOperand(0), in LowerINT_TO_FP()
6641 DAG.getConstantFP(1.0, dl, Op.getValueType()), in LowerINT_TO_FP()
6642 DAG.getConstantFP(0.0, dl, Op.getValueType())); in LowerINT_TO_FP()
6648 return LowerINT_TO_FPDirectMove(Op, DAG, dl); in LowerINT_TO_FP()
6686 SDValue Round = DAG.getNode(ISD::AND, dl, MVT::i64, in LowerINT_TO_FP()
6687 SINT, DAG.getConstant(2047, dl, MVT::i64)); in LowerINT_TO_FP()
6688 Round = DAG.getNode(ISD::ADD, dl, MVT::i64, in LowerINT_TO_FP()
6689 Round, DAG.getConstant(2047, dl, MVT::i64)); in LowerINT_TO_FP()
6690 Round = DAG.getNode(ISD::OR, dl, MVT::i64, Round, SINT); in LowerINT_TO_FP()
6691 Round = DAG.getNode(ISD::AND, dl, MVT::i64, in LowerINT_TO_FP()
6692 Round, DAG.getConstant(-2048, dl, MVT::i64)); in LowerINT_TO_FP()
6702 SDValue Cond = DAG.getNode(ISD::SRA, dl, MVT::i64, in LowerINT_TO_FP()
6703 SINT, DAG.getConstant(53, dl, MVT::i32)); in LowerINT_TO_FP()
6704 Cond = DAG.getNode(ISD::ADD, dl, MVT::i64, in LowerINT_TO_FP()
6705 Cond, DAG.getConstant(1, dl, MVT::i64)); in LowerINT_TO_FP()
6706 Cond = DAG.getSetCC(dl, MVT::i32, in LowerINT_TO_FP()
6707 Cond, DAG.getConstant(1, dl, MVT::i64), ISD::SETUGT); in LowerINT_TO_FP()
6709 SINT = DAG.getNode(ISD::SELECT, dl, MVT::i64, Cond, Round, SINT); in LowerINT_TO_FP()
6717 Bits = DAG.getLoad(MVT::f64, dl, RLI.Chain, RLI.Ptr, RLI.MPI, false, in LowerINT_TO_FP()
6727 Bits = DAG.getMemIntrinsicNode(PPCISD::LFIWAX, dl, in LowerINT_TO_FP()
6737 Bits = DAG.getMemIntrinsicNode(PPCISD::LFIWZX, dl, in LowerINT_TO_FP()
6753 DAG.getEntryNode(), dl, SINT.getOperand(0), FIdx, in LowerINT_TO_FP()
6772 dl, DAG.getVTList(MVT::f64, MVT::Other), in LowerINT_TO_FP()
6775 Bits = DAG.getNode(ISD::BITCAST, dl, MVT::f64, SINT); in LowerINT_TO_FP()
6777 SDValue FP = DAG.getNode(FCFOp, dl, FCFTy, Bits); in LowerINT_TO_FP()
6780 FP = DAG.getNode(ISD::FP_ROUND, dl, in LowerINT_TO_FP()
6781 MVT::f32, FP, DAG.getIntPtrConstant(0, dl)); in LowerINT_TO_FP()
6805 DAG.getEntryNode(), dl, Op.getOperand(0), FIdx, in LowerINT_TO_FP()
6825 dl, DAG.getVTList(MVT::f64, MVT::Other), in LowerINT_TO_FP()
6836 SDValue Ext64 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i64, in LowerINT_TO_FP()
6841 DAG.getEntryNode(), dl, Ext64, FIdx, in LowerINT_TO_FP()
6847 MVT::f64, dl, Store, FIdx, in LowerINT_TO_FP()
6853 SDValue FP = DAG.getNode(FCFOp, dl, FCFTy, Ld); in LowerINT_TO_FP()
6855 FP = DAG.getNode(ISD::FP_ROUND, dl, MVT::f32, FP, in LowerINT_TO_FP()
6856 DAG.getIntPtrConstant(0, dl)); in LowerINT_TO_FP()
6862 SDLoc dl(Op); in LowerFLT_ROUNDS_() local
6891 SDValue Chain = DAG.getNode(PPCISD::MFFS, dl, NodeTys, None); in LowerFLT_ROUNDS_()
6896 SDValue Store = DAG.getStore(DAG.getEntryNode(), dl, Chain, in LowerFLT_ROUNDS_()
6900 SDValue Four = DAG.getConstant(4, dl, PtrVT); in LowerFLT_ROUNDS_()
6901 SDValue Addr = DAG.getNode(ISD::ADD, dl, PtrVT, StackSlot, Four); in LowerFLT_ROUNDS_()
6902 SDValue CWD = DAG.getLoad(MVT::i32, dl, Store, Addr, MachinePointerInfo(), in LowerFLT_ROUNDS_()
6907 DAG.getNode(ISD::AND, dl, MVT::i32, in LowerFLT_ROUNDS_()
6908 CWD, DAG.getConstant(3, dl, MVT::i32)); in LowerFLT_ROUNDS_()
6910 DAG.getNode(ISD::SRL, dl, MVT::i32, in LowerFLT_ROUNDS_()
6911 DAG.getNode(ISD::AND, dl, MVT::i32, in LowerFLT_ROUNDS_()
6912 DAG.getNode(ISD::XOR, dl, MVT::i32, in LowerFLT_ROUNDS_()
6913 CWD, DAG.getConstant(3, dl, MVT::i32)), in LowerFLT_ROUNDS_()
6914 DAG.getConstant(3, dl, MVT::i32)), in LowerFLT_ROUNDS_()
6915 DAG.getConstant(1, dl, MVT::i32)); in LowerFLT_ROUNDS_()
6918 DAG.getNode(ISD::XOR, dl, MVT::i32, CWD1, CWD2); in LowerFLT_ROUNDS_()
6921 ISD::TRUNCATE : ISD::ZERO_EXTEND), dl, VT, RetVal); in LowerFLT_ROUNDS_()
6927 SDLoc dl(Op); in LowerSHL_PARTS() local
6939 SDValue Tmp1 = DAG.getNode(ISD::SUB, dl, AmtVT, in LowerSHL_PARTS()
6940 DAG.getConstant(BitWidth, dl, AmtVT), Amt); in LowerSHL_PARTS()
6941 SDValue Tmp2 = DAG.getNode(PPCISD::SHL, dl, VT, Hi, Amt); in LowerSHL_PARTS()
6942 SDValue Tmp3 = DAG.getNode(PPCISD::SRL, dl, VT, Lo, Tmp1); in LowerSHL_PARTS()
6943 SDValue Tmp4 = DAG.getNode(ISD::OR , dl, VT, Tmp2, Tmp3); in LowerSHL_PARTS()
6944 SDValue Tmp5 = DAG.getNode(ISD::ADD, dl, AmtVT, Amt, in LowerSHL_PARTS()
6945 DAG.getConstant(-BitWidth, dl, AmtVT)); in LowerSHL_PARTS()
6946 SDValue Tmp6 = DAG.getNode(PPCISD::SHL, dl, VT, Lo, Tmp5); in LowerSHL_PARTS()
6947 SDValue OutHi = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp6); in LowerSHL_PARTS()
6948 SDValue OutLo = DAG.getNode(PPCISD::SHL, dl, VT, Lo, Amt); in LowerSHL_PARTS()
6950 return DAG.getMergeValues(OutOps, dl); in LowerSHL_PARTS()
6955 SDLoc dl(Op); in LowerSRL_PARTS() local
6968 SDValue Tmp1 = DAG.getNode(ISD::SUB, dl, AmtVT, in LowerSRL_PARTS()
6969 DAG.getConstant(BitWidth, dl, AmtVT), Amt); in LowerSRL_PARTS()
6970 SDValue Tmp2 = DAG.getNode(PPCISD::SRL, dl, VT, Lo, Amt); in LowerSRL_PARTS()
6971 SDValue Tmp3 = DAG.getNode(PPCISD::SHL, dl, VT, Hi, Tmp1); in LowerSRL_PARTS()
6972 SDValue Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp3); in LowerSRL_PARTS()
6973 SDValue Tmp5 = DAG.getNode(ISD::ADD, dl, AmtVT, Amt, in LowerSRL_PARTS()
6974 DAG.getConstant(-BitWidth, dl, AmtVT)); in LowerSRL_PARTS()
6975 SDValue Tmp6 = DAG.getNode(PPCISD::SRL, dl, VT, Hi, Tmp5); in LowerSRL_PARTS()
6976 SDValue OutLo = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp6); in LowerSRL_PARTS()
6977 SDValue OutHi = DAG.getNode(PPCISD::SRL, dl, VT, Hi, Amt); in LowerSRL_PARTS()
6979 return DAG.getMergeValues(OutOps, dl); in LowerSRL_PARTS()
6983 SDLoc dl(Op); in LowerSRA_PARTS() local
6996 SDValue Tmp1 = DAG.getNode(ISD::SUB, dl, AmtVT, in LowerSRA_PARTS()
6997 DAG.getConstant(BitWidth, dl, AmtVT), Amt); in LowerSRA_PARTS()
6998 SDValue Tmp2 = DAG.getNode(PPCISD::SRL, dl, VT, Lo, Amt); in LowerSRA_PARTS()
6999 SDValue Tmp3 = DAG.getNode(PPCISD::SHL, dl, VT, Hi, Tmp1); in LowerSRA_PARTS()
7000 SDValue Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp3); in LowerSRA_PARTS()
7001 SDValue Tmp5 = DAG.getNode(ISD::ADD, dl, AmtVT, Amt, in LowerSRA_PARTS()
7002 DAG.getConstant(-BitWidth, dl, AmtVT)); in LowerSRA_PARTS()
7003 SDValue Tmp6 = DAG.getNode(PPCISD::SRA, dl, VT, Hi, Tmp5); in LowerSRA_PARTS()
7004 SDValue OutHi = DAG.getNode(PPCISD::SRA, dl, VT, Hi, Amt); in LowerSRA_PARTS()
7005 SDValue OutLo = DAG.getSelectCC(dl, Tmp5, DAG.getConstant(0, dl, AmtVT), in LowerSRA_PARTS()
7008 return DAG.getMergeValues(OutOps, dl); in LowerSRA_PARTS()
7018 SelectionDAG &DAG, const SDLoc &dl) { in BuildSplatI() argument
7034 return DAG.getBitcast(ReqVT, DAG.getConstant(Val, dl, CanonicalVT)); in BuildSplatI()
7040 const SDLoc &dl, EVT DestVT = MVT::Other) { in BuildIntrinsicOp() argument
7042 return DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, DestVT, in BuildIntrinsicOp()
7043 DAG.getConstant(IID, dl, MVT::i32), Op); in BuildIntrinsicOp()
7049 SelectionDAG &DAG, const SDLoc &dl, in BuildIntrinsicOp() argument
7052 return DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, DestVT, in BuildIntrinsicOp()
7053 DAG.getConstant(IID, dl, MVT::i32), LHS, RHS); in BuildIntrinsicOp()
7059 SDValue Op2, SelectionDAG &DAG, const SDLoc &dl, in BuildIntrinsicOp() argument
7062 return DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, DestVT, in BuildIntrinsicOp()
7063 DAG.getConstant(IID, dl, MVT::i32), Op0, Op1, Op2); in BuildIntrinsicOp()
7069 SelectionDAG &DAG, const SDLoc &dl) { in BuildVSLDOI() argument
7071 LHS = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, LHS); in BuildVSLDOI()
7072 RHS = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, RHS); in BuildVSLDOI()
7077 SDValue T = DAG.getVectorShuffle(MVT::v16i8, dl, LHS, RHS, Ops); in BuildVSLDOI()
7078 return DAG.getNode(ISD::BITCAST, dl, VT, T); in BuildVSLDOI()
7088 SDLoc dl(Op); in LowerBUILD_VECTOR() local
7138 PPCISD::QVLFSb, dl, VTs, Ops, MVT::v4f32, in LowerBUILD_VECTOR()
7147 SDValue Idx = DAG.getConstant(Offset, dl, FIdx.getValueType()); in LowerBUILD_VECTOR()
7148 Idx = DAG.getNode(ISD::ADD, dl, FIdx.getValueType(), FIdx, Idx); in LowerBUILD_VECTOR()
7152 Stores.push_back(DAG.getTruncStore(DAG.getEntryNode(), dl, in LowerBUILD_VECTOR()
7159 StoreValue = DAG.getNode(ISD::ANY_EXTEND, dl, MVT::i32, StoreValue); in LowerBUILD_VECTOR()
7161 Stores.push_back(DAG.getStore(DAG.getEntryNode(), dl, in LowerBUILD_VECTOR()
7170 StoreChain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Stores); in LowerBUILD_VECTOR()
7180 DAG.getConstant(Intrinsic::ppc_qpx_qvlfiwz, dl, MVT::i32), in LowerBUILD_VECTOR()
7185 dl, VTs, Ops, MVT::v4i32, PtrInfo); in LowerBUILD_VECTOR()
7186 LoadedVect = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, MVT::v4f64, in LowerBUILD_VECTOR()
7187 DAG.getConstant(Intrinsic::ppc_qpx_qvfcfidu, dl, MVT::i32), in LowerBUILD_VECTOR()
7190 SDValue FPZeros = DAG.getConstantFP(0.0, dl, MVT::v4f64); in LowerBUILD_VECTOR()
7192 return DAG.getSetCC(dl, MVT::v4i1, LoadedVect, FPZeros, ISD::SETEQ); in LowerBUILD_VECTOR()
7218 SDValue Z = DAG.getConstant(0, dl, MVT::v4i32); in LowerBUILD_VECTOR()
7219 Op = DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Z); in LowerBUILD_VECTOR()
7228 return BuildSplatI(SextVal, SplatSize, Op.getValueType(), DAG, dl); in LowerBUILD_VECTOR()
7243 SDValue Elt = DAG.getConstant(SextVal, dl, MVT::i32); in LowerBUILD_VECTOR()
7246 SDValue EltSize = DAG.getConstant(SplatSize, dl, MVT::i32); in LowerBUILD_VECTOR()
7247 SDValue RetVal = DAG.getNode(PPCISD::VADD_SPLAT, dl, VT, Elt, EltSize); in LowerBUILD_VECTOR()
7251 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), RetVal); in LowerBUILD_VECTOR()
7259 SDValue OnesV = BuildSplatI(-1, 4, MVT::v4i32, DAG, dl); in LowerBUILD_VECTOR()
7263 OnesV, DAG, dl); in LowerBUILD_VECTOR()
7266 Res = DAG.getNode(ISD::XOR, dl, MVT::v4i32, Res, OnesV); in LowerBUILD_VECTOR()
7267 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res); in LowerBUILD_VECTOR()
7287 SDValue Res = BuildSplatI(i, SplatSize, MVT::Other, DAG, dl); in LowerBUILD_VECTOR()
7292 Res = BuildIntrinsicOp(IIDs[SplatSize-1], Res, Res, DAG, dl); in LowerBUILD_VECTOR()
7293 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res); in LowerBUILD_VECTOR()
7298 SDValue Res = BuildSplatI(i, SplatSize, MVT::Other, DAG, dl); in LowerBUILD_VECTOR()
7303 Res = BuildIntrinsicOp(IIDs[SplatSize-1], Res, Res, DAG, dl); in LowerBUILD_VECTOR()
7304 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res); in LowerBUILD_VECTOR()
7309 SDValue Res = BuildSplatI(i, SplatSize, MVT::Other, DAG, dl); in LowerBUILD_VECTOR()
7314 Res = BuildIntrinsicOp(IIDs[SplatSize-1], Res, Res, DAG, dl); in LowerBUILD_VECTOR()
7315 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res); in LowerBUILD_VECTOR()
7321 SDValue Res = BuildSplatI(i, SplatSize, MVT::Other, DAG, dl); in LowerBUILD_VECTOR()
7326 Res = BuildIntrinsicOp(IIDs[SplatSize-1], Res, Res, DAG, dl); in LowerBUILD_VECTOR()
7327 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res); in LowerBUILD_VECTOR()
7332 SDValue T = BuildSplatI(i, SplatSize, MVT::v16i8, DAG, dl); in LowerBUILD_VECTOR()
7334 return BuildVSLDOI(T, T, Amt, Op.getValueType(), DAG, dl); in LowerBUILD_VECTOR()
7338 SDValue T = BuildSplatI(i, SplatSize, MVT::v16i8, DAG, dl); in LowerBUILD_VECTOR()
7340 return BuildVSLDOI(T, T, Amt, Op.getValueType(), DAG, dl); in LowerBUILD_VECTOR()
7344 SDValue T = BuildSplatI(i, SplatSize, MVT::v16i8, DAG, dl); in LowerBUILD_VECTOR()
7346 return BuildVSLDOI(T, T, Amt, Op.getValueType(), DAG, dl); in LowerBUILD_VECTOR()
7357 const SDLoc &dl) { in GeneratePerfectShuffle() argument
7382 OpLHS = GeneratePerfectShuffle(PerfectShuffleTable[LHSID], LHS, RHS, DAG, dl); in GeneratePerfectShuffle()
7383 OpRHS = GeneratePerfectShuffle(PerfectShuffleTable[RHSID], LHS, RHS, DAG, dl); in GeneratePerfectShuffle()
7417 return BuildVSLDOI(OpLHS, OpRHS, 4, OpLHS.getValueType(), DAG, dl); in GeneratePerfectShuffle()
7419 return BuildVSLDOI(OpLHS, OpRHS, 8, OpLHS.getValueType(), DAG, dl); in GeneratePerfectShuffle()
7421 return BuildVSLDOI(OpLHS, OpRHS, 12, OpLHS.getValueType(), DAG, dl); in GeneratePerfectShuffle()
7424 OpLHS = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, OpLHS); in GeneratePerfectShuffle()
7425 OpRHS = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, OpRHS); in GeneratePerfectShuffle()
7426 SDValue T = DAG.getVectorShuffle(MVT::v16i8, dl, OpLHS, OpRHS, ShufIdxs); in GeneratePerfectShuffle()
7427 return DAG.getNode(ISD::BITCAST, dl, VT, T); in GeneratePerfectShuffle()
7436 SDLoc dl(Op); in LowerVECTOR_SHUFFLE() local
7450 SDValue Conv1 = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, V1); in LowerVECTOR_SHUFFLE()
7451 SDValue Conv2 = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, V2); in LowerVECTOR_SHUFFLE()
7453 SDValue Shl = DAG.getNode(PPCISD::VECSHL, dl, MVT::v4i32, Conv2, Conv2, in LowerVECTOR_SHUFFLE()
7454 DAG.getConstant(ShiftElts, dl, MVT::i32)); in LowerVECTOR_SHUFFLE()
7455 SDValue Ins = DAG.getNode(PPCISD::XXINSERT, dl, MVT::v4i32, Conv1, Shl, in LowerVECTOR_SHUFFLE()
7456 DAG.getConstant(InsertAtByte, dl, MVT::i32)); in LowerVECTOR_SHUFFLE()
7457 return DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, Ins); in LowerVECTOR_SHUFFLE()
7459 SDValue Ins = DAG.getNode(PPCISD::XXINSERT, dl, MVT::v4i32, Conv1, Conv2, in LowerVECTOR_SHUFFLE()
7460 DAG.getConstant(InsertAtByte, dl, MVT::i32)); in LowerVECTOR_SHUFFLE()
7461 return DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, Ins); in LowerVECTOR_SHUFFLE()
7467 SDValue Conv = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, V1); in LowerVECTOR_SHUFFLE()
7468 SDValue Splat = DAG.getNode(PPCISD::XXSPLT, dl, MVT::v4i32, Conv, in LowerVECTOR_SHUFFLE()
7469 DAG.getConstant(SplatIdx, dl, MVT::i32)); in LowerVECTOR_SHUFFLE()
7470 return DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, Splat); in LowerVECTOR_SHUFFLE()
7475 SDValue Conv = DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, V1); in LowerVECTOR_SHUFFLE()
7476 SDValue Swap = DAG.getNode(PPCISD::SWAP_NO_CHAIN, dl, MVT::v2f64, Conv); in LowerVECTOR_SHUFFLE()
7477 return DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, Swap); in LowerVECTOR_SHUFFLE()
7490 return DAG.getNode(PPCISD::QVALIGNI, dl, VT, V1, V2, in LowerVECTOR_SHUFFLE()
7491 DAG.getConstant(AlignIdx, dl, MVT::i32)); in LowerVECTOR_SHUFFLE()
7499 return DAG.getNode(PPCISD::QVESPLATI, dl, VT, V1, in LowerVECTOR_SHUFFLE()
7500 DAG.getConstant(SplatIdx, dl, MVT::i32)); in LowerVECTOR_SHUFFLE()
7513 SDValue V3 = DAG.getNode(PPCISD::QVGPCI, dl, MVT::v4f64, in LowerVECTOR_SHUFFLE()
7514 DAG.getConstant(idx, dl, MVT::i32)); in LowerVECTOR_SHUFFLE()
7515 return DAG.getNode(PPCISD::QVFPERM, dl, VT, V1, V2, V3); in LowerVECTOR_SHUFFLE()
7614 return GeneratePerfectShuffle(PFEntry, V1, V2, DAG, dl); in LowerVECTOR_SHUFFLE()
7638 dl, MVT::i32)); in LowerVECTOR_SHUFFLE()
7640 ResultMask.push_back(DAG.getConstant(SrcElt*BytesPerElement + j, dl, in LowerVECTOR_SHUFFLE()
7644 SDValue VPermMask = DAG.getBuildVector(MVT::v16i8, dl, ResultMask); in LowerVECTOR_SHUFFLE()
7646 return DAG.getNode(PPCISD::VPERM, dl, V1.getValueType(), in LowerVECTOR_SHUFFLE()
7649 return DAG.getNode(PPCISD::VPERM, dl, V1.getValueType(), in LowerVECTOR_SHUFFLE()
7783 SDLoc dl(Op); in LowerINTRINSIC_WO_CHAIN() local
7791 SDValue Tmp = DAG.getNode(PPCISD::VCMP, dl, Op.getOperand(2).getValueType(), in LowerINTRINSIC_WO_CHAIN()
7793 DAG.getConstant(CompareOpc, dl, MVT::i32)); in LowerINTRINSIC_WO_CHAIN()
7794 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Tmp); in LowerINTRINSIC_WO_CHAIN()
7801 DAG.getConstant(CompareOpc, dl, MVT::i32) in LowerINTRINSIC_WO_CHAIN()
7804 SDValue CompNode = DAG.getNode(PPCISD::VCMPo, dl, VTs, Ops); in LowerINTRINSIC_WO_CHAIN()
7808 SDValue Flags = DAG.getNode(PPCISD::MFOCRF, dl, MVT::i32, in LowerINTRINSIC_WO_CHAIN()
7832 Flags = DAG.getNode(ISD::SRL, dl, MVT::i32, Flags, in LowerINTRINSIC_WO_CHAIN()
7833 DAG.getConstant(8 - (3 - BitNo), dl, MVT::i32)); in LowerINTRINSIC_WO_CHAIN()
7835 Flags = DAG.getNode(ISD::AND, dl, MVT::i32, Flags, in LowerINTRINSIC_WO_CHAIN()
7836 DAG.getConstant(1, dl, MVT::i32)); in LowerINTRINSIC_WO_CHAIN()
7840 Flags = DAG.getNode(ISD::XOR, dl, MVT::i32, Flags, in LowerINTRINSIC_WO_CHAIN()
7841 DAG.getConstant(1, dl, MVT::i32)); in LowerINTRINSIC_WO_CHAIN()
7847 SDLoc dl(Op); in LowerSIGN_EXTEND_INREG() local
7854 Op = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, Op.getOperand(0)); in LowerSIGN_EXTEND_INREG()
7855 Op = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, MVT::v4i32, Op, in LowerSIGN_EXTEND_INREG()
7858 Op = DAG.getNode(ISD::BITCAST, dl, MVT::v2i64, Op); in LowerSIGN_EXTEND_INREG()
7859 Op = DAG.getNode(ISD::SIGN_EXTEND_INREG, dl, MVT::v2i64, Op, in LowerSIGN_EXTEND_INREG()
7871 SDLoc dl(Op); in LowerSCALAR_TO_VECTOR() local
7879 SDValue Store = DAG.getStore(DAG.getEntryNode(), dl, in LowerSCALAR_TO_VECTOR()
7883 return DAG.getLoad(Op.getValueType(), dl, Store, FIdx, MachinePointerInfo(), in LowerSCALAR_TO_VECTOR()
7889 SDLoc dl(Op); in LowerEXTRACT_VECTOR_ELT() local
7903 Value = DAG.getNode(PPCISD::QBFLT, dl, MVT::v4f64, Value); in LowerEXTRACT_VECTOR_ELT()
7907 SDValue FPHalfs = DAG.getConstantFP(0.5, dl, MVT::v4f64); in LowerEXTRACT_VECTOR_ELT()
7909 Value = DAG.getNode(ISD::FMA, dl, MVT::v4f64, Value, FPHalfs, FPHalfs); in LowerEXTRACT_VECTOR_ELT()
7912 Value = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, MVT::v4f64, in LowerEXTRACT_VECTOR_ELT()
7913 DAG.getConstant(Intrinsic::ppc_qpx_qvfctiwu, dl, MVT::i32), in LowerEXTRACT_VECTOR_ELT()
7925 DAG.getConstant(Intrinsic::ppc_qpx_qvstfiw, dl, MVT::i32), in LowerEXTRACT_VECTOR_ELT()
7930 dl, VTs, Ops, MVT::v4i32, PtrInfo); in LowerEXTRACT_VECTOR_ELT()
7934 SDValue Idx = DAG.getConstant(Offset, dl, FIdx.getValueType()); in LowerEXTRACT_VECTOR_ELT()
7935 Idx = DAG.getNode(ISD::ADD, dl, FIdx.getValueType(), FIdx, Idx); in LowerEXTRACT_VECTOR_ELT()
7937 SDValue IntVal = DAG.getLoad(MVT::i32, dl, StoreChain, Idx, in LowerEXTRACT_VECTOR_ELT()
7944 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i1, IntVal); in LowerEXTRACT_VECTOR_ELT()
7950 SDLoc dl(Op); in LowerVectorLoad() local
7973 DAG.getExtLoad(LN->getExtensionType(), dl, ScalarVT, LoadChain, in LowerVectorLoad()
7981 DAG.getLoad(ScalarVT, dl, LoadChain, BasePtr, in LowerVectorLoad()
7990 Load = DAG.getIndexedLoad(Load, dl, BasePtr, LN->getOffset(), in LowerVectorLoad()
7997 BasePtr = DAG.getNode(ISD::ADD, dl, BasePtr.getValueType(), BasePtr, in LowerVectorLoad()
7998 DAG.getConstant(Stride, dl, in LowerVectorLoad()
8002 SDValue TF = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, LoadChains); in LowerVectorLoad()
8003 SDValue Value = DAG.getBuildVector(Op.getValueType(), dl, Vals); in LowerVectorLoad()
8007 return DAG.getMergeValues(RetOps, dl); in LowerVectorLoad()
8011 return DAG.getMergeValues(RetOps, dl); in LowerVectorLoad()
8022 SDValue Idx = DAG.getConstant(i, dl, BasePtr.getValueType()); in LowerVectorLoad()
8023 Idx = DAG.getNode(ISD::ADD, dl, BasePtr.getValueType(), BasePtr, Idx); in LowerVectorLoad()
8025 VectElmts[i] = DAG.getExtLoad(ISD::EXTLOAD, dl, MVT::i32, LoadChain, Idx, in LowerVectorLoad()
8033 LoadChain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, VectElmtChains); in LowerVectorLoad()
8034 SDValue Value = DAG.getBuildVector(MVT::v4i1, dl, VectElmts); in LowerVectorLoad()
8037 return DAG.getMergeValues(RVals, dl); in LowerVectorLoad()
8043 SDLoc dl(Op); in LowerVectorStore() local
8065 ISD::EXTRACT_VECTOR_ELT, dl, ScalarVT, Value, in LowerVectorStore()
8066 DAG.getConstant(Idx, dl, getVectorIdxTy(DAG.getDataLayout()))); in LowerVectorStore()
8070 DAG.getTruncStore(StoreChain, dl, Ex, BasePtr, in LowerVectorStore()
8076 DAG.getStore(StoreChain, dl, Ex, BasePtr, in LowerVectorStore()
8084 Store = DAG.getIndexedStore(Store, dl, BasePtr, SN->getOffset(), in LowerVectorStore()
8088 BasePtr = DAG.getNode(ISD::ADD, dl, BasePtr.getValueType(), BasePtr, in LowerVectorStore()
8089 DAG.getConstant(Stride, dl, in LowerVectorStore()
8094 SDValue TF = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Stores); in LowerVectorStore()
8098 return DAG.getMergeValues(RetOps, dl); in LowerVectorStore()
8110 Value = DAG.getNode(PPCISD::QBFLT, dl, MVT::v4f64, Value); in LowerVectorStore()
8114 SDValue FPHalfs = DAG.getConstantFP(0.5, dl, MVT::v4f64); in LowerVectorStore()
8116 Value = DAG.getNode(ISD::FMA, dl, MVT::v4f64, Value, FPHalfs, FPHalfs); in LowerVectorStore()
8119 Value = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, MVT::v4f64, in LowerVectorStore()
8120 DAG.getConstant(Intrinsic::ppc_qpx_qvfctiwu, dl, MVT::i32), in LowerVectorStore()
8131 DAG.getConstant(Intrinsic::ppc_qpx_qvstfiw, dl, MVT::i32), in LowerVectorStore()
8136 dl, VTs, Ops, MVT::v4i32, PtrInfo); in LowerVectorStore()
8142 SDValue Idx = DAG.getConstant(Offset, dl, FIdx.getValueType()); in LowerVectorStore()
8143 Idx = DAG.getNode(ISD::ADD, dl, FIdx.getValueType(), FIdx, Idx); in LowerVectorStore()
8146 DAG.getLoad(MVT::i32, dl, StoreChain, Idx, in LowerVectorStore()
8151 StoreChain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, LoadChains); in LowerVectorStore()
8155 SDValue Idx = DAG.getConstant(i, dl, BasePtr.getValueType()); in LowerVectorStore()
8156 Idx = DAG.getNode(ISD::ADD, dl, BasePtr.getValueType(), BasePtr, Idx); in LowerVectorStore()
8159 StoreChain, dl, Loads[i], Idx, SN->getPointerInfo().getWithOffset(i), in LowerVectorStore()
8164 StoreChain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Stores); in LowerVectorStore()
8170 SDLoc dl(Op); in LowerMUL() local
8174 SDValue Zero = BuildSplatI( 0, 1, MVT::v4i32, DAG, dl); in LowerMUL()
8175 SDValue Neg16 = BuildSplatI(-16, 4, MVT::v4i32, DAG, dl);//+16 as shift amt. in LowerMUL()
8178 BuildIntrinsicOp(Intrinsic::ppc_altivec_vrlw, RHS, Neg16, DAG, dl); in LowerMUL()
8181 LHS = DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, LHS); in LowerMUL()
8182 RHS = DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, RHS); in LowerMUL()
8183 RHSSwap = DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, RHSSwap); in LowerMUL()
8188 LHS, RHS, DAG, dl, MVT::v4i32); in LowerMUL()
8191 LHS, RHSSwap, Zero, DAG, dl, MVT::v4i32); in LowerMUL()
8194 Neg16, DAG, dl); in LowerMUL()
8195 return DAG.getNode(ISD::ADD, dl, MVT::v4i32, LoProd, HiProd); in LowerMUL()
8199 SDValue Zero = BuildSplatI(0, 1, MVT::v8i16, DAG, dl); in LowerMUL()
8202 LHS, RHS, Zero, DAG, dl); in LowerMUL()
8209 LHS, RHS, DAG, dl, MVT::v8i16); in LowerMUL()
8210 EvenParts = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, EvenParts); in LowerMUL()
8214 LHS, RHS, DAG, dl, MVT::v8i16); in LowerMUL()
8215 OddParts = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, OddParts); in LowerMUL()
8232 return DAG.getVectorShuffle(MVT::v16i8, dl, OddParts, EvenParts, Ops); in LowerMUL()
8234 return DAG.getVectorShuffle(MVT::v16i8, dl, EvenParts, OddParts, Ops); in LowerMUL()
8311 SDLoc dl(N); in ReplaceNodeResults() local
8317 SDValue RTB = DAG.getNode(PPCISD::READ_TIME_BASE, dl, VTs, N->getOperand(0)); in ReplaceNodeResults()
8334 SDValue NewInt = DAG.getNode(N->getOpcode(), dl, VTs, N->getOperand(0), in ReplaceNodeResults()
8358 SDValue Lo = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, in ReplaceNodeResults()
8360 DAG.getIntPtrConstant(0, dl)); in ReplaceNodeResults()
8361 SDValue Hi = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, in ReplaceNodeResults()
8363 DAG.getIntPtrConstant(1, dl)); in ReplaceNodeResults()
8366 SDValue FPreg = DAG.getNode(PPCISD::FADDRTZ, dl, MVT::f64, Lo, Hi); in ReplaceNodeResults()
8370 Results.push_back(DAG.getNode(ISD::BUILD_PAIR, dl, MVT::ppcf128, in ReplaceNodeResults()
8379 Results.push_back(LowerFP_TO_INT(SDValue(N, 0), DAG, dl)); in ReplaceNodeResults()
8458 DebugLoc dl = MI.getDebugLoc(); in EmitAtomicBinary() local
8485 BuildMI(BB, dl, TII->get(LoadMnemonic), dest) in EmitAtomicBinary()
8488 BuildMI(BB, dl, TII->get(BinOpcode), TmpReg).addReg(incr).addReg(dest); in EmitAtomicBinary()
8489 BuildMI(BB, dl, TII->get(StoreMnemonic)) in EmitAtomicBinary()
8491 BuildMI(BB, dl, TII->get(PPC::BCC)) in EmitAtomicBinary()
8528 DebugLoc dl = MI.getDebugLoc(); in EmitPartwordAtomicBinary() local
8581 BuildMI(BB, dl, TII->get(is64bit ? PPC::ADD8 : PPC::ADD4), Ptr1Reg) in EmitPartwordAtomicBinary()
8586 BuildMI(BB, dl, TII->get(PPC::RLWINM), Shift1Reg).addReg(Ptr1Reg) in EmitPartwordAtomicBinary()
8588 BuildMI(BB, dl, TII->get(is64bit ? PPC::XORI8 : PPC::XORI), ShiftReg) in EmitPartwordAtomicBinary()
8591 BuildMI(BB, dl, TII->get(PPC::RLDICR), PtrReg) in EmitPartwordAtomicBinary()
8594 BuildMI(BB, dl, TII->get(PPC::RLWINM), PtrReg) in EmitPartwordAtomicBinary()
8596 BuildMI(BB, dl, TII->get(PPC::SLW), Incr2Reg) in EmitPartwordAtomicBinary()
8599 BuildMI(BB, dl, TII->get(PPC::LI), Mask2Reg).addImm(255); in EmitPartwordAtomicBinary()
8601 BuildMI(BB, dl, TII->get(PPC::LI), Mask3Reg).addImm(0); in EmitPartwordAtomicBinary()
8602 BuildMI(BB, dl, TII->get(PPC::ORI),Mask2Reg).addReg(Mask3Reg).addImm(65535); in EmitPartwordAtomicBinary()
8604 BuildMI(BB, dl, TII->get(PPC::SLW), MaskReg) in EmitPartwordAtomicBinary()
8608 BuildMI(BB, dl, TII->get(PPC::LWARX), TmpDestReg) in EmitPartwordAtomicBinary()
8611 BuildMI(BB, dl, TII->get(BinOpcode), TmpReg) in EmitPartwordAtomicBinary()
8613 BuildMI(BB, dl, TII->get(is64bit ? PPC::ANDC8 : PPC::ANDC), Tmp2Reg) in EmitPartwordAtomicBinary()
8615 BuildMI(BB, dl, TII->get(is64bit ? PPC::AND8 : PPC::AND), Tmp3Reg) in EmitPartwordAtomicBinary()
8617 BuildMI(BB, dl, TII->get(is64bit ? PPC::OR8 : PPC::OR), Tmp4Reg) in EmitPartwordAtomicBinary()
8619 BuildMI(BB, dl, TII->get(PPC::STWCX)) in EmitPartwordAtomicBinary()
8621 BuildMI(BB, dl, TII->get(PPC::BCC)) in EmitPartwordAtomicBinary()
8629 BuildMI(*BB, BB->begin(), dl, TII->get(PPC::SRW), dest).addReg(TmpDestReg) in EmitPartwordAtomicBinary()
8936 DebugLoc dl = MI.getDebugLoc(); in EmitInstrWithCustomInserter() local
8937 TII->insertSelect(*BB, MI, dl, MI.getOperand(0).getReg(), Cond, in EmitInstrWithCustomInserter()
8974 DebugLoc dl = MI.getDebugLoc(); in EmitInstrWithCustomInserter() local
8996 BuildMI(BB, dl, TII->get(PPC::BC)) in EmitInstrWithCustomInserter()
9001 BuildMI(BB, dl, TII->get(PPC::BCC)) in EmitInstrWithCustomInserter()
9019 BuildMI(*BB, BB->begin(), dl, TII->get(PPC::PHI), MI.getOperand(0).getReg()) in EmitInstrWithCustomInserter()
9039 DebugLoc dl = MI.getDebugLoc(); in EmitInstrWithCustomInserter() local
9056 BuildMI(BB, dl, TII->get(PPC::MFSPR), HiReg).addImm(269); in EmitInstrWithCustomInserter()
9057 BuildMI(BB, dl, TII->get(PPC::MFSPR), LoReg).addImm(268); in EmitInstrWithCustomInserter()
9058 BuildMI(BB, dl, TII->get(PPC::MFSPR), ReadAgainReg).addImm(269); in EmitInstrWithCustomInserter()
9062 BuildMI(BB, dl, TII->get(PPC::CMPW), CmpReg) in EmitInstrWithCustomInserter()
9064 BuildMI(BB, dl, TII->get(PPC::BCC)) in EmitInstrWithCustomInserter()
9169 DebugLoc dl = MI.getDebugLoc(); in EmitInstrWithCustomInserter() local
9200 BuildMI(BB, dl, TII->get(LoadMnemonic), dest) in EmitInstrWithCustomInserter()
9202 BuildMI(BB, dl, TII->get(is64bit ? PPC::CMPD : PPC::CMPW), PPC::CR0) in EmitInstrWithCustomInserter()
9204 BuildMI(BB, dl, TII->get(PPC::BCC)) in EmitInstrWithCustomInserter()
9210 BuildMI(BB, dl, TII->get(StoreMnemonic)) in EmitInstrWithCustomInserter()
9212 BuildMI(BB, dl, TII->get(PPC::BCC)) in EmitInstrWithCustomInserter()
9214 BuildMI(BB, dl, TII->get(PPC::B)).addMBB(exitMBB); in EmitInstrWithCustomInserter()
9219 BuildMI(BB, dl, TII->get(StoreMnemonic)) in EmitInstrWithCustomInserter()
9239 DebugLoc dl = MI.getDebugLoc(); in EmitInstrWithCustomInserter() local
9306 BuildMI(BB, dl, TII->get(is64bit ? PPC::ADD8 : PPC::ADD4), Ptr1Reg) in EmitInstrWithCustomInserter()
9311 BuildMI(BB, dl, TII->get(PPC::RLWINM), Shift1Reg).addReg(Ptr1Reg) in EmitInstrWithCustomInserter()
9313 BuildMI(BB, dl, TII->get(is64bit ? PPC::XORI8 : PPC::XORI), ShiftReg) in EmitInstrWithCustomInserter()
9316 BuildMI(BB, dl, TII->get(PPC::RLDICR), PtrReg) in EmitInstrWithCustomInserter()
9319 BuildMI(BB, dl, TII->get(PPC::RLWINM), PtrReg) in EmitInstrWithCustomInserter()
9321 BuildMI(BB, dl, TII->get(PPC::SLW), NewVal2Reg) in EmitInstrWithCustomInserter()
9323 BuildMI(BB, dl, TII->get(PPC::SLW), OldVal2Reg) in EmitInstrWithCustomInserter()
9326 BuildMI(BB, dl, TII->get(PPC::LI), Mask2Reg).addImm(255); in EmitInstrWithCustomInserter()
9328 BuildMI(BB, dl, TII->get(PPC::LI), Mask3Reg).addImm(0); in EmitInstrWithCustomInserter()
9329 BuildMI(BB, dl, TII->get(PPC::ORI), Mask2Reg) in EmitInstrWithCustomInserter()
9332 BuildMI(BB, dl, TII->get(PPC::SLW), MaskReg) in EmitInstrWithCustomInserter()
9334 BuildMI(BB, dl, TII->get(PPC::AND), NewVal3Reg) in EmitInstrWithCustomInserter()
9336 BuildMI(BB, dl, TII->get(PPC::AND), OldVal3Reg) in EmitInstrWithCustomInserter()
9340 BuildMI(BB, dl, TII->get(PPC::LWARX), TmpDestReg) in EmitInstrWithCustomInserter()
9342 BuildMI(BB, dl, TII->get(PPC::AND),TmpReg) in EmitInstrWithCustomInserter()
9344 BuildMI(BB, dl, TII->get(PPC::CMPW), PPC::CR0) in EmitInstrWithCustomInserter()
9346 BuildMI(BB, dl, TII->get(PPC::BCC)) in EmitInstrWithCustomInserter()
9352 BuildMI(BB, dl, TII->get(PPC::ANDC),Tmp2Reg) in EmitInstrWithCustomInserter()
9354 BuildMI(BB, dl, TII->get(PPC::OR),Tmp4Reg) in EmitInstrWithCustomInserter()
9356 BuildMI(BB, dl, TII->get(PPC::STWCX)).addReg(Tmp4Reg) in EmitInstrWithCustomInserter()
9358 BuildMI(BB, dl, TII->get(PPC::BCC)) in EmitInstrWithCustomInserter()
9360 BuildMI(BB, dl, TII->get(PPC::B)).addMBB(exitMBB); in EmitInstrWithCustomInserter()
9365 BuildMI(BB, dl, TII->get(PPC::STWCX)).addReg(TmpDestReg) in EmitInstrWithCustomInserter()
9372 BuildMI(*BB, BB->begin(), dl, TII->get(PPC::SRW),dest).addReg(TmpReg) in EmitInstrWithCustomInserter()
9381 DebugLoc dl = MI.getDebugLoc(); in EmitInstrWithCustomInserter() local
9387 BuildMI(*BB, MI, dl, TII->get(PPC::MFFS), MFFSReg); in EmitInstrWithCustomInserter()
9390 BuildMI(*BB, MI, dl, TII->get(PPC::MTFSB1)).addImm(31); in EmitInstrWithCustomInserter()
9391 BuildMI(*BB, MI, dl, TII->get(PPC::MTFSB0)).addImm(30); in EmitInstrWithCustomInserter()
9394 BuildMI(*BB, MI, dl, TII->get(PPC::FADD), Dest).addReg(Src1).addReg(Src2); in EmitInstrWithCustomInserter()
9397 BuildMI(*BB, MI, dl, TII->get(PPC::MTFSFb)).addImm(1).addReg(MFFSReg); in EmitInstrWithCustomInserter()
9414 DebugLoc dl = MI.getDebugLoc(); in EmitInstrWithCustomInserter() local
9415 BuildMI(*BB, MI, dl, TII->get(Opcode), Dest) in EmitInstrWithCustomInserter()
9418 BuildMI(*BB, MI, dl, TII->get(TargetOpcode::COPY), in EmitInstrWithCustomInserter()
9743 SDLoc dl(N); in DAGCombineTruncBoolExt() local
9976 RepValue = DAG.getNode(ISD::TRUNCATE, dl, MVT::i1, RepValue); in DAGCombineTruncBoolExt()
10007 Ops[C+i] = DAG.getNode(ISD::TRUNCATE, dl, MVT::i1, Ops[C+i]); in DAGCombineTruncBoolExt()
10010 DAG.getNode(PromOp.getOpcode(), dl, MVT::i1, Ops)); in DAGCombineTruncBoolExt()
10025 SDLoc dl(N); in DAGCombineExtBoolTrunc() local
10195 DAG.getSExtOrTrunc(InSrc, dl, N->getValueType(0))); in DAGCombineExtBoolTrunc()
10198 DAG.getZExtOrTrunc(InSrc, dl, N->getValueType(0))); in DAGCombineExtBoolTrunc()
10201 DAG.getAnyExtOrTrunc(InSrc, dl, N->getValueType(0))); in DAGCombineExtBoolTrunc()
10259 Ops[C+i] = DAG.getSExtOrTrunc(Ops[C+i], dl, N->getValueType(0)); in DAGCombineExtBoolTrunc()
10261 Ops[C+i] = DAG.getZExtOrTrunc(Ops[C+i], dl, N->getValueType(0)); in DAGCombineExtBoolTrunc()
10263 Ops[C+i] = DAG.getAnyExtOrTrunc(Ops[C+i], dl, N->getValueType(0)); in DAGCombineExtBoolTrunc()
10272 Ops[0] = DAG.getNode(ISD::TRUNCATE, dl, SI0->second, Ops[0]); in DAGCombineExtBoolTrunc()
10275 Ops[1] = DAG.getNode(ISD::TRUNCATE, dl, SI1->second, Ops[1]); in DAGCombineExtBoolTrunc()
10279 DAG.getNode(PromOp.getOpcode(), dl, N->getValueType(0), Ops)); in DAGCombineExtBoolTrunc()
10289 return DAG.getNode(ISD::AND, dl, N->getValueType(0), N->getOperand(0), in DAGCombineExtBoolTrunc()
10292 dl, N->getValueType(0))); in DAGCombineExtBoolTrunc()
10298 DAG.getConstant(N->getValueSizeInBits(0) - PromBits, dl, ShiftAmountTy); in DAGCombineExtBoolTrunc()
10300 ISD::SRA, dl, N->getValueType(0), in DAGCombineExtBoolTrunc()
10301 DAG.getNode(ISD::SHL, dl, N->getValueType(0), N->getOperand(0), ShiftCst), in DAGCombineExtBoolTrunc()
10311 SDLoc dl(N); in DAGCombineBuildVector() local
10354 return DAG.getNode(NodeType, dl, MVT::v2f64, in DAGCombineBuildVector()
10355 SrcVec, DAG.getIntPtrConstant(SubvecIdx, dl)); in DAGCombineBuildVector()
10368 SDLoc dl(N); in combineFPToIntToFP() local
10405 Src = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Src); in combineFPToIntToFP()
10416 SDValue Tmp = DAG.getNode(FCTOp, dl, MVT::f64, Src); in combineFPToIntToFP()
10417 SDValue FP = DAG.getNode(FCFOp, dl, FCFTy, Tmp); in combineFPToIntToFP()
10420 FP = DAG.getNode(ISD::FP_ROUND, dl, in combineFPToIntToFP()
10421 MVT::f32, FP, DAG.getIntPtrConstant(0, dl)); in combineFPToIntToFP()
10436 SDLoc dl(N); in expandVSXLoadForLE() local
10469 SDValue Load = DAG.getMemIntrinsicNode(PPCISD::LXVD2X, dl, in expandVSXLoadForLE()
10476 PPCISD::XXSWAPD, dl, DAG.getVTList(MVT::v2f64, MVT::Other), Chain, Load); in expandVSXLoadForLE()
10481 SDValue N = DAG.getNode(ISD::BITCAST, dl, VecTy, Swap); in expandVSXLoadForLE()
10484 return DAG.getNode(ISD::MERGE_VALUES, dl, DAG.getVTList(VecTy, MVT::Other), in expandVSXLoadForLE()
10496 SDLoc dl(N); in expandVSXStoreForLE() local
10534 Src = DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, Src); in expandVSXStoreForLE()
10538 SDValue Swap = DAG.getNode(PPCISD::XXSWAPD, dl, in expandVSXStoreForLE()
10543 SDValue Store = DAG.getMemIntrinsicNode(PPCISD::STXVD2X, dl, in expandVSXStoreForLE()
10553 SDLoc dl(N); in PerformDAGCombine() local
10590 Val = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Val); in PerformDAGCombine()
10593 Val = DAG.getNode(PPCISD::FCTIWZ, dl, MVT::f64, Val); in PerformDAGCombine()
10601 Val = DAG.getMemIntrinsicNode(PPCISD::STFIWX, dl, in PerformDAGCombine()
10620 BSwapOp = DAG.getNode(ISD::ANY_EXTEND, dl, MVT::i32, BSwapOp); in PerformDAGCombine()
10627 DAG.getMemIntrinsicNode(PPCISD::STBRX, dl, DAG.getVTList(MVT::Other), in PerformDAGCombine()
10727 DAG.getNode(ISD::ADD, dl, BasePtr.getValueType(), BasePtr, in PerformDAGCombine()
10732 DAG.getLoad(MVT::f32, dl, LD->getChain(), BasePtr, in PerformDAGCombine()
10736 DAG.getNode(ISD::ADD, dl, BasePtr.getValueType(), in PerformDAGCombine()
10737 BasePtr, DAG.getIntPtrConstant(4, dl)); in PerformDAGCombine()
10739 DAG.getLoad(MVT::f32, dl, SDValue(FloatLoad.getNode(), 1), AddPtr, in PerformDAGCombine()
10824 SDValue PermCntl = BuildIntrinsicOp(Intr, Ptr, DAG, dl, PermCntlTy); in PerformDAGCombine()
10839 DAG.getTargetConstant(IntrLD, dl, getPointerTy(MF.getDataLayout())); in PerformDAGCombine()
10842 DAG.getMemIntrinsicNode(ISD::INTRINSIC_W_CHAIN, dl, in PerformDAGCombine()
10864 DAG.getConstant(IncValue, dl, getPointerTy(MF.getDataLayout())); in PerformDAGCombine()
10865 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr, Increment); in PerformDAGCombine()
10872 DAG.getMemIntrinsicNode(ISD::INTRINSIC_W_CHAIN, dl, in PerformDAGCombine()
10876 SDValue TF = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, in PerformDAGCombine()
10887 ExtraLoad, BaseLoad, PermCntl, DAG, dl); in PerformDAGCombine()
10890 BaseLoad, ExtraLoad, PermCntl, DAG, dl); in PerformDAGCombine()
10894 DAG.getNode(ISD::BITCAST, dl, VT, Perm) : in PerformDAGCombine()
10895 DAG.getNode(ISD::FP_ROUND, dl, VT, Perm, // QPX in PerformDAGCombine()
10896 DAG.getTargetConstant(1, dl, MVT::i64)); in PerformDAGCombine()
11007 DAG.getMemIntrinsicNode(PPCISD::LBRX, dl, in PerformDAGCombine()
11015 ResVal = DAG.getNode(ISD::TRUNCATE, dl, MVT::i16, BSLoad); in PerformDAGCombine()
11095 return DAG.getNode(PPCISD::BDNZ, dl, MVT::Other, in PerformDAGCombine()
11135 return DAG.getNode(isBDNZ ? PPCISD::BDNZ : PPCISD::BDZ, dl, MVT::Other, in PerformDAGCombine()
11154 return DAG.getNode(ISD::BR, dl, MVT::Other, in PerformDAGCombine()
11164 DAG.getConstant(CompareOpc, dl, MVT::i32) in PerformDAGCombine()
11167 SDValue CompNode = DAG.getNode(PPCISD::VCMPo, dl, VTs, Ops); in PerformDAGCombine()
11187 return DAG.getNode(PPCISD::COND_BRANCH, dl, MVT::Other, N->getOperand(0), in PerformDAGCombine()
11188 DAG.getConstant(CompOpc, dl, MVT::i32), in PerformDAGCombine()
11501 SDLoc dl(Op); in LowerAsmOperandForConstraint() local
11509 Result = DAG.getTargetConstant(Value, dl, TCVT); in LowerAsmOperandForConstraint()
11513 Result = DAG.getTargetConstant(Value, dl, TCVT); in LowerAsmOperandForConstraint()
11517 Result = DAG.getTargetConstant(Value, dl, TCVT); in LowerAsmOperandForConstraint()
11521 Result = DAG.getTargetConstant(Value, dl, TCVT); in LowerAsmOperandForConstraint()
11525 Result = DAG.getTargetConstant(Value, dl, TCVT); in LowerAsmOperandForConstraint()
11529 Result = DAG.getTargetConstant(Value, dl, TCVT); in LowerAsmOperandForConstraint()
11533 Result = DAG.getTargetConstant(Value, dl, TCVT); in LowerAsmOperandForConstraint()
11537 Result = DAG.getTargetConstant(Value, dl, TCVT); in LowerAsmOperandForConstraint()
11601 SDLoc dl(Op); in LowerRETURNADDR() local
11614 DAG.getConstant(Subtarget.getFrameLowering()->getReturnSaveOffset(), dl, in LowerRETURNADDR()
11616 return DAG.getLoad(PtrVT, dl, DAG.getEntryNode(), in LowerRETURNADDR()
11617 DAG.getNode(ISD::ADD, dl, PtrVT, FrameAddr, Offset), in LowerRETURNADDR()
11623 return DAG.getLoad(PtrVT, dl, DAG.getEntryNode(), RetAddrFI, in LowerRETURNADDR()
11629 SDLoc dl(Op); in LowerFRAMEADDR() local
11647 SDValue FrameAddr = DAG.getCopyFromReg(DAG.getEntryNode(), dl, FrameReg, in LowerFRAMEADDR()
11650 FrameAddr = DAG.getLoad(Op.getValueType(), dl, DAG.getEntryNode(), in LowerFRAMEADDR()