reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
74 if (!ST->isThumb()) { 79 return ST->hasV6T2Ops() ? 2 : 3; 81 if (ST->isThumb2()) { 86 return ST->hasV6T2Ops() ? 2 : 3; 133 if (ST->isThumb2() && NegImm < 1<<12) 136 if (ST->isThumb() && NegImm < 1<<8) 161 if (Src->isVectorTy() && ST->hasNEON() && (ISD == ISD::FP_ROUND || 202 if (SrcTy.isVector() && ST->hasMVEIntegerOps()) { 288 if (SrcTy.isVector() && ST->hasNEON()) { 318 if (SrcTy.isFloatingPoint() && ST->hasNEON()) { 349 if (SrcTy.isInteger() && ST->hasNEON()) { 374 if (SrcTy.isVector() && ST->hasMVEIntegerOps()) { 378 return Entry->Cost * ST->getMVEVectorCostFactor(); 400 int BaseCost = ST->hasMVEIntegerOps() && Src->isVectorTy() 401 ? ST->getMVEVectorCostFactor() 410 if (ST->hasSlowLoadDSubregister() && Opcode == Instruction::InsertElement && 414 if (ST->hasNEON() && (Opcode == Instruction::InsertElement || 428 if (ST->hasMVEIntegerOps() && (Opcode == Instruction::InsertElement || 435 ST->getMVEVectorCostFactor()) * 446 if (ST->hasNEON() && ValTy->isVectorTy() && ISD == ISD::SELECT) { 467 int BaseCost = ST->hasMVEIntegerOps() && ValTy->isVectorTy() 468 ? ST->getMVEVectorCostFactor() 482 if (ST->hasNEON()) { 495 if (!EnableMaskedLoadStores || !ST->hasMVEIntegerOps()) 551 if (ST->hasNEON()) { 620 if (ST->hasMVEIntegerOps()) { 634 return LT.first * Entry->Cost * ST->getMVEVectorCostFactor(); 637 int BaseCost = ST->hasMVEIntegerOps() && Tp->isVectorTy() 638 ? ST->getMVEVectorCostFactor() 694 if (ST->hasNEON()) { 715 int BaseCost = ST->hasMVEIntegerOps() && Ty->isVectorTy() 716 ? ST->getMVEVectorCostFactor() 743 if (ST->hasNEON() && Src->isVectorTy() && 750 int BaseCost = ST->hasMVEIntegerOps() && Src->isVectorTy() 751 ? ST->getMVEVectorCostFactor() 821 if (F->getReturnType()->isDoubleTy() && !ST->hasFP64()) 823 if (F->getReturnType()->isHalfTy() && !ST->hasFullFP16()) 828 return !ST->hasFPARMv8Base() && !ST->hasVFP2Base(); 828 return !ST->hasFPARMv8Base() && !ST->hasVFP2Base(); 833 return !ST->hasMVEIntegerOps(); 854 if (!ST->hasLOB() || DisableLowOverheadLoops) 902 return !ST->hasFPARMv8Base(); 945 if (I.getType()->isDoubleTy() && !ST->hasFP64()) 949 if (I.getType()->isHalfTy() && !ST->hasFullFP16()) 1006 if (!ST->isMClass()) 1016 if (!ST->isThumb2()) 1032 if (ST->hasBranchPredictor() && L->getNumBlocks() > 4) 1079 if (!ST->hasMVEIntegerOps())lib/Target/ARM/ARMTargetTransformInfo.h
83 const ARMSubtarget *getST() const { return ST; } 89 TLI(ST->getTargetLowering()) {} 99 return ST->isMClass() && ST->isThumb2() && L->getNumBlocks() == 1; 99 return ST->isMClass() && ST->isThumb2() && L->getNumBlocks() == 1; 106 return !ST->isTargetDarwin() && !ST->hasMVEFloatOps(); 106 return !ST->isTargetDarwin() && !ST->hasMVEFloatOps(); 128 if (ST->hasNEON()) 130 if (ST->hasMVEIntegerOps()) 135 if (ST->isThumb1Only()) 142 if (ST->hasNEON()) 144 if (ST->hasMVEIntegerOps()) 153 return ST->getMaxInterleaveFactor(); 214 if (ST->isROPI() || ST->isRWPI()) 214 if (ST->isROPI() || ST->isRWPI())