Lines Matching refs:ST
65 return ST->hasPOPCNT() ? TTI::PSK_FastHardware : TTI::PSK_Software; in getPopcntSupport()
121 if (Vector && !ST->hasSSE1()) in getNumberOfRegisters()
124 if (ST->is64Bit()) { in getNumberOfRegisters()
125 if (Vector && ST->hasAVX512()) in getNumberOfRegisters()
134 unsigned PreferVectorWidth = ST->getPreferVectorWidth(); in getRegisterBitWidth()
137 return TypeSize::getFixed(ST->is64Bit() ? 64 : 32); in getRegisterBitWidth()
139 if (ST->hasAVX512() && PreferVectorWidth >= 512) in getRegisterBitWidth()
141 if (ST->hasAVX() && PreferVectorWidth >= 256) in getRegisterBitWidth()
143 if (ST->hasSSE1() && PreferVectorWidth >= 128) in getRegisterBitWidth()
165 if (ST->isAtom()) in getMaxInterleaveFactor()
170 if (ST->hasAVX()) in getMaxInterleaveFactor()
216 if (ST->useGLMDivSqrtCosts()) in getArithmeticInstrCost()
244 if (ST->isSLM()) { in getArithmeticInstrCost()
326 ST->hasBWI()) { in getArithmeticInstrCost()
348 ST->hasAVX512()) { in getArithmeticInstrCost()
368 ST->hasAVX2()) { in getArithmeticInstrCost()
395 ST->hasSSE2() && !ST->hasXOP()) { in getArithmeticInstrCost()
414 ST->hasBWI()) { in getArithmeticInstrCost()
437 ST->hasAVX512()) { in getArithmeticInstrCost()
460 ST->hasAVX2()) { in getArithmeticInstrCost()
494 ST->hasSSE2()) { in getArithmeticInstrCost()
496 if (ISD == ISD::SDIV && LT.second == MVT::v8i32 && ST->hasAVX()) in getArithmeticInstrCost()
498 if (ISD == ISD::SREM && LT.second == MVT::v8i32 && ST->hasAVX()) in getArithmeticInstrCost()
500 if (ISD == ISD::SDIV && LT.second == MVT::v4i32 && ST->hasSSE41()) in getArithmeticInstrCost()
502 if (ISD == ISD::SREM && LT.second == MVT::v4i32 && ST->hasSSE41()) in getArithmeticInstrCost()
531 if (ST->hasBWI()) in getArithmeticInstrCost()
551 if (ST->hasAVX2() && in getArithmeticInstrCost()
573 if (ST->hasSSE2() && in getArithmeticInstrCost()
588 if (ST->hasDQI()) in getArithmeticInstrCost()
599 if (ST->hasBWI()) in getArithmeticInstrCost()
649 if (ST->hasAVX512()) in getArithmeticInstrCost()
668 if (ST->hasAVX512()) { in getArithmeticInstrCost()
681 if (ST->hasAVX2() && !(ST->hasXOP() && LT.second == MVT::v4i32)) { in getArithmeticInstrCost()
726 if (ST->hasXOP()) { in getArithmeticInstrCost()
755 if (ST->hasSSE2() && in getArithmeticInstrCost()
760 if (ISD == ISD::SRA && LT.second == MVT::v4i64 && ST->hasAVX2()) in getArithmeticInstrCost()
773 if (((VT == MVT::v8i16 || VT == MVT::v4i32) && ST->hasSSE2()) || in getArithmeticInstrCost()
774 ((VT == MVT::v16i16 || VT == MVT::v8i32) && ST->hasAVX())) in getArithmeticInstrCost()
835 if (ST->hasAVX2()) in getArithmeticInstrCost()
893 if (ST->hasAVX()) in getArithmeticInstrCost()
921 if (ST->hasSSE42()) in getArithmeticInstrCost()
940 if (ST->hasSSE41()) in getArithmeticInstrCost()
983 if (ST->hasSSE2()) in getArithmeticInstrCost()
1001 if (ST->hasSSE1()) in getArithmeticInstrCost()
1010 if (ST->is64Bit()) in getArithmeticInstrCost()
1101 if (SubTp->getPrimitiveSizeInBits() >= 32 || ST->hasSSSE3()) in getShuffleCost()
1130 !ST->hasSSSE3()) { in getShuffleCost()
1156 if (ST->hasSSE2()) in getShuffleCost()
1211 if (ST->hasVBMI()) in getShuffleCost()
1237 if (ST->hasBWI()) in getShuffleCost()
1299 if (ST->hasAVX512()) in getShuffleCost()
1340 if (ST->hasAVX2()) in getShuffleCost()
1362 if (ST->hasXOP()) in getShuffleCost()
1409 if (ST->hasAVX()) in getShuffleCost()
1422 if (ST->hasSSE41()) in getShuffleCost()
1443 if (ST->hasSSSE3()) in getShuffleCost()
1482 if (ST->hasSSE2()) in getShuffleCost()
1494 if (ST->hasSSE1()) in getShuffleCost()
2204 if (ST->useAVX512Regs()) { in getCastInstrCost()
2205 if (ST->hasBWI()) in getCastInstrCost()
2210 if (ST->hasDQI()) in getCastInstrCost()
2215 if (ST->hasAVX512()) in getCastInstrCost()
2221 if (ST->hasBWI()) in getCastInstrCost()
2226 if (ST->hasDQI()) in getCastInstrCost()
2231 if (ST->hasAVX512()) in getCastInstrCost()
2236 if (ST->hasAVX2()) { in getCastInstrCost()
2242 if (ST->hasAVX()) { in getCastInstrCost()
2248 if (ST->hasSSE41()) { in getCastInstrCost()
2254 if (ST->hasSSE2()) { in getCastInstrCost()
2266 if (ST->useAVX512Regs()) { in getCastInstrCost()
2267 if (ST->hasBWI()) in getCastInstrCost()
2272 if (ST->hasDQI()) in getCastInstrCost()
2277 if (ST->hasAVX512()) in getCastInstrCost()
2283 if (ST->hasBWI()) in getCastInstrCost()
2288 if (ST->hasDQI()) in getCastInstrCost()
2293 if (ST->hasAVX512()) in getCastInstrCost()
2298 if (ST->hasAVX2()) in getCastInstrCost()
2303 if (ST->hasAVX()) in getCastInstrCost()
2308 if (ST->hasSSE41()) in getCastInstrCost()
2313 if (ST->hasSSE2()) in getCastInstrCost()
2371 !((ST->hasXOP() && (!ST->hasAVX2() || MTy.is128BitVector())) || in getCmpSelInstrCost()
2372 (ST->hasAVX512() && 32 <= MTy.getScalarSizeInBits()) || in getCmpSelInstrCost()
2373 ST->hasBWI())) { in getCmpSelInstrCost()
2392 if ((ST->hasSSE41() && MTy.getScalarSizeInBits() == 32) || in getCmpSelInstrCost()
2393 (ST->hasSSE2() && MTy.getScalarSizeInBits() < 32)) { in getCmpSelInstrCost()
2505 if (ST->isSLM()) in getCmpSelInstrCost()
2509 if (ST->hasBWI()) in getCmpSelInstrCost()
2513 if (ST->hasAVX512()) in getCmpSelInstrCost()
2517 if (ST->hasAVX2()) in getCmpSelInstrCost()
2521 if (ST->hasAVX()) in getCmpSelInstrCost()
2525 if (ST->hasSSE42()) in getCmpSelInstrCost()
2529 if (ST->hasSSE41()) in getCmpSelInstrCost()
2533 if (ST->hasSSE2()) in getCmpSelInstrCost()
2537 if (ST->hasSSE1()) in getCmpSelInstrCost()
3063 if (ISD == ISD::BITREVERSE && ST->hasGFNI() && ST->hasSSSE3() && in getTypeBasedIntrinsicInstrCost()
3072 if (!(MTy.is128BitVector() || (ST->hasAVX2() && MTy.is256BitVector()) || in getTypeBasedIntrinsicInstrCost()
3073 (ST->hasBWI() && MTy.is512BitVector()))) in getTypeBasedIntrinsicInstrCost()
3092 if (ST->useGLMDivSqrtCosts()) in getTypeBasedIntrinsicInstrCost()
3096 if (ST->isSLM()) in getTypeBasedIntrinsicInstrCost()
3100 if (ST->hasCDI()) in getTypeBasedIntrinsicInstrCost()
3104 if (ST->hasBWI()) in getTypeBasedIntrinsicInstrCost()
3108 if (ST->hasAVX512()) in getTypeBasedIntrinsicInstrCost()
3112 if (ST->hasXOP()) in getTypeBasedIntrinsicInstrCost()
3116 if (ST->hasAVX2()) in getTypeBasedIntrinsicInstrCost()
3120 if (ST->hasAVX()) in getTypeBasedIntrinsicInstrCost()
3124 if (ST->hasSSE42()) in getTypeBasedIntrinsicInstrCost()
3128 if (ST->hasSSE41()) in getTypeBasedIntrinsicInstrCost()
3132 if (ST->hasSSSE3()) in getTypeBasedIntrinsicInstrCost()
3136 if (ST->hasSSE2()) in getTypeBasedIntrinsicInstrCost()
3140 if (ST->hasSSE1()) in getTypeBasedIntrinsicInstrCost()
3144 if (ST->hasBMI()) { in getTypeBasedIntrinsicInstrCost()
3145 if (ST->is64Bit()) in getTypeBasedIntrinsicInstrCost()
3153 if (ST->hasLZCNT()) { in getTypeBasedIntrinsicInstrCost()
3154 if (ST->is64Bit()) in getTypeBasedIntrinsicInstrCost()
3162 if (ST->hasPOPCNT()) { in getTypeBasedIntrinsicInstrCost()
3163 if (ST->is64Bit()) in getTypeBasedIntrinsicInstrCost()
3171 if (ISD == ISD::BSWAP && ST->hasMOVBE() && ST->hasFastMOVBE()) { in getTypeBasedIntrinsicInstrCost()
3184 if (ST->is64Bit()) in getTypeBasedIntrinsicInstrCost()
3278 if (ST->hasAVX512()) in getIntrinsicInstrCost()
3282 if (ST->hasXOP()) in getIntrinsicInstrCost()
3286 if (ST->is64Bit()) in getIntrinsicInstrCost()
3381 if (ST->isSLM()) in getVectorInstrCost()
3386 if ((MScalarTy == MVT::i16 && ST->hasSSE2()) || in getVectorInstrCost()
3387 (MScalarTy.isInteger() && ST->hasSSE41())) in getVectorInstrCost()
3391 if (MScalarTy == MVT::f32 && ST->hasSSE41() && in getVectorInstrCost()
3434 if ((MScalarTy == MVT::i16 && ST->hasSSE2()) || in getScalarizationOverhead()
3435 (MScalarTy.isInteger() && ST->hasSSE41()) || in getScalarizationOverhead()
3436 (MScalarTy == MVT::f32 && ST->hasSSE41())) { in getScalarizationOverhead()
3646 if (CurrOpSizeBytes == 32 && ST->isUnalignedMem32Slow()) in getMemoryOpCost()
3714 if (!ST->hasAVX512()) in getMaskedMemoryOpCost()
3798 if (ST->isSLM()) in getArithmeticReductionCost()
3802 if (ST->hasAVX()) in getArithmeticReductionCost()
3806 if (ST->hasSSE2()) in getArithmeticReductionCost()
3837 if (ST->isSLM()) in getArithmeticReductionCost()
3841 if (ST->hasAVX()) in getArithmeticReductionCost()
3845 if (ST->hasSSE2()) in getArithmeticReductionCost()
3907 if (ST->hasAVX512()) in getArithmeticReductionCost()
3910 if (ST->hasAVX2()) in getArithmeticReductionCost()
3913 if (ST->hasAVX()) in getArithmeticReductionCost()
3916 if (ST->hasSSE2()) in getArithmeticReductionCost()
4074 if (ST->hasBWI()) in getMinMaxCost()
4078 if (ST->hasAVX512()) in getMinMaxCost()
4082 if (ST->hasAVX2()) in getMinMaxCost()
4086 if (ST->hasAVX()) in getMinMaxCost()
4090 if (ST->hasSSE42()) in getMinMaxCost()
4094 if (ST->hasSSE41()) in getMinMaxCost()
4098 if (ST->hasSSE2()) in getMinMaxCost()
4102 if (ST->hasSSE1()) in getMinMaxCost()
4188 if (ST->hasBWI()) in getMinMaxReductionCost()
4192 if (ST->hasAVX()) in getMinMaxReductionCost()
4196 if (ST->hasSSE41()) in getMinMaxReductionCost()
4200 if (ST->hasSSE2()) in getMinMaxReductionCost()
4222 if (ST->hasBWI()) in getMinMaxReductionCost()
4226 if (ST->hasAVX()) in getMinMaxReductionCost()
4230 if (ST->hasSSE41()) in getMinMaxReductionCost()
4234 if (ST->hasSSE2()) in getMinMaxReductionCost()
4497 if (ST->hasAVX512() || (ST->hasAVX2() && ST->hasFastGather())) in getGatherOverhead()
4504 if (ST->hasAVX512()) in getScatterOverhead()
4550 unsigned IndexSize = (ST->hasAVX512() && VF >= 16) in getGSVectorCost()
4674 return ST->hasMacroFusion() || ST->hasBranchFusion(); in canMacroFuseCmp()
4678 if (!ST->hasAVX()) in isLegalMaskedLoad()
4698 ((IntWidth == 8 || IntWidth == 16) && ST->hasBWI()); in isLegalMaskedLoad()
4711 return DataSize == 16 ? ST->hasSSE1() : ST->hasAVX2(); in isLegalNTLoad()
4721 if (ST->hasSSE4A() && (DataType->isFloatTy() || DataType->isDoubleTy())) in isLegalNTStore()
4734 return ST->hasAVX(); in isLegalNTStore()
4736 return ST->hasSSE1(); in isLegalNTStore()
4744 if (!ST->hasAVX512()) in isLegalMaskedExpandLoad()
4761 ((IntWidth == 8 || IntWidth == 16) && ST->hasVBMI2()); in isLegalMaskedExpandLoad()
4772 if (!(ST->hasAVX512() || (ST->hasFastGather() && ST->hasAVX2()))) in isLegalMaskedGather()
4797 if (ST->hasAVX512() && (NumElts == 2 || (NumElts == 4 && !ST->hasVLX()))) in isLegalMaskedGather()
4816 if (!ST->hasAVX512()) in isLegalMaskedScatter()
4882 const unsigned PreferredWidth = ST->getPreferVectorWidth(); in enableMemCmpExpansion()
4883 if (PreferredWidth >= 512 && ST->hasAVX512()) Options.LoadSizes.push_back(64); in enableMemCmpExpansion()
4884 if (PreferredWidth >= 256 && ST->hasAVX()) Options.LoadSizes.push_back(32); in enableMemCmpExpansion()
4885 if (PreferredWidth >= 128 && ST->hasSSE2()) Options.LoadSizes.push_back(16); in enableMemCmpExpansion()
4887 if (ST->is64Bit()) { in enableMemCmpExpansion()
4900 return !(ST->isAtom()); in enableInterleavedAccessVectorization()
5159 if (ST->hasAVX512() && isSupportedOnAVX512(VecTy, ST->hasBWI())) in getInterleavedMemoryOpCost()
5163 if (ST->hasAVX2()) in getInterleavedMemoryOpCost()