reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
141 bool isPPC64 = Subtarget.isPPC64(); 182 if (!Subtarget.hasSPE()) { 198 if (Subtarget.useCRBits()) { 201 if (isPPC64 || Subtarget.hasFPCVT()) { 249 if (Subtarget.isISA3_0()) { 282 if (Subtarget.hasSPE()) { 293 if (!Subtarget.hasFSQRT() && 294 !(TM.Options.UnsafeFPMath && Subtarget.hasFRSQRTE() && 295 Subtarget.hasFRE())) 298 if (!Subtarget.hasFSQRT() && 299 !(TM.Options.UnsafeFPMath && Subtarget.hasFRSQRTES() && 300 Subtarget.hasFRES())) 303 if (Subtarget.hasFCPSGN()) { 311 if (Subtarget.hasFPRND()) { 327 if (Subtarget.hasP9Vector()) 331 if (Subtarget.isISA3_0()) { 339 if (Subtarget.hasPOPCNTD() == PPCSubtarget::POPCNTD_Fast) { 351 if (!Subtarget.useCRBits()) { 364 if (!Subtarget.useCRBits()) 368 if (!Subtarget.useCRBits()) 373 if (Subtarget.hasSPE()) { 387 if (Subtarget.hasDirectMove() && isPPC64) { 434 if (Subtarget.is64BitELFABI()) { 445 } else if (Subtarget.is32BitELFABI()) { 453 if (Subtarget.is32BitELFABI()) 481 if (Subtarget.hasSPE()) { 500 if (Subtarget.has64BitSupport()) { 510 if (Subtarget.hasLFIWAX() || Subtarget.isPPC64()) 510 if (Subtarget.hasLFIWAX() || Subtarget.isPPC64()) 514 if (Subtarget.hasSPE()) 521 if (Subtarget.hasFPCVT()) { 522 if (Subtarget.has64BitSupport()) { 535 if (Subtarget.use64BitRegs()) { 551 if (Subtarget.hasVSX()) { 558 if (Subtarget.hasAltivec()) { 581 if (Subtarget.hasVSX()) { 587 if (Subtarget.hasP8Altivec() && (VT.SimpleTy != MVT::v1i128)) { 597 if (Subtarget.hasP9Altivec() && (VT.SimpleTy != MVT::v1i128)) 669 if (!Subtarget.hasP8Vector()) { 696 Subtarget.useCRBits() ? Legal : Expand); 709 if (!Subtarget.hasP8Altivec()) 720 if (TM.Options.UnsafeFPMath || Subtarget.hasVSX()) { 725 if (Subtarget.hasP8Altivec()) 747 if (Subtarget.hasVSX()) { 750 if (Subtarget.hasP8Vector()) { 754 if (Subtarget.hasDirectMove() && isPPC64) { 791 if (Subtarget.hasP8Vector()) 800 if (Subtarget.hasP8Altivec()) { 858 if (Subtarget.hasDirectMove()) 865 if (Subtarget.hasP8Altivec()) { 870 if (Subtarget.hasP9Vector()) { 923 if (Subtarget.hasP9Altivec()) { 929 if (Subtarget.hasQPX()) { 944 if (!Subtarget.useCRBits()) 992 if (!Subtarget.useCRBits()) 1030 if (!Subtarget.useCRBits()) 1082 if (Subtarget.has64BitSupport()) 1094 if (Subtarget.hasAltivec()) { 1116 if (Subtarget.hasFPCVT()) 1121 if (Subtarget.useCRBits()) 1136 if (Subtarget.useCRBits()) { 1148 if (Subtarget.hasP9Altivec()) { 1154 if (Subtarget.isDarwin()) { 1184 if (Subtarget.useCRBits()) { 1190 if (Subtarget.isDarwin()) 1193 switch (Subtarget.getDarwinDirective()) { 1213 if (Subtarget.enableMachineScheduler()) 1222 if (Subtarget.getDarwinDirective() == PPC::DIR_E500mc || 1223 Subtarget.getDarwinDirective() == PPC::DIR_E5500) { 1230 } else if (Subtarget.getDarwinDirective() == PPC::DIR_A2) { 1277 if (Subtarget.isDarwin()) 1282 unsigned Align = Subtarget.isPPC64() ? 8 : 4; 1283 if (Subtarget.hasAltivec() || Subtarget.hasQPX()) 1283 if (Subtarget.hasAltivec() || Subtarget.hasQPX()) 1284 getMaxByValAlign(Ty, Align, Subtarget.hasQPX() ? 32 : 16); 1289 return Subtarget.useSoftFloat(); 1293 return Subtarget.hasSPE(); 1426 return Subtarget.useCRBits() ? MVT::i1 : MVT::i32; 1428 if (Subtarget.hasQPX()) 2434 Base = DAG.getRegister(Subtarget.isPPC64() ? PPC::ZERO8 : PPC::ZERO, 2491 Base = DAG.getRegister(Subtarget.isPPC64() ? PPC::ZERO8 : PPC::ZERO, 2568 if (isLoad && usePartialVectorLoads(N, Subtarget)) { 2575 if (!Subtarget.hasQPX() || (VT != MVT::v4f64 && VT != MVT::v4f32)) { 2692 const bool Is64Bit = Subtarget.isPPC64(); 2695 : Subtarget.isAIXABI() 2713 if (Subtarget.is64BitELFABI()) { 2721 getLabelAccessInfo(IsPIC, Subtarget, MOHiFlag, MOLoFlag); 2723 if (IsPIC && Subtarget.isSVR4ABI()) { 2747 if (Subtarget.isPPC64()) 2754 if (!Subtarget.isPPC64()) 2771 if (!Subtarget.isPPC64()) 2789 if (Subtarget.is64BitELFABI()) { 2797 getLabelAccessInfo(IsPIC, Subtarget, MOHiFlag, MOLoFlag); 2799 if (IsPIC && Subtarget.isSVR4ABI()) { 2818 if (Subtarget.is64BitELFABI()) { 2825 if (Subtarget.is32BitELFABI() && isPositionIndependent()) 2832 getLabelAccessInfo(IsPIC, Subtarget, MOHiFlag, MOLoFlag); 2851 bool is64bit = Subtarget.isPPC64(); 2944 if (Subtarget.is64BitELFABI() || Subtarget.isAIXABI()) { 2944 if (Subtarget.is64BitELFABI() || Subtarget.isAIXABI()) { 2952 getLabelAccessInfo(IsPIC, Subtarget, MOHiFlag, MOLoFlag, GV); 2954 if (IsPIC && Subtarget.isSVR4ABI()) { 3038 assert(!Subtarget.isPPC64() && "LowerVAARG is PPC32 only"); 3129 assert(!Subtarget.isPPC64() && "LowerVACOPY is PPC32 only"); 3187 if (Subtarget.isDarwinABI() || Subtarget.isPPC64()) { 3187 if (Subtarget.isDarwinABI() || Subtarget.isPPC64()) { 3406 if (Subtarget.is64BitELFABI()) 3409 else if (Subtarget.is32BitELFABI()) 3469 unsigned LinkageSize = Subtarget.getFrameLowering()->getLinkageSize(); 3493 if (Subtarget.hasP8Vector()) 3495 else if (Subtarget.hasSPE()) 3501 if (Subtarget.hasVSX()) 3503 else if (Subtarget.hasSPE()) 3515 RC = Subtarget.hasQPX() ? &PPC::QSRCRegClass : &PPC::VRRCRegClass; 3532 if (VA.getLocVT() == MVT::f64 && Subtarget.hasSPE()) { 3538 if (!Subtarget.isLittleEndian()) 3592 EnsureStackAlignment(Subtarget.getFrameLowering(), MinReservedArea); 3696 bool isELFv2ABI = Subtarget.isELFv2ABI(); 3697 bool isLittleEndian = Subtarget.isLittleEndian(); 3710 unsigned LinkageSize = Subtarget.getFrameLowering()->getLinkageSize(); 3744 Subtarget.hasQPX())) 3941 Subtarget.hasP8Vector() 3945 VReg = MF.addLiveIn(FPR[FPR_idx], Subtarget.hasVSX() 3995 if (!Subtarget.hasQPX()) { 4068 EnsureStackAlignment(Subtarget.getFrameLowering(), MinReservedArea); 4118 unsigned LinkageSize = Subtarget.getFrameLowering()->getLinkageSize(); 4422 EnsureStackAlignment(Subtarget.getFrameLowering(), MinReservedArea); 4675 needStackSlotPassParameters(Subtarget, Outs)) 4699 needStackSlotPassParameters(Subtarget, Outs)) { 4852 EVT VT = Subtarget.isPPC64() ? MVT::i64 : MVT::i32; 4859 if (Subtarget.isDarwinABI()) { 5162 Ins, (Subtarget.isSVR4ABI() && CallConv == CallingConv::Cold) 5173 if (Subtarget.hasSPE() && VA.getLocVT() == MVT::f64) { 5183 if (!Subtarget.isLittleEndian()) 5228 RegsToPass, Ops, NodeTys, CS, Subtarget); 5231 if (isVarArg && Subtarget.isSVR4ABI() && !Subtarget.isPPC64()) 5231 if (isVarArg && Subtarget.isSVR4ABI() && !Subtarget.isPPC64()) 5242 const TargetRegisterInfo *TRI = Subtarget.getRegisterInfo(); 5277 ((Subtarget.isSVR4ABI() && Subtarget.isPPC64()) || 5277 ((Subtarget.isSVR4ABI() && Subtarget.isPPC64()) || 5278 Subtarget.isAIXABI())) { 5280 if (Subtarget.isAIXABI()) 5295 unsigned TOCSaveOffset = Subtarget.getFrameLowering()->getTOCSaveOffset(); 5309 if (Subtarget.isAIXABI() && isFunctionGlobalAddress(Callee)) { 5352 if (Subtarget.useLongCalls() && !(CS && CS.isMustTailCall())) 5354 else if (Subtarget.isSVR4ABI() && Subtarget.isPPC64()) 5354 else if (Subtarget.isSVR4ABI() && Subtarget.isPPC64()) 5387 if (Subtarget.useLongCalls() && isa<GlobalAddressSDNode>(Callee) && 5391 if (Subtarget.isSVR4ABI() && Subtarget.isPPC64()) 5391 if (Subtarget.isSVR4ABI() && Subtarget.isPPC64()) 5396 if (Subtarget.isSVR4ABI()) 5401 if (Subtarget.isAIXABI()) 5448 CCInfo.AllocateStack(Subtarget.getFrameLowering()->getLinkageSize(), 5582 if (Subtarget.hasSPE() && Arg.getValueType() == MVT::f64) { 5583 bool IsLE = Subtarget.isLittleEndian(); 5672 bool isELFv2ABI = Subtarget.isELFv2ABI(); 5673 bool isLittleEndian = Subtarget.isLittleEndian(); 5702 unsigned LinkageSize = Subtarget.getFrameLowering()->getLinkageSize(); 5736 Subtarget.hasQPX())) 5786 if (Subtarget.hasQPX()) { 5834 NumBytes = EnsureStackAlignment(Subtarget.getFrameLowering(), NumBytes); 6161 if (!Subtarget.hasQPX()) { 6294 unsigned TOCSaveOffset = Subtarget.getFrameLowering()->getTOCSaveOffset(); 6353 unsigned LinkageSize = Subtarget.getFrameLowering()->getLinkageSize(); 6398 NumBytes = EnsureStackAlignment(Subtarget.getFrameLowering(), NumBytes); 6881 Outs, (Subtarget.isSVR4ABI() && CallConv == CallingConv::Cold) 6896 (Subtarget.isSVR4ABI() && CallConv == CallingConv::Cold) 6923 if (Subtarget.hasSPE() && VA.getLocVT() == MVT::f64) { 6924 bool isLittleEndian = Subtarget.isLittleEndian(); 6942 const PPCRegisterInfo *TRI = Subtarget.getRegisterInfo(); 6996 bool isPPC64 = Subtarget.isPPC64(); 7017 bool isPPC64 = Subtarget.isPPC64(); 7028 int LROffset = Subtarget.getFrameLowering()->getReturnSaveOffset(); 7040 bool isPPC64 = Subtarget.isPPC64(); 7051 int FPOffset = Subtarget.getFrameLowering()->getFramePointerSaveOffset(); 7084 bool isPPC64 = Subtarget.isPPC64(); 7202 if (Subtarget.isLittleEndian()) 7233 if (!Subtarget.hasP9Vector() && (!HasNoInfs || !HasNoNaNs)) 7243 if (Subtarget.hasP9Vector() && LHS == TV && RHS == FV) { 7360 : (Subtarget.hasFPCVT() ? PPCISD::FCTIWUZ : PPCISD::FCTIDZ), 7364 assert((Op.getOpcode() == ISD::FP_TO_SINT || Subtarget.hasFPCVT()) && 7373 bool i32Stack = Op.getValueType() == MVT::i32 && Subtarget.hasSTFIWX() && 7374 (Op.getOpcode() == ISD::FP_TO_SINT || Subtarget.hasFPCVT()); 7397 MPI = MPI.getWithOffset(Subtarget.isLittleEndian() ? 0 : 4); 7424 : (Subtarget.hasFPCVT() ? PPCISD::FCTIWUZ : PPCISD::FCTIDZ), 7429 assert((Op.getOpcode() == ISD::FP_TO_SINT || Subtarget.hasFPCVT()) && 7487 if (Subtarget.hasDirectMove() && Subtarget.isPPC64()) 7487 if (Subtarget.hasDirectMove() && Subtarget.isPPC64()) 7579 if (!Subtarget.hasP9Vector() && MMO->getSize() <= 2) 7607 assert(Subtarget.hasFPCVT() && 7673 if (Subtarget.isLittleEndian()) 7687 if (!Subtarget.hasP9Altivec() && SignedConv) { 7711 if (Subtarget.hasQPX() && Op.getOperand(0).getValueType() == MVT::v4i1) { 7743 if (Subtarget.hasDirectMove() && directMoveIsProfitable(Op) && 7744 Subtarget.isPPC64() && Subtarget.hasFPCVT()) 7744 Subtarget.isPPC64() && Subtarget.hasFPCVT()) 7747 assert((Op.getOpcode() == ISD::SINT_TO_FP || Subtarget.hasFPCVT()) && 7752 unsigned FCFOp = (Subtarget.hasFPCVT() && Op.getValueType() == MVT::f32) 7757 MVT FCFTy = (Subtarget.hasFPCVT() && Op.getValueType() == MVT::f32) 7774 !Subtarget.hasFPCVT() && 7817 } else if (Subtarget.hasLFIWAX() && 7827 } else if (Subtarget.hasFPCVT() && 7837 } else if (((Subtarget.hasLFIWAX() && 7839 (Subtarget.hasFPCVT() && 7875 if (Op.getValueType() == MVT::f32 && !Subtarget.hasFPCVT()) 7892 if (Subtarget.hasLFIWAX() || Subtarget.hasFPCVT()) { 7892 if (Subtarget.hasLFIWAX() || Subtarget.hasFPCVT()) { 7926 assert(Subtarget.isPPC64() && 7948 if (Op.getValueType() == MVT::f32 && !Subtarget.hasFPCVT()) 8267 if (Subtarget.hasQPX() && Op.getValueType() == MVT::v4i1) { 8368 if (Subtarget.hasQPX()) 8376 HasAnyUndefs, 0, !Subtarget.isLittleEndian()) || 8392 ((Subtarget.hasVSX() && ElementSize == 64) || 8393 (Subtarget.hasP9Vector() && ElementSize == 32))) { 8409 if (Subtarget.hasVSX() && 8410 haveEfficientBuildVectorPattern(BVN, Subtarget.hasDirectMove(), 8411 Subtarget.hasP8Vector())) 8433 if (Subtarget.hasP9Vector() && SplatSize == 1) { 8566 unsigned Amt = Subtarget.isLittleEndian() ? 15 : 1; 8572 unsigned Amt = Subtarget.isLittleEndian() ? 14 : 2; 8578 unsigned Amt = Subtarget.isLittleEndian() ? 13 : 3; 8669 bool IsLE = Subtarget.isLittleEndian(); 8775 bool IsLE = Subtarget.isLittleEndian(); 8887 bool isLittleEndian = Subtarget.isLittleEndian(); 8896 if (InputLoad && Subtarget.hasVSX() && V2.isUndef() && 8905 if ((IsFourByte && Subtarget.hasP9Vector()) || !IsFourByte) { 8930 if (Subtarget.hasP9Vector() && 8949 if (Subtarget.hasP9Altivec()) { 8958 if (Subtarget.hasVSX() && 8971 if (Subtarget.hasVSX() && 8984 if (Subtarget.hasP9Vector()) { 9004 if (Subtarget.hasVSX()) { 9022 if (Subtarget.hasQPX()) { 9074 (Subtarget.hasP8Altivec() && ( 9095 (Subtarget.hasP8Altivec() && ( 9451 if (Subtarget.isPPC64()) 9460 if (!getVectorCompareInfo(Op, CompareOpc, isDot, Subtarget)) 9528 assert(Subtarget.isPPC64() && "Only 64-bit is supported for now."); 9563 if (Subtarget.isLittleEndian()) 9642 if (Subtarget.isLittleEndian()) { 9704 if (!Subtarget.useCRBits()) 9961 bool isLittleEndian = Subtarget.isLittleEndian(); 10006 assert((VT != MVT::v2i64 || Subtarget.hasP8Altivec()) && 10069 if (Subtarget.isLittleEndian()) 10220 if (!Subtarget.isSVR4ABI() || Subtarget.isPPC64()) 10220 if (!Subtarget.isSVR4ABI() || Subtarget.isPPC64()) 10285 if (isa<LoadInst>(Inst) && Subtarget.isPPC64()) 10304 const TargetInstrInfo *TII = Subtarget.getInstrInfo(); 10314 assert(Subtarget.hasPartwordAtomics() && "Call this only with size >=4"); 10319 assert(Subtarget.hasPartwordAtomics() && "Call this only with size >=4"); 10421 if (Subtarget.hasPartwordAtomics()) 10426 const TargetInstrInfo *TII = Subtarget.getInstrInfo(); 10431 bool is64bit = Subtarget.isPPC64(); 10432 bool isLittleEndian = Subtarget.isLittleEndian(); 10613 const TargetInstrInfo *TII = Subtarget.getInstrInfo(); 10614 const PPCRegisterInfo *TRI = Subtarget.getRegisterInfo(); 10681 if (Subtarget.is64BitELFABI()) { 10694 BaseReg = Subtarget.isPPC64() ? PPC::X1 : PPC::R1; 10696 BaseReg = Subtarget.isPPC64() ? PPC::BP8 : PPC::BP; 10699 TII->get(Subtarget.isPPC64() ? PPC::STD : PPC::STW)) 10722 TII->get(Subtarget.isPPC64() ? PPC::MFLR8 : PPC::MFLR), LabelReg); 10725 if (Subtarget.isPPC64()) { 10755 const TargetInstrInfo *TII = Subtarget.getInstrInfo(); 10773 : (Subtarget.isSVR4ABI() && isPositionIndependent() ? PPC::R29 10836 if (PVT == MVT::i64 && Subtarget.isSVR4ABI()) { 10858 if (Subtarget.is64BitELFABI() && 10879 const TargetInstrInfo *TII = Subtarget.getInstrInfo(); 11144 (Subtarget.hasPartwordAtomics() && 11146 (Subtarget.hasPartwordAtomics() && 11158 assert(Subtarget.hasPartwordAtomics() && "No support partword atomics."); 11163 assert(Subtarget.hasPartwordAtomics() && "No support partword atomics."); 11249 bool is64bit = Subtarget.isPPC64(); 11250 bool isLittleEndian = Subtarget.isLittleEndian(); 11522 if (Subtarget.hasDirectMove()) { 11650 if ((VT == MVT::f32 && Subtarget.hasFRSQRTES()) || 11651 (VT == MVT::f64 && Subtarget.hasFRSQRTE()) || 11652 (VT == MVT::v4f32 && Subtarget.hasAltivec()) || 11653 (VT == MVT::v2f64 && Subtarget.hasVSX()) || 11654 (VT == MVT::v4f32 && Subtarget.hasQPX()) || 11655 (VT == MVT::v4f64 && Subtarget.hasQPX())) { 11657 RefinementSteps = getEstimateRefinementSteps(VT, Subtarget); 11661 UseOneConstNR = !Subtarget.needsTwoConstNR(); 11671 if ((VT == MVT::f32 && Subtarget.hasFRES()) || 11672 (VT == MVT::f64 && Subtarget.hasFRE()) || 11673 (VT == MVT::v4f32 && Subtarget.hasAltivec()) || 11674 (VT == MVT::v2f64 && Subtarget.hasVSX()) || 11675 (VT == MVT::v4f32 && Subtarget.hasQPX()) || 11676 (VT == MVT::v4f64 && Subtarget.hasQPX())) { 11678 RefinementSteps = getEstimateRefinementSteps(VT, Subtarget); 11695 switch (Subtarget.getDarwinDirective()) { 12020 assert(Subtarget.useCRBits() && "Expecting to be tracking CR bits"); 12319 if (!((N->getOperand(0).getValueType() == MVT::i1 && Subtarget.useCRBits()) || 12320 (N->getOperand(0).getValueType() == MVT::i32 && Subtarget.isPPC64()))) 12938 if (!Subtarget.hasVSX()) 12961 if (Subtarget.hasP9Altivec() && !DCI.isBeforeLegalize()) { 13000 SubvecIdx = Subtarget.isLittleEndian() ? 1 : 0; 13002 SubvecIdx = Subtarget.isLittleEndian() ? 0 : 1; 13019 if (useSoftFloat() || !Subtarget.has64BitSupport()) 13038 if (Subtarget.hasP9Vector() && Subtarget.hasP9Altivec() && SubWordLoad) { 13038 if (Subtarget.hasP9Vector() && Subtarget.hasP9Altivec() && SubWordLoad) { 13070 assert((Op.getOpcode() == ISD::SINT_TO_FP || Subtarget.hasFPCVT()) && 13075 unsigned FCFOp = (Subtarget.hasFPCVT() && Op.getValueType() == MVT::f32) 13080 MVT FCFTy = (Subtarget.hasFPCVT() && Op.getValueType() == MVT::f32) 13087 Subtarget.hasFPCVT()) || 13105 if (Op.getValueType() == MVT::f32 && !Subtarget.hasFPCVT()) { 13157 if (Subtarget.needsSwapsForVSXMemOps() && !(MMO->getAlignment()%16) 13228 if (Subtarget.needsSwapsForVSXMemOps() && !(MMO->getAlignment()%16) 13273 (Subtarget.hasP9Vector() && (Op1VT == MVT::i16 || Op1VT == MVT::i8))); 13275 if (ResVT == MVT::ppcf128 || !Subtarget.hasP8Altivec() || 13332 if (!isTypeLegal(VT) || !Subtarget.isLittleEndian() || !Subtarget.hasVSX()) 13332 if (!isTypeLegal(VT) || !Subtarget.isLittleEndian() || !Subtarget.hasVSX()) 13338 if (!Subtarget.hasP9Vector()) 13438 (Subtarget.hasLDBRX() && Subtarget.isPPC64() && Op1VT == MVT::i64))) { 13438 (Subtarget.hasLDBRX() && Subtarget.isPPC64() && Op1VT == MVT::i64))) { 13473 if (Subtarget.isPPC64() && !DCI.isBeforeLegalize() && 13494 if (Subtarget.needsSwapsForVSXMemOps() && 13509 if (Subtarget.needsSwapsForVSXMemOps() && 13575 if (Subtarget.isLittleEndian()) 13626 ((Subtarget.hasAltivec() && ISD::isNON_EXTLoad(N) && 13628 !Subtarget.hasP8Vector() && (VT == MVT::v16i8 || VT == MVT::v8i16 || 13630 (Subtarget.hasQPX() && (VT == MVT::v4f64 || VT == MVT::v4f32) && 13636 bool isLittleEndian = Subtarget.isLittleEndian(); 13664 if (Subtarget.hasAltivec()) { 13752 Perm = Subtarget.hasAltivec() ? 13767 bool isLittleEndian = Subtarget.isLittleEndian(); 13822 if (!DCI.isAfterLegalizeDAG() && Subtarget.hasP9Altivec() && 13858 if (Subtarget.needsSwapsForVSXMemOps()) { 13871 if (Subtarget.needsSwapsForVSXMemOps()) { 13886 (Subtarget.hasLDBRX() && Subtarget.isPPC64() && 13886 (Subtarget.hasLDBRX() && Subtarget.isPPC64() && 14032 getVectorCompareInfo(LHS, CompareOpc, isDot, Subtarget)) { 14099 if (VT == MVT::i64 && !Subtarget.isPPC64()) 14168 switch (Subtarget.getDarwinDirective()) { 14191 const PPCInstrInfo *TII = Subtarget.getInstrInfo(); 14313 if (VT == MVT::i64 && Subtarget.isPPC64()) 14317 if (VT == MVT::i64 && Subtarget.isPPC64()) 14325 if (Subtarget.hasSPE()) { 14335 if (VT == MVT::v4f64 && Subtarget.hasQPX()) 14337 if (VT == MVT::v4f32 && Subtarget.hasQPX()) 14342 if (VT == MVT::v4f64 && Subtarget.hasQPX()) 14344 if (VT == MVT::v4f32 && Subtarget.hasQPX()) 14346 if (Subtarget.hasAltivec()) 14352 } else if (Constraint == "wc" && Subtarget.useCRBits()) { 14357 Subtarget.hasVSX()) { 14359 } else if ((Constraint == "ws" || Constraint == "ww") && Subtarget.hasVSX()) { 14360 if (VT == MVT::f32 && Subtarget.hasP8Vector()) 14375 if (R.first && VT == MVT::i64 && Subtarget.isPPC64() && 14521 bool isPPC64 = Subtarget.isPPC64(); 14527 DAG.getConstant(Subtarget.getFrameLowering()->getReturnSaveOffset(), dl, 14572 bool isPPC64 = Subtarget.isPPC64(); 14573 bool IsDarwinABI = Subtarget.isDarwinABI(); 14594 if (Subtarget.is32BitELFABI()) 14599 if (Subtarget.isAIXABI()) 14613 return Subtarget.isGVIndirectSymbol(G->getGlobal()); 14826 if (Subtarget.hasQPX() && Size >= 32 && (!IsMemset || Size >= 64) && 14834 if (Subtarget.hasAltivec() && Size >= 16 && 14836 ((IsMemset && Subtarget.hasVSX()) || Subtarget.hasP8Vector()))) 14836 ((IsMemset && Subtarget.hasVSX()) || Subtarget.hasP8Vector()))) 14840 if (Subtarget.isPPC64()) { 14879 (Subtarget.isPPC64() && MemVT == MVT::i32)) && 14928 if (Subtarget.hasVSX()) { 14957 return (EnableQuadPrecision && Subtarget.hasP9Vector()); 14980 return Subtarget.isPPC64() ? PPC::X3 : PPC::R3; 14985 return Subtarget.isPPC64() ? PPC::X4 : PPC::R4; 14992 return Subtarget.hasDirectMove(); // Don't need stack ops with direct moves 14994 if (Subtarget.hasVSX() || Subtarget.hasQPX()) 14994 if (Subtarget.hasVSX() || Subtarget.hasQPX()) 15001 if (DisableILPPref || Subtarget.enableMachineScheduler()) 15015 if (Subtarget.isDarwinABI()) return; 15016 if (!Subtarget.isPPC64()) return; 15026 const PPCRegisterInfo *TRI = Subtarget.getRegisterInfo(); 15031 const TargetInstrInfo *TII = Subtarget.getInstrInfo(); 15070 if (!Subtarget.isTargetLinux()) 15077 if (!Subtarget.isTargetLinux()) 15083 if (!VT.isSimple() || !Subtarget.hasVSX()) 15138 if (!Subtarget.isISA3_0() || 15264 if (auto Value = combineADDToADDZE(N, DCI.DAG, Subtarget)) 15282 if (Subtarget.useCRBits()) { 15335 switch (this->Subtarget.getDarwinDirective()) { 15407 if (!Subtarget.is64BitELFABI()) 15441 if (!Subtarget.hasVSX()) 15443 if (Subtarget.hasP9Vector() && VT == MVT::f128) 15473 assert(Subtarget.hasP9Altivec() && 15517 assert(Subtarget.hasP9Altivec() &&