Lines Matching refs:DAG
61 ExpandLibCall(RTLIB::Libcall LC, SDValue Op, SelectionDAG &DAG, in ExpandLibCall() argument
66 SDValue InChain = DAG.getEntryNode(); in ExpandLibCall()
72 Type *ArgTy = ArgVT.getTypeForEVT(*DAG.getContext()); in ExpandLibCall()
79 SDValue Callee = DAG.getExternalSymbol(TLI.getLibcallName(LC), in ExpandLibCall()
84 Op.getNode()->getValueType(0).getTypeForEVT(*DAG.getContext()); in ExpandLibCall()
89 Callee, Args, DAG, Op.getDebugLoc()); in ExpandLibCall()
544 LowerLOAD(SDValue Op, SelectionDAG &DAG, const SPUSubtarget *ST) { in LowerLOAD() argument
547 EVT PtrVT = DAG.getTargetLoweringInfo().getPointerTy(); in LowerLOAD()
554 EVT vecVT = InVT.isVector()? InVT: EVT::getVectorVT(*DAG.getContext(), InVT, in LowerLOAD()
588 rotate = DAG.getConstant(rotamt, MVT::i16); in LowerLOAD()
593 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, in LowerLOAD()
595 DAG.getConstant((offset & ~0xf), PtrVT)); in LowerLOAD()
606 rotate = DAG.getConstant(rotamt, MVT::i16); in LowerLOAD()
613 rotate = DAG.getNode(ISD::ADD, dl, PtrVT, in LowerLOAD()
615 DAG.getConstant(rotamt, PtrVT)); in LowerLOAD()
620 MachineFunction &MF = DAG.getMachineFunction(); in LowerLOAD()
632 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1); in LowerLOAD()
633 the_chain = DAG.getCopyToReg(the_chain, dl, VReg, basePtr, Flag); in LowerLOAD()
634 basePtr = DAG.getCopyFromReg(the_chain, dl, VReg, PtrVT); in LowerLOAD()
638 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1); in LowerLOAD()
641 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, in LowerLOAD()
643 DAG.getConstant(0, PtrVT)); in LowerLOAD()
648 rotate = DAG.getNode(ISD::ADD, dl, PtrVT, in LowerLOAD()
650 DAG.getConstant(-pso, PtrVT)); in LowerLOAD()
654 SDValue low = DAG.getLoad(MVT::i128, dl, the_chain, basePtr, in LowerLOAD()
665 result = DAG.getNode(SPUISD::ROTBYTES_LEFT, dl, MVT::i128, in LowerLOAD()
670 EVT vecVT = EVT::getVectorVT(*DAG.getContext(), in LowerLOAD()
672 result = DAG.getNode(SPUISD::VEC2PREFSLOT, dl, InVT, in LowerLOAD()
673 DAG.getNode(ISD::BITCAST, dl, vecVT, result)); in LowerLOAD()
681 SDValue offset = DAG.getNode(ISD::AND, dl, MVT::i32, in LowerLOAD()
682 basePtr, DAG.getConstant( 0xf, MVT::i32 ) ); in LowerLOAD()
685 SDValue ones = DAG.getConstant(-1, MVT::v4i32 ); in LowerLOAD()
686 ones = DAG.getNode(ISD::BITCAST, dl, MVT::i128, ones); in LowerLOAD()
688 SDValue high = DAG.getLoad(MVT::i128, dl, the_chain, in LowerLOAD()
689 DAG.getNode(ISD::ADD, dl, PtrVT, in LowerLOAD()
691 DAG.getConstant(16, PtrVT)), in LowerLOAD()
695 the_chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, low.getValue(1), in LowerLOAD()
701 high = DAG.getNode(SPUISD::SRL_BYTES, dl, MVT::i128, high, in LowerLOAD()
702 DAG.getNode(ISD::SUB, dl, MVT::i32, in LowerLOAD()
703 DAG.getConstant( 16, MVT::i32), in LowerLOAD()
709 low = DAG.getNode(SPUISD::SHL_BYTES, dl, MVT::i128, low, offset ); in LowerLOAD()
712 result = DAG.getNode(ISD::BITCAST, dl, vecVT, in LowerLOAD()
713 DAG.getNode(ISD::OR, dl, MVT::i128, low, high)); in LowerLOAD()
716 result = DAG.getNode(SPUISD::VEC2PREFSLOT, dl, InVT, result ); in LowerLOAD()
722 result = DAG.getNode(ISD::SIGN_EXTEND, dl, OutVT, result); in LowerLOAD()
724 result = DAG.getNode(ISD::ZERO_EXTEND, dl, OutVT, result); in LowerLOAD()
731 result = DAG.getNode(NewOpc, dl, OutVT, result); in LowerLOAD()
734 SDVTList retvts = DAG.getVTList(OutVT, MVT::Other); in LowerLOAD()
740 result = DAG.getNode(SPUISD::LDRESULT, dl, retvts, in LowerLOAD()
752 LowerSTORE(SDValue Op, SelectionDAG &DAG, const SPUSubtarget *ST) { in LowerSTORE() argument
757 EVT PtrVT = DAG.getTargetLoweringInfo().getPointerTy(); in LowerSTORE()
761 EVT vecVT = StVT.isVector()? StVT: EVT::getVectorVT(*DAG.getContext(), StVT, in LowerSTORE()
793 insertEltOffs = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, in LowerSTORE()
795 DAG.getConstant((offset & 0xf), PtrVT)); in LowerSTORE()
798 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, in LowerSTORE()
800 DAG.getConstant((offset & ~0xf), PtrVT)); in LowerSTORE()
804 insertEltOffs = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, in LowerSTORE()
806 DAG.getConstant(0, PtrVT)); in LowerSTORE()
807 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, in LowerSTORE()
809 DAG.getConstant(0, PtrVT)); in LowerSTORE()
814 MachineFunction &MF = DAG.getMachineFunction(); in LowerSTORE()
826 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1); in LowerSTORE()
827 the_chain = DAG.getCopyToReg(the_chain, dl, VReg, basePtr, Flag); in LowerSTORE()
828 basePtr = DAG.getCopyFromReg(the_chain, dl, VReg, PtrVT); in LowerSTORE()
832 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Op0, Op1); in LowerSTORE()
835 basePtr = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, in LowerSTORE()
837 DAG.getConstant(0, PtrVT)); in LowerSTORE()
841 insertEltOffs = DAG.getNode(ISD::ADD, dl, PtrVT, in LowerSTORE()
843 DAG.getConstant(0, PtrVT)); in LowerSTORE()
847 SDValue low = DAG.getLoad(vecVT, dl, the_chain, basePtr, in LowerSTORE()
873 basePtr.getNode()->dump(&DAG); in LowerSTORE()
878 SDValue insertEltOp = DAG.getNode(SPUISD::SHUFFLE_MASK, dl, vecVT, in LowerSTORE()
880 SDValue vectorizeOp = DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, vecVT, in LowerSTORE()
883 result = DAG.getNode(SPUISD::SHUFB, dl, vecVT, in LowerSTORE()
885 DAG.getNode(ISD::BITCAST, dl, in LowerSTORE()
888 result = DAG.getStore(the_chain, dl, result, basePtr, in LowerSTORE()
900 SDValue offset = DAG.getNode(ISD::AND, dl, MVT::i32, in LowerSTORE()
902 DAG.getConstant(0xf, MVT::i32)); in LowerSTORE()
904 SDValue offset_compl = DAG.getNode(ISD::SUB, dl, MVT::i32, in LowerSTORE()
905 DAG.getConstant( 16, MVT::i32), in LowerSTORE()
908 SDValue surplus = DAG.getNode(ISD::SUB, dl, MVT::i32, in LowerSTORE()
909 DAG.getConstant( 16, MVT::i32), in LowerSTORE()
910 DAG.getConstant( VT.getSizeInBits()/8, in LowerSTORE()
913 SDValue ones = DAG.getConstant(-1, MVT::v4i32); in LowerSTORE()
914 ones = DAG.getNode(ISD::BITCAST, dl, MVT::i128, ones); in LowerSTORE()
924 Value = DAG.getNode(SPUISD::PREFSLOT2VEC, dl, vecVT, Value); in LowerSTORE()
925 lowmask = DAG.getNode(SPUISD::SRL_BYTES, dl, MVT::i128, ones, surplus); in LowerSTORE()
926 lowmask = DAG.getNode(SPUISD::SHL_BYTES, dl, MVT::i128, lowmask, in LowerSTORE()
928 Value = DAG.getNode(ISD::BITCAST, dl, MVT::i128, Value); in LowerSTORE()
929 Value = DAG.getNode(ISD::AND, dl, MVT::i128, Value, lowmask); in LowerSTORE()
934 Value = DAG.getNode(ISD::BITCAST, dl, MVT::i128, Value); in LowerSTORE()
937 himask = DAG.getNode(SPUISD::SHL_BYTES, dl, MVT::i128, lowmask, in LowerSTORE()
939 lowmask = DAG.getNode(SPUISD::SRL_BYTES, dl, MVT::i128, lowmask, in LowerSTORE()
944 SDValue hi = DAG.getLoad(MVT::i128, dl, the_chain, in LowerSTORE()
945 DAG.getNode(ISD::ADD, dl, PtrVT, basePtr, in LowerSTORE()
946 DAG.getConstant( 16, PtrVT)), in LowerSTORE()
949 the_chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, low.getValue(1), in LowerSTORE()
952 low = DAG.getNode(ISD::AND, dl, MVT::i128, in LowerSTORE()
953 DAG.getNode( ISD::BITCAST, dl, MVT::i128, low), in LowerSTORE()
954 DAG.getNode( ISD::XOR, dl, MVT::i128, lowmask, ones)); in LowerSTORE()
955 hi = DAG.getNode(ISD::AND, dl, MVT::i128, in LowerSTORE()
956 DAG.getNode( ISD::BITCAST, dl, MVT::i128, hi), in LowerSTORE()
957 DAG.getNode( ISD::XOR, dl, MVT::i128, himask, ones)); in LowerSTORE()
961 SDValue rlow = DAG.getNode(SPUISD::SRL_BYTES, dl, MVT::i128, Value, offset); in LowerSTORE()
962 rlow = DAG.getNode(ISD::AND, dl, MVT::i128, rlow, lowmask); in LowerSTORE()
963 SDValue rhi = DAG.getNode(SPUISD::SHL_BYTES, dl, MVT::i128, Value, in LowerSTORE()
968 rlow = DAG.getNode(ISD::OR, dl, MVT::i128, in LowerSTORE()
969 DAG.getNode(ISD::BITCAST, dl, MVT::i128, low), in LowerSTORE()
970 DAG.getNode(ISD::BITCAST, dl, MVT::i128, rlow)); in LowerSTORE()
971 rhi = DAG.getNode(ISD::OR, dl, MVT::i128, in LowerSTORE()
972 DAG.getNode(ISD::BITCAST, dl, MVT::i128, hi), in LowerSTORE()
973 DAG.getNode(ISD::BITCAST, dl, MVT::i128, rhi)); in LowerSTORE()
975 low = DAG.getStore(the_chain, dl, rlow, basePtr, in LowerSTORE()
978 hi = DAG.getStore(the_chain, dl, rhi, in LowerSTORE()
979 DAG.getNode(ISD::ADD, dl, PtrVT, basePtr, in LowerSTORE()
980 DAG.getConstant( 16, PtrVT)), in LowerSTORE()
983 result = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, low.getValue(0), in LowerSTORE()
992 LowerConstantPool(SDValue Op, SelectionDAG &DAG, const SPUSubtarget *ST) { in LowerConstantPool() argument
996 SDValue CPI = DAG.getTargetConstantPool(C, PtrVT, CP->getAlignment()); in LowerConstantPool()
997 SDValue Zero = DAG.getConstant(0, PtrVT); in LowerConstantPool()
998 const TargetMachine &TM = DAG.getTarget(); in LowerConstantPool()
1005 return DAG.getNode(SPUISD::AFormAddr, dl, PtrVT, CPI, Zero); in LowerConstantPool()
1007 SDValue Hi = DAG.getNode(SPUISD::Hi, dl, PtrVT, CPI, Zero); in LowerConstantPool()
1008 SDValue Lo = DAG.getNode(SPUISD::Lo, dl, PtrVT, CPI, Zero); in LowerConstantPool()
1009 return DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Hi, Lo); in LowerConstantPool()
1020 SPU::LowerConstantPool(SDValue Op, SelectionDAG &DAG, const SPUTargetMachine &TM) { in LowerConstantPool() argument
1021 return ::LowerConstantPool(Op, DAG, TM.getSubtargetImpl()); in LowerConstantPool()
1025 LowerJumpTable(SDValue Op, SelectionDAG &DAG, const SPUSubtarget *ST) { in LowerJumpTable() argument
1028 SDValue JTI = DAG.getTargetJumpTable(JT->getIndex(), PtrVT); in LowerJumpTable()
1029 SDValue Zero = DAG.getConstant(0, PtrVT); in LowerJumpTable()
1030 const TargetMachine &TM = DAG.getTarget(); in LowerJumpTable()
1036 return DAG.getNode(SPUISD::AFormAddr, dl, PtrVT, JTI, Zero); in LowerJumpTable()
1038 SDValue Hi = DAG.getNode(SPUISD::Hi, dl, PtrVT, JTI, Zero); in LowerJumpTable()
1039 SDValue Lo = DAG.getNode(SPUISD::Lo, dl, PtrVT, JTI, Zero); in LowerJumpTable()
1040 return DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Hi, Lo); in LowerJumpTable()
1050 LowerGlobalAddress(SDValue Op, SelectionDAG &DAG, const SPUSubtarget *ST) { in LowerGlobalAddress() argument
1054 SDValue GA = DAG.getTargetGlobalAddress(GV, Op.getDebugLoc(), in LowerGlobalAddress()
1056 const TargetMachine &TM = DAG.getTarget(); in LowerGlobalAddress()
1057 SDValue Zero = DAG.getConstant(0, PtrVT); in LowerGlobalAddress()
1063 return DAG.getNode(SPUISD::AFormAddr, dl, PtrVT, GA, Zero); in LowerGlobalAddress()
1065 SDValue Hi = DAG.getNode(SPUISD::Hi, dl, PtrVT, GA, Zero); in LowerGlobalAddress()
1066 SDValue Lo = DAG.getNode(SPUISD::Lo, dl, PtrVT, GA, Zero); in LowerGlobalAddress()
1067 return DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, Hi, Lo); in LowerGlobalAddress()
1080 LowerConstantFP(SDValue Op, SelectionDAG &DAG) { in LowerConstantFP() argument
1092 SDValue T = DAG.getConstant(dbits, MVT::i64); in LowerConstantFP()
1093 SDValue Tvec = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v2i64, T, T); in LowerConstantFP()
1094 return DAG.getNode(SPUISD::VEC2PREFSLOT, dl, VT, in LowerConstantFP()
1095 DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, Tvec)); in LowerConstantFP()
1106 DebugLoc dl, SelectionDAG &DAG, in LowerFormalArguments() argument
1110 MachineFunction &MF = DAG.getMachineFunction(); in LowerFormalArguments()
1119 EVT PtrVT = DAG.getTargetLoweringInfo().getPointerTy(); in LowerFormalArguments()
1122 CCState CCInfo(CallConv, isVarArg, DAG.getMachineFunction(), in LowerFormalArguments()
1123 getTargetMachine(), ArgLocs, *DAG.getContext()); in LowerFormalArguments()
1174 ArgVal = DAG.getCopyFromReg(Chain, dl, VReg, ObjectVT); in LowerFormalArguments()
1181 SDValue FIN = DAG.getFrameIndex(FI, PtrVT); in LowerFormalArguments()
1182 ArgVal = DAG.getLoad(ObjectVT, dl, Chain, FIN, MachinePointerInfo(), in LowerFormalArguments()
1219 SDValue FIN = DAG.getFrameIndex(FuncInfo->getVarArgsFrameIndex(), PtrVT); in LowerFormalArguments()
1221 SDValue ArgVal = DAG.getRegister(VReg, MVT::v16i8); in LowerFormalArguments()
1222 SDValue Store = DAG.getStore(Chain, dl, ArgVal, FIN, MachinePointerInfo(), in LowerFormalArguments()
1231 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, in LowerFormalArguments()
1240 static SDNode *isLSAAddress(SDValue Op, SelectionDAG &DAG) { in isLSAAddress() argument
1249 return DAG.getConstant((int)C->getZExtValue() >> 2, MVT::i32).getNode(); in isLSAAddress()
1259 DebugLoc dl, SelectionDAG &DAG, in LowerCall() argument
1269 CCState CCInfo(CallConv, isVarArg, DAG.getMachineFunction(), in LowerCall()
1270 getTargetMachine(), ArgLocs, *DAG.getContext()); in LowerCall()
1278 EVT PtrVT = DAG.getTargetLoweringInfo().getPointerTy(); in LowerCall()
1283 SDValue StackPtr = DAG.getRegister(SPU::R1, MVT::i32); in LowerCall()
1301 SDValue PtrOff = DAG.getConstant(ArgOffset, StackPtr.getValueType()); in LowerCall()
1302 PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, PtrOff); in LowerCall()
1322 MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff, in LowerCall()
1337 Chain = DAG.getCALLSEQ_START(Chain, DAG.getIntPtrConstant(NumStackBytes, in LowerCall()
1342 Chain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, in LowerCall()
1350 Chain = DAG.getCopyToReg(Chain, dl, RegsToPass[i].first, in LowerCall()
1364 SDValue Zero = DAG.getConstant(0, PtrVT); in LowerCall()
1365 SDValue GA = DAG.getTargetGlobalAddress(GV, dl, CalleeVT); in LowerCall()
1377 Callee = DAG.getNode(SPUISD::AFormAddr, dl, CalleeVT, GA, Zero); in LowerCall()
1379 Callee = DAG.getNode(SPUISD::PCRelAddr, dl, CalleeVT, GA, Zero); in LowerCall()
1384 Callee = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, GA, Zero); in LowerCall()
1388 SDValue Zero = DAG.getConstant(0, PtrVT); in LowerCall()
1389 SDValue ExtSym = DAG.getTargetExternalSymbol(S->getSymbol(), in LowerCall()
1393 Callee = DAG.getNode(SPUISD::AFormAddr, dl, CalleeVT, ExtSym, Zero); in LowerCall()
1395 Callee = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, ExtSym, Zero); in LowerCall()
1397 } else if (SDNode *Dest = isLSAAddress(Callee, DAG)) { in LowerCall()
1409 Ops.push_back(DAG.getRegister(RegsToPass[i].first, in LowerCall()
1415 Chain = DAG.getNode(CallOpc, dl, DAG.getVTList(MVT::Other, MVT::Glue), in LowerCall()
1419 Chain = DAG.getCALLSEQ_END(Chain, DAG.getIntPtrConstant(NumStackBytes, true), in LowerCall()
1420 DAG.getIntPtrConstant(0, true), InFlag); in LowerCall()
1430 CCState CCRetInfo(CallConv, isVarArg, DAG.getMachineFunction(), in LowerCall()
1431 getTargetMachine(), RVLocs, *DAG.getContext()); in LowerCall()
1439 SDValue Val = DAG.getCopyFromReg(Chain, dl, VA.getLocReg(), VA.getLocVT(), in LowerCall()
1454 DebugLoc dl, SelectionDAG &DAG) const { in LowerReturn()
1457 CCState CCInfo(CallConv, isVarArg, DAG.getMachineFunction(), in LowerReturn()
1458 getTargetMachine(), RVLocs, *DAG.getContext()); in LowerReturn()
1463 if (DAG.getMachineFunction().getRegInfo().liveout_empty()) { in LowerReturn()
1465 DAG.getMachineFunction().getRegInfo().addLiveOut(RVLocs[i].getLocReg()); in LowerReturn()
1474 Chain = DAG.getCopyToReg(Chain, dl, VA.getLocReg(), in LowerReturn()
1480 return DAG.getNode(SPUISD::RET_FLAG, dl, MVT::Other, Chain, Flag); in LowerReturn()
1482 return DAG.getNode(SPUISD::RET_FLAG, dl, MVT::Other, Chain); in LowerReturn()
1515 SDValue SPU::get_vec_u18imm(SDNode *N, SelectionDAG &DAG, in get_vec_u18imm() argument
1528 return DAG.getTargetConstant(Value, ValueType); in get_vec_u18imm()
1537 SDValue SPU::get_vec_i16imm(SDNode *N, SelectionDAG &DAG, in get_vec_i16imm() argument
1550 return DAG.getTargetConstant(Value, ValueType); in get_vec_i16imm()
1560 SDValue SPU::get_vec_i10imm(SDNode *N, SelectionDAG &DAG, in get_vec_i10imm() argument
1573 return DAG.getTargetConstant(Value, ValueType); in get_vec_i10imm()
1586 SDValue SPU::get_vec_i8imm(SDNode *N, SelectionDAG &DAG, in get_vec_i8imm() argument
1593 return DAG.getTargetConstant(Value & 0xff, ValueType); in get_vec_i8imm()
1596 return DAG.getTargetConstant(Value, ValueType); in get_vec_i8imm()
1605 SDValue SPU::get_ILHUvec_imm(SDNode *N, SelectionDAG &DAG, in get_ILHUvec_imm() argument
1612 return DAG.getTargetConstant(Value >> 16, ValueType); in get_ILHUvec_imm()
1619 SDValue SPU::get_v4i32_imm(SDNode *N, SelectionDAG &DAG) { in get_v4i32_imm() argument
1621 return DAG.getTargetConstant((unsigned) CN->getZExtValue(), MVT::i32); in get_v4i32_imm()
1628 SDValue SPU::get_v2i64_imm(SDNode *N, SelectionDAG &DAG) { in get_v2i64_imm() argument
1630 return DAG.getTargetConstant((unsigned) CN->getZExtValue(), MVT::i64); in get_v2i64_imm()
1638 LowerBUILD_VECTOR(SDValue Op, SelectionDAG &DAG) { in LowerBUILD_VECTOR() argument
1670 SDValue T = DAG.getConstant(Value32, MVT::i32); in LowerBUILD_VECTOR()
1671 return DAG.getNode(ISD::BITCAST, dl, MVT::v4f32, in LowerBUILD_VECTOR()
1672 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, T,T,T,T)); in LowerBUILD_VECTOR()
1680 SDValue T = DAG.getConstant(f64val, MVT::i64); in LowerBUILD_VECTOR()
1681 return DAG.getNode(ISD::BITCAST, dl, MVT::v2f64, in LowerBUILD_VECTOR()
1682 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v2i64, T, T)); in LowerBUILD_VECTOR()
1690 Ops.assign(8, DAG.getConstant(Value16, MVT::i16)); in LowerBUILD_VECTOR()
1691 return DAG.getNode(ISD::BITCAST, dl, VT, in LowerBUILD_VECTOR()
1692 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v8i16, &Ops[0], Ops.size())); in LowerBUILD_VECTOR()
1696 SDValue T = DAG.getConstant(Value16, EltVT); in LowerBUILD_VECTOR()
1700 return DAG.getNode(ISD::BUILD_VECTOR, dl, VT, &Ops[0], Ops.size()); in LowerBUILD_VECTOR()
1703 SDValue T = DAG.getConstant(unsigned(SplatBits), VT.getVectorElementType()); in LowerBUILD_VECTOR()
1704 return DAG.getNode(ISD::BUILD_VECTOR, dl, VT, T, T, T, T); in LowerBUILD_VECTOR()
1707 return SPU::LowerV2I64Splat(VT, DAG, SplatBits, dl); in LowerBUILD_VECTOR()
1717 SPU::LowerV2I64Splat(EVT OpVT, SelectionDAG& DAG, uint64_t SplatVal, in LowerV2I64Splat() argument
1724 SDValue Val = DAG.getTargetConstant(upper, MVT::i32); in LowerV2I64Splat()
1725 return DAG.getNode(ISD::BITCAST, dl, OpVT, in LowerV2I64Splat()
1726 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, in LowerV2I64Splat()
1741 SDValue SplatValCN = DAG.getConstant(SplatVal, MVT::i64); in LowerV2I64Splat()
1742 return DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v2i64, in LowerV2I64Splat()
1753 SDValue LO32C = DAG.getConstant(lower, MVT::i32); in LowerV2I64Splat()
1754 LO32 = DAG.getNode(ISD::BITCAST, dl, OpVT, in LowerV2I64Splat()
1755 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, in LowerV2I64Splat()
1761 SDValue HI32C = DAG.getConstant(upper, MVT::i32); in LowerV2I64Splat()
1762 HI32 = DAG.getNode(ISD::BITCAST, dl, OpVT, in LowerV2I64Splat()
1763 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, in LowerV2I64Splat()
1797 ShufBytes.push_back(DAG.getConstant(val, MVT::i32)); in LowerV2I64Splat()
1800 return DAG.getNode(SPUISD::SHUFB, dl, OpVT, HI32, LO32, in LowerV2I64Splat()
1801 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, in LowerV2I64Splat()
1819 static SDValue LowerVECTOR_SHUFFLE(SDValue Op, SelectionDAG &DAG) { in LowerVECTOR_SHUFFLE() argument
1902 EVT PtrVT = DAG.getTargetLoweringInfo().getPointerTy(); in LowerVECTOR_SHUFFLE()
1906 SDValue Pointer = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, in LowerVECTOR_SHUFFLE()
1907 DAG.getRegister(SPU::R1, PtrVT), in LowerVECTOR_SHUFFLE()
1908 DAG.getConstant(V2EltOffset, MVT::i32)); in LowerVECTOR_SHUFFLE()
1909 SDValue ShufMaskOp = DAG.getNode(SPUISD::SHUFFLE_MASK, dl, in LowerVECTOR_SHUFFLE()
1913 return DAG.getNode(SPUISD::SHUFB, dl, V1.getValueType(), V2, V1, in LowerVECTOR_SHUFFLE()
1919 return DAG.getNode(SPUISD::ROTBYTES_LEFT, dl, V1.getValueType(), in LowerVECTOR_SHUFFLE()
1920 V1, DAG.getConstant(rotamt, MVT::i16)); in LowerVECTOR_SHUFFLE()
1931 ResultMask.push_back(DAG.getConstant(SrcElt*BytesPerElement+j,MVT::i8)); in LowerVECTOR_SHUFFLE()
1933 SDValue VPermMask = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v16i8, in LowerVECTOR_SHUFFLE()
1935 return DAG.getNode(SPUISD::SHUFB, dl, V1.getValueType(), V1, V2, VPermMask); in LowerVECTOR_SHUFFLE()
1939 static SDValue LowerSCALAR_TO_VECTOR(SDValue Op, SelectionDAG &DAG) { in LowerSCALAR_TO_VECTOR() argument
1964 SDValue CValue = DAG.getConstant(CN->getZExtValue(), VT); in LowerSCALAR_TO_VECTOR()
1968 return DAG.getNode(ISD::BUILD_VECTOR, dl, Op.getValueType(), in LowerSCALAR_TO_VECTOR()
1980 return DAG.getNode(SPUISD::PREFSLOT2VEC, dl, Op.getValueType(), Op0, Op0); in LowerSCALAR_TO_VECTOR()
1987 static SDValue LowerEXTRACT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) { in LowerEXTRACT_VECTOR_ELT() argument
2010 return DAG.getNode(SPUISD::VEC2PREFSLOT, dl, VT, N); in LowerEXTRACT_VECTOR_ELT()
2068 ShufMask[i] = DAG.getConstant(bits, MVT::i32); in LowerEXTRACT_VECTOR_ELT()
2072 DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, in LowerEXTRACT_VECTOR_ELT()
2075 retval = DAG.getNode(SPUISD::VEC2PREFSLOT, dl, VT, in LowerEXTRACT_VECTOR_ELT()
2076 DAG.getNode(SPUISD::SHUFB, dl, N.getValueType(), in LowerEXTRACT_VECTOR_ELT()
2089 Elt = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::i32, Elt); in LowerEXTRACT_VECTOR_ELT()
2099 Elt = DAG.getNode(ISD::SHL, dl, MVT::i32, Elt, in LowerEXTRACT_VECTOR_ELT()
2100 DAG.getConstant(scaleShift, MVT::i32)); in LowerEXTRACT_VECTOR_ELT()
2103 vecShift = DAG.getNode(SPUISD::SHL_BYTES, dl, VecVT, N, Elt); in LowerEXTRACT_VECTOR_ELT()
2115 SDValue factor = DAG.getConstant(0x00000000, MVT::i32); in LowerEXTRACT_VECTOR_ELT()
2116 replicate = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, in LowerEXTRACT_VECTOR_ELT()
2121 SDValue factor = DAG.getConstant(0x00010001, MVT::i32); in LowerEXTRACT_VECTOR_ELT()
2122 replicate = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, in LowerEXTRACT_VECTOR_ELT()
2128 SDValue factor = DAG.getConstant(0x00010203, MVT::i32); in LowerEXTRACT_VECTOR_ELT()
2129 replicate = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, in LowerEXTRACT_VECTOR_ELT()
2135 SDValue loFactor = DAG.getConstant(0x00010203, MVT::i32); in LowerEXTRACT_VECTOR_ELT()
2136 SDValue hiFactor = DAG.getConstant(0x04050607, MVT::i32); in LowerEXTRACT_VECTOR_ELT()
2137 replicate = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, in LowerEXTRACT_VECTOR_ELT()
2143 retval = DAG.getNode(SPUISD::VEC2PREFSLOT, dl, VT, in LowerEXTRACT_VECTOR_ELT()
2144 DAG.getNode(SPUISD::SHUFB, dl, VecVT, in LowerEXTRACT_VECTOR_ELT()
2151 static SDValue LowerINSERT_VECTOR_ELT(SDValue Op, SelectionDAG &DAG) { in LowerINSERT_VECTOR_ELT() argument
2167 EVT PtrVT = DAG.getTargetLoweringInfo().getPointerTy(); in LowerINSERT_VECTOR_ELT()
2169 SDValue Pointer = DAG.getNode(SPUISD::IndirectAddr, dl, PtrVT, in LowerINSERT_VECTOR_ELT()
2170 DAG.getRegister(SPU::R1, PtrVT), in LowerINSERT_VECTOR_ELT()
2171 DAG.getConstant(Offset, PtrVT)); in LowerINSERT_VECTOR_ELT()
2173 EVT maskVT = EVT::getVectorVT(*(DAG.getContext()), VT.getVectorElementType(), in LowerINSERT_VECTOR_ELT()
2175 SDValue ShufMask = DAG.getNode(SPUISD::SHUFFLE_MASK, dl, maskVT, Pointer); in LowerINSERT_VECTOR_ELT()
2178 DAG.getNode(SPUISD::SHUFB, dl, VT, in LowerINSERT_VECTOR_ELT()
2179 DAG.getNode(ISD::SCALAR_TO_VECTOR, dl, VT, ValOp), in LowerINSERT_VECTOR_ELT()
2181 DAG.getNode(ISD::BITCAST, dl, MVT::v4i32, ShufMask)); in LowerINSERT_VECTOR_ELT()
2186 static SDValue LowerI8Math(SDValue Op, SelectionDAG &DAG, unsigned Opc, in LowerI8Math() argument
2203 N0 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i16, N0); in LowerI8Math()
2204 N1 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i16, N1); in LowerI8Math()
2205 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i8, in LowerI8Math()
2206 DAG.getNode(Opc, dl, MVT::i16, N0, N1)); in LowerI8Math()
2214 N0 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i16, N0); in LowerI8Math()
2215 N1 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i16, N1); in LowerI8Math()
2216 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i8, in LowerI8Math()
2217 DAG.getNode(Opc, dl, MVT::i16, N0, N1)); in LowerI8Math()
2224 N0 = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::i16, N0); in LowerI8Math()
2229 N1 = DAG.getNode(N1Opc, dl, ShiftVT, N1); in LowerI8Math()
2234 DAG.getNode(ISD::OR, dl, MVT::i16, N0, in LowerI8Math()
2235 DAG.getNode(ISD::SHL, dl, MVT::i16, in LowerI8Math()
2236 N0, DAG.getConstant(8, MVT::i32))); in LowerI8Math()
2239 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i8, in LowerI8Math()
2240 DAG.getNode(Opc, dl, MVT::i16, ExpandArg, N1)); in LowerI8Math()
2247 N0 = DAG.getNode(ISD::ZERO_EXTEND, dl, MVT::i16, N0); in LowerI8Math()
2254 N1 = DAG.getNode(N1Opc, dl, ShiftVT, N1); in LowerI8Math()
2257 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i8, in LowerI8Math()
2258 DAG.getNode(Opc, dl, MVT::i16, N0, N1)); in LowerI8Math()
2264 N0 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i16, N0); in LowerI8Math()
2270 N1 = DAG.getNode(N1Opc, dl, ShiftVT, N1); in LowerI8Math()
2273 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i8, in LowerI8Math()
2274 DAG.getNode(Opc, dl, MVT::i16, N0, N1)); in LowerI8Math()
2279 N0 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i16, N0); in LowerI8Math()
2280 N1 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i16, N1); in LowerI8Math()
2281 return DAG.getNode(ISD::TRUNCATE, dl, MVT::i8, in LowerI8Math()
2282 DAG.getNode(Opc, dl, MVT::i16, N0, N1)); in LowerI8Math()
2292 LowerByteImmed(SDValue Op, SelectionDAG &DAG) { in LowerByteImmed() argument
2325 SDValue tc = DAG.getTargetConstant(SplatBits & 0xff, MVT::i8); in LowerByteImmed()
2329 return DAG.getNode(Op.getNode()->getOpcode(), dl, VT, Arg, in LowerByteImmed()
2330 DAG.getNode(ISD::BUILD_VECTOR, dl, VT, &tcVec[0], tcVec.size())); in LowerByteImmed()
2345 static SDValue LowerCTPOP(SDValue Op, SelectionDAG &DAG) { in LowerCTPOP() argument
2347 EVT vecVT = EVT::getVectorVT(*DAG.getContext(), in LowerCTPOP()
2356 SDValue Elt0 = DAG.getConstant(0, MVT::i32); in LowerCTPOP()
2358 SDValue Promote = DAG.getNode(SPUISD::PREFSLOT2VEC, dl, vecVT, N, N); in LowerCTPOP()
2359 SDValue CNTB = DAG.getNode(SPUISD::CNTB, dl, vecVT, Promote); in LowerCTPOP()
2361 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::i8, CNTB, Elt0); in LowerCTPOP()
2365 MachineFunction &MF = DAG.getMachineFunction(); in LowerCTPOP()
2371 SDValue Elt0 = DAG.getConstant(0, MVT::i16); in LowerCTPOP()
2372 SDValue Mask0 = DAG.getConstant(0x0f, MVT::i16); in LowerCTPOP()
2373 SDValue Shift1 = DAG.getConstant(8, MVT::i32); in LowerCTPOP()
2375 SDValue Promote = DAG.getNode(SPUISD::PREFSLOT2VEC, dl, vecVT, N, N); in LowerCTPOP()
2376 SDValue CNTB = DAG.getNode(SPUISD::CNTB, dl, vecVT, Promote); in LowerCTPOP()
2381 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::i16, CNTB, Elt0); in LowerCTPOP()
2384 DAG.getCopyToReg(CNTB_result, dl, CNTB_reg, CNTB_result); in LowerCTPOP()
2386 SDValue Tmp1 = DAG.getCopyFromReg(CNTB_rescopy, dl, CNTB_reg, MVT::i16); in LowerCTPOP()
2388 return DAG.getNode(ISD::AND, dl, MVT::i16, in LowerCTPOP()
2389 DAG.getNode(ISD::ADD, dl, MVT::i16, in LowerCTPOP()
2390 DAG.getNode(ISD::SRL, dl, MVT::i16, in LowerCTPOP()
2397 MachineFunction &MF = DAG.getMachineFunction(); in LowerCTPOP()
2404 SDValue Elt0 = DAG.getConstant(0, MVT::i32); in LowerCTPOP()
2405 SDValue Mask0 = DAG.getConstant(0xff, MVT::i32); in LowerCTPOP()
2406 SDValue Shift1 = DAG.getConstant(16, MVT::i32); in LowerCTPOP()
2407 SDValue Shift2 = DAG.getConstant(8, MVT::i32); in LowerCTPOP()
2409 SDValue Promote = DAG.getNode(SPUISD::PREFSLOT2VEC, dl, vecVT, N, N); in LowerCTPOP()
2410 SDValue CNTB = DAG.getNode(SPUISD::CNTB, dl, vecVT, Promote); in LowerCTPOP()
2415 DAG.getNode(ISD::EXTRACT_VECTOR_ELT, dl, MVT::i32, CNTB, Elt0); in LowerCTPOP()
2418 DAG.getCopyToReg(CNTB_result, dl, CNTB_reg, CNTB_result); in LowerCTPOP()
2421 DAG.getNode(ISD::SRL, dl, MVT::i32, in LowerCTPOP()
2422 DAG.getCopyFromReg(CNTB_rescopy, dl, CNTB_reg, MVT::i32), in LowerCTPOP()
2426 DAG.getNode(ISD::ADD, dl, MVT::i32, Comp1, in LowerCTPOP()
2427 DAG.getCopyFromReg(CNTB_rescopy, dl, CNTB_reg, MVT::i32)); in LowerCTPOP()
2430 DAG.getCopyToReg(CNTB_result, dl, SUM1_reg, Sum1); in LowerCTPOP()
2433 DAG.getNode(ISD::SRL, dl, MVT::i32, in LowerCTPOP()
2434 DAG.getCopyFromReg(Sum1_rescopy, dl, SUM1_reg, MVT::i32), in LowerCTPOP()
2437 DAG.getNode(ISD::ADD, dl, MVT::i32, Comp2, in LowerCTPOP()
2438 DAG.getCopyFromReg(Sum1_rescopy, dl, SUM1_reg, MVT::i32)); in LowerCTPOP()
2440 return DAG.getNode(ISD::AND, dl, MVT::i32, Sum2, Mask0); in LowerCTPOP()
2455 static SDValue LowerFP_TO_INT(SDValue Op, SelectionDAG &DAG, in LowerFP_TO_INT() argument
2470 return ExpandLibCall(LC, Op, DAG, false, Dummy, TLI); in LowerFP_TO_INT()
2481 static SDValue LowerINT_TO_FP(SDValue Op, SelectionDAG &DAG, in LowerINT_TO_FP() argument
2496 return ExpandLibCall(LC, Op, DAG, false, Dummy, TLI); in LowerINT_TO_FP()
2506 static SDValue LowerSETCC(SDValue Op, SelectionDAG &DAG, in LowerSETCC() argument
2523 SDValue i64lhs = DAG.getNode(ISD::BITCAST, dl, IntVT, lhs); in LowerSETCC()
2525 DAG.getNode(ISD::TRUNCATE, dl, MVT::i32, in LowerSETCC()
2526 DAG.getNode(ISD::SRL, dl, IntVT, in LowerSETCC()
2527 i64lhs, DAG.getConstant(32, MVT::i32))); in LowerSETCC()
2529 DAG.getNode(ISD::AND, dl, MVT::i32, in LowerSETCC()
2530 lhsHi32, DAG.getConstant(0x7fffffff, MVT::i32)); in LowerSETCC()
2532 DAG.getNode(ISD::TRUNCATE, dl, MVT::i32, i64lhs); in LowerSETCC()
2539 return DAG.getNode(ISD::XOR, dl, ccResultVT, in LowerSETCC()
2540 DAG.getSetCC(dl, ccResultVT, in LowerSETCC()
2541 lhs, DAG.getConstantFP(0.0, lhsVT), in LowerSETCC()
2543 DAG.getConstant(ccResultAllOnes, ccResultVT)); in LowerSETCC()
2546 return DAG.getNode(ISD::AND, dl, ccResultVT, in LowerSETCC()
2547 DAG.getSetCC(dl, ccResultVT, in LowerSETCC()
2549 DAG.getConstant(0x7ff00000, MVT::i32), in LowerSETCC()
2551 DAG.getSetCC(dl, ccResultVT, in LowerSETCC()
2553 DAG.getConstant(0, MVT::i32), in LowerSETCC()
2557 SDValue i64rhs = DAG.getNode(ISD::BITCAST, dl, IntVT, rhs); in LowerSETCC()
2559 DAG.getNode(ISD::TRUNCATE, dl, MVT::i32, in LowerSETCC()
2560 DAG.getNode(ISD::SRL, dl, IntVT, in LowerSETCC()
2561 i64rhs, DAG.getConstant(32, MVT::i32))); in LowerSETCC()
2564 SDValue signMag2TC = DAG.getConstant(0x8000000000000000ULL, IntVT); in LowerSETCC()
2567 SDValue lhsSelectMask = DAG.getNode(ISD::SRA, dl, ccResultVT, in LowerSETCC()
2568 lhsHi32, DAG.getConstant(31, MVT::i32)); in LowerSETCC()
2569 SDValue lhsSignMag2TC = DAG.getNode(ISD::SUB, dl, IntVT, signMag2TC, i64lhs); in LowerSETCC()
2571 DAG.getNode(ISD::SELECT, dl, IntVT, in LowerSETCC()
2574 SDValue rhsSelectMask = DAG.getNode(ISD::SRA, dl, ccResultVT, in LowerSETCC()
2575 rhsHi32, DAG.getConstant(31, MVT::i32)); in LowerSETCC()
2576 SDValue rhsSignMag2TC = DAG.getNode(ISD::SUB, dl, IntVT, signMag2TC, i64rhs); in LowerSETCC()
2578 DAG.getNode(ISD::SELECT, dl, IntVT, in LowerSETCC()
2607 DAG.getSetCC(dl, ccResultVT, lhsSelect, rhsSelect, in LowerSETCC()
2612 SDValue lhsNaN = DAG.getSetCC(dl, ccResultVT, in LowerSETCC()
2613 lhs, DAG.getConstantFP(0.0, MVT::f64), in LowerSETCC()
2615 SDValue rhsNaN = DAG.getSetCC(dl, ccResultVT, in LowerSETCC()
2616 rhs, DAG.getConstantFP(0.0, MVT::f64), in LowerSETCC()
2618 SDValue ordered = DAG.getNode(ISD::AND, dl, ccResultVT, lhsNaN, rhsNaN); in LowerSETCC()
2620 result = DAG.getNode(ISD::AND, dl, ccResultVT, ordered, result); in LowerSETCC()
2638 static SDValue LowerSELECT_CC(SDValue Op, SelectionDAG &DAG, in LowerSELECT_CC() argument
2659 SDValue compare = DAG.getNode(ISD::SETCC, dl, in LowerSELECT_CC()
2662 return DAG.getNode(SPUISD::SELB, dl, VT, falseval, trueval, compare); in LowerSELECT_CC()
2666 static SDValue LowerTRUNCATE(SDValue Op, SelectionDAG &DAG) in LowerTRUNCATE() argument
2671 EVT VecVT = EVT::getVectorVT(*DAG.getContext(), in LowerTRUNCATE()
2684 SDValue shufMask = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, in LowerTRUNCATE()
2685 DAG.getConstant(maskHigh, MVT::i32), in LowerTRUNCATE()
2686 DAG.getConstant(maskLow, MVT::i32), in LowerTRUNCATE()
2687 DAG.getConstant(maskHigh, MVT::i32), in LowerTRUNCATE()
2688 DAG.getConstant(maskLow, MVT::i32)); in LowerTRUNCATE()
2690 SDValue truncShuffle = DAG.getNode(SPUISD::SHUFB, dl, VecVT, in LowerTRUNCATE()
2693 return DAG.getNode(SPUISD::VEC2PREFSLOT, dl, VT, truncShuffle); in LowerTRUNCATE()
2709 static SDValue LowerSIGN_EXTEND(SDValue Op, SelectionDAG &DAG) in LowerSIGN_EXTEND() argument
2722 Op0 = DAG.getNode(ISD::SIGN_EXTEND, dl, MVT::i32, Op0); in LowerSIGN_EXTEND()
2735 SDValue shufMask = DAG.getNode(ISD::BUILD_VECTOR, dl, MVT::v4i32, in LowerSIGN_EXTEND()
2736 DAG.getConstant(mask1, MVT::i32), in LowerSIGN_EXTEND()
2737 DAG.getConstant(mask1, MVT::i32), in LowerSIGN_EXTEND()
2738 DAG.getConstant(mask2, MVT::i32), in LowerSIGN_EXTEND()
2739 DAG.getConstant(mask3, MVT::i32)); in LowerSIGN_EXTEND()
2744 SDValue sraVal = DAG.getNode(ISD::SRA, in LowerSIGN_EXTEND()
2747 DAG.getNode(SPUISD::PREFSLOT2VEC, dl, mvt, Op0, Op0), in LowerSIGN_EXTEND()
2748 DAG.getConstant(31, MVT::i32)); in LowerSIGN_EXTEND()
2751 SDValue extended = SDValue(DAG.getMachineNode(TargetOpcode::COPY_TO_REGCLASS, in LowerSIGN_EXTEND()
2753 DAG.getTargetConstant( in LowerSIGN_EXTEND()
2758 SDValue extShuffle = DAG.getNode(SPUISD::SHUFB, dl, mvt, in LowerSIGN_EXTEND()
2760 return DAG.getNode(ISD::BITCAST, dl, MVT::i128, extShuffle); in LowerSIGN_EXTEND()
2769 SPUTargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const in LowerOperation()
2788 return LowerLOAD(Op, DAG, SPUTM.getSubtargetImpl()); in LowerOperation()
2790 return LowerSTORE(Op, DAG, SPUTM.getSubtargetImpl()); in LowerOperation()
2792 return LowerConstantPool(Op, DAG, SPUTM.getSubtargetImpl()); in LowerOperation()
2794 return LowerGlobalAddress(Op, DAG, SPUTM.getSubtargetImpl()); in LowerOperation()
2796 return LowerJumpTable(Op, DAG, SPUTM.getSubtargetImpl()); in LowerOperation()
2798 return LowerConstantFP(Op, DAG); in LowerOperation()
2809 return LowerI8Math(Op, DAG, Opc, *this); in LowerOperation()
2815 return LowerFP_TO_INT(Op, DAG, *this); in LowerOperation()
2819 return LowerINT_TO_FP(Op, DAG, *this); in LowerOperation()
2823 return LowerBUILD_VECTOR(Op, DAG); in LowerOperation()
2825 return LowerSCALAR_TO_VECTOR(Op, DAG); in LowerOperation()
2827 return LowerVECTOR_SHUFFLE(Op, DAG); in LowerOperation()
2829 return LowerEXTRACT_VECTOR_ELT(Op, DAG); in LowerOperation()
2831 return LowerINSERT_VECTOR_ELT(Op, DAG); in LowerOperation()
2837 return LowerByteImmed(Op, DAG); in LowerOperation()
2842 return LowerI8Math(Op, DAG, Opc, *this); in LowerOperation()
2845 return LowerCTPOP(Op, DAG); in LowerOperation()
2848 return LowerSELECT_CC(Op, DAG, *this); in LowerOperation()
2851 return LowerSETCC(Op, DAG, *this); in LowerOperation()
2854 return LowerTRUNCATE(Op, DAG); in LowerOperation()
2857 return LowerSIGN_EXTEND(Op, DAG); in LowerOperation()
2865 SelectionDAG &DAG) const in ReplaceNodeResults()
2897 SelectionDAG &DAG = DCI.DAG; in PerformDAGCombine() local
2941 SDValue combinedValue = DAG.getConstant(combinedConst, Op0VT); in PerformDAGCombine()
2953 return DAG.getNode(SPUISD::IndirectAddr, dl, Op0VT, in PerformDAGCombine()
2970 N->dump(&DAG); in PerformDAGCombine()
2972 Op0.getNode()->dump(&DAG); in PerformDAGCombine()
2989 DEBUG(N->dump(&DAG)); in PerformDAGCombine()
2991 DEBUG(Op0.getNode()->dump(&DAG)); in PerformDAGCombine()
3011 return DAG.getNode(SPUISD::IndirectAddr, dl, Op0VT, in PerformDAGCombine()
3065 DEBUG(N->dump(&DAG)); in PerformDAGCombine()
3067 DEBUG(Result.getNode()->dump(&DAG)); in PerformDAGCombine()
3161 const SelectionDAG &DAG, in computeMaskedBitsForTargetNode() argument
3211 SelectionDAG &DAG) const { in LowerAsmOperandForConstraint()
3213 TargetLowering::LowerAsmOperandForConstraint(Op, Constraint, Ops, DAG); in LowerAsmOperandForConstraint()