Lines Matching refs:ST

106   if (ST->hasMVEIntegerOps())  in getPreferredAddressingMode()
112 if (ST->isMClass() && ST->isThumb2() && in getPreferredAddressingMode()
261 if (!ST->isThumb()) { in getIntImmCost()
266 return ST->hasV6T2Ops() ? 2 : 3; in getIntImmCost()
268 if (ST->isThumb2()) { in getIntImmCost()
273 return ST->hasV6T2Ops() ? 2 : 3; in getIntImmCost()
362 if (ST->isThumb2() && NegImm < 1<<12) in getIntImmCostInst()
365 if (ST->isThumb() && NegImm < 1<<8) in getIntImmCostInst()
376 if (Inst && ((ST->hasV6Ops() && !ST->isThumb()) || ST->isThumb2()) && in getIntImmCostInst()
391 (ST->hasNEON() || ST->hasMVEIntegerOps())) { in getCFInstrCost()
417 return (EltVT == MVT::f32 && ST->hasVFP2Base()) || in getCastInstrCost()
418 (EltVT == MVT::f64 && ST->hasFP64()) || in getCastInstrCost()
419 (EltVT == MVT::f16 && ST->hasFullFP16()); in getCastInstrCost()
432 if ((ST->hasMVEIntegerOps() && in getCastInstrCost()
435 (ST->hasMVEFloatOps() && in getCastInstrCost()
440 ST->getMVEVectorCostFactor(CostKind); in getCastInstrCost()
480 if (SrcTy.isVector() && ST->hasMVEIntegerOps()) { in getCastInstrCost()
484 return Entry->Cost * ST->getMVEVectorCostFactor(CostKind); in getCastInstrCost()
492 if (SrcTy.isVector() && ST->hasMVEFloatOps()) { in getCastInstrCost()
496 return Entry->Cost * ST->getMVEVectorCostFactor(CostKind); in getCastInstrCost()
509 if (SrcTy.isVector() && ST->hasMVEIntegerOps()) { in getCastInstrCost()
513 return Entry->Cost * ST->getMVEVectorCostFactor(CostKind); in getCastInstrCost()
520 if (SrcTy.isVector() && ST->hasMVEFloatOps()) { in getCastInstrCost()
524 return Entry->Cost * ST->getMVEVectorCostFactor(CostKind); in getCastInstrCost()
530 I && I->hasOneUse() && ST->hasNEON() && SrcTy.isVector()) { in getCastInstrCost()
556 if (Src->isVectorTy() && ST->hasNEON() && in getCastInstrCost()
658 if (SrcTy.isVector() && ST->hasNEON()) { in getCastInstrCost()
688 if (SrcTy.isFloatingPoint() && ST->hasNEON()) { in getCastInstrCost()
719 if (SrcTy.isInteger() && ST->hasNEON()) { in getCastInstrCost()
744 if (SrcTy.isVector() && ST->hasMVEIntegerOps()) { in getCastInstrCost()
748 return Entry->Cost * ST->getMVEVectorCostFactor(CostKind); in getCastInstrCost()
767 if (ISD == ISD::TRUNCATE && ST->hasMVEIntegerOps() && in getCastInstrCost()
798 int BaseCost = ST->hasMVEIntegerOps() && Src->isVectorTy() in getCastInstrCost()
799 ? ST->getMVEVectorCostFactor(CostKind) in getCastInstrCost()
809 if (ST->hasSlowLoadDSubregister() && Opcode == Instruction::InsertElement && in getVectorInstrCost()
813 if (ST->hasNEON() && (Opcode == Instruction::InsertElement || in getVectorInstrCost()
828 if (ST->hasMVEIntegerOps() && (Opcode == Instruction::InsertElement || in getVectorInstrCost()
850 ST->isThumb() && !ValTy->isVectorTy()) { in getCmpSelInstrCost()
919 if (ST->hasNEON() && ValTy->isVectorTy() && ISD == ISD::SELECT && CondTy) { in getCmpSelInstrCost()
941 if (ST->hasMVEIntegerOps() && ValTy->isVectorTy() && in getCmpSelInstrCost()
950 if (Opcode == Instruction::FCmp && !ST->hasMVEFloatOps()) { in getCmpSelInstrCost()
963 int BaseCost = ST->getMVEVectorCostFactor(CostKind); in getCmpSelInstrCost()
980 if (ST->hasMVEIntegerOps() && ValTy->isVectorTy()) in getCmpSelInstrCost()
981 BaseCost = ST->getMVEVectorCostFactor(CostKind); in getCmpSelInstrCost()
997 if (ST->hasNEON()) { in getAddressComputationCost()
1027 if (!EnableMaskedLoadStores || !ST->hasMVEIntegerOps()) in isLegalMaskedLoad()
1047 if (!EnableMaskedGatherScatters || !ST->hasMVEIntegerOps()) in isLegalMaskedGather()
1150 if (ST->hasNEON()) { in getShuffleCost()
1217 if (ST->hasMVEIntegerOps()) { in getShuffleCost()
1231 ST->getMVEVectorCostFactor(TTI::TCK_RecipThroughput); in getShuffleCost()
1239 return ST->getMVEVectorCostFactor(TTI::TCK_RecipThroughput) * LT.first; in getShuffleCost()
1243 int BaseCost = ST->hasMVEIntegerOps() && Tp->isVectorTy() in getShuffleCost()
1244 ? ST->getMVEVectorCostFactor(TTI::TCK_RecipThroughput) in getShuffleCost()
1256 if (ST->isThumb() && CostKind == TTI::TCK_CodeSize && Ty->isIntegerTy(1)) { in getArithmeticInstrCost()
1273 if (ST->hasNEON()) { in getArithmeticInstrCost()
1340 if (ST->isThumb1Only() || Ty->isVectorTy()) in getArithmeticInstrCost()
1367 if (ST->hasMVEIntegerOps() && Ty->isVectorTy()) in getArithmeticInstrCost()
1368 BaseCost = ST->getMVEVectorCostFactor(CostKind); in getArithmeticInstrCost()
1405 if (ST->hasNEON() && Src->isVectorTy() && in getMemoryOpCost()
1416 if (ST->hasMVEFloatOps() && isa<FixedVectorType>(Src) && I && in getMemoryOpCost()
1427 return ST->getMVEVectorCostFactor(CostKind); in getMemoryOpCost()
1430 int BaseCost = ST->hasMVEIntegerOps() && Src->isVectorTy() in getMemoryOpCost()
1431 ? ST->getMVEVectorCostFactor(CostKind) in getMemoryOpCost()
1441 if (ST->hasMVEIntegerOps()) { in getMaskedMemoryOpCost()
1443 return ST->getMVEVectorCostFactor(CostKind); in getMaskedMemoryOpCost()
1445 return ST->getMVEVectorCostFactor(CostKind); in getMaskedMemoryOpCost()
1475 ST->hasMVEIntegerOps() ? ST->getMVEVectorCostFactor(CostKind) : 1; in getInterleavedMemoryOpCost()
1485 if (ST->hasMVEIntegerOps() && Factor == 2 && NumElts / Factor > 2 && in getInterleavedMemoryOpCost()
1500 if (!ST->hasMVEIntegerOps() || !EnableMaskedGatherScatters) in getGatherScatterOpCost()
1519 NumElems * LT.first * ST->getMVEVectorCostFactor(CostKind); in getGatherScatterOpCost()
1604 if (!ST->hasMVEIntegerOps() || !ValVT.isSimple() || ISD != ISD::ADD) in getArithmeticReductionCost()
1615 return Entry->Cost * ST->getMVEVectorCostFactor(CostKind) * LT.first; in getArithmeticReductionCost()
1626 if (ST->hasMVEIntegerOps() && ValVT.isSimple() && ResVT.isSimple()) { in getExtendedAddReductionCost()
1633 return ST->getMVEVectorCostFactor(CostKind) * LT.first; in getExtendedAddReductionCost()
1652 if (ST->hasMVEIntegerOps()) in getIntrinsicInstrCost()
1659 if (!ST->hasMVEIntegerOps()) in getIntrinsicInstrCost()
1670 return LT.first * ST->getMVEVectorCostFactor(CostKind) * Instrs; in getIntrinsicInstrCost()
1679 if (!ST->hasMVEIntegerOps()) in getIntrinsicInstrCost()
1686 return LT.first * ST->getMVEVectorCostFactor(CostKind); in getIntrinsicInstrCost()
1691 if (!ST->hasMVEFloatOps()) in getIntrinsicInstrCost()
1696 return LT.first * ST->getMVEVectorCostFactor(CostKind); in getIntrinsicInstrCost()
1738 if (F->getReturnType()->isDoubleTy() && !ST->hasFP64()) in isLoweredToCall()
1740 if (F->getReturnType()->isHalfTy() && !ST->hasFullFP16()) in isLoweredToCall()
1745 return !ST->hasFPARMv8Base() && !ST->hasVFP2Base(); in isLoweredToCall()
1750 return !ST->hasMVEIntegerOps(); in isLoweredToCall()
1799 return !ST->hasFPARMv8Base(); in maybeLoweredToCall()
1842 if (I.getType()->isDoubleTy() && !ST->hasFP64()) in maybeLoweredToCall()
1846 if (I.getType()->isHalfTy() && !ST->hasFullFP16()) in maybeLoweredToCall()
1858 if (!ST->hasLOB() || DisableLowOverheadLoops) { in isHardwareLoopProfitable()
2091 if (!ST->hasMVEIntegerOps()) in preferPredicateOverEpilogue()
2128 if (!ST->hasMVEIntegerOps() || !EnableTailPredication) in emitGetActiveLaneMask()
2144 if (!ST->isMClass()) in getUnrollingPreferences()
2166 if (ST->hasBranchPredictor() && L->getNumBlocks() > 4) in getUnrollingPreferences()
2204 if (ST->isThumb1Only()) { in getUnrollingPreferences()
2246 if (!ST->hasMVEIntegerOps()) in preferInLoopReduction()
2260 if (!ST->hasMVEIntegerOps()) in preferPredicatedReductionSelect()