reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
65 return ST->hasPOPCNT() ? TTI::PSK_FastHardware : TTI::PSK_Software; 121 if (Vector && !ST->hasSSE1()) 124 if (ST->is64Bit()) { 125 if (Vector && ST->hasAVX512()) 133 unsigned PreferVectorWidth = ST->getPreferVectorWidth(); 135 if (ST->hasAVX512() && PreferVectorWidth >= 512) 137 if (ST->hasAVX() && PreferVectorWidth >= 256) 139 if (ST->hasSSE1() && PreferVectorWidth >= 128) 144 if (ST->is64Bit()) 161 if (ST->isAtom()) 166 if (ST->hasAVX()) 191 if (ST->isGLM()) 220 if (ST->isSLM()) { 296 ST->hasBWI()) { 309 ST->hasAVX512()) { 324 ST->hasAVX2()) { 342 ST->hasSSE2() && !ST->hasXOP()) { 342 ST->hasSSE2() && !ST->hasXOP()) { 361 ST->hasBWI()) { 376 ST->hasAVX512()) { 399 ST->hasAVX2()) { 433 ST->hasSSE2()) { 435 if (ISD == ISD::SDIV && LT.second == MVT::v8i32 && ST->hasAVX()) 437 if (ISD == ISD::SREM && LT.second == MVT::v8i32 && ST->hasAVX()) 439 if (ISD == ISD::SDIV && LT.second == MVT::v4i32 && ST->hasSSE41()) 441 if (ISD == ISD::SREM && LT.second == MVT::v4i32 && ST->hasSSE41()) 455 if (ST->hasAVX2() && 477 if (ST->hasSSE2() && 492 if (ST->hasDQI()) 519 if (ST->hasBWI()) 551 if (ST->hasAVX512()) 571 if (ST->hasAVX2()) { 615 if (ST->hasXOP()) { 644 if (ST->hasSSE2() && 649 if (ISD == ISD::SRA && LT.second == MVT::v4i64 && ST->hasAVX2()) 662 if (((VT == MVT::v8i16 || VT == MVT::v4i32) && ST->hasSSE2()) || 663 ((VT == MVT::v16i16 || VT == MVT::v8i32) && ST->hasAVX())) 710 if (ST->hasAVX2()) 746 if (ST->hasAVX()) 772 if (ST->hasSSE42()) 801 if (ST->hasSSE41()) 843 if (ST->hasSSE2()) 866 if (ST->hasSSE1()) 940 if (SubTp->getPrimitiveSizeInBits() >= 32 || ST->hasSSSE3()) 999 if (ST->hasVBMI()) 1026 if (ST->hasBWI()) 1070 if (ST->hasAVX512()) 1111 if (ST->hasAVX2()) 1133 if (ST->hasXOP()) 1180 if (ST->hasAVX()) 1193 if (ST->hasSSE41()) 1214 if (ST->hasSSSE3()) 1253 if (ST->hasSSE2()) 1265 if (ST->hasSSE1()) 1630 if (ST->hasSSE2() && !ST->hasAVX()) { 1630 if (ST->hasSSE2() && !ST->hasAVX()) { 1651 if (ST->hasBWI()) 1656 if (ST->hasDQI()) 1661 if (ST->hasAVX512()) 1667 if (ST->hasAVX2()) { 1673 if (ST->hasAVX()) { 1679 if (ST->hasSSE41()) { 1685 if (ST->hasSSE2()) { 1708 !((ST->hasXOP() && (!ST->hasAVX2() || MTy.is128BitVector())) || 1708 !((ST->hasXOP() && (!ST->hasAVX2() || MTy.is128BitVector())) || 1709 (ST->hasAVX512() && 32 <= MTy.getScalarSizeInBits()) || 1710 ST->hasBWI())) { 1729 if ((ST->hasSSE41() && MTy.getScalarSizeInBits() == 32) || 1730 (ST->hasSSE2() && MTy.getScalarSizeInBits() < 32)) { 1836 if (ST->isSLM()) 1840 if (ST->hasBWI()) 1844 if (ST->hasAVX512()) 1848 if (ST->hasAVX2()) 1852 if (ST->hasAVX()) 1856 if (ST->hasSSE42()) 1860 if (ST->hasSSE41()) 1864 if (ST->hasSSE2()) 1868 if (ST->hasSSE1()) 2202 if (ST->isGLM()) 2206 if (ST->isSLM()) 2210 if (ST->hasCDI()) 2214 if (ST->hasBWI()) 2218 if (ST->hasAVX512()) 2222 if (ST->hasXOP()) 2226 if (ST->hasAVX2()) 2230 if (ST->hasAVX()) 2234 if (ST->hasSSE42()) 2238 if (ST->hasSSSE3()) 2242 if (ST->hasSSE2()) 2246 if (ST->hasSSE1()) 2250 if (ST->hasLZCNT()) { 2251 if (ST->is64Bit()) 2259 if (ST->hasPOPCNT()) { 2260 if (ST->is64Bit()) 2270 if (ST->is64Bit()) 2357 if (ST->hasAVX512()) 2361 if (ST->hasXOP()) 2365 if (ST->is64Bit()) 2445 if (LT.second.getStoreSize() == 32 && ST->isUnalignedMem32Slow()) 2500 if (!ST->hasAVX512()) 2598 if (ST->hasAVX()) 2602 if (ST->hasSSE2()) 2606 if (ST->hasAVX()) 2610 if (ST->hasSSE2()) 2621 if (ST->hasAVX()) 2625 if (ST->hasSSE2()) 2629 if (ST->hasAVX()) 2633 if (ST->hasSSE2()) 2669 if (ST->hasAVX2()) 2672 if (ST->hasAVX()) 2675 if (ST->hasSSE2()) 2852 if (ST->hasAVX512()) 2856 if (ST->hasAVX2()) 2860 if (ST->hasAVX()) 2864 if (ST->hasSSE42()) 2868 if (ST->hasSSE41()) 2872 if (ST->hasSSE2()) 2876 if (ST->hasSSE1()) 2880 if (ST->hasAVX512()) 2885 if (ST->hasAVX2()) 2889 if (ST->hasAVX()) 2893 if (ST->hasSSE42()) 2897 if (ST->hasSSE41()) 2901 if (ST->hasSSE2()) 2905 if (ST->hasSSE1()) 3146 unsigned IndexSize = (ST->hasAVX512() && VF >= 16) 3165 ? ST->getGatherOverhead() 3166 : ST->getScatterOverhead(); 3237 if (ST->hasAVX512() && (VF == 2 || (VF == 4 && !ST->hasVLX()))) 3237 if (ST->hasAVX512() && (VF == 2 || (VF == 4 && !ST->hasVLX()))) 3259 return ST->hasMacroFusion() || ST->hasBranchFusion(); 3259 return ST->hasMacroFusion() || ST->hasBranchFusion(); 3263 if (!ST->hasAVX()) 3282 ((IntWidth == 8 || IntWidth == 16) && ST->hasBWI()); 3295 return DataSize == 16 ? ST->hasSSE1() : ST->hasAVX2(); 3295 return DataSize == 16 ? ST->hasSSE1() : ST->hasAVX2(); 3305 if (ST->hasSSE4A() && (DataType->isFloatTy() || DataType->isDoubleTy())) 3318 return ST->hasAVX(); 3320 return ST->hasSSE1(); 3328 if (!ST->hasAVX512()) 3345 ((IntWidth == 8 || IntWidth == 16) && ST->hasVBMI2()); 3356 if (!(ST->hasAVX512() || (ST->hasFastGather() && ST->hasAVX2()))) 3356 if (!(ST->hasAVX512() || (ST->hasFastGather() && ST->hasAVX2()))) 3356 if (!(ST->hasAVX512() || (ST->hasFastGather() && ST->hasAVX2()))) 3392 if (!ST->hasAVX512()) 3445 const unsigned PreferredWidth = ST->getPreferVectorWidth(); 3446 if (PreferredWidth >= 512 && ST->hasAVX512()) Options.LoadSizes.push_back(64); 3447 if (PreferredWidth >= 256 && ST->hasAVX2()) Options.LoadSizes.push_back(32); 3448 if (PreferredWidth >= 128 && ST->hasSSE2()) Options.LoadSizes.push_back(16); 3453 if (ST->is64Bit()) { 3466 return !(ST->isAtom()); 3738 if (ST->hasAVX512() && isSupportedOnAVX512(VecTy, ST->hasBWI())) 3738 if (ST->hasAVX512() && isSupportedOnAVX512(VecTy, ST->hasBWI())) 3742 if (ST->hasAVX2())lib/Target/X86/X86TargetTransformInfo.h
35 const X86Subtarget *getST() const { return ST; } 101 TLI(ST->getTargetLowering()) {}