Lines Matching refs:dl
1087 SDLoc dl(N); in SelectAddressRegImm() local
1158 Base = SDValue(DAG.getMachineNode(Opc, dl, CN->getValueType(0), Base), 0); in SelectAddressRegImm()
1390 SDLoc dl(GA); in LowerGlobalTLSAddress() local
1398 SDValue TGAHi = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, in LowerGlobalTLSAddress()
1400 SDValue TGALo = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, in LowerGlobalTLSAddress()
1404 SDValue Hi = DAG.getNode(PPCISD::Hi, dl, PtrVT, TGAHi, TLSReg); in LowerGlobalTLSAddress()
1405 return DAG.getNode(PPCISD::Lo, dl, PtrVT, TGALo, Hi); in LowerGlobalTLSAddress()
1412 SDValue TGA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, 0); in LowerGlobalTLSAddress()
1413 SDValue TGATLS = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, in LowerGlobalTLSAddress()
1416 SDValue TPOffsetHi = DAG.getNode(PPCISD::ADDIS_GOT_TPREL_HA, dl, in LowerGlobalTLSAddress()
1418 SDValue TPOffset = DAG.getNode(PPCISD::LD_GOT_TPREL_L, dl, in LowerGlobalTLSAddress()
1420 return DAG.getNode(PPCISD::ADD_TLS, dl, PtrVT, TPOffset, TGATLS); in LowerGlobalTLSAddress()
1424 SDValue TGA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, 0); in LowerGlobalTLSAddress()
1426 SDValue GOTEntryHi = DAG.getNode(PPCISD::ADDIS_TLSGD_HA, dl, PtrVT, in LowerGlobalTLSAddress()
1428 SDValue GOTEntry = DAG.getNode(PPCISD::ADDI_TLSGD_L, dl, PtrVT, in LowerGlobalTLSAddress()
1435 Chain = DAG.getCopyToReg(Chain, dl, PPC::X3, GOTEntry); in LowerGlobalTLSAddress()
1437 SDValue TLSAddr = DAG.getNode(PPCISD::GET_TLS_ADDR, dl, in LowerGlobalTLSAddress()
1442 Chain = DAG.getCopyToReg(Chain, dl, PPC::X3, TLSAddr); in LowerGlobalTLSAddress()
1443 return DAG.getCopyFromReg(Chain, dl, PPC::X3, PtrVT); in LowerGlobalTLSAddress()
1447 SDValue TGA = DAG.getTargetGlobalAddress(GV, dl, PtrVT, 0, 0); in LowerGlobalTLSAddress()
1449 SDValue GOTEntryHi = DAG.getNode(PPCISD::ADDIS_TLSLD_HA, dl, PtrVT, in LowerGlobalTLSAddress()
1451 SDValue GOTEntry = DAG.getNode(PPCISD::ADDI_TLSLD_L, dl, PtrVT, in LowerGlobalTLSAddress()
1458 Chain = DAG.getCopyToReg(Chain, dl, PPC::X3, GOTEntry); in LowerGlobalTLSAddress()
1460 SDValue TLSAddr = DAG.getNode(PPCISD::GET_TLSLD_ADDR, dl, in LowerGlobalTLSAddress()
1465 Chain = DAG.getCopyToReg(Chain, dl, PPC::X3, TLSAddr); in LowerGlobalTLSAddress()
1466 SDValue DtvOffsetHi = DAG.getNode(PPCISD::ADDIS_DTPREL_HA, dl, PtrVT, in LowerGlobalTLSAddress()
1468 return DAG.getNode(PPCISD::ADDI_DTPREL_L, dl, PtrVT, DtvOffsetHi, TGA); in LowerGlobalTLSAddress()
1509 SDLoc dl(Op); in LowerSETCC() local
1520 Zext = DAG.getNode(ISD::ZERO_EXTEND, dl, VT, Op.getOperand(0)); in LowerSETCC()
1523 SDValue Clz = DAG.getNode(ISD::CTLZ, dl, VT, Zext); in LowerSETCC()
1524 SDValue Scc = DAG.getNode(ISD::SRL, dl, VT, Clz, in LowerSETCC()
1526 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i32, Scc); in LowerSETCC()
1543 SDValue Sub = DAG.getNode(ISD::XOR, dl, LHSVT, Op.getOperand(0), in LowerSETCC()
1545 return DAG.getSetCC(dl, VT, Sub, DAG.getConstant(0, LHSVT), CC); in LowerSETCC()
1558 SDLoc dl(Node); in LowerVAARG() local
1563 SDValue GprIndex = DAG.getExtLoad(ISD::ZEXTLOAD, dl, MVT::i32, InChain, in LowerVAARG()
1570 SDValue GprAnd = DAG.getNode(ISD::AND, dl, MVT::i32, GprIndex, in LowerVAARG()
1572 SDValue CC64 = DAG.getSetCC(dl, MVT::i32, GprAnd, in LowerVAARG()
1574 SDValue GprIndexPlusOne = DAG.getNode(ISD::ADD, dl, MVT::i32, GprIndex, in LowerVAARG()
1577 GprIndex = DAG.getNode(ISD::SELECT, dl, MVT::i32, CC64, GprIndexPlusOne, in LowerVAARG()
1582 SDValue FprPtr = DAG.getNode(ISD::ADD, dl, PtrVT, VAListPtr, in LowerVAARG()
1586 SDValue FprIndex = DAG.getExtLoad(ISD::ZEXTLOAD, dl, MVT::i32, InChain, in LowerVAARG()
1591 SDValue RegSaveAreaPtr = DAG.getNode(ISD::ADD, dl, PtrVT, VAListPtr, in LowerVAARG()
1594 SDValue OverflowAreaPtr = DAG.getNode(ISD::ADD, dl, PtrVT, VAListPtr, in LowerVAARG()
1598 SDValue OverflowArea = DAG.getLoad(MVT::i32, dl, InChain, OverflowAreaPtr, in LowerVAARG()
1603 SDValue RegSaveArea = DAG.getLoad(MVT::i32, dl, InChain, RegSaveAreaPtr, in LowerVAARG()
1609 SDValue CC = DAG.getSetCC(dl, MVT::i32, VT.isInteger() ? GprIndex : FprIndex, in LowerVAARG()
1613 SDValue RegConstant = DAG.getNode(ISD::MUL, dl, MVT::i32, in LowerVAARG()
1619 SDValue OurReg = DAG.getNode(ISD::ADD, dl, PtrVT, RegSaveArea, in LowerVAARG()
1624 OurReg = DAG.getNode(ISD::ADD, dl, PtrVT, OurReg, in LowerVAARG()
1628 SDValue IndexPlus1 = DAG.getNode(ISD::ADD, dl, MVT::i32, in LowerVAARG()
1633 InChain = DAG.getTruncStore(InChain, dl, IndexPlus1, in LowerVAARG()
1639 SDValue Result = DAG.getNode(ISD::SELECT, dl, PtrVT, CC, OurReg, OverflowArea); in LowerVAARG()
1642 SDValue OverflowAreaPlusN = DAG.getNode(ISD::ADD, dl, PtrVT, OverflowArea, in LowerVAARG()
1646 OverflowArea = DAG.getNode(ISD::SELECT, dl, MVT::i32, CC, OverflowArea, in LowerVAARG()
1649 InChain = DAG.getTruncStore(InChain, dl, OverflowArea, in LowerVAARG()
1654 return DAG.getLoad(VT, dl, InChain, Result, MachinePointerInfo(), in LowerVAARG()
1681 SDLoc dl(Op); in LowerINIT_TRAMPOLINE() local
1712 Args, DAG, dl); in LowerINIT_TRAMPOLINE()
1723 SDLoc dl(Op); in LowerVASTART() local
1731 return DAG.getStore(Op.getOperand(0), dl, FR, Op.getOperand(1), in LowerVASTART()
1784 SDValue firstStore = DAG.getTruncStore(Op.getOperand(0), dl, ArgGPR, in LowerVASTART()
1789 SDValue nextPtr = DAG.getNode(ISD::ADD, dl, PtrVT, Op.getOperand(1), in LowerVASTART()
1794 DAG.getTruncStore(firstStore, dl, ArgFPR, nextPtr, in LowerVASTART()
1798 nextPtr = DAG.getNode(ISD::ADD, dl, PtrVT, nextPtr, ConstStackOffset); in LowerVASTART()
1802 DAG.getStore(secondStore, dl, StackOffsetFI, nextPtr, in LowerVASTART()
1806 nextPtr = DAG.getNode(ISD::ADD, dl, PtrVT, nextPtr, ConstFrameOffset); in LowerVASTART()
1809 return DAG.getStore(thirdStore, dl, FR, nextPtr, in LowerVASTART()
1906 SDLoc dl, SelectionDAG &DAG, in LowerFormalArguments() argument
1912 dl, DAG, InVals); in LowerFormalArguments()
1915 dl, DAG, InVals); in LowerFormalArguments()
1918 dl, DAG, InVals); in LowerFormalArguments()
1928 SDLoc dl, SelectionDAG &DAG, in LowerFormalArguments_32SVR4() argument
2010 SDValue ArgValue = DAG.getCopyFromReg(Chain, dl, Reg, ValVT); in LowerFormalArguments_32SVR4()
2023 InVals.push_back(DAG.getLoad(VA.getValVT(), dl, Chain, FIN, in LowerFormalArguments_32SVR4()
2103 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT); in LowerFormalArguments_32SVR4()
2104 SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_32SVR4()
2109 FIN = DAG.getNode(ISD::ADD, dl, PtrOff.getValueType(), FIN, PtrOff); in LowerFormalArguments_32SVR4()
2122 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, MVT::f64); in LowerFormalArguments_32SVR4()
2123 SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_32SVR4()
2129 FIN = DAG.getNode(ISD::ADD, dl, PtrOff.getValueType(), FIN, PtrOff); in LowerFormalArguments_32SVR4()
2134 Chain = DAG.getNode(ISD::TokenFactor, dl, in LowerFormalArguments_32SVR4()
2145 SDLoc dl) const { in extendArgForPPC64()
2147 ArgVal = DAG.getNode(ISD::AssertSext, dl, MVT::i64, ArgVal, in extendArgForPPC64()
2150 ArgVal = DAG.getNode(ISD::AssertZext, dl, MVT::i64, ArgVal, in extendArgForPPC64()
2153 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i32, ArgVal); in extendArgForPPC64()
2188 SDLoc dl, SelectionDAG &DAG, in LowerFormalArguments_64SVR4() argument
2290 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT); in LowerFormalArguments_64SVR4()
2296 Store = DAG.getTruncStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_64SVR4()
2308 Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_64SVR4()
2331 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT); in LowerFormalArguments_64SVR4()
2332 SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_64SVR4()
2352 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, MVT::i64); in LowerFormalArguments_64SVR4()
2357 ArgVal = extendArgForPPC64(Flags, ObjectVT, DAG, ArgVal, dl); in LowerFormalArguments_64SVR4()
2382 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, ObjectVT); in LowerFormalArguments_64SVR4()
2399 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, ObjectVT); in LowerFormalArguments_64SVR4()
2427 ArgVal = DAG.getLoad(ObjectVT, dl, Chain, FIN, MachinePointerInfo(), in LowerFormalArguments_64SVR4()
2454 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT); in LowerFormalArguments_64SVR4()
2455 SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_64SVR4()
2460 FIN = DAG.getNode(ISD::ADD, dl, PtrOff.getValueType(), FIN, PtrOff); in LowerFormalArguments_64SVR4()
2465 Chain = DAG.getNode(ISD::TokenFactor, dl, in LowerFormalArguments_64SVR4()
2477 SDLoc dl, SelectionDAG &DAG, in LowerFormalArguments_Darwin() argument
2626 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT); in LowerFormalArguments_Darwin()
2628 SDValue Store = DAG.getTruncStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_Darwin()
2652 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT); in LowerFormalArguments_Darwin()
2653 SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_Darwin()
2673 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, MVT::i32); in LowerFormalArguments_Darwin()
2687 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, MVT::i64); in LowerFormalArguments_Darwin()
2692 ArgVal = extendArgForPPC64(Flags, ObjectVT, DAG, ArgVal, dl); in LowerFormalArguments_Darwin()
2720 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, ObjectVT); in LowerFormalArguments_Darwin()
2737 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, ObjectVT); in LowerFormalArguments_Darwin()
2771 ArgVal = DAG.getLoad(ObjectVT, dl, Chain, FIN, MachinePointerInfo(), in LowerFormalArguments_Darwin()
2805 SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT); in LowerFormalArguments_Darwin()
2806 SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, in LowerFormalArguments_Darwin()
2811 FIN = DAG.getNode(ISD::ADD, dl, PtrOff.getValueType(), FIN, PtrOff); in LowerFormalArguments_Darwin()
2816 Chain = DAG.getNode(ISD::TokenFactor, dl, in LowerFormalArguments_Darwin()
2979 SDLoc dl) { in StoreTailCallArgumentsToStackSlot() argument
2985 MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, FIN, in StoreTailCallArgumentsToStackSlot()
3001 SDLoc dl) { in EmitTailCallStoreFPAndRetAddr() argument
3011 Chain = DAG.getStore(Chain, dl, OldRetAddr, NewRetAddrFrIdx, in EmitTailCallStoreFPAndRetAddr()
3023 Chain = DAG.getStore(Chain, dl, OldFP, NewFramePtrIdx, in EmitTailCallStoreFPAndRetAddr()
3058 SDLoc dl) const { in EmitTailCallLoadFPAndRetAddr()
3063 LROpOut = DAG.getLoad(VT, dl, Chain, LROpOut, MachinePointerInfo(), in EmitTailCallLoadFPAndRetAddr()
3071 FPOpOut = DAG.getLoad(VT, dl, Chain, FPOpOut, MachinePointerInfo(), in EmitTailCallLoadFPAndRetAddr()
3088 SDLoc dl) { in CreateCopyOfByValArgument() argument
3090 return DAG.getMemcpy(Chain, dl, Dst, Src, SizeNode, Flags.getByValAlign(), in CreateCopyOfByValArgument()
3103 SDLoc dl) { in LowerMemOpCallTo() argument
3112 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, in LowerMemOpCallTo()
3115 MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff, in LowerMemOpCallTo()
3124 SDLoc dl, bool isPPC64, int SPDiff, unsigned NumBytes, in PrepareTailCall() argument
3135 MemOpChains2, dl); in PrepareTailCall()
3137 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, in PrepareTailCall()
3142 isPPC64, isDarwinABI, dl); in PrepareTailCall()
3146 DAG.getIntPtrConstant(0, true), InFlag, dl); in PrepareTailCall()
3152 SDValue &Chain, SDLoc dl, int SPDiff, bool isTailCall, in PrepareCall() argument
3193 Callee = DAG.getTargetGlobalAddress(G->getGlobal(), dl, in PrepareCall()
3252 SDValue LoadFuncPtr = DAG.getNode(PPCISD::LOAD, dl, VTs, MTCTROps, in PrepareCall()
3261 SDValue AddPtr = DAG.getNode(ISD::ADD, dl, MVT::i64, Callee, PtrOff); in PrepareCall()
3262 SDValue LoadEnvPtr = DAG.getNode(PPCISD::LOAD, dl, VTs, Chain, AddPtr, in PrepareCall()
3267 SDValue EnvVal = DAG.getCopyToReg(Chain, dl, PPC::X11, LoadEnvPtr, in PrepareCall()
3279 SDValue LoadTOCPtr = DAG.getNode(PPCISD::LOAD_TOC, dl, VTs, Chain, in PrepareCall()
3289 Chain = DAG.getNode(PPCISD::MTCTR, dl, NodeTys, MTCTROps, in PrepareCall()
3338 SDLoc dl, SelectionDAG &DAG, in LowerCallResult() argument
3351 SDValue Val = DAG.getCopyFromReg(Chain, dl, in LowerCallResult()
3360 Val = DAG.getNode(ISD::TRUNCATE, dl, VA.getValVT(), Val); in LowerCallResult()
3363 Val = DAG.getNode(ISD::AssertZext, dl, VA.getLocVT(), Val, in LowerCallResult()
3365 Val = DAG.getNode(ISD::TRUNCATE, dl, VA.getValVT(), Val); in LowerCallResult()
3368 Val = DAG.getNode(ISD::AssertSext, dl, VA.getLocVT(), Val, in LowerCallResult()
3370 Val = DAG.getNode(ISD::TRUNCATE, dl, VA.getValVT(), Val); in LowerCallResult()
3381 PPCTargetLowering::FinishCall(CallingConv::ID CallConv, SDLoc dl, in FinishCall() argument
3393 unsigned CallOpc = PrepareCall(DAG, Callee, InFlag, Chain, dl, SPDiff, in FinishCall()
3426 return DAG.getNode(PPCISD::TC_RETURN, dl, MVT::Other, &Ops[0], Ops.size()); in FinishCall()
3457 Chain = DAG.getNode(CallOpc, dl, NodeTys, &Ops[0], Ops.size()); in FinishCall()
3462 Chain = DAG.getNode(PPCISD::TOC_RESTORE, dl, VTs, Chain, InFlag); in FinishCall()
3468 InFlag, dl); in FinishCall()
3473 Ins, dl, DAG, InVals); in FinishCall()
3480 SDLoc &dl = CLI.DL; in LowerCall() local
3498 dl, DAG, InVals); in LowerCall()
3502 dl, DAG, InVals); in LowerCall()
3507 dl, DAG, InVals); in LowerCall()
3517 SDLoc dl, SelectionDAG &DAG, in LowerCall_32SVR4() argument
3604 dl); in LowerCall_32SVR4()
3611 dl); in LowerCall_32SVR4()
3644 PtrOff = DAG.getNode(ISD::ADD, dl, getPointerTy(), StackPtr, PtrOff); in LowerCall_32SVR4()
3651 Flags, DAG, dl); in LowerCall_32SVR4()
3678 PtrOff = DAG.getNode(ISD::ADD, dl, getPointerTy(), StackPtr, PtrOff); in LowerCall_32SVR4()
3680 MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff, in LowerCall_32SVR4()
3692 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, in LowerCall_32SVR4()
3699 Chain = DAG.getCopyToReg(Chain, dl, RegsToPass[i].first, in LowerCall_32SVR4()
3711 dl, VTs, Ops, InFlag.getNode() ? 2 : 1); in LowerCall_32SVR4()
3717 PrepareTailCall(DAG, InFlag, Chain, dl, false, SPDiff, NumBytes, LROp, FPOp, in LowerCall_32SVR4()
3720 return FinishCall(CallConv, dl, isTailCall, isVarArg, DAG, in LowerCall_32SVR4()
3732 SDLoc dl) const { in createMemcpyOutsideCallSeq()
3735 Flags, DAG, dl); in createMemcpyOutsideCallSeq()
3752 SDLoc dl, SelectionDAG &DAG, in LowerCall_64SVR4() argument
3794 dl); in LowerCall_64SVR4()
3801 dl); in LowerCall_64SVR4()
3843 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, PtrOff); in LowerCall_64SVR4()
3849 Arg = DAG.getNode(ExtOp, dl, MVT::i64, Arg); in LowerCall_64SVR4()
3872 SDValue Load = DAG.getExtLoad(ISD::EXTLOAD, dl, PtrVT, Chain, Arg, in LowerCall_64SVR4()
3886 SDValue AddPtr = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, Const); in LowerCall_64SVR4()
3889 Flags, DAG, dl); in LowerCall_64SVR4()
3909 Flags, DAG, dl); in LowerCall_64SVR4()
3922 SDValue AddPtr = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, Const); in LowerCall_64SVR4()
3925 Flags, DAG, dl); in LowerCall_64SVR4()
3928 SDValue Load = DAG.getLoad(PtrVT, dl, Chain, PtrOff, in LowerCall_64SVR4()
3943 SDValue AddArg = DAG.getNode(ISD::ADD, dl, PtrVT, Arg, Const); in LowerCall_64SVR4()
3945 SDValue Load = DAG.getLoad(PtrVT, dl, Chain, AddArg, in LowerCall_64SVR4()
3968 TailCallArguments, dl); in LowerCall_64SVR4()
3984 StoreOff = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, ConstFour); in LowerCall_64SVR4()
3988 SDValue Store = DAG.getStore(Chain, dl, Arg, StoreOff, in LowerCall_64SVR4()
3994 SDValue Load = DAG.getLoad(PtrVT, dl, Store, PtrOff, in LowerCall_64SVR4()
4008 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, ConstFour); in LowerCall_64SVR4()
4013 TailCallArguments, dl); in LowerCall_64SVR4()
4034 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, in LowerCall_64SVR4()
4036 SDValue Store = DAG.getStore(Chain, dl, Arg, PtrOff, in LowerCall_64SVR4()
4040 SDValue Load = DAG.getLoad(MVT::v4f32, dl, Store, PtrOff, in LowerCall_64SVR4()
4050 SDValue Ix = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, in LowerCall_64SVR4()
4052 SDValue Load = DAG.getLoad(PtrVT, dl, Store, Ix, MachinePointerInfo(), in LowerCall_64SVR4()
4068 TailCallArguments, dl); in LowerCall_64SVR4()
4076 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, in LowerCall_64SVR4()
4087 SDValue Val = DAG.getCopyFromReg(Chain, dl, PPC::X2, MVT::i64); in LowerCall_64SVR4()
4090 SDValue AddPtr = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, PtrOff); in LowerCall_64SVR4()
4091 Chain = DAG.getStore(Val.getValue(1), dl, Val, AddPtr, MachinePointerInfo(), in LowerCall_64SVR4()
4103 Chain = DAG.getCopyToReg(Chain, dl, RegsToPass[i].first, in LowerCall_64SVR4()
4109 PrepareTailCall(DAG, InFlag, Chain, dl, true, SPDiff, NumBytes, LROp, in LowerCall_64SVR4()
4112 return FinishCall(CallConv, dl, isTailCall, isVarArg, DAG, in LowerCall_64SVR4()
4124 SDLoc dl, SelectionDAG &DAG, in LowerCall_Darwin() argument
4166 dl); in LowerCall_Darwin()
4173 dl); in LowerCall_Darwin()
4225 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, PtrOff); in LowerCall_Darwin()
4231 Arg = DAG.getNode(ExtOp, dl, MVT::i64, Arg); in LowerCall_Darwin()
4244 SDValue Load = DAG.getExtLoad(ISD::EXTLOAD, dl, PtrVT, Chain, Arg, in LowerCall_Darwin()
4254 SDValue AddPtr = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, Const); in LowerCall_Darwin()
4257 Flags, DAG, dl); in LowerCall_Darwin()
4267 Flags, DAG, dl); in LowerCall_Darwin()
4274 SDValue AddArg = DAG.getNode(ISD::ADD, dl, PtrVT, Arg, Const); in LowerCall_Darwin()
4276 SDValue Load = DAG.getLoad(PtrVT, dl, Chain, AddArg, in LowerCall_Darwin()
4299 TailCallArguments, dl); in LowerCall_Darwin()
4309 SDValue Store = DAG.getStore(Chain, dl, Arg, PtrOff, in LowerCall_Darwin()
4315 SDValue Load = DAG.getLoad(PtrVT, dl, Store, PtrOff, in LowerCall_Darwin()
4323 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, ConstFour); in LowerCall_Darwin()
4324 SDValue Load = DAG.getLoad(PtrVT, dl, Store, PtrOff, in LowerCall_Darwin()
4343 TailCallArguments, dl); in LowerCall_Darwin()
4366 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, in LowerCall_Darwin()
4368 SDValue Store = DAG.getStore(Chain, dl, Arg, PtrOff, in LowerCall_Darwin()
4372 SDValue Load = DAG.getLoad(MVT::v4f32, dl, Store, PtrOff, in LowerCall_Darwin()
4382 SDValue Ix = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, in LowerCall_Darwin()
4384 SDValue Load = DAG.getLoad(PtrVT, dl, Store, Ix, MachinePointerInfo(), in LowerCall_Darwin()
4401 TailCallArguments, dl); in LowerCall_Darwin()
4427 TailCallArguments, dl); in LowerCall_Darwin()
4435 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, in LowerCall_Darwin()
4452 Chain = DAG.getCopyToReg(Chain, dl, RegsToPass[i].first, in LowerCall_Darwin()
4458 PrepareTailCall(DAG, InFlag, Chain, dl, isPPC64, SPDiff, NumBytes, LROp, in LowerCall_Darwin()
4461 return FinishCall(CallConv, dl, isTailCall, isVarArg, DAG, in LowerCall_Darwin()
4482 SDLoc dl, SelectionDAG &DAG) const { in LowerReturn() argument
4503 Arg = DAG.getNode(ISD::ANY_EXTEND, dl, VA.getLocVT(), Arg); in LowerReturn()
4506 Arg = DAG.getNode(ISD::ZERO_EXTEND, dl, VA.getLocVT(), Arg); in LowerReturn()
4509 Arg = DAG.getNode(ISD::SIGN_EXTEND, dl, VA.getLocVT(), Arg); in LowerReturn()
4513 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), Arg, Flag); in LowerReturn()
4524 return DAG.getNode(PPCISD::RET_FLAG, dl, MVT::Other, in LowerReturn()
4531 SDLoc dl(Op); in LowerSTACKRESTORE() local
4546 SDValue LoadLinkSP = DAG.getLoad(PtrVT, dl, Chain, StackPtr, in LowerSTACKRESTORE()
4551 Chain = DAG.getCopyToReg(LoadLinkSP.getValue(1), dl, SP, SaveSP); in LowerSTACKRESTORE()
4554 return DAG.getStore(Chain, dl, LoadLinkSP, StackPtr, MachinePointerInfo(), in LowerSTACKRESTORE()
4616 SDLoc dl(Op); in LowerDYNAMIC_STACKALLOC() local
4621 SDValue NegSize = DAG.getNode(ISD::SUB, dl, PtrVT, in LowerDYNAMIC_STACKALLOC()
4628 return DAG.getNode(PPCISD::DYNALLOC, dl, VTs, Ops, 3); in LowerDYNAMIC_STACKALLOC()
4667 SDLoc dl(Op); in LowerSELECT_CC() local
4679 LHS = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, LHS); in LowerSELECT_CC()
4680 Sel1 = DAG.getNode(PPCISD::FSEL, dl, ResVT, LHS, TV, FV); in LowerSELECT_CC()
4682 Sel1 = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Sel1); in LowerSELECT_CC()
4683 return DAG.getNode(PPCISD::FSEL, dl, ResVT, in LowerSELECT_CC()
4684 DAG.getNode(ISD::FNEG, dl, MVT::f64, LHS), Sel1, FV); in LowerSELECT_CC()
4691 LHS = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, LHS); in LowerSELECT_CC()
4692 return DAG.getNode(PPCISD::FSEL, dl, ResVT, LHS, TV, FV); in LowerSELECT_CC()
4699 LHS = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, LHS); in LowerSELECT_CC()
4700 return DAG.getNode(PPCISD::FSEL, dl, ResVT, in LowerSELECT_CC()
4701 DAG.getNode(ISD::FNEG, dl, MVT::f64, LHS), TV, FV); in LowerSELECT_CC()
4710 Cmp = DAG.getNode(ISD::FSUB, dl, CmpVT, LHS, RHS); in LowerSELECT_CC()
4712 Cmp = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Cmp); in LowerSELECT_CC()
4713 Sel1 = DAG.getNode(PPCISD::FSEL, dl, ResVT, Cmp, TV, FV); in LowerSELECT_CC()
4715 Sel1 = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Sel1); in LowerSELECT_CC()
4716 return DAG.getNode(PPCISD::FSEL, dl, ResVT, in LowerSELECT_CC()
4717 DAG.getNode(ISD::FNEG, dl, MVT::f64, Cmp), Sel1, FV); in LowerSELECT_CC()
4720 Cmp = DAG.getNode(ISD::FSUB, dl, CmpVT, LHS, RHS); in LowerSELECT_CC()
4722 Cmp = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Cmp); in LowerSELECT_CC()
4723 return DAG.getNode(PPCISD::FSEL, dl, ResVT, Cmp, FV, TV); in LowerSELECT_CC()
4726 Cmp = DAG.getNode(ISD::FSUB, dl, CmpVT, LHS, RHS); in LowerSELECT_CC()
4728 Cmp = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Cmp); in LowerSELECT_CC()
4729 return DAG.getNode(PPCISD::FSEL, dl, ResVT, Cmp, TV, FV); in LowerSELECT_CC()
4732 Cmp = DAG.getNode(ISD::FSUB, dl, CmpVT, RHS, LHS); in LowerSELECT_CC()
4734 Cmp = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Cmp); in LowerSELECT_CC()
4735 return DAG.getNode(PPCISD::FSEL, dl, ResVT, Cmp, FV, TV); in LowerSELECT_CC()
4738 Cmp = DAG.getNode(ISD::FSUB, dl, CmpVT, RHS, LHS); in LowerSELECT_CC()
4740 Cmp = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Cmp); in LowerSELECT_CC()
4741 return DAG.getNode(PPCISD::FSEL, dl, ResVT, Cmp, TV, FV); in LowerSELECT_CC()
4748 SDLoc dl) const { in LowerFP_TO_INT()
4752 Src = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Src); in LowerFP_TO_INT()
4761 dl, MVT::f64, Src); in LowerFP_TO_INT()
4768 dl, MVT::f64, Src); in LowerFP_TO_INT()
4786 Chain = DAG.getMemIntrinsicNode(PPCISD::STFIWX, dl, in LowerFP_TO_INT()
4790 Chain = DAG.getStore(DAG.getEntryNode(), dl, Tmp, FIPtr, in LowerFP_TO_INT()
4796 FIPtr = DAG.getNode(ISD::ADD, dl, FIPtr.getValueType(), FIPtr, in LowerFP_TO_INT()
4801 return DAG.getLoad(Op.getValueType(), dl, Chain, FIPtr, MPI, in LowerFP_TO_INT()
4807 SDLoc dl(Op); in LowerINT_TO_FP() local
4847 SDValue Round = DAG.getNode(ISD::AND, dl, MVT::i64, in LowerINT_TO_FP()
4849 Round = DAG.getNode(ISD::ADD, dl, MVT::i64, in LowerINT_TO_FP()
4851 Round = DAG.getNode(ISD::OR, dl, MVT::i64, Round, SINT); in LowerINT_TO_FP()
4852 Round = DAG.getNode(ISD::AND, dl, MVT::i64, in LowerINT_TO_FP()
4863 SDValue Cond = DAG.getNode(ISD::SRA, dl, MVT::i64, in LowerINT_TO_FP()
4865 Cond = DAG.getNode(ISD::ADD, dl, MVT::i64, in LowerINT_TO_FP()
4867 Cond = DAG.getSetCC(dl, MVT::i32, in LowerINT_TO_FP()
4870 SINT = DAG.getNode(ISD::SELECT, dl, MVT::i64, Cond, Round, SINT); in LowerINT_TO_FP()
4873 SDValue Bits = DAG.getNode(ISD::BITCAST, dl, MVT::f64, SINT); in LowerINT_TO_FP()
4874 SDValue FP = DAG.getNode(FCFOp, dl, FCFTy, Bits); in LowerINT_TO_FP()
4877 FP = DAG.getNode(ISD::FP_ROUND, dl, in LowerINT_TO_FP()
4897 SDValue Store = DAG.getStore(DAG.getEntryNode(), dl, Op.getOperand(0), FIdx, in LowerINT_TO_FP()
4909 dl, DAG.getVTList(MVT::f64, MVT::Other), in LowerINT_TO_FP()
4918 SDValue Ext64 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i64, in LowerINT_TO_FP()
4922 SDValue Store = DAG.getStore(DAG.getEntryNode(), dl, Ext64, FIdx, in LowerINT_TO_FP()
4927 Ld = DAG.getLoad(MVT::f64, dl, Store, FIdx, in LowerINT_TO_FP()
4933 SDValue FP = DAG.getNode(FCFOp, dl, FCFTy, Ld); in LowerINT_TO_FP()
4935 FP = DAG.getNode(ISD::FP_ROUND, dl, MVT::f32, FP, DAG.getIntPtrConstant(0)); in LowerINT_TO_FP()
4941 SDLoc dl(Op); in LowerFLT_ROUNDS_() local
4971 SDValue Chain = DAG.getNode(PPCISD::MFFS, dl, NodeTys, &InFlag, 0); in LowerFLT_ROUNDS_()
4976 SDValue Store = DAG.getStore(DAG.getEntryNode(), dl, Chain, in LowerFLT_ROUNDS_()
4981 SDValue Addr = DAG.getNode(ISD::ADD, dl, PtrVT, StackSlot, Four); in LowerFLT_ROUNDS_()
4982 SDValue CWD = DAG.getLoad(MVT::i32, dl, Store, Addr, MachinePointerInfo(), in LowerFLT_ROUNDS_()
4987 DAG.getNode(ISD::AND, dl, MVT::i32, in LowerFLT_ROUNDS_()
4990 DAG.getNode(ISD::SRL, dl, MVT::i32, in LowerFLT_ROUNDS_()
4991 DAG.getNode(ISD::AND, dl, MVT::i32, in LowerFLT_ROUNDS_()
4992 DAG.getNode(ISD::XOR, dl, MVT::i32, in LowerFLT_ROUNDS_()
4998 DAG.getNode(ISD::XOR, dl, MVT::i32, CWD1, CWD2); in LowerFLT_ROUNDS_()
5001 ISD::TRUNCATE : ISD::ZERO_EXTEND), dl, VT, RetVal); in LowerFLT_ROUNDS_()
5007 SDLoc dl(Op); in LowerSHL_PARTS() local
5019 SDValue Tmp1 = DAG.getNode(ISD::SUB, dl, AmtVT, in LowerSHL_PARTS()
5021 SDValue Tmp2 = DAG.getNode(PPCISD::SHL, dl, VT, Hi, Amt); in LowerSHL_PARTS()
5022 SDValue Tmp3 = DAG.getNode(PPCISD::SRL, dl, VT, Lo, Tmp1); in LowerSHL_PARTS()
5023 SDValue Tmp4 = DAG.getNode(ISD::OR , dl, VT, Tmp2, Tmp3); in LowerSHL_PARTS()
5024 SDValue Tmp5 = DAG.getNode(ISD::ADD, dl, AmtVT, Amt, in LowerSHL_PARTS()
5026 SDValue Tmp6 = DAG.getNode(PPCISD::SHL, dl, VT, Lo, Tmp5); in LowerSHL_PARTS()
5027 SDValue OutHi = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp6); in LowerSHL_PARTS()
5028 SDValue OutLo = DAG.getNode(PPCISD::SHL, dl, VT, Lo, Amt); in LowerSHL_PARTS()
5030 return DAG.getMergeValues(OutOps, 2, dl); in LowerSHL_PARTS()
5035 SDLoc dl(Op); in LowerSRL_PARTS() local
5048 SDValue Tmp1 = DAG.getNode(ISD::SUB, dl, AmtVT, in LowerSRL_PARTS()
5050 SDValue Tmp2 = DAG.getNode(PPCISD::SRL, dl, VT, Lo, Amt); in LowerSRL_PARTS()
5051 SDValue Tmp3 = DAG.getNode(PPCISD::SHL, dl, VT, Hi, Tmp1); in LowerSRL_PARTS()
5052 SDValue Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp3); in LowerSRL_PARTS()
5053 SDValue Tmp5 = DAG.getNode(ISD::ADD, dl, AmtVT, Amt, in LowerSRL_PARTS()
5055 SDValue Tmp6 = DAG.getNode(PPCISD::SRL, dl, VT, Hi, Tmp5); in LowerSRL_PARTS()
5056 SDValue OutLo = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp6); in LowerSRL_PARTS()
5057 SDValue OutHi = DAG.getNode(PPCISD::SRL, dl, VT, Hi, Amt); in LowerSRL_PARTS()
5059 return DAG.getMergeValues(OutOps, 2, dl); in LowerSRL_PARTS()
5063 SDLoc dl(Op); in LowerSRA_PARTS() local
5076 SDValue Tmp1 = DAG.getNode(ISD::SUB, dl, AmtVT, in LowerSRA_PARTS()
5078 SDValue Tmp2 = DAG.getNode(PPCISD::SRL, dl, VT, Lo, Amt); in LowerSRA_PARTS()
5079 SDValue Tmp3 = DAG.getNode(PPCISD::SHL, dl, VT, Hi, Tmp1); in LowerSRA_PARTS()
5080 SDValue Tmp4 = DAG.getNode(ISD::OR, dl, VT, Tmp2, Tmp3); in LowerSRA_PARTS()
5081 SDValue Tmp5 = DAG.getNode(ISD::ADD, dl, AmtVT, Amt, in LowerSRA_PARTS()
5083 SDValue Tmp6 = DAG.getNode(PPCISD::SRA, dl, VT, Hi, Tmp5); in LowerSRA_PARTS()
5084 SDValue OutHi = DAG.getNode(PPCISD::SRA, dl, VT, Hi, Amt); in LowerSRA_PARTS()
5085 SDValue OutLo = DAG.getSelectCC(dl, Tmp5, DAG.getConstant(0, AmtVT), in LowerSRA_PARTS()
5088 return DAG.getMergeValues(OutOps, 2, dl); in LowerSRA_PARTS()
5098 SelectionDAG &DAG, SDLoc dl) { in BuildSplatI() argument
5117 SDValue Res = DAG.getNode(ISD::BUILD_VECTOR, dl, CanonicalVT, in BuildSplatI()
5119 return DAG.getNode(ISD::BITCAST, dl, ReqVT, Res); in BuildSplatI()
5125 SelectionDAG &DAG, SDLoc dl, in BuildIntrinsicOp() argument
5128 return DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, DestVT, in BuildIntrinsicOp()
5135 SelectionDAG &DAG, SDLoc dl, in BuildIntrinsicOp() argument
5138 return DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, DestVT, in BuildIntrinsicOp()
5146 SDLoc dl, EVT DestVT = MVT::Other) { in BuildIntrinsicOp() argument
5148 return DAG.getNode(ISD::INTRINSIC_WO_CHAIN, dl, DestVT, in BuildIntrinsicOp()
5156 EVT VT, SelectionDAG &DAG, SDLoc dl) { in BuildVSLDOI() argument
5158 LHS = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, LHS); in BuildVSLDOI()
5159 RHS = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, RHS); in BuildVSLDOI()
5164 SDValue T = DAG.getVectorShuffle(MVT::v16i8, dl, LHS, RHS, Ops); in BuildVSLDOI()
5165 return DAG.getNode(ISD::BITCAST, dl, VT, T); in BuildVSLDOI()
5175 SDLoc dl(Op); in LowerBUILD_VECTOR() local
5198 Z = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, Z, Z, Z, Z); in LowerBUILD_VECTOR()
5199 Op = DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Z); in LowerBUILD_VECTOR()
5208 return BuildSplatI(SextVal, SplatSize, Op.getValueType(), DAG, dl); in LowerBUILD_VECTOR()
5228 return DAG.getNode(PPCISD::VADD_SPLAT, dl, VT, Elt, EltSize); in LowerBUILD_VECTOR()
5236 SDValue OnesV = BuildSplatI(-1, 4, MVT::v4i32, DAG, dl); in LowerBUILD_VECTOR()
5240 OnesV, DAG, dl); in LowerBUILD_VECTOR()
5243 Res = DAG.getNode(ISD::XOR, dl, MVT::v4i32, Res, OnesV); in LowerBUILD_VECTOR()
5244 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res); in LowerBUILD_VECTOR()
5264 SDValue Res = BuildSplatI(i, SplatSize, MVT::Other, DAG, dl); in LowerBUILD_VECTOR()
5269 Res = BuildIntrinsicOp(IIDs[SplatSize-1], Res, Res, DAG, dl); in LowerBUILD_VECTOR()
5270 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res); in LowerBUILD_VECTOR()
5275 SDValue Res = BuildSplatI(i, SplatSize, MVT::Other, DAG, dl); in LowerBUILD_VECTOR()
5280 Res = BuildIntrinsicOp(IIDs[SplatSize-1], Res, Res, DAG, dl); in LowerBUILD_VECTOR()
5281 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res); in LowerBUILD_VECTOR()
5286 SDValue Res = BuildSplatI(i, SplatSize, MVT::Other, DAG, dl); in LowerBUILD_VECTOR()
5291 Res = BuildIntrinsicOp(IIDs[SplatSize-1], Res, Res, DAG, dl); in LowerBUILD_VECTOR()
5292 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res); in LowerBUILD_VECTOR()
5298 SDValue Res = BuildSplatI(i, SplatSize, MVT::Other, DAG, dl); in LowerBUILD_VECTOR()
5303 Res = BuildIntrinsicOp(IIDs[SplatSize-1], Res, Res, DAG, dl); in LowerBUILD_VECTOR()
5304 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Res); in LowerBUILD_VECTOR()
5309 SDValue T = BuildSplatI(i, SplatSize, MVT::v16i8, DAG, dl); in LowerBUILD_VECTOR()
5310 return BuildVSLDOI(T, T, 1, Op.getValueType(), DAG, dl); in LowerBUILD_VECTOR()
5314 SDValue T = BuildSplatI(i, SplatSize, MVT::v16i8, DAG, dl); in LowerBUILD_VECTOR()
5315 return BuildVSLDOI(T, T, 2, Op.getValueType(), DAG, dl); in LowerBUILD_VECTOR()
5319 SDValue T = BuildSplatI(i, SplatSize, MVT::v16i8, DAG, dl); in LowerBUILD_VECTOR()
5320 return BuildVSLDOI(T, T, 3, Op.getValueType(), DAG, dl); in LowerBUILD_VECTOR()
5331 SDLoc dl) { in GeneratePerfectShuffle() argument
5356 OpLHS = GeneratePerfectShuffle(PerfectShuffleTable[LHSID], LHS, RHS, DAG, dl); in GeneratePerfectShuffle()
5357 OpRHS = GeneratePerfectShuffle(PerfectShuffleTable[RHSID], LHS, RHS, DAG, dl); in GeneratePerfectShuffle()
5391 return BuildVSLDOI(OpLHS, OpRHS, 4, OpLHS.getValueType(), DAG, dl); in GeneratePerfectShuffle()
5393 return BuildVSLDOI(OpLHS, OpRHS, 8, OpLHS.getValueType(), DAG, dl); in GeneratePerfectShuffle()
5395 return BuildVSLDOI(OpLHS, OpRHS, 12, OpLHS.getValueType(), DAG, dl); in GeneratePerfectShuffle()
5398 OpLHS = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, OpLHS); in GeneratePerfectShuffle()
5399 OpRHS = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, OpRHS); in GeneratePerfectShuffle()
5400 SDValue T = DAG.getVectorShuffle(MVT::v16i8, dl, OpLHS, OpRHS, ShufIdxs); in GeneratePerfectShuffle()
5401 return DAG.getNode(ISD::BITCAST, dl, VT, T); in GeneratePerfectShuffle()
5410 SDLoc dl(Op); in LowerVECTOR_SHUFFLE() local
5501 return GeneratePerfectShuffle(PFEntry, V1, V2, DAG, dl); in LowerVECTOR_SHUFFLE()
5522 SDValue VPermMask = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v16i8, in LowerVECTOR_SHUFFLE()
5524 return DAG.getNode(PPCISD::VPERM, dl, V1.getValueType(), V1, V2, VPermMask); in LowerVECTOR_SHUFFLE()
5577 SDLoc dl(Op); in LowerINTRINSIC_WO_CHAIN() local
5585 SDValue Tmp = DAG.getNode(PPCISD::VCMP, dl, Op.getOperand(2).getValueType(), in LowerINTRINSIC_WO_CHAIN()
5588 return DAG.getNode(ISD::BITCAST, dl, Op.getValueType(), Tmp); in LowerINTRINSIC_WO_CHAIN()
5598 SDValue CompNode = DAG.getNode(PPCISD::VCMPo, dl, VTs, Ops, 3); in LowerINTRINSIC_WO_CHAIN()
5602 SDValue Flags = DAG.getNode(PPCISD::MFOCRF, dl, MVT::i32, in LowerINTRINSIC_WO_CHAIN()
5626 Flags = DAG.getNode(ISD::SRL, dl, MVT::i32, Flags, in LowerINTRINSIC_WO_CHAIN()
5629 Flags = DAG.getNode(ISD::AND, dl, MVT::i32, Flags, in LowerINTRINSIC_WO_CHAIN()
5634 Flags = DAG.getNode(ISD::XOR, dl, MVT::i32, Flags, in LowerINTRINSIC_WO_CHAIN()
5641 SDLoc dl(Op); in LowerSCALAR_TO_VECTOR() local
5649 SDValue Store = DAG.getStore(DAG.getEntryNode(), dl, in LowerSCALAR_TO_VECTOR()
5653 return DAG.getLoad(Op.getValueType(), dl, Store, FIdx, MachinePointerInfo(), in LowerSCALAR_TO_VECTOR()
5658 SDLoc dl(Op); in LowerMUL() local
5662 SDValue Zero = BuildSplatI( 0, 1, MVT::v4i32, DAG, dl); in LowerMUL()
5663 SDValue Neg16 = BuildSplatI(-16, 4, MVT::v4i32, DAG, dl);//+16 as shift amt. in LowerMUL()
5666 BuildIntrinsicOp(Intrinsic::ppc_altivec_vrlw, RHS, Neg16, DAG, dl); in LowerMUL()
5669 LHS = DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, LHS); in LowerMUL()
5670 RHS = DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, RHS); in LowerMUL()
5671 RHSSwap = DAG.getNode(ISD::BITCAST, dl, MVT::v8i16, RHSSwap); in LowerMUL()
5676 LHS, RHS, DAG, dl, MVT::v4i32); in LowerMUL()
5679 LHS, RHSSwap, Zero, DAG, dl, MVT::v4i32); in LowerMUL()
5682 Neg16, DAG, dl); in LowerMUL()
5683 return DAG.getNode(ISD::ADD, dl, MVT::v4i32, LoProd, HiProd); in LowerMUL()
5687 SDValue Zero = BuildSplatI(0, 1, MVT::v8i16, DAG, dl); in LowerMUL()
5690 LHS, RHS, Zero, DAG, dl); in LowerMUL()
5696 LHS, RHS, DAG, dl, MVT::v8i16); in LowerMUL()
5697 EvenParts = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, EvenParts); in LowerMUL()
5701 LHS, RHS, DAG, dl, MVT::v8i16); in LowerMUL()
5702 OddParts = DAG.getNode(ISD::BITCAST, dl, MVT::v16i8, OddParts); in LowerMUL()
5710 return DAG.getVectorShuffle(MVT::v16i8, dl, EvenParts, OddParts, Ops); in LowerMUL()
5778 SDLoc dl(N); in ReplaceNodeResults() local
5791 SDValue NewInt = DAG.getNode(N->getOpcode(), dl, VTs, N->getOperand(0), in ReplaceNodeResults()
5816 SDValue Lo = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, in ReplaceNodeResults()
5819 SDValue Hi = DAG.getNode(ISD::EXTRACT_ELEMENT, dl, in ReplaceNodeResults()
5824 SDValue FPreg = DAG.getNode(PPCISD::FADDRTZ, dl, MVT::f64, Lo, Hi); in ReplaceNodeResults()
5828 Results.push_back(DAG.getNode(ISD::BUILD_PAIR, dl, MVT::ppcf128, in ReplaceNodeResults()
5836 Results.push_back(LowerFP_TO_INT(SDValue(N, 0), DAG, dl)); in ReplaceNodeResults()
5861 DebugLoc dl = MI->getDebugLoc(); in EmitAtomicBinary() local
5890 BuildMI(BB, dl, TII->get(is64bit ? PPC::LDARX : PPC::LWARX), dest) in EmitAtomicBinary()
5893 BuildMI(BB, dl, TII->get(BinOpcode), TmpReg).addReg(incr).addReg(dest); in EmitAtomicBinary()
5894 BuildMI(BB, dl, TII->get(is64bit ? PPC::STDCX : PPC::STWCX)) in EmitAtomicBinary()
5896 BuildMI(BB, dl, TII->get(PPC::BCC)) in EmitAtomicBinary()
5930 DebugLoc dl = MI->getDebugLoc(); in EmitPartwordAtomicBinary() local
5985 BuildMI(BB, dl, TII->get(is64bit ? PPC::ADD8 : PPC::ADD4), Ptr1Reg) in EmitPartwordAtomicBinary()
5990 BuildMI(BB, dl, TII->get(PPC::RLWINM), Shift1Reg).addReg(Ptr1Reg) in EmitPartwordAtomicBinary()
5992 BuildMI(BB, dl, TII->get(is64bit ? PPC::XORI8 : PPC::XORI), ShiftReg) in EmitPartwordAtomicBinary()
5995 BuildMI(BB, dl, TII->get(PPC::RLDICR), PtrReg) in EmitPartwordAtomicBinary()
5998 BuildMI(BB, dl, TII->get(PPC::RLWINM), PtrReg) in EmitPartwordAtomicBinary()
6000 BuildMI(BB, dl, TII->get(PPC::SLW), Incr2Reg) in EmitPartwordAtomicBinary()
6003 BuildMI(BB, dl, TII->get(PPC::LI), Mask2Reg).addImm(255); in EmitPartwordAtomicBinary()
6005 BuildMI(BB, dl, TII->get(PPC::LI), Mask3Reg).addImm(0); in EmitPartwordAtomicBinary()
6006 BuildMI(BB, dl, TII->get(PPC::ORI),Mask2Reg).addReg(Mask3Reg).addImm(65535); in EmitPartwordAtomicBinary()
6008 BuildMI(BB, dl, TII->get(PPC::SLW), MaskReg) in EmitPartwordAtomicBinary()
6012 BuildMI(BB, dl, TII->get(PPC::LWARX), TmpDestReg) in EmitPartwordAtomicBinary()
6015 BuildMI(BB, dl, TII->get(BinOpcode), TmpReg) in EmitPartwordAtomicBinary()
6017 BuildMI(BB, dl, TII->get(is64bit ? PPC::ANDC8 : PPC::ANDC), Tmp2Reg) in EmitPartwordAtomicBinary()
6019 BuildMI(BB, dl, TII->get(is64bit ? PPC::AND8 : PPC::AND), Tmp3Reg) in EmitPartwordAtomicBinary()
6021 BuildMI(BB, dl, TII->get(is64bit ? PPC::OR8 : PPC::OR), Tmp4Reg) in EmitPartwordAtomicBinary()
6023 BuildMI(BB, dl, TII->get(PPC::STWCX)) in EmitPartwordAtomicBinary()
6025 BuildMI(BB, dl, TII->get(PPC::BCC)) in EmitPartwordAtomicBinary()
6033 BuildMI(*BB, BB->begin(), dl, TII->get(PPC::SRW), dest).addReg(TmpDestReg) in EmitPartwordAtomicBinary()
6315 DebugLoc dl = MI->getDebugLoc(); in EmitInstrWithCustomInserter() local
6317 TII->insertSelect(*BB, MI, dl, MI->getOperand(0).getReg(), in EmitInstrWithCustomInserter()
6341 DebugLoc dl = MI->getDebugLoc(); in EmitInstrWithCustomInserter() local
6355 BuildMI(BB, dl, TII->get(PPC::BCC)) in EmitInstrWithCustomInserter()
6370 BuildMI(*BB, BB->begin(), dl, in EmitInstrWithCustomInserter()
6447 DebugLoc dl = MI->getDebugLoc(); in EmitInstrWithCustomInserter() local
6479 BuildMI(BB, dl, TII->get(is64bit ? PPC::LDARX : PPC::LWARX), dest) in EmitInstrWithCustomInserter()
6481 BuildMI(BB, dl, TII->get(is64bit ? PPC::CMPD : PPC::CMPW), PPC::CR0) in EmitInstrWithCustomInserter()
6483 BuildMI(BB, dl, TII->get(PPC::BCC)) in EmitInstrWithCustomInserter()
6489 BuildMI(BB, dl, TII->get(is64bit ? PPC::STDCX : PPC::STWCX)) in EmitInstrWithCustomInserter()
6491 BuildMI(BB, dl, TII->get(PPC::BCC)) in EmitInstrWithCustomInserter()
6493 BuildMI(BB, dl, TII->get(PPC::B)).addMBB(exitMBB); in EmitInstrWithCustomInserter()
6498 BuildMI(BB, dl, TII->get(is64bit ? PPC::STDCX : PPC::STWCX)) in EmitInstrWithCustomInserter()
6518 DebugLoc dl = MI->getDebugLoc(); in EmitInstrWithCustomInserter() local
6587 BuildMI(BB, dl, TII->get(is64bit ? PPC::ADD8 : PPC::ADD4), Ptr1Reg) in EmitInstrWithCustomInserter()
6592 BuildMI(BB, dl, TII->get(PPC::RLWINM), Shift1Reg).addReg(Ptr1Reg) in EmitInstrWithCustomInserter()
6594 BuildMI(BB, dl, TII->get(is64bit ? PPC::XORI8 : PPC::XORI), ShiftReg) in EmitInstrWithCustomInserter()
6597 BuildMI(BB, dl, TII->get(PPC::RLDICR), PtrReg) in EmitInstrWithCustomInserter()
6600 BuildMI(BB, dl, TII->get(PPC::RLWINM), PtrReg) in EmitInstrWithCustomInserter()
6602 BuildMI(BB, dl, TII->get(PPC::SLW), NewVal2Reg) in EmitInstrWithCustomInserter()
6604 BuildMI(BB, dl, TII->get(PPC::SLW), OldVal2Reg) in EmitInstrWithCustomInserter()
6607 BuildMI(BB, dl, TII->get(PPC::LI), Mask2Reg).addImm(255); in EmitInstrWithCustomInserter()
6609 BuildMI(BB, dl, TII->get(PPC::LI), Mask3Reg).addImm(0); in EmitInstrWithCustomInserter()
6610 BuildMI(BB, dl, TII->get(PPC::ORI), Mask2Reg) in EmitInstrWithCustomInserter()
6613 BuildMI(BB, dl, TII->get(PPC::SLW), MaskReg) in EmitInstrWithCustomInserter()
6615 BuildMI(BB, dl, TII->get(PPC::AND), NewVal3Reg) in EmitInstrWithCustomInserter()
6617 BuildMI(BB, dl, TII->get(PPC::AND), OldVal3Reg) in EmitInstrWithCustomInserter()
6621 BuildMI(BB, dl, TII->get(PPC::LWARX), TmpDestReg) in EmitInstrWithCustomInserter()
6623 BuildMI(BB, dl, TII->get(PPC::AND),TmpReg) in EmitInstrWithCustomInserter()
6625 BuildMI(BB, dl, TII->get(PPC::CMPW), PPC::CR0) in EmitInstrWithCustomInserter()
6627 BuildMI(BB, dl, TII->get(PPC::BCC)) in EmitInstrWithCustomInserter()
6633 BuildMI(BB, dl, TII->get(PPC::ANDC),Tmp2Reg) in EmitInstrWithCustomInserter()
6635 BuildMI(BB, dl, TII->get(PPC::OR),Tmp4Reg) in EmitInstrWithCustomInserter()
6637 BuildMI(BB, dl, TII->get(PPC::STWCX)).addReg(Tmp4Reg) in EmitInstrWithCustomInserter()
6639 BuildMI(BB, dl, TII->get(PPC::BCC)) in EmitInstrWithCustomInserter()
6641 BuildMI(BB, dl, TII->get(PPC::B)).addMBB(exitMBB); in EmitInstrWithCustomInserter()
6646 BuildMI(BB, dl, TII->get(PPC::STWCX)).addReg(TmpDestReg) in EmitInstrWithCustomInserter()
6653 BuildMI(*BB, BB->begin(), dl, TII->get(PPC::SRW),dest).addReg(TmpReg) in EmitInstrWithCustomInserter()
6662 DebugLoc dl = MI->getDebugLoc(); in EmitInstrWithCustomInserter() local
6668 BuildMI(*BB, MI, dl, TII->get(PPC::MFFS), MFFSReg); in EmitInstrWithCustomInserter()
6671 BuildMI(*BB, MI, dl, TII->get(PPC::MTFSB1)).addImm(31); in EmitInstrWithCustomInserter()
6672 BuildMI(*BB, MI, dl, TII->get(PPC::MTFSB0)).addImm(30); in EmitInstrWithCustomInserter()
6675 BuildMI(*BB, MI, dl, TII->get(PPC::FADD), Dest).addReg(Src1).addReg(Src2); in EmitInstrWithCustomInserter()
6678 BuildMI(*BB, MI, dl, TII->get(PPC::MTFSF)).addImm(1).addReg(MFFSReg); in EmitInstrWithCustomInserter()
6684 DebugLoc dl = MI->getDebugLoc(); in EmitInstrWithCustomInserter() local
6690 BuildMI(*BB, MI, dl, TII->get(isf32 ? PPC::FRINS : PPC::FRIND), Dest) in EmitInstrWithCustomInserter()
6694 BuildMI(*BB, MI, dl, TII->get(isf32 ? PPC::FCMPUS : PPC::FCMPUD), CRReg) in EmitInstrWithCustomInserter()
6707 BuildMI(*BB, MI, dl, TII->get(PPC::BCC)) in EmitInstrWithCustomInserter()
6718 BuildMI(BB, dl, TII->get(PPC::MTFSB1)).addImm(/* 38 - 32 = */ 6); in EmitInstrWithCustomInserter()
6719 BuildMI(BB, dl, TII->get(PPC::B)).addMBB(exitMBB); in EmitInstrWithCustomInserter()
6763 SDLoc dl(Op); in DAGCombineFastRecip() local
6770 FPOne = DAG.getNode(ISD::BUILD_VECTOR, dl, VT, in DAGCombineFastRecip()
6774 SDValue Est = DAG.getNode(PPCISD::FRE, dl, VT, Op); in DAGCombineFastRecip()
6779 SDValue NewEst = DAG.getNode(ISD::FMUL, dl, VT, Op, Est); in DAGCombineFastRecip()
6782 NewEst = DAG.getNode(ISD::FSUB, dl, VT, FPOne, NewEst); in DAGCombineFastRecip()
6785 NewEst = DAG.getNode(ISD::FMUL, dl, VT, Est, NewEst); in DAGCombineFastRecip()
6788 Est = DAG.getNode(ISD::FADD, dl, VT, Est, NewEst); in DAGCombineFastRecip()
6825 SDLoc dl(Op); in DAGCombineFastRecipFSQRT() local
6832 FPThreeHalves = DAG.getNode(ISD::BUILD_VECTOR, dl, VT, in DAGCombineFastRecipFSQRT()
6837 SDValue Est = DAG.getNode(PPCISD::FRSQRTE, dl, VT, Op); in DAGCombineFastRecipFSQRT()
6842 SDValue HalfArg = DAG.getNode(ISD::FMUL, dl, VT, FPThreeHalves, Op); in DAGCombineFastRecipFSQRT()
6845 HalfArg = DAG.getNode(ISD::FSUB, dl, VT, HalfArg, Op); in DAGCombineFastRecipFSQRT()
6850 SDValue NewEst = DAG.getNode(ISD::FMUL, dl, VT, Est, Est); in DAGCombineFastRecipFSQRT()
6853 NewEst = DAG.getNode(ISD::FMUL, dl, VT, HalfArg, NewEst); in DAGCombineFastRecipFSQRT()
6856 NewEst = DAG.getNode(ISD::FSUB, dl, VT, FPThreeHalves, NewEst); in DAGCombineFastRecipFSQRT()
6859 Est = DAG.getNode(ISD::FMUL, dl, VT, Est, NewEst); in DAGCombineFastRecipFSQRT()
6982 SDLoc dl(N); in PerformDAGCombine() local
7013 return DAG.getNode(ISD::FMUL, dl, N->getValueType(0), in PerformDAGCombine()
7026 return DAG.getNode(ISD::FMUL, dl, N->getValueType(0), in PerformDAGCombine()
7040 return DAG.getNode(ISD::FMUL, dl, N->getValueType(0), in PerformDAGCombine()
7048 return DAG.getNode(ISD::FMUL, dl, N->getValueType(0), in PerformDAGCombine()
7080 Val = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Val); in PerformDAGCombine()
7084 Val = DAG.getNode(PPCISD::FCTIDZ, dl, MVT::f64, Val); in PerformDAGCombine()
7086 Val = DAG.getNode(PPCISD::FCFID, dl, MVT::f64, Val); in PerformDAGCombine()
7089 Val = DAG.getNode(ISD::FP_ROUND, dl, MVT::f32, Val, in PerformDAGCombine()
7110 Val = DAG.getNode(ISD::FP_EXTEND, dl, MVT::f64, Val); in PerformDAGCombine()
7113 Val = DAG.getNode(PPCISD::FCTIWZ, dl, MVT::f64, Val); in PerformDAGCombine()
7121 Val = DAG.getMemIntrinsicNode(PPCISD::STFIWX, dl, in PerformDAGCombine()
7141 BSwapOp = DAG.getNode(ISD::ANY_EXTEND, dl, MVT::i32, BSwapOp); in PerformDAGCombine()
7148 DAG.getMemIntrinsicNode(PPCISD::STBRX, dl, DAG.getVTList(MVT::Other), in PerformDAGCombine()
7191 DAG, dl, MVT::v16i8); in PerformDAGCombine()
7223 Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr, Increment); in PerformDAGCombine()
7226 DAG.getLoad(VT, dl, Chain, Ptr, in PerformDAGCombine()
7231 SDValue TF = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, in PerformDAGCombine()
7235 BaseLoad = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, BaseLoad); in PerformDAGCombine()
7238 ExtraLoad = DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, ExtraLoad); in PerformDAGCombine()
7241 BaseLoad, ExtraLoad, PermCntl, DAG, dl); in PerformDAGCombine()
7244 Perm = DAG.getNode(ISD::BITCAST, dl, VT, Perm); in PerformDAGCombine()
7322 DAG.getMemIntrinsicNode(PPCISD::LBRX, dl, in PerformDAGCombine()
7330 ResVal = DAG.getNode(ISD::TRUNCATE, dl, MVT::i16, BSLoad); in PerformDAGCombine()
7432 return DAG.getNode(isBDNZ ? PPCISD::BDNZ : PPCISD::BDZ, dl, MVT::Other, in PerformDAGCombine()
7451 return DAG.getNode(ISD::BR, dl, MVT::Other, in PerformDAGCombine()
7464 SDValue CompNode = DAG.getNode(PPCISD::VCMPo, dl, VTs, Ops, 3); in PerformDAGCombine()
7484 return DAG.getNode(PPCISD::COND_BRANCH, dl, MVT::Other, N->getOperand(0), in PerformDAGCombine()
7768 SDLoc dl(Op); in LowerRETURNADDR() local
7784 return DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(), in LowerRETURNADDR()
7785 DAG.getNode(ISD::ADD, dl, getPointerTy(), in LowerRETURNADDR()
7792 return DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(), in LowerRETURNADDR()
7798 SDLoc dl(Op); in LowerFRAMEADDR() local
7817 SDValue FrameAddr = DAG.getCopyFromReg(DAG.getEntryNode(), dl, FrameReg, in LowerFRAMEADDR()
7820 FrameAddr = DAG.getLoad(Op.getValueType(), dl, DAG.getEntryNode(), in LowerFRAMEADDR()