Lines Matching refs:DL

691 EVT SystemZTargetLowering::getSetCCResultType(const DataLayout &DL,  in getSetCCResultType()  argument
970 bool SystemZTargetLowering::isLegalAddressingMode(const DataLayout &DL, in isLegalAddressingMode() argument
1367 static SDValue convertLocVTToValVT(SelectionDAG &DAG, const SDLoc &DL, in convertLocVTToValVT() argument
1373 Value = DAG.getNode(ISD::AssertSext, DL, VA.getLocVT(), Value, in convertLocVTToValVT()
1376 Value = DAG.getNode(ISD::AssertZext, DL, VA.getLocVT(), Value, in convertLocVTToValVT()
1380 Value = DAG.getNode(ISD::TRUNCATE, DL, VA.getValVT(), Value); in convertLocVTToValVT()
1386 Value = DAG.getBuildVector(MVT::v2i64, DL, {Value, DAG.getUNDEF(MVT::i64)}); in convertLocVTToValVT()
1387 Value = DAG.getNode(ISD::BITCAST, DL, VA.getValVT(), Value); in convertLocVTToValVT()
1396 static SDValue convertValVTToLocVT(SelectionDAG &DAG, const SDLoc &DL, in convertValVTToLocVT() argument
1400 return DAG.getNode(ISD::SIGN_EXTEND, DL, VA.getLocVT(), Value); in convertValVTToLocVT()
1402 return DAG.getNode(ISD::ZERO_EXTEND, DL, VA.getLocVT(), Value); in convertValVTToLocVT()
1404 return DAG.getNode(ISD::ANY_EXTEND, DL, VA.getLocVT(), Value); in convertValVTToLocVT()
1412 Value = DAG.getNode(ISD::FP_EXTEND, DL, MVT::f64, Value); in convertValVTToLocVT()
1416 Value = DAG.getNode(ISD::BITCAST, DL, BitCastToType, Value); in convertValVTToLocVT()
1420 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, VA.getLocVT(), Value, in convertValVTToLocVT()
1421 DAG.getConstant(0, DL, MVT::i32)); in convertValVTToLocVT()
1432 SDLoc DL(In); in lowerI128ToGR128() local
1433 SDValue Lo = DAG.getNode(ISD::EXTRACT_ELEMENT, DL, MVT::i64, In, in lowerI128ToGR128()
1434 DAG.getIntPtrConstant(0, DL)); in lowerI128ToGR128()
1435 SDValue Hi = DAG.getNode(ISD::EXTRACT_ELEMENT, DL, MVT::i64, In, in lowerI128ToGR128()
1436 DAG.getIntPtrConstant(1, DL)); in lowerI128ToGR128()
1437 SDNode *Pair = DAG.getMachineNode(SystemZ::PAIR128, DL, in lowerI128ToGR128()
1443 SDLoc DL(In); in lowerGR128ToI128() local
1445 DL, MVT::i64, In); in lowerGR128ToI128()
1447 DL, MVT::i64, In); in lowerGR128ToI128()
1448 return DAG.getNode(ISD::BUILD_PAIR, DL, MVT::i128, Lo, Hi); in lowerGR128ToI128()
1452 SelectionDAG &DAG, const SDLoc &DL, SDValue Val, SDValue *Parts, in splitValueIntoRegisterParts() argument
1468 SelectionDAG &DAG, const SDLoc &DL, const SDValue *Parts, unsigned NumParts, in joinRegisterPartsIntoValue() argument
1482 const SmallVectorImpl<ISD::InputArg> &Ins, const SDLoc &DL, in LowerFormalArguments() argument
1546 ArgValue = DAG.getCopyFromReg(Chain, DL, VReg, LocVT); in LowerFormalArguments()
1567 FIN = DAG.getNode(ISD::ADD, DL, PtrVT, FIN, in LowerFormalArguments()
1568 DAG.getIntPtrConstant(4, DL)); in LowerFormalArguments()
1569 ArgValue = DAG.getLoad(LocVT, DL, Chain, FIN, in LowerFormalArguments()
1576 InVals.push_back(DAG.getLoad(VA.getValVT(), DL, Chain, ArgValue, in LowerFormalArguments()
1585 SDValue Address = DAG.getNode(ISD::ADD, DL, PtrVT, ArgValue, in LowerFormalArguments()
1586 DAG.getIntPtrConstant(PartOffset, DL)); in LowerFormalArguments()
1587 InVals.push_back(DAG.getLoad(PartVA.getValVT(), DL, Chain, Address, in LowerFormalArguments()
1592 InVals.push_back(convertLocVTToValVT(DAG, DL, VA, Chain, ArgValue)); in LowerFormalArguments()
1624 SDValue ArgValue = DAG.getCopyFromReg(Chain, DL, VReg, MVT::f64); in LowerFormalArguments()
1625 MemOps[I] = DAG.getStore(ArgValue.getValue(1), DL, ArgValue, FIN, in LowerFormalArguments()
1629 Chain = DAG.getNode(ISD::TokenFactor, DL, MVT::Other, in LowerFormalArguments()
1665 SDLoc &DL = CLI.DL; in LowerCall() local
1711 Chain = DAG.getCALLSEQ_START(Chain, NumBytes, 0, DL); in LowerCall()
1738 DAG.getStore(Chain, DL, ArgValue, SpillSlot, in LowerCall()
1746 SDValue Address = DAG.getNode(ISD::ADD, DL, PtrVT, SpillSlot, in LowerCall()
1747 DAG.getIntPtrConstant(PartOffset, DL)); in LowerCall()
1749 DAG.getStore(Chain, DL, PartValue, Address, in LowerCall()
1757 ArgValue = convertValVTToLocVT(DAG, DL, VA, ArgValue); in LowerCall()
1773 StackPtr = DAG.getCopyFromReg(Chain, DL, in LowerCall()
1779 SDValue Address = DAG.getNode(ISD::ADD, DL, PtrVT, StackPtr, in LowerCall()
1780 DAG.getIntPtrConstant(Offset, DL)); in LowerCall()
1784 DAG.getStore(Chain, DL, ArgValue, Address, MachinePointerInfo())); in LowerCall()
1792 DAG.getNode(ISD::EXTRACT_ELEMENT, DL, MVT::i64, ArgValue, in LowerCall()
1793 DAG.getIntPtrConstant(1, DL)); in LowerCall()
1801 Chain = DAG.getNode(ISD::TokenFactor, DL, MVT::Other, MemOpChains); in LowerCall()
1809 Callee = DAG.getTargetGlobalAddress(G->getGlobal(), DL, PtrVT); in LowerCall()
1810 Callee = DAG.getNode(SystemZISD::PCREL_WRAPPER, DL, PtrVT, Callee); in LowerCall()
1813 Callee = DAG.getNode(SystemZISD::PCREL_WRAPPER, DL, PtrVT, Callee); in LowerCall()
1815 Chain = DAG.getCopyToReg(Chain, DL, SystemZ::R1D, Callee, Glue); in LowerCall()
1822 Chain = DAG.getCopyToReg(Chain, DL, RegsToPass[I].first, in LowerCall()
1851 return DAG.getNode(SystemZISD::SIBCALL, DL, NodeTys, Ops); in LowerCall()
1852 Chain = DAG.getNode(SystemZISD::CALL, DL, NodeTys, Ops); in LowerCall()
1858 DAG.getConstant(NumBytes, DL, PtrVT, true), in LowerCall()
1859 DAG.getConstant(0, DL, PtrVT, true), in LowerCall()
1860 Glue, DL); in LowerCall()
1873 SDValue RetValue = DAG.getCopyFromReg(Chain, DL, VA.getLocReg(), in LowerCall()
1880 InVals.push_back(convertLocVTToValVT(DAG, DL, VA, Chain, RetValue)); in LowerCall()
1890 ArrayRef<SDValue> Ops, CallingConv::ID CallConv, bool IsSigned, SDLoc DL, in makeExternalCall() argument
1910 CLI.setDebugLoc(DL) in makeExternalCall()
1945 const SDLoc &DL, SelectionDAG &DAG) const { in LowerReturn() argument
1959 return DAG.getNode(SystemZISD::RET_FLAG, DL, MVT::Other, Chain); in LowerReturn()
1976 RetValue = convertValVTToLocVT(DAG, DL, VA, RetValue); in LowerReturn()
1980 Chain = DAG.getCopyToReg(Chain, DL, Reg, RetValue, Glue); in LowerReturn()
1990 return DAG.getNode(SystemZISD::RET_FLAG, DL, MVT::Other, RetOps); in LowerReturn()
2244 static void adjustZeroCmp(SelectionDAG &DAG, const SDLoc &DL, Comparison &C) { in adjustZeroCmp() argument
2258 C.Op1 = DAG.getConstant(0, DL, C.Op1.getValueType()); in adjustZeroCmp()
2264 static void adjustSubwordCmp(SelectionDAG &DAG, const SDLoc &DL, in adjustSubwordCmp() argument
2333 C.Op1 = DAG.getConstant(Value, DL, MVT::i32); in adjustSubwordCmp()
2420 static void adjustForSubtraction(SelectionDAG &DAG, const SDLoc &DL, in adjustForSubtraction() argument
2429 C.Op1 = DAG.getConstant(0, DL, N->getValueType(0)); in adjustForSubtraction()
2487 static void adjustICmpTruncate(SelectionDAG &DAG, const SDLoc &DL, in adjustICmpTruncate() argument
2500 C.Op1 = DAG.getConstant(0, DL, C.Op0.getValueType()); in adjustICmpTruncate()
2619 static void adjustForTestUnderMask(SelectionDAG &DAG, const SDLoc &DL, in adjustForTestUnderMask() argument
2702 C.Op1 = DAG.getConstant(MaskVal, DL, C.Op0.getValueType()); in adjustForTestUnderMask()
2710 static void adjustForRedundantAnd(SelectionDAG &DAG, const SDLoc &DL, in adjustForRedundantAnd() argument
2762 ISD::CondCode Cond, const SDLoc &DL, in getCmp() argument
2807 adjustForRedundantAnd(DAG, DL, C); in getCmp()
2808 adjustZeroCmp(DAG, DL, C); in getCmp()
2809 adjustSubwordCmp(DAG, DL, C); in getCmp()
2810 adjustForSubtraction(DAG, DL, C); in getCmp()
2812 adjustICmpTruncate(DAG, DL, C); in getCmp()
2820 adjustForTestUnderMask(DAG, DL, C); in getCmp()
2825 static SDValue emitCmp(SelectionDAG &DAG, const SDLoc &DL, Comparison &C) { in emitCmp() argument
2840 return DAG.getNode(SystemZISD::ICMP, DL, MVT::i32, C.Op0, C.Op1, in emitCmp()
2841 DAG.getTargetConstant(C.ICmpType, DL, MVT::i32)); in emitCmp()
2845 return DAG.getNode(SystemZISD::TM, DL, MVT::i32, C.Op0, C.Op1, in emitCmp()
2846 DAG.getTargetConstant(RegisterOnly, DL, MVT::i32)); in emitCmp()
2850 return DAG.getNode(C.Opcode, DL, VTs, C.Chain, C.Op0, C.Op1); in emitCmp()
2852 return DAG.getNode(C.Opcode, DL, MVT::i32, C.Op0, C.Op1); in emitCmp()
2858 static void lowerMUL_LOHI32(SelectionDAG &DAG, const SDLoc &DL, unsigned Extend, in lowerMUL_LOHI32() argument
2861 Op0 = DAG.getNode(Extend, DL, MVT::i64, Op0); in lowerMUL_LOHI32()
2862 Op1 = DAG.getNode(Extend, DL, MVT::i64, Op1); in lowerMUL_LOHI32()
2863 SDValue Mul = DAG.getNode(ISD::MUL, DL, MVT::i64, Op0, Op1); in lowerMUL_LOHI32()
2864 Hi = DAG.getNode(ISD::SRL, DL, MVT::i64, Mul, in lowerMUL_LOHI32()
2865 DAG.getConstant(32, DL, MVT::i64)); in lowerMUL_LOHI32()
2866 Hi = DAG.getNode(ISD::TRUNCATE, DL, MVT::i32, Hi); in lowerMUL_LOHI32()
2867 Lo = DAG.getNode(ISD::TRUNCATE, DL, MVT::i32, Mul); in lowerMUL_LOHI32()
2874 static void lowerGR128Binary(SelectionDAG &DAG, const SDLoc &DL, EVT VT, in lowerGR128Binary() argument
2877 SDValue Result = DAG.getNode(Opcode, DL, MVT::Untyped, Op0, Op1); in lowerGR128Binary()
2879 Even = DAG.getTargetExtractSubreg(SystemZ::even128(Is32Bit), DL, VT, Result); in lowerGR128Binary()
2880 Odd = DAG.getTargetExtractSubreg(SystemZ::odd128(Is32Bit), DL, VT, Result); in lowerGR128Binary()
2886 static SDValue emitSETCC(SelectionDAG &DAG, const SDLoc &DL, SDValue CCReg, in emitSETCC() argument
2888 SDValue Ops[] = {DAG.getConstant(1, DL, MVT::i32), in emitSETCC()
2889 DAG.getConstant(0, DL, MVT::i32), in emitSETCC()
2890 DAG.getTargetConstant(CCValid, DL, MVT::i32), in emitSETCC()
2891 DAG.getTargetConstant(CCMask, DL, MVT::i32), CCReg}; in emitSETCC()
2892 return DAG.getNode(SystemZISD::SELECT_CCMASK, DL, MVT::i32, Ops); in emitSETCC()
2968 static SDValue expandV4F32ToV2F64(SelectionDAG &DAG, int Start, const SDLoc &DL, in expandV4F32ToV2F64() argument
2971 Op = DAG.getVectorShuffle(MVT::v4f32, DL, Op, DAG.getUNDEF(MVT::v4f32), Mask); in expandV4F32ToV2F64()
2974 return DAG.getNode(SystemZISD::STRICT_VEXTEND, DL, VTs, Chain, Op); in expandV4F32ToV2F64()
2976 return DAG.getNode(SystemZISD::VEXTEND, DL, MVT::v2f64, Op); in expandV4F32ToV2F64()
2982 const SDLoc &DL, EVT VT, in getVectorCmp() argument
2991 SDValue H0 = expandV4F32ToV2F64(DAG, 0, DL, CmpOp0, Chain); in getVectorCmp()
2992 SDValue L0 = expandV4F32ToV2F64(DAG, 2, DL, CmpOp0, Chain); in getVectorCmp()
2993 SDValue H1 = expandV4F32ToV2F64(DAG, 0, DL, CmpOp1, Chain); in getVectorCmp()
2994 SDValue L1 = expandV4F32ToV2F64(DAG, 2, DL, CmpOp1, Chain); in getVectorCmp()
2997 SDValue HRes = DAG.getNode(Opcode, DL, VTs, Chain, H0, H1); in getVectorCmp()
2998 SDValue LRes = DAG.getNode(Opcode, DL, VTs, Chain, L0, L1); in getVectorCmp()
2999 SDValue Res = DAG.getNode(SystemZISD::PACK, DL, VT, HRes, LRes); in getVectorCmp()
3003 SDValue NewChain = DAG.getNode(ISD::TokenFactor, DL, MVT::Other, Chains); in getVectorCmp()
3005 return DAG.getMergeValues(Ops, DL); in getVectorCmp()
3007 SDValue HRes = DAG.getNode(Opcode, DL, MVT::v2i64, H0, H1); in getVectorCmp()
3008 SDValue LRes = DAG.getNode(Opcode, DL, MVT::v2i64, L0, L1); in getVectorCmp()
3009 return DAG.getNode(SystemZISD::PACK, DL, VT, HRes, LRes); in getVectorCmp()
3013 return DAG.getNode(Opcode, DL, VTs, Chain, CmpOp0, CmpOp1); in getVectorCmp()
3015 return DAG.getNode(Opcode, DL, VT, CmpOp0, CmpOp1); in getVectorCmp()
3023 const SDLoc &DL, EVT VT, in lowerVectorSETCC() argument
3044 DL, VT, CmpOp1, CmpOp0, Chain); in lowerVectorSETCC()
3046 DL, VT, CmpOp0, CmpOp1, Chain); in lowerVectorSETCC()
3047 Cmp = DAG.getNode(ISD::OR, DL, VT, LT, GE); in lowerVectorSETCC()
3049 Chain = DAG.getNode(ISD::TokenFactor, DL, MVT::Other, in lowerVectorSETCC()
3061 DL, VT, CmpOp1, CmpOp0, Chain); in lowerVectorSETCC()
3063 DL, VT, CmpOp0, CmpOp1, Chain); in lowerVectorSETCC()
3064 Cmp = DAG.getNode(ISD::OR, DL, VT, LT, GT); in lowerVectorSETCC()
3066 Chain = DAG.getNode(ISD::TokenFactor, DL, MVT::Other, in lowerVectorSETCC()
3076 Cmp = getVectorCmp(DAG, Opcode, DL, VT, CmpOp0, CmpOp1, Chain); in lowerVectorSETCC()
3080 Cmp = getVectorCmp(DAG, Opcode, DL, VT, CmpOp1, CmpOp0, Chain); in lowerVectorSETCC()
3090 DAG.getSplatBuildVector(VT, DL, DAG.getConstant(-1, DL, MVT::i64)); in lowerVectorSETCC()
3091 Cmp = DAG.getNode(ISD::XOR, DL, VT, Cmp, Mask); in lowerVectorSETCC()
3095 Cmp = DAG.getMergeValues(Ops, DL); in lowerVectorSETCC()
3105 SDLoc DL(Op); in lowerSETCC() local
3108 return lowerVectorSETCC(DAG, DL, VT, CC, CmpOp0, CmpOp1); in lowerSETCC()
3110 Comparison C(getCmp(DAG, CmpOp0, CmpOp1, CC, DL)); in lowerSETCC()
3111 SDValue CCReg = emitCmp(DAG, DL, C); in lowerSETCC()
3112 return emitSETCC(DAG, DL, CCReg, C.CCValid, C.CCMask); in lowerSETCC()
3122 SDLoc DL(Op); in lowerSTRICT_FSETCC() local
3125 SDValue Res = lowerVectorSETCC(DAG, DL, VT, CC, CmpOp0, CmpOp1, in lowerSTRICT_FSETCC()
3130 Comparison C(getCmp(DAG, CmpOp0, CmpOp1, CC, DL, Chain, IsSignaling)); in lowerSTRICT_FSETCC()
3131 SDValue CCReg = emitCmp(DAG, DL, C); in lowerSTRICT_FSETCC()
3133 SDValue Result = emitSETCC(DAG, DL, CCReg, C.CCValid, C.CCMask); in lowerSTRICT_FSETCC()
3135 return DAG.getMergeValues(Ops, DL); in lowerSTRICT_FSETCC()
3143 SDLoc DL(Op); in lowerBR_CC() local
3145 Comparison C(getCmp(DAG, CmpOp0, CmpOp1, CC, DL)); in lowerBR_CC()
3146 SDValue CCReg = emitCmp(DAG, DL, C); in lowerBR_CC()
3148 SystemZISD::BR_CCMASK, DL, Op.getValueType(), Op.getOperand(0), in lowerBR_CC()
3149 DAG.getTargetConstant(C.CCValid, DL, MVT::i32), in lowerBR_CC()
3150 DAG.getTargetConstant(C.CCMask, DL, MVT::i32), Dest, CCReg); in lowerBR_CC()
3166 static SDValue getAbsolute(SelectionDAG &DAG, const SDLoc &DL, SDValue Op, in getAbsolute() argument
3168 Op = DAG.getNode(ISD::ABS, DL, Op.getValueType(), Op); in getAbsolute()
3170 Op = DAG.getNode(ISD::SUB, DL, Op.getValueType(), in getAbsolute()
3171 DAG.getConstant(0, DL, Op.getValueType()), Op); in getAbsolute()
3182 SDLoc DL(Op); in lowerSELECT_CC() local
3184 Comparison C(getCmp(DAG, CmpOp0, CmpOp1, CC, DL)); in lowerSELECT_CC()
3195 return getAbsolute(DAG, DL, TrueOp, C.CCMask & SystemZ::CCMASK_CMP_LT); in lowerSELECT_CC()
3197 return getAbsolute(DAG, DL, FalseOp, C.CCMask & SystemZ::CCMASK_CMP_GT); in lowerSELECT_CC()
3200 SDValue CCReg = emitCmp(DAG, DL, C); in lowerSELECT_CC()
3202 DAG.getTargetConstant(C.CCValid, DL, MVT::i32), in lowerSELECT_CC()
3203 DAG.getTargetConstant(C.CCMask, DL, MVT::i32), CCReg}; in lowerSELECT_CC()
3205 return DAG.getNode(SystemZISD::SELECT_CCMASK, DL, Op.getValueType(), Ops); in lowerSELECT_CC()
3210 SDLoc DL(Node); in lowerGlobalAddress() local
3221 Result = DAG.getTargetGlobalAddress(GV, DL, PtrVT, Anchor); in lowerGlobalAddress()
3222 Result = DAG.getNode(SystemZISD::PCREL_WRAPPER, DL, PtrVT, Result); in lowerGlobalAddress()
3229 DAG.getTargetGlobalAddress(GV, DL, PtrVT, Anchor + Offset); in lowerGlobalAddress()
3230 Result = DAG.getNode(SystemZISD::PCREL_OFFSET, DL, PtrVT, Full, Result); in lowerGlobalAddress()
3236 Result = DAG.getTargetGlobalAddress(GV, DL, PtrVT); in lowerGlobalAddress()
3237 Result = DAG.getNode(SystemZISD::PCREL_WRAPPER, DL, PtrVT, Result); in lowerGlobalAddress()
3240 Result = DAG.getTargetGlobalAddress(GV, DL, PtrVT, 0, SystemZII::MO_GOT); in lowerGlobalAddress()
3241 Result = DAG.getNode(SystemZISD::PCREL_WRAPPER, DL, PtrVT, Result); in lowerGlobalAddress()
3242 Result = DAG.getLoad(PtrVT, DL, DAG.getEntryNode(), Result, in lowerGlobalAddress()
3249 Result = DAG.getNode(ISD::ADD, DL, PtrVT, Result, in lowerGlobalAddress()
3250 DAG.getConstant(Offset, DL, PtrVT)); in lowerGlobalAddress()
3259 SDLoc DL(Node); in lowerTLSGetOffset() local
3270 Chain = DAG.getCopyToReg(Chain, DL, SystemZ::R12D, GOT, Glue); in lowerTLSGetOffset()
3272 Chain = DAG.getCopyToReg(Chain, DL, SystemZ::R2D, GOTOffset, Glue); in lowerTLSGetOffset()
3278 Ops.push_back(DAG.getTargetGlobalAddress(Node->getGlobal(), DL, in lowerTLSGetOffset()
3299 Chain = DAG.getNode(Opcode, DL, NodeTys, Ops); in lowerTLSGetOffset()
3303 return DAG.getCopyFromReg(Chain, DL, SystemZ::R2D, PtrVT, Glue); in lowerTLSGetOffset()
3306 SDValue SystemZTargetLowering::lowerThreadPointer(const SDLoc &DL, in lowerThreadPointer() argument
3312 SDValue TPHi = DAG.getCopyFromReg(Chain, DL, SystemZ::A0, MVT::i32); in lowerThreadPointer()
3313 TPHi = DAG.getNode(ISD::ANY_EXTEND, DL, PtrVT, TPHi); in lowerThreadPointer()
3316 SDValue TPLo = DAG.getCopyFromReg(Chain, DL, SystemZ::A1, MVT::i32); in lowerThreadPointer()
3317 TPLo = DAG.getNode(ISD::ZERO_EXTEND, DL, PtrVT, TPLo); in lowerThreadPointer()
3320 SDValue TPHiShifted = DAG.getNode(ISD::SHL, DL, PtrVT, TPHi, in lowerThreadPointer()
3321 DAG.getConstant(32, DL, PtrVT)); in lowerThreadPointer()
3322 return DAG.getNode(ISD::OR, DL, PtrVT, TPHiShifted, TPLo); in lowerThreadPointer()
3329 SDLoc DL(Node); in lowerGlobalTLSAddress() local
3338 SDValue TP = lowerThreadPointer(DL, DAG); in lowerGlobalTLSAddress()
3350 PtrVT, DL, DAG.getEntryNode(), Offset, in lowerGlobalTLSAddress()
3365 PtrVT, DL, DAG.getEntryNode(), Offset, in lowerGlobalTLSAddress()
3383 PtrVT, DL, DAG.getEntryNode(), DTPOffset, in lowerGlobalTLSAddress()
3386 Offset = DAG.getNode(ISD::ADD, DL, PtrVT, Offset, DTPOffset); in lowerGlobalTLSAddress()
3392 Offset = DAG.getTargetGlobalAddress(GV, DL, PtrVT, 0, in lowerGlobalTLSAddress()
3394 Offset = DAG.getNode(SystemZISD::PCREL_WRAPPER, DL, PtrVT, Offset); in lowerGlobalTLSAddress()
3396 DAG.getLoad(PtrVT, DL, DAG.getEntryNode(), Offset, in lowerGlobalTLSAddress()
3408 PtrVT, DL, DAG.getEntryNode(), Offset, in lowerGlobalTLSAddress()
3415 return DAG.getNode(ISD::ADD, DL, PtrVT, TP, Offset); in lowerGlobalTLSAddress()
3420 SDLoc DL(Node); in lowerBlockAddress() local
3426 Result = DAG.getNode(SystemZISD::PCREL_WRAPPER, DL, PtrVT, Result); in lowerBlockAddress()
3432 SDLoc DL(JT); in lowerJumpTable() local
3437 return DAG.getNode(SystemZISD::PCREL_WRAPPER, DL, PtrVT, Result); in lowerJumpTable()
3442 SDLoc DL(CP); in lowerConstantPool() local
3454 return DAG.getNode(SystemZISD::PCREL_WRAPPER, DL, PtrVT, Result); in lowerConstantPool()
3464 SDLoc DL(Op); in lowerFRAMEADDR() local
3492 SDLoc DL(Op); in lowerRETURNADDR() local
3503 return DAG.getCopyFromReg(DAG.getEntryNode(), DL, LinkReg, PtrVT); in lowerRETURNADDR()
3508 SDLoc DL(Op); in lowerBITCAST() local
3518 SDValue NewLoad = DAG.getLoad(ResVT, DL, LoadN->getChain(), in lowerBITCAST()
3528 SDNode *U64 = DAG.getMachineNode(TargetOpcode::IMPLICIT_DEF, DL, in lowerBITCAST()
3530 In64 = DAG.getTargetInsertSubreg(SystemZ::subreg_h32, DL, in lowerBITCAST()
3533 In64 = DAG.getNode(ISD::ANY_EXTEND, DL, MVT::i64, In); in lowerBITCAST()
3534 In64 = DAG.getNode(ISD::SHL, DL, MVT::i64, In64, in lowerBITCAST()
3535 DAG.getConstant(32, DL, MVT::i64)); in lowerBITCAST()
3537 SDValue Out64 = DAG.getNode(ISD::BITCAST, DL, MVT::f64, In64); in lowerBITCAST()
3539 DL, MVT::f32, Out64); in lowerBITCAST()
3542 SDNode *U64 = DAG.getMachineNode(TargetOpcode::IMPLICIT_DEF, DL, MVT::f64); in lowerBITCAST()
3543 SDValue In64 = DAG.getTargetInsertSubreg(SystemZ::subreg_h32, DL, in lowerBITCAST()
3545 SDValue Out64 = DAG.getNode(ISD::BITCAST, DL, MVT::i64, In64); in lowerBITCAST()
3547 return DAG.getTargetExtractSubreg(SystemZ::subreg_h32, DL, in lowerBITCAST()
3549 SDValue Shift = DAG.getNode(ISD::SRL, DL, MVT::i64, Out64, in lowerBITCAST()
3550 DAG.getConstant(32, DL, MVT::i64)); in lowerBITCAST()
3551 return DAG.getNode(ISD::TRUNCATE, DL, MVT::i32, Shift); in lowerBITCAST()
3571 SDLoc DL(Op); in lowerVASTART_XPLINK() local
3578 return DAG.getStore(Op.getOperand(0), DL, FR, Op.getOperand(1), in lowerVASTART_XPLINK()
3592 SDLoc DL(Op); in lowerVASTART_ELF() local
3597 DAG.getConstant(FuncInfo->getVarArgsFirstGPR(), DL, PtrVT), in lowerVASTART_ELF()
3598 DAG.getConstant(FuncInfo->getVarArgsFirstFPR(), DL, PtrVT), in lowerVASTART_ELF()
3609 FieldAddr = DAG.getNode(ISD::ADD, DL, PtrVT, FieldAddr, in lowerVASTART_ELF()
3610 DAG.getIntPtrConstant(Offset, DL)); in lowerVASTART_ELF()
3611 MemOps[I] = DAG.getStore(Chain, DL, Fields[I], FieldAddr, in lowerVASTART_ELF()
3615 return DAG.getNode(ISD::TokenFactor, DL, MVT::Other, MemOps); in lowerVASTART_ELF()
3625 SDLoc DL(Op); in lowerVACOPY() local
3629 return DAG.getMemcpy(Chain, DL, DstPtr, SrcPtr, DAG.getIntPtrConstant(Sz, DL), in lowerVACOPY()
3653 SDLoc DL(Op); in lowerDYNAMIC_STACKALLOC_XPLINK() local
3669 NeededSpace = DAG.getNode(ISD::ADD, DL, PtrVT, NeededSpace, in lowerDYNAMIC_STACKALLOC_XPLINK()
3670 DAG.getConstant(ExtraAlignSpace, DL, PtrVT)); in lowerDYNAMIC_STACKALLOC_XPLINK()
3678 CallingConv::C, IsSigned, DL, DoesNotReturn, in lowerDYNAMIC_STACKALLOC_XPLINK()
3689 SDValue NewSPRegNode = DAG.getCopyFromReg(Chain, DL, SPReg, PtrVT, Glue); in lowerDYNAMIC_STACKALLOC_XPLINK()
3693 SDValue ArgAdjust = DAG.getNode(SystemZISD::ADJDYNALLOC, DL, PtrMVT); in lowerDYNAMIC_STACKALLOC_XPLINK()
3694 SDValue Result = DAG.getNode(ISD::ADD, DL, PtrMVT, NewSPRegNode, ArgAdjust); in lowerDYNAMIC_STACKALLOC_XPLINK()
3698 Result = DAG.getNode(ISD::ADD, DL, PtrVT, Result, in lowerDYNAMIC_STACKALLOC_XPLINK()
3699 DAG.getConstant(ExtraAlignSpace, DL, PtrVT)); in lowerDYNAMIC_STACKALLOC_XPLINK()
3700 Result = DAG.getNode(ISD::AND, DL, PtrVT, Result, in lowerDYNAMIC_STACKALLOC_XPLINK()
3701 DAG.getConstant(~(RequiredAlign - 1), DL, PtrVT)); in lowerDYNAMIC_STACKALLOC_XPLINK()
3705 return DAG.getMergeValues(Ops, DL); in lowerDYNAMIC_STACKALLOC_XPLINK()
3719 SDLoc DL(Op); in lowerDYNAMIC_STACKALLOC_ELF() local
3734 SDValue OldSP = DAG.getCopyFromReg(Chain, DL, SPReg, MVT::i64); in lowerDYNAMIC_STACKALLOC_ELF()
3739 Backchain = DAG.getLoad(MVT::i64, DL, Chain, getBackchainAddress(OldSP, DAG), in lowerDYNAMIC_STACKALLOC_ELF()
3744 NeededSpace = DAG.getNode(ISD::ADD, DL, MVT::i64, NeededSpace, in lowerDYNAMIC_STACKALLOC_ELF()
3745 DAG.getConstant(ExtraAlignSpace, DL, MVT::i64)); in lowerDYNAMIC_STACKALLOC_ELF()
3750 NewSP = DAG.getNode(SystemZISD::PROBED_ALLOCA, DL, in lowerDYNAMIC_STACKALLOC_ELF()
3755 NewSP = DAG.getNode(ISD::SUB, DL, MVT::i64, OldSP, NeededSpace); in lowerDYNAMIC_STACKALLOC_ELF()
3757 Chain = DAG.getCopyToReg(Chain, DL, SPReg, NewSP); in lowerDYNAMIC_STACKALLOC_ELF()
3763 SDValue ArgAdjust = DAG.getNode(SystemZISD::ADJDYNALLOC, DL, MVT::i64); in lowerDYNAMIC_STACKALLOC_ELF()
3764 SDValue Result = DAG.getNode(ISD::ADD, DL, MVT::i64, NewSP, ArgAdjust); in lowerDYNAMIC_STACKALLOC_ELF()
3769 DAG.getNode(ISD::ADD, DL, MVT::i64, Result, in lowerDYNAMIC_STACKALLOC_ELF()
3770 DAG.getConstant(ExtraAlignSpace, DL, MVT::i64)); in lowerDYNAMIC_STACKALLOC_ELF()
3772 DAG.getNode(ISD::AND, DL, MVT::i64, Result, in lowerDYNAMIC_STACKALLOC_ELF()
3773 DAG.getConstant(~(RequiredAlign - 1), DL, MVT::i64)); in lowerDYNAMIC_STACKALLOC_ELF()
3777 Chain = DAG.getStore(Chain, DL, Backchain, getBackchainAddress(NewSP, DAG), in lowerDYNAMIC_STACKALLOC_ELF()
3781 return DAG.getMergeValues(Ops, DL); in lowerDYNAMIC_STACKALLOC_ELF()
3786 SDLoc DL(Op); in lowerGET_DYNAMIC_AREA_OFFSET() local
3788 return DAG.getNode(SystemZISD::ADJDYNALLOC, DL, MVT::i64); in lowerGET_DYNAMIC_AREA_OFFSET()
3794 SDLoc DL(Op); in lowerSMUL_LOHI() local
3799 lowerMUL_LOHI32(DAG, DL, ISD::SIGN_EXTEND, Op.getOperand(0), in lowerSMUL_LOHI()
3805 lowerGR128Binary(DAG, DL, VT, SystemZISD::SMUL_LOHI, in lowerSMUL_LOHI()
3821 SDValue C63 = DAG.getConstant(63, DL, MVT::i64); in lowerSMUL_LOHI()
3824 SDValue LH = DAG.getNode(ISD::SRA, DL, VT, LL, C63); in lowerSMUL_LOHI()
3825 SDValue RH = DAG.getNode(ISD::SRA, DL, VT, RL, C63); in lowerSMUL_LOHI()
3829 lowerGR128Binary(DAG, DL, VT, SystemZISD::UMUL_LOHI, in lowerSMUL_LOHI()
3831 SDValue NegLLTimesRH = DAG.getNode(ISD::AND, DL, VT, LL, RH); in lowerSMUL_LOHI()
3832 SDValue NegLHTimesRL = DAG.getNode(ISD::AND, DL, VT, LH, RL); in lowerSMUL_LOHI()
3833 SDValue NegSum = DAG.getNode(ISD::ADD, DL, VT, NegLLTimesRH, NegLHTimesRL); in lowerSMUL_LOHI()
3834 Ops[1] = DAG.getNode(ISD::SUB, DL, VT, Ops[1], NegSum); in lowerSMUL_LOHI()
3836 return DAG.getMergeValues(Ops, DL); in lowerSMUL_LOHI()
3842 SDLoc DL(Op); in lowerUMUL_LOHI() local
3847 lowerMUL_LOHI32(DAG, DL, ISD::ZERO_EXTEND, Op.getOperand(0), in lowerUMUL_LOHI()
3853 lowerGR128Binary(DAG, DL, VT, SystemZISD::UMUL_LOHI, in lowerUMUL_LOHI()
3855 return DAG.getMergeValues(Ops, DL); in lowerUMUL_LOHI()
3863 SDLoc DL(Op); in lowerSDIVREM() local
3869 Op0 = DAG.getNode(ISD::SIGN_EXTEND, DL, MVT::i64, Op0); in lowerSDIVREM()
3871 Op1 = DAG.getNode(ISD::TRUNCATE, DL, MVT::i32, Op1); in lowerSDIVREM()
3876 lowerGR128Binary(DAG, DL, VT, SystemZISD::SDIVREM, Op0, Op1, Ops[1], Ops[0]); in lowerSDIVREM()
3877 return DAG.getMergeValues(Ops, DL); in lowerSDIVREM()
3883 SDLoc DL(Op); in lowerUDIVREM() local
3888 lowerGR128Binary(DAG, DL, VT, SystemZISD::UDIVREM, in lowerUDIVREM()
3890 return DAG.getMergeValues(Ops, DL); in lowerUDIVREM()
3942 SDLoc DL(Op); in lowerOR() local
3943 SDValue Low32 = DAG.getNode(ISD::TRUNCATE, DL, MVT::i32, LowOp); in lowerOR()
3944 return DAG.getTargetInsertSubreg(SystemZ::subreg_l32, DL, in lowerOR()
3954 SDLoc DL(N); in lowerXALUO() local
3984 SDValue Result = DAG.getNode(BaseOp, DL, VTs, LHS, RHS); in lowerXALUO()
3986 SDValue SetCC = emitSETCC(DAG, DL, Result.getValue(1), CCValid, CCMask); in lowerXALUO()
3988 SetCC = DAG.getNode(ISD::TRUNCATE, DL, MVT::i1, SetCC); in lowerXALUO()
3990 return DAG.getNode(ISD::MERGE_VALUES, DL, N->getVTList(), Result, SetCC); in lowerXALUO()
4019 SDLoc DL(N); in lowerADDSUBCARRY() local
4045 Carry = DAG.getNode(SystemZISD::GET_CCMASK, DL, MVT::i32, Carry, in lowerADDSUBCARRY()
4046 DAG.getConstant(CCValid, DL, MVT::i32), in lowerADDSUBCARRY()
4047 DAG.getConstant(CCMask, DL, MVT::i32)); in lowerADDSUBCARRY()
4050 SDValue Result = DAG.getNode(BaseOp, DL, VTs, LHS, RHS, Carry); in lowerADDSUBCARRY()
4052 SDValue SetCC = emitSETCC(DAG, DL, Result.getValue(1), CCValid, CCMask); in lowerADDSUBCARRY()
4054 SetCC = DAG.getNode(ISD::TRUNCATE, DL, MVT::i1, SetCC); in lowerADDSUBCARRY()
4056 return DAG.getNode(ISD::MERGE_VALUES, DL, N->getVTList(), Result, SetCC); in lowerADDSUBCARRY()
4062 SDLoc DL(Op); in lowerCTPOP() local
4067 Op = DAG.getNode(ISD::BITCAST, DL, MVT::v16i8, Op); in lowerCTPOP()
4068 Op = DAG.getNode(SystemZISD::POPCNT, DL, MVT::v16i8, Op); in lowerCTPOP()
4073 Op = DAG.getNode(ISD::BITCAST, DL, VT, Op); in lowerCTPOP()
4074 SDValue Shift = DAG.getConstant(8, DL, MVT::i32); in lowerCTPOP()
4075 SDValue Tmp = DAG.getNode(SystemZISD::VSHL_BY_SCALAR, DL, VT, Op, Shift); in lowerCTPOP()
4076 Op = DAG.getNode(ISD::ADD, DL, VT, Op, Tmp); in lowerCTPOP()
4077 Op = DAG.getNode(SystemZISD::VSRL_BY_SCALAR, DL, VT, Op, Shift); in lowerCTPOP()
4081 SDValue Tmp = DAG.getSplatBuildVector(MVT::v16i8, DL, in lowerCTPOP()
4082 DAG.getConstant(0, DL, MVT::i32)); in lowerCTPOP()
4083 Op = DAG.getNode(SystemZISD::VSUM, DL, VT, Op, Tmp); in lowerCTPOP()
4087 SDValue Tmp = DAG.getSplatBuildVector(MVT::v16i8, DL, in lowerCTPOP()
4088 DAG.getConstant(0, DL, MVT::i32)); in lowerCTPOP()
4089 Op = DAG.getNode(SystemZISD::VSUM, DL, MVT::v4i32, Op, Tmp); in lowerCTPOP()
4090 Op = DAG.getNode(SystemZISD::VSUM, DL, VT, Op, Tmp); in lowerCTPOP()
4103 return DAG.getConstant(0, DL, VT); in lowerCTPOP()
4111 Op = DAG.getNode(ISD::ANY_EXTEND, DL, MVT::i64, Op); in lowerCTPOP()
4112 Op = DAG.getNode(SystemZISD::POPCNT, DL, MVT::i64, Op); in lowerCTPOP()
4113 Op = DAG.getNode(ISD::TRUNCATE, DL, VT, Op); in lowerCTPOP()
4118 SDValue Tmp = DAG.getNode(ISD::SHL, DL, VT, Op, DAG.getConstant(I, DL, VT)); in lowerCTPOP()
4120 Tmp = DAG.getNode(ISD::AND, DL, VT, Tmp, in lowerCTPOP()
4121 DAG.getConstant(((uint64_t)1 << BitSize) - 1, DL, VT)); in lowerCTPOP()
4122 Op = DAG.getNode(ISD::ADD, DL, VT, Op, Tmp); in lowerCTPOP()
4127 Op = DAG.getNode(ISD::SRL, DL, VT, Op, in lowerCTPOP()
4128 DAG.getConstant(BitSize - 8, DL, VT)); in lowerCTPOP()
4135 SDLoc DL(Op); in lowerATOMIC_FENCE() local
4145 return SDValue(DAG.getMachineNode(SystemZ::Serialize, DL, MVT::Other, in lowerATOMIC_FENCE()
4151 return DAG.getNode(SystemZISD::MEMBARRIER, DL, MVT::Other, Op.getOperand(0)); in lowerATOMIC_FENCE()
4196 SDLoc DL(Node); in lowerATOMIC_LOAD_OP() local
4203 Src2 = DAG.getConstant(-Const->getSExtValue(), DL, Src2.getValueType()); in lowerATOMIC_LOAD_OP()
4207 SDValue AlignedAddr = DAG.getNode(ISD::AND, DL, PtrVT, Addr, in lowerATOMIC_LOAD_OP()
4208 DAG.getConstant(-4, DL, PtrVT)); in lowerATOMIC_LOAD_OP()
4212 SDValue BitShift = DAG.getNode(ISD::SHL, DL, PtrVT, Addr, in lowerATOMIC_LOAD_OP()
4213 DAG.getConstant(3, DL, PtrVT)); in lowerATOMIC_LOAD_OP()
4214 BitShift = DAG.getNode(ISD::TRUNCATE, DL, WideVT, BitShift); in lowerATOMIC_LOAD_OP()
4218 SDValue NegBitShift = DAG.getNode(ISD::SUB, DL, WideVT, in lowerATOMIC_LOAD_OP()
4219 DAG.getConstant(0, DL, WideVT), BitShift); in lowerATOMIC_LOAD_OP()
4227 Src2 = DAG.getNode(ISD::SHL, DL, WideVT, Src2, in lowerATOMIC_LOAD_OP()
4228 DAG.getConstant(32 - BitSize, DL, WideVT)); in lowerATOMIC_LOAD_OP()
4231 Src2 = DAG.getNode(ISD::OR, DL, WideVT, Src2, in lowerATOMIC_LOAD_OP()
4232 DAG.getConstant(uint32_t(-1) >> BitSize, DL, WideVT)); in lowerATOMIC_LOAD_OP()
4237 DAG.getConstant(BitSize, DL, WideVT) }; in lowerATOMIC_LOAD_OP()
4238 SDValue AtomicOp = DAG.getMemIntrinsicNode(Opcode, DL, VTList, Ops, in lowerATOMIC_LOAD_OP()
4243 SDValue ResultShift = DAG.getNode(ISD::ADD, DL, WideVT, BitShift, in lowerATOMIC_LOAD_OP()
4244 DAG.getConstant(BitSize, DL, WideVT)); in lowerATOMIC_LOAD_OP()
4245 SDValue Result = DAG.getNode(ISD::ROTL, DL, WideVT, AtomicOp, ResultShift); in lowerATOMIC_LOAD_OP()
4248 return DAG.getMergeValues(RetOps, DL); in lowerATOMIC_LOAD_OP()
4263 SDLoc DL(Src2); in lowerATOMIC_LOAD_SUB() local
4270 NegSrc2 = DAG.getConstant(Value, DL, MemVT); in lowerATOMIC_LOAD_SUB()
4273 NegSrc2 = DAG.getNode(ISD::SUB, DL, MemVT, DAG.getConstant(0, DL, MemVT), in lowerATOMIC_LOAD_SUB()
4277 return DAG.getAtomic(ISD::ATOMIC_LOAD_ADD, DL, MemVT, in lowerATOMIC_LOAD_SUB()
4297 SDLoc DL(Node); in lowerATOMIC_CMP_SWAP() local
4307 DL, Tys, Ops, NarrowVT, MMO); in lowerATOMIC_CMP_SWAP()
4308 SDValue Success = emitSETCC(DAG, DL, AtomicOp.getValue(1), in lowerATOMIC_CMP_SWAP()
4323 SDValue AlignedAddr = DAG.getNode(ISD::AND, DL, PtrVT, Addr, in lowerATOMIC_CMP_SWAP()
4324 DAG.getConstant(-4, DL, PtrVT)); in lowerATOMIC_CMP_SWAP()
4328 SDValue BitShift = DAG.getNode(ISD::SHL, DL, PtrVT, Addr, in lowerATOMIC_CMP_SWAP()
4329 DAG.getConstant(3, DL, PtrVT)); in lowerATOMIC_CMP_SWAP()
4330 BitShift = DAG.getNode(ISD::TRUNCATE, DL, WideVT, BitShift); in lowerATOMIC_CMP_SWAP()
4334 SDValue NegBitShift = DAG.getNode(ISD::SUB, DL, WideVT, in lowerATOMIC_CMP_SWAP()
4335 DAG.getConstant(0, DL, WideVT), BitShift); in lowerATOMIC_CMP_SWAP()
4340 NegBitShift, DAG.getConstant(BitSize, DL, WideVT) }; in lowerATOMIC_CMP_SWAP()
4341 SDValue AtomicOp = DAG.getMemIntrinsicNode(SystemZISD::ATOMIC_CMP_SWAPW, DL, in lowerATOMIC_CMP_SWAP()
4343 SDValue Success = emitSETCC(DAG, DL, AtomicOp.getValue(1), in lowerATOMIC_CMP_SWAP()
4347 SDValue OrigVal = DAG.getNode(ISD::AssertZext, DL, WideVT, AtomicOp.getValue(0), in lowerATOMIC_CMP_SWAP()
4402 SDLoc DL(Op); in lowerSTACKRESTORE() local
4406 Chain, DL, Regs->getStackPointerRegister(), MVT::i64); in lowerSTACKRESTORE()
4407 Backchain = DAG.getLoad(MVT::i64, DL, Chain, getBackchainAddress(OldSP, DAG), in lowerSTACKRESTORE()
4411 Chain = DAG.getCopyToReg(Chain, DL, Regs->getStackPointerRegister(), NewSP); in lowerSTACKRESTORE()
4414 Chain = DAG.getStore(Chain, DL, Backchain, getBackchainAddress(NewSP, DAG), in lowerSTACKRESTORE()
4427 SDLoc DL(Op); in lowerPREFETCH() local
4431 SDValue Ops[] = {Op.getOperand(0), DAG.getTargetConstant(Code, DL, MVT::i32), in lowerPREFETCH()
4433 return DAG.getMemIntrinsicNode(SystemZISD::PREFETCH, DL, in lowerPREFETCH()
4440 SDLoc DL(CCReg); in getCCResult() local
4441 SDValue IPM = DAG.getNode(SystemZISD::IPM, DL, MVT::i32, CCReg); in getCCResult()
4442 return DAG.getNode(ISD::SRL, DL, MVT::i32, IPM, in getCCResult()
4443 DAG.getConstant(SystemZ::IPM_CC, DL, MVT::i32)); in getCCResult()
4760 static SDValue getPermuteNode(SelectionDAG &DAG, const SDLoc &DL, in getPermuteNode() argument
4770 Op0 = DAG.getNode(ISD::BITCAST, DL, InVT, Op0); in getPermuteNode()
4771 Op1 = DAG.getNode(ISD::BITCAST, DL, InVT, Op1); in getPermuteNode()
4774 SDValue Op2 = DAG.getTargetConstant(P.Operand, DL, MVT::i32); in getPermuteNode()
4775 Op = DAG.getNode(SystemZISD::PERMUTE_DWORDS, DL, InVT, Op0, Op1, Op2); in getPermuteNode()
4779 Op = DAG.getNode(SystemZISD::PACK, DL, OutVT, Op0, Op1); in getPermuteNode()
4781 Op = DAG.getNode(P.Opcode, DL, InVT, Op0, Op1); in getPermuteNode()
4806 static SDValue getGeneralPermuteNode(SelectionDAG &DAG, const SDLoc &DL, in getGeneralPermuteNode() argument
4810 Ops[I] = DAG.getNode(ISD::BITCAST, DL, MVT::v16i8, Ops[I]); in getGeneralPermuteNode()
4815 return DAG.getNode(SystemZISD::SHL_DOUBLE, DL, MVT::v16i8, Ops[OpNo0], in getGeneralPermuteNode()
4817 DAG.getTargetConstant(StartIndex, DL, MVT::i32)); in getGeneralPermuteNode()
4847 IndexNodes[I] = DAG.getConstant(ZeroIdx, DL, MVT::i32); in getGeneralPermuteNode()
4850 IndexNodes[I] = DAG.getConstant(BIdx, DL, MVT::i32); in getGeneralPermuteNode()
4855 SDValue Mask = DAG.getBuildVector(MVT::v16i8, DL, IndexNodes); in getGeneralPermuteNode()
4858 return DAG.getNode(SystemZISD::PERMUTE, DL, MVT::v16i8, Mask, Src, in getGeneralPermuteNode()
4861 return DAG.getNode(SystemZISD::PERMUTE, DL, MVT::v16i8, Src, Mask, in getGeneralPermuteNode()
4869 IndexNodes[I] = DAG.getConstant(Bytes[I], DL, MVT::i32); in getGeneralPermuteNode()
4872 SDValue Op2 = DAG.getBuildVector(MVT::v16i8, DL, IndexNodes); in getGeneralPermuteNode()
4873 return DAG.getNode(SystemZISD::PERMUTE, DL, MVT::v16i8, Ops[0], in getGeneralPermuteNode()
4886 SDValue insertUnpackIfPrepared(SelectionDAG &DAG, const SDLoc &DL, SDValue Op);
4977 SDValue GeneralShuffle::getNode(SelectionDAG &DAG, const SDLoc &DL) { in getNode() argument
5019 Ops[I] = getPermuteNode(DAG, DL, *P, SubOps[0], SubOps[1]); in getNode()
5031 Ops[I] = getGeneralPermuteNode(DAG, DL, SubOps, NewBytes); in getNode()
5054 Op = getPermuteNode(DAG, DL, *P, Ops[OpNo0], Ops[OpNo1]); in getNode()
5056 Op = getGeneralPermuteNode(DAG, DL, &Ops[0], Bytes); in getNode()
5058 Op = insertUnpackIfPrepared(DAG, DL, Op); in getNode()
5060 return DAG.getNode(ISD::BITCAST, DL, VT, Op); in getNode()
5148 const SDLoc &DL, in insertUnpackIfPrepared() argument
5155 SDValue PackedOp = DAG.getNode(ISD::BITCAST, DL, InVT, Op); in insertUnpackIfPrepared()
5159 return DAG.getNode(SystemZISD::UNPACKL_HIGH, DL, OutVT, PackedOp); in insertUnpackIfPrepared()
5172 static SDValue buildScalarToVector(SelectionDAG &DAG, const SDLoc &DL, EVT VT, in buildScalarToVector() argument
5179 return DAG.getBuildVector(VT, DL, Ops); in buildScalarToVector()
5183 return DAG.getNode(ISD::SCALAR_TO_VECTOR, DL, VT, Value); in buildScalarToVector()
5188 static SDValue buildMergeScalars(SelectionDAG &DAG, const SDLoc &DL, EVT VT, in buildMergeScalars() argument
5193 return DAG.getNode(SystemZISD::REPLICATE, DL, VT, Op1); in buildMergeScalars()
5196 return DAG.getNode(SystemZISD::REPLICATE, DL, VT, Op0); in buildMergeScalars()
5197 return DAG.getNode(SystemZISD::MERGE_HIGH, DL, VT, in buildMergeScalars()
5198 buildScalarToVector(DAG, DL, VT, Op0), in buildMergeScalars()
5199 buildScalarToVector(DAG, DL, VT, Op1)); in buildMergeScalars()
5204 static SDValue joinDwords(SelectionDAG &DAG, const SDLoc &DL, SDValue Op0, in joinDwords() argument
5211 Op0 = Op1 = DAG.getNode(ISD::ANY_EXTEND, DL, MVT::i64, Op1); in joinDwords()
5213 Op0 = Op1 = DAG.getNode(ISD::ANY_EXTEND, DL, MVT::i64, Op0); in joinDwords()
5215 Op0 = DAG.getNode(ISD::ANY_EXTEND, DL, MVT::i64, Op0); in joinDwords()
5216 Op1 = DAG.getNode(ISD::ANY_EXTEND, DL, MVT::i64, Op1); in joinDwords()
5218 return DAG.getNode(SystemZISD::JOIN_DWORDS, DL, MVT::v2i64, Op0, Op1); in joinDwords()
5284 SystemZTargetLowering::buildVector(SelectionDAG &DAG, const SDLoc &DL, EVT VT, in buildVector() argument
5315 return DAG.getNode(SystemZISD::REPLICATE, DL, VT, Single); in buildVector()
5327 return joinDwords(DAG, DL, Elems[0], Elems[1]); in buildVector()
5331 return buildMergeScalars(DAG, DL, VT, Elems[0], Elems[1]); in buildVector()
5341 SDValue Op01 = buildMergeScalars(DAG, DL, VT, Elems[0], Elems[1]); in buildVector()
5342 SDValue Op23 = buildMergeScalars(DAG, DL, VT, Elems[2], Elems[3]); in buildVector()
5351 Op01 = DAG.getNode(ISD::BITCAST, DL, MVT::v2i64, Op01); in buildVector()
5352 Op23 = DAG.getNode(ISD::BITCAST, DL, MVT::v2i64, Op23); in buildVector()
5354 DL, MVT::v2i64, Op01, Op23); in buildVector()
5355 return DAG.getNode(ISD::BITCAST, DL, VT, Op); in buildVector()
5381 Result = DAG.getBuildVector(VT, DL, Constants); in buildVector()
5400 Result = DAG.getNode(SystemZISD::REPLICATE, DL, VT, ReplicatedVal); in buildVector()
5410 Result = DAG.getNode(ISD::BITCAST, DL, VT, in buildVector()
5411 joinDwords(DAG, DL, Elem1, Elem2)); in buildVector()
5422 Result = DAG.getNode(ISD::INSERT_VECTOR_ELT, DL, VT, Result, Elems[I], in buildVector()
5423 DAG.getConstant(I, DL, MVT::i32)); in buildVector()
5430 SDLoc DL(Op); in lowerBUILD_VECTOR() local
5447 return buildScalarToVector(DAG, DL, VT, Op.getOperand(0)); in lowerBUILD_VECTOR()
5454 return buildVector(DAG, DL, VT, Ops); in lowerBUILD_VECTOR()
5460 SDLoc DL(Op); in lowerVECTOR_SHUFFLE() local
5472 return DAG.getNode(SystemZISD::REPLICATE, DL, VT, Op0.getOperand(Index)); in lowerVECTOR_SHUFFLE()
5474 return DAG.getNode(SystemZISD::SPLAT, DL, VT, Op.getOperand(0), in lowerVECTOR_SHUFFLE()
5475 DAG.getTargetConstant(Index, DL, MVT::i32)); in lowerVECTOR_SHUFFLE()
5492 SDLoc DL(Op); in lowerSCALAR_TO_VECTOR() local
5494 return DAG.getNode(ISD::INSERT_VECTOR_ELT, DL, in lowerSCALAR_TO_VECTOR()
5496 Op.getOperand(0), DAG.getConstant(0, DL, MVT::i32)); in lowerSCALAR_TO_VECTOR()
5502 SDLoc DL(Op); in lowerINSERT_VECTOR_ELT() local
5524 SDValue Res = DAG.getNode(ISD::INSERT_VECTOR_ELT, DL, IntVecVT, in lowerINSERT_VECTOR_ELT()
5525 DAG.getNode(ISD::BITCAST, DL, IntVecVT, Op0), in lowerINSERT_VECTOR_ELT()
5526 DAG.getNode(ISD::BITCAST, DL, IntVT, Op1), Op2); in lowerINSERT_VECTOR_ELT()
5527 return DAG.getNode(ISD::BITCAST, DL, VT, Res); in lowerINSERT_VECTOR_ELT()
5534 SDLoc DL(Op); in lowerEXTRACT_VECTOR_ELT() local
5551 SDValue Res = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, IntVT, in lowerEXTRACT_VECTOR_ELT()
5552 DAG.getNode(ISD::BITCAST, DL, IntVecVT, Op0), Op1); in lowerEXTRACT_VECTOR_ELT()
5553 return DAG.getNode(ISD::BITCAST, DL, VT, Res); in lowerEXTRACT_VECTOR_ELT()
5577 SDLoc DL(Op); in lowerZERO_EXTEND_VECTOR_INREG() local
5585 DAG.getSplatVector(InVT, DL, DAG.getConstant(0, DL, InVT.getScalarType())); in lowerZERO_EXTEND_VECTOR_INREG()
5596 SDValue Shuf = DAG.getVectorShuffle(InVT, DL, PackedOp, ZeroVec, Mask); in lowerZERO_EXTEND_VECTOR_INREG()
5597 return DAG.getNode(ISD::BITCAST, DL, OutVT, Shuf); in lowerZERO_EXTEND_VECTOR_INREG()
5605 SDLoc DL(Op); in lowerShift() local
5620 DL, MVT::i32); in lowerShift()
5621 return DAG.getNode(ByScalar, DL, VT, Op0, Shift); in lowerShift()
5629 SDValue Shift = DAG.getNode(ISD::TRUNCATE, DL, MVT::i32, Splat); in lowerShift()
5630 return DAG.getNode(ByScalar, DL, VT, Op0, Shift); in lowerShift()
5646 SDValue Shift = DAG.getNode(ISD::TRUNCATE, DL, MVT::i32, in lowerShift()
5648 return DAG.getNode(ByScalar, DL, VT, Op0, Shift); in lowerShift()
5659 SDLoc DL(Op); in lowerIS_FPCLASS() local
5686 SDValue TDCMaskV = DAG.getConstant(TDCMask, DL, MVT::i64); in lowerIS_FPCLASS()
5688 SDValue Intr = DAG.getNode(SystemZISD::TDC, DL, ResultVT, Arg, TDCMaskV); in lowerIS_FPCLASS()
5824 SDLoc DL(N); in LowerOperationWrapper() local
5829 DL, Tys, Ops, MVT::i128, MMO); in LowerOperationWrapper()
5835 SDLoc DL(N); in LowerOperationWrapper() local
5842 DL, Tys, Ops, MVT::i128, MMO); in LowerOperationWrapper()
5847 Res = SDValue(DAG.getMachineNode(SystemZ::Serialize, DL, in LowerOperationWrapper()
5853 SDLoc DL(N); in LowerOperationWrapper() local
5860 DL, Tys, Ops, MVT::i128, MMO); in LowerOperationWrapper()
5861 SDValue Success = emitSETCC(DAG, DL, Res.getValue(1), in LowerOperationWrapper()
5863 Success = DAG.getZExtOrTrunc(Success, DL, N->getValueType(1)); in LowerOperationWrapper()
5873 SDLoc DL(N); in LowerOperationWrapper() local
5876 SDValue VecBC = DAG.getNode(ISD::BITCAST, DL, MVT::v2i64, Src); in LowerOperationWrapper()
5877 Lo = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::i64, VecBC, in LowerOperationWrapper()
5878 DAG.getConstant(1, DL, MVT::i32)); in LowerOperationWrapper()
5879 Hi = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, MVT::i64, VecBC, in LowerOperationWrapper()
5880 DAG.getConstant(0, DL, MVT::i32)); in LowerOperationWrapper()
5885 DL, MVT::f64, Src); in LowerOperationWrapper()
5887 DL, MVT::f64, Src); in LowerOperationWrapper()
5888 Lo = DAG.getNode(ISD::BITCAST, DL, MVT::i64, LoFP); in LowerOperationWrapper()
5889 Hi = DAG.getNode(ISD::BITCAST, DL, MVT::i64, HiFP); in LowerOperationWrapper()
5891 Results.push_back(DAG.getNode(ISD::BUILD_PAIR, DL, MVT::i128, Lo, Hi)); in LowerOperationWrapper()
6050 SDValue SystemZTargetLowering::combineExtract(const SDLoc &DL, EVT ResVT, in combineExtract() argument
6105 Op = DAG.getNode(ISD::BITCAST, DL, VT, Op); in combineExtract()
6109 Op = DAG.getNode(ISD::TRUNCATE, DL, VT, Op); in combineExtract()
6112 Op = DAG.getNode(ISD::BITCAST, DL, ResVT, Op); in combineExtract()
6145 Op = DAG.getNode(ISD::BITCAST, DL, VecVT, Op); in combineExtract()
6148 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, ResVT, Op, in combineExtract()
6149 DAG.getConstant(Index, DL, MVT::i32)); in combineExtract()
6157 const SDLoc &DL, EVT TruncVT, SDValue Op, DAGCombinerInfo &DCI) const { in combineTruncateExtract() argument
6183 return combineExtract(DL, ResVT, VecVT, Vec, NewIndex, DCI, true); in combineTruncateExtract()
6201 SDLoc DL(N0); in combineZERO_EXTEND() local
6202 SDValue Ops[] = { DAG.getConstant(TrueOp->getZExtValue(), DL, VT), in combineZERO_EXTEND()
6203 DAG.getConstant(FalseOp->getZExtValue(), DL, VT), in combineZERO_EXTEND()
6205 SDValue NewSelect = DAG.getNode(SystemZISD::SELECT_CCMASK, DL, VT, Ops); in combineZERO_EXTEND()
6209 DAG.getNode(ISD::TRUNCATE, DL, N0.getValueType(), NewSelect); in combineZERO_EXTEND()
6230 SDLoc DL(N0); in combineSIGN_EXTEND_INREG() local
6232 DAG.getConstant(-1, DL, VT), DAG.getConstant(0, DL, VT), in combineSIGN_EXTEND_INREG()
6234 return DAG.getNode(ISD::SELECT_CC, DL, VT, Ops); in combineSIGN_EXTEND_INREG()
6330 SDLoc DL(N); in combineLOAD() local
6331 SDValue Extract0 = DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, LdVT, in combineLOAD()
6332 Replicate, DAG.getConstant(0, DL, MVT::i32)); in combineLOAD()
7577 DebugLoc DL = MI->getDebugLoc(); in createPHIsForSelects() local
7578 BuildMI(*SinkMBB, SinkInsertionPoint, DL, TII->get(SystemZ::PHI), DestReg) in createPHIsForSelects()
7698 DebugLoc DL = MI.getDebugLoc(); in emitCondStore() local
7718 BuildMI(*MBB, MI, DL, TII->get(STOCOpcode)) in emitCondStore()
7749 BuildMI(MBB, DL, TII->get(SystemZ::BRC)) in emitCondStore()
7758 BuildMI(MBB, DL, TII->get(StoreOpcode)) in emitCondStore()
7793 DebugLoc DL = MI.getDebugLoc(); in emitAtomicLoadBinary() local
7827 BuildMI(MBB, DL, TII->get(LOpcode), OrigVal).add(Base).addImm(Disp).addReg(0); in emitAtomicLoadBinary()
7839 BuildMI(MBB, DL, TII->get(SystemZ::PHI), OldVal) in emitAtomicLoadBinary()
7843 BuildMI(MBB, DL, TII->get(SystemZ::RLL), RotatedOldVal) in emitAtomicLoadBinary()
7848 BuildMI(MBB, DL, TII->get(BinOpcode), Tmp).addReg(RotatedOldVal).add(Src2); in emitAtomicLoadBinary()
7851 BuildMI(MBB, DL, TII->get(SystemZ::XILF), RotatedNewVal) in emitAtomicLoadBinary()
7857 BuildMI(MBB, DL, TII->get(SystemZ::LCGR), Tmp2).addReg(Tmp); in emitAtomicLoadBinary()
7858 BuildMI(MBB, DL, TII->get(SystemZ::AGHI), RotatedNewVal) in emitAtomicLoadBinary()
7863 BuildMI(MBB, DL, TII->get(BinOpcode), RotatedNewVal) in emitAtomicLoadBinary()
7869 BuildMI(MBB, DL, TII->get(SystemZ::RISBG32), RotatedNewVal) in emitAtomicLoadBinary()
7873 BuildMI(MBB, DL, TII->get(SystemZ::RLL), NewVal) in emitAtomicLoadBinary()
7875 BuildMI(MBB, DL, TII->get(CSOpcode), Dest) in emitAtomicLoadBinary()
7880 BuildMI(MBB, DL, TII->get(SystemZ::BRC)) in emitAtomicLoadBinary()
7910 DebugLoc DL = MI.getDebugLoc(); in emitAtomicLoadMinMax() local
7946 BuildMI(MBB, DL, TII->get(LOpcode), OrigVal).add(Base).addImm(Disp).addReg(0); in emitAtomicLoadMinMax()
7955 BuildMI(MBB, DL, TII->get(SystemZ::PHI), OldVal) in emitAtomicLoadMinMax()
7959 BuildMI(MBB, DL, TII->get(SystemZ::RLL), RotatedOldVal) in emitAtomicLoadMinMax()
7961 BuildMI(MBB, DL, TII->get(CompareOpcode)) in emitAtomicLoadMinMax()
7963 BuildMI(MBB, DL, TII->get(SystemZ::BRC)) in emitAtomicLoadMinMax()
7973 BuildMI(MBB, DL, TII->get(SystemZ::RISBG32), RotatedAltVal) in emitAtomicLoadMinMax()
7986 BuildMI(MBB, DL, TII->get(SystemZ::PHI), RotatedNewVal) in emitAtomicLoadMinMax()
7990 BuildMI(MBB, DL, TII->get(SystemZ::RLL), NewVal) in emitAtomicLoadMinMax()
7992 BuildMI(MBB, DL, TII->get(CSOpcode), Dest) in emitAtomicLoadMinMax()
7997 BuildMI(MBB, DL, TII->get(SystemZ::BRC)) in emitAtomicLoadMinMax()
8024 DebugLoc DL = MI.getDebugLoc(); in emitAtomicCmpSwapW() local
8054 BuildMI(MBB, DL, TII->get(LOpcode), OrigOldVal) in emitAtomicCmpSwapW()
8074 BuildMI(MBB, DL, TII->get(SystemZ::PHI), OldVal) in emitAtomicCmpSwapW()
8077 BuildMI(MBB, DL, TII->get(SystemZ::PHI), SwapVal) in emitAtomicCmpSwapW()
8080 BuildMI(MBB, DL, TII->get(SystemZ::RLL), OldValRot) in emitAtomicCmpSwapW()
8082 BuildMI(MBB, DL, TII->get(SystemZ::RISBG32), RetrySwapVal) in emitAtomicCmpSwapW()
8084 BuildMI(MBB, DL, TII->get(ZExtOpcode), Dest) in emitAtomicCmpSwapW()
8086 BuildMI(MBB, DL, TII->get(SystemZ::CR)) in emitAtomicCmpSwapW()
8088 BuildMI(MBB, DL, TII->get(SystemZ::BRC)) in emitAtomicCmpSwapW()
8101 BuildMI(MBB, DL, TII->get(SystemZ::RLL), StoreVal) in emitAtomicCmpSwapW()
8103 BuildMI(MBB, DL, TII->get(CSOpcode), RetryOldVal) in emitAtomicCmpSwapW()
8108 BuildMI(MBB, DL, TII->get(SystemZ::BRC)) in emitAtomicCmpSwapW()
8130 DebugLoc DL = MI.getDebugLoc(); in emitPair128() local
8138 BuildMI(*MBB, MI, DL, TII->get(TargetOpcode::IMPLICIT_DEF), Tmp1); in emitPair128()
8139 BuildMI(*MBB, MI, DL, TII->get(TargetOpcode::INSERT_SUBREG), Tmp2) in emitPair128()
8141 BuildMI(*MBB, MI, DL, TII->get(TargetOpcode::INSERT_SUBREG), Dest) in emitPair128()
8157 DebugLoc DL = MI.getDebugLoc(); in emitExt128() local
8163 BuildMI(*MBB, MI, DL, TII->get(TargetOpcode::IMPLICIT_DEF), In128); in emitExt128()
8168 BuildMI(*MBB, MI, DL, TII->get(SystemZ::LLILL), Zero64) in emitExt128()
8170 BuildMI(*MBB, MI, DL, TII->get(TargetOpcode::INSERT_SUBREG), NewIn128) in emitExt128()
8174 BuildMI(*MBB, MI, DL, TII->get(TargetOpcode::INSERT_SUBREG), Dest) in emitExt128()
8188 DebugLoc DL = MI.getDebugLoc(); in emitMemMemWrapper() local
8230 BuildMI(*InsMBB, InsPos, DL, TII->get(SystemZ::MVI)) in emitMemMemWrapper()
8233 BuildMI(*InsMBB, InsPos, DL, TII->get(SystemZ::STC)) in emitMemMemWrapper()
8238 BuildMI(*MBB, InsPos, DL, TII->get(Opcode)) in emitMemMemWrapper()
8290 BuildMI(*MBB, MI, DL, TII->get(SystemZ::SRLG), StartCountReg) in emitMemMemWrapper()
8299 BuildMI(*MBB, MI, DL, TII->get(SystemZ::LGHI), Reg).addImm(0); in emitMemMemWrapper()
8337 BuildMI(MBB, DL, TII->get(SystemZ::CGHI)) in emitMemMemWrapper()
8339 BuildMI(MBB, DL, TII->get(SystemZ::BRC)) in emitMemMemWrapper()
8353 BuildMI(MBB, DL, TII->get(SystemZ::CGHI)) in emitMemMemWrapper()
8355 BuildMI(MBB, DL, TII->get(SystemZ::BRC)) in emitMemMemWrapper()
8368 BuildMI(MBB, DL, TII->get(SystemZ::J)).addMBB(AllDoneMBB); in emitMemMemWrapper()
8375 BuildMI(MBB, DL, TII->get(SystemZ::CGHI)) in emitMemMemWrapper()
8377 BuildMI(MBB, DL, TII->get(SystemZ::BRC)) in emitMemMemWrapper()
8414 BuildMI(MBB, DL, TII->get(SystemZ::PHI), ThisDestReg) in emitMemMemWrapper()
8418 BuildMI(MBB, DL, TII->get(SystemZ::PHI), ThisSrcReg) in emitMemMemWrapper()
8421 BuildMI(MBB, DL, TII->get(SystemZ::PHI), ThisCountReg) in emitMemMemWrapper()
8425 BuildMI(MBB, DL, TII->get(SystemZ::PFD)) in emitMemMemWrapper()
8432 BuildMI(MBB, DL, TII->get(SystemZ::BRC)) in emitMemMemWrapper()
8449 BuildMI(MBB, DL, TII->get(SystemZ::LA), NextDestReg) in emitMemMemWrapper()
8452 BuildMI(MBB, DL, TII->get(SystemZ::LA), NextSrcReg) in emitMemMemWrapper()
8454 BuildMI(MBB, DL, TII->get(SystemZ::AGHI), NextCountReg) in emitMemMemWrapper()
8456 BuildMI(MBB, DL, TII->get(SystemZ::CGHI)) in emitMemMemWrapper()
8458 BuildMI(MBB, DL, TII->get(SystemZ::BRC)) in emitMemMemWrapper()
8476 BuildMI(MBB, DL, TII->get(SystemZ::PHI), RemDestReg) in emitMemMemWrapper()
8480 BuildMI(MBB, DL, TII->get(SystemZ::PHI), RemSrcReg) in emitMemMemWrapper()
8488 BuildMI(MBB, DL, TII->get(SystemZ::EXRL_Pseudo)) in emitMemMemWrapper()
8517 BuildMI(MBB, DL, TII->get(SystemZ::BRC)) in emitMemMemWrapper()
8542 DebugLoc DL = MI.getDebugLoc(); in emitStringWrapper() local
8573 BuildMI(MBB, DL, TII->get(SystemZ::PHI), This1Reg) in emitStringWrapper()
8576 BuildMI(MBB, DL, TII->get(SystemZ::PHI), This2Reg) in emitStringWrapper()
8579 BuildMI(MBB, DL, TII->get(TargetOpcode::COPY), SystemZ::R0L).addReg(CharReg); in emitStringWrapper()
8580 BuildMI(MBB, DL, TII->get(Opcode)) in emitStringWrapper()
8583 BuildMI(MBB, DL, TII->get(SystemZ::BRC)) in emitStringWrapper()
8646 DebugLoc DL = MI.getDebugLoc(); in emitLoadAndTestCmp0() local
8656 BuildMI(*MBB, MI, DL, TII->get(Opcode), DstReg) in emitLoadAndTestCmp0()
8669 DebugLoc DL = MI.getDebugLoc(); in emitProbedAlloca() local
8692 BuildMI(MBB, DL, TII->get(SystemZ::PHI), PHIReg) in emitProbedAlloca()
8697 BuildMI(MBB, DL, TII->get(SystemZ::CLGFI)) in emitProbedAlloca()
8700 BuildMI(MBB, DL, TII->get(SystemZ::BRC)) in emitProbedAlloca()
8709 BuildMI(MBB, DL, TII->get(SystemZ::SLGFI), IncReg) in emitProbedAlloca()
8712 BuildMI(MBB, DL, TII->get(SystemZ::SLGFI), SystemZ::R15D) in emitProbedAlloca()
8715 BuildMI(MBB, DL, TII->get(SystemZ::CG)).addReg(SystemZ::R15D) in emitProbedAlloca()
8718 BuildMI(MBB, DL, TII->get(SystemZ::J)).addMBB(LoopTestMBB); in emitProbedAlloca()
8725 BuildMI(MBB, DL, TII->get(SystemZ::CGHI)) in emitProbedAlloca()
8728 BuildMI(MBB, DL, TII->get(SystemZ::BRC)) in emitProbedAlloca()
8737 BuildMI(MBB, DL, TII->get(SystemZ::SLGR), SystemZ::R15D) in emitProbedAlloca()
8740 BuildMI(MBB, DL, TII->get(SystemZ::CG)).addReg(SystemZ::R15D) in emitProbedAlloca()
8747 BuildMI(*MBB, MBB->begin(), DL, TII->get(TargetOpcode::COPY), DstReg) in emitProbedAlloca()
8758 SDLoc DL(SP); in getBackchainAddress() local
8759 return DAG.getNode(ISD::ADD, DL, MVT::i64, SP, in getBackchainAddress()
8760 DAG.getIntPtrConstant(TFL->getBackchainOffset(MF), DL)); in getBackchainAddress()