Lines Matching refs:Subtarget

23 // Subtarget Features (device properties)
963 // Subtarget Features (options and debugging)
1768 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::SOUTHERN_ISLANDS">,
1772 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::SOUTHERN_ISLANDS ||"
1773 "Subtarget->getGeneration() == AMDGPUSubtarget::SEA_ISLANDS">,
1777 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::SOUTHERN_ISLANDS ||"
1778 "Subtarget->getGeneration() == AMDGPUSubtarget::SEA_ISLANDS ||"
1779 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX10">,
1783 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::SOUTHERN_ISLANDS ||"
1784 "Subtarget->getGeneration() == AMDGPUSubtarget::SEA_ISLANDS ||"
1785 "Subtarget->getGeneration() >= AMDGPUSubtarget::GFX10">,
1789 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::SEA_ISLANDS">,
1793 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::SEA_ISLANDS ||"
1794 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX10">,
1798 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::SEA_ISLANDS ||"
1799 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX10 ||"
1800 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX11">,
1804 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::SEA_ISLANDS ||"
1805 "Subtarget->getGeneration() == AMDGPUSubtarget::VOLCANIC_ISLANDS ||"
1806 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX9">,
1810 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::SOUTHERN_ISLANDS ||"
1811 "Subtarget->getGeneration() == AMDGPUSubtarget::SEA_ISLANDS ||"
1812 "Subtarget->getGeneration() == AMDGPUSubtarget::VOLCANIC_ISLANDS ||"
1813 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX9">,
1817 Predicate<"!Subtarget->hasGFX90AInsts() &&"
1818 "(Subtarget->getGeneration() == AMDGPUSubtarget::SOUTHERN_ISLANDS ||"
1819 " Subtarget->getGeneration() == AMDGPUSubtarget::SEA_ISLANDS ||"
1820 " Subtarget->getGeneration() == AMDGPUSubtarget::VOLCANIC_ISLANDS ||"
1821 " Subtarget->getGeneration() == AMDGPUSubtarget::GFX9)">,
1825 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::SOUTHERN_ISLANDS ||"
1826 "Subtarget->getGeneration() == AMDGPUSubtarget::SEA_ISLANDS ||"
1827 "Subtarget->getGeneration() == AMDGPUSubtarget::VOLCANIC_ISLANDS ||"
1828 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX9 ||"
1829 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX10">,
1833 Predicate<"Subtarget->getGeneration() <= AMDGPUSubtarget::GFX11">,
1837 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::SEA_ISLANDS ||"
1838 "Subtarget->getGeneration() == AMDGPUSubtarget::VOLCANIC_ISLANDS ||"
1839 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX9 ||"
1840 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX10">,
1844 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::VOLCANIC_ISLANDS ||"
1845 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX9 ||"
1846 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX10 ||"
1847 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX11">,
1851 Predicate<"Subtarget->getGeneration() >= AMDGPUSubtarget::SEA_ISLANDS">,
1855 Predicate<"Subtarget->getGeneration() >= AMDGPUSubtarget::VOLCANIC_ISLANDS">,
1858 def isGFX8Only : Predicate<"Subtarget->getGeneration() =="
1863 Predicate<"Subtarget->getGeneration() >= AMDGPUSubtarget::GFX9">,
1867 Predicate<"Subtarget->getGeneration() < AMDGPUSubtarget::GFX9">;
1870 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX9">,
1874 Predicate<"Subtarget->isGCN3Encoding() && !Subtarget->hasGFX90AInsts()">,
1878 Predicate<"Subtarget->hasGFX90AInsts()">,
1882 Predicate<"!Subtarget->hasGFX90AInsts()">,
1886 Predicate<"!Subtarget->hasGFX90AInsts() &&"
1887 "(Subtarget->getGeneration() == AMDGPUSubtarget::VOLCANIC_ISLANDS ||"
1888 " Subtarget->getGeneration() == AMDGPUSubtarget::GFX9)">,
1892 Predicate<"Subtarget->hasGFX90AInsts() && !Subtarget->hasGFX940Insts()">,
1896 Predicate<"Subtarget->hasMAIInsts() && !Subtarget->hasGFX940Insts()">,
1900 Predicate<"Subtarget->hasGFX940Insts()">,
1904 Predicate<"!Subtarget->hasGFX940Insts() &&"
1905 "(Subtarget->getGeneration() == AMDGPUSubtarget::VOLCANIC_ISLANDS ||"
1906 " Subtarget->getGeneration() == AMDGPUSubtarget::GFX9)">,
1910 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::VOLCANIC_ISLANDS ||"
1911 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX9">,
1915 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::GFX10">,
1919 Predicate<"Subtarget->getGeneration() >= AMDGPUSubtarget::GFX10">,
1923 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::GFX10 ||"
1924 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX11">,
1928 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::GFX10 &&"
1929 "!Subtarget->hasGFX10_3Insts()">,
1933 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::GFX9 ||"
1934 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX10">,
1938 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::VOLCANIC_ISLANDS ||"
1939 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX9 ||"
1940 "Subtarget->getGeneration() == AMDGPUSubtarget::GFX10">,
1944 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::GFX11">,
1948 Predicate<"Subtarget->getGeneration() >= AMDGPUSubtarget::GFX11">,
1952 Predicate<"Subtarget->getGeneration() == AMDGPUSubtarget::GFX12">,
1956 Predicate<"Subtarget->getGeneration() >= AMDGPUSubtarget::GFX12">,
1959 def HasFlatAddressSpace : Predicate<"Subtarget->hasFlatAddressSpace()">,
1963 Predicate<"Subtarget->hasFlatBufferGlobalAtomicFaddF64Inst()">,
1967 Predicate<"Subtarget->hasAtomicFMinFMaxF32GlobalInsts()">,
1971 Predicate<"Subtarget->hasAtomicFMinFMaxF64GlobalInsts()">,
1975 Predicate<"Subtarget->hasAtomicFMinFMaxF32FlatInsts()">,
1979 Predicate<"Subtarget->hasAtomicFMinFMaxF64FlatInsts()">,
1983 Predicate<"Subtarget->hasLdsAtomicAddF64()">,
1986 def HasFlatGlobalInsts : Predicate<"Subtarget->hasFlatGlobalInsts()">,
1988 def HasFlatScratchInsts : Predicate<"Subtarget->hasFlatScratchInsts()">,
1990 def HasScalarFlatScratchInsts : Predicate<"Subtarget->hasScalarFlatScratchInsts()">,
1992 def HasD16LoadStore : Predicate<"Subtarget->hasD16LoadStore()">,
1995 def HasFlatScratchSTMode : Predicate<"Subtarget->hasFlatScratchSTMode()">,
1997 def HasFlatScratchSVSMode : Predicate<"Subtarget->hasFlatScratchSVSMode()">,
2000 def HasGFX10_AEncoding : Predicate<"Subtarget->hasGFX10_AEncoding()">,
2003 def HasGFX10_BEncoding : Predicate<"Subtarget->hasGFX10_BEncoding()">,
2006 def HasUnpackedD16VMem : Predicate<"Subtarget->hasUnpackedD16VMem()">,
2008 def HasPackedD16VMem : Predicate<"!Subtarget->hasUnpackedD16VMem()">,
2011 def HasRestrictedSOffset : Predicate<"Subtarget->hasRestrictedSOffset()">,
2013 def HasUnrestrictedSOffset : Predicate<"!Subtarget->hasRestrictedSOffset()">,
2017 Predicate<"Subtarget->d16PreservesUnusedBits()">,
2020 def LDSRequiresM0Init : Predicate<"Subtarget->ldsRequiresM0Init()">;
2021 def NotLDSRequiresM0Init : Predicate<"!Subtarget->ldsRequiresM0Init()">;
2023 def HasExportInsts : Predicate<"Subtarget->hasExportInsts()">,
2026 def HasVINTERPEncoding : Predicate<"Subtarget->hasVINTERPEncoding()">,
2029 def HasDSAddTid : Predicate<"Subtarget->getGeneration() >= AMDGPUSubtarget::GFX9">,
2032 def HasLDSFPAtomicAddF32 : Predicate<"Subtarget->hasLDSFPAtomicAddF32()">,
2035 def HasAddNoCarryInsts : Predicate<"Subtarget->hasAddNoCarry()">,
2038 def NotHasAddNoCarryInsts : Predicate<"!Subtarget->hasAddNoCarry()">;
2040 def HasXNACKEnabled : Predicate<"Subtarget->isXNACKEnabled()">;
2042 def Has16BitInsts : Predicate<"Subtarget->has16BitInsts()">,
2045 def HasTrue16BitInsts : Predicate<"Subtarget->hasTrue16BitInsts()">,
2047 def NotHasTrue16BitInsts : True16PredicateClass<"!Subtarget->hasTrue16BitInsts()">,
2054 def UseRealTrue16Insts : True16PredicateClass<"Subtarget->useRealTrue16Insts()">,
2056 def UseFakeTrue16Insts : True16PredicateClass<"Subtarget->hasTrue16BitInsts() && "
2057 "!Subtarget->useRealTrue16Insts()">,
2062 def HasVOP3PInsts : Predicate<"Subtarget->hasVOP3PInsts()">,
2065 def NotHasMed3_16 : Predicate<"!Subtarget->hasMed3_16()">;
2066 def HasMed3_16 : Predicate<"Subtarget->hasMed3_16()">;
2068 def HasMinMaxDenormModes : Predicate<"Subtarget->supportsMinMaxDenormModes()">;
2069 def NotHasMinMaxDenormModes : Predicate<"!Subtarget->supportsMinMaxDenormModes()">;
2071 def HasFminFmaxLegacy : Predicate<"Subtarget->hasFminFmaxLegacy()">;
2073 def HasSDWA : Predicate<"Subtarget->hasSDWA()">,
2077 Predicate<"Subtarget->hasSDWA()">,
2081 Predicate<"Subtarget->hasSDWA()">,
2084 def HasDPP : Predicate<"Subtarget->hasDPP()">,
2087 def HasDPP8 : Predicate<"Subtarget->hasDPP8()">,
2090 def HasDPALU_DPP : Predicate<"Subtarget->hasDPALU_DPP()">,
2093 def HasPackedFP32Ops : Predicate<"Subtarget->hasPackedFP32Ops()">,
2096 def HasPkMovB32 : Predicate<"Subtarget->hasPkMovB32()">,
2100 Predicate<"Subtarget->hasFmaakFmamkF32Insts()">,
2103 def HasImageInsts : Predicate<"Subtarget->hasImageInsts()">,
2106 def HasExtendedImageInsts : Predicate<"Subtarget->hasExtendedImageInsts()">,
2109 def HasR128A16 : Predicate<"Subtarget->hasR128A16()">,
2112 def HasA16 : Predicate<"Subtarget->hasA16()">,
2115 def HasG16 : Predicate<"Subtarget->hasG16()">,
2118 def HasDPP16 : Predicate<"Subtarget->hasDPP()">,
2121 def HasIntClamp : Predicate<"Subtarget->hasIntClamp()">,
2124 def HasMadMixInsts : Predicate<"Subtarget->hasMadMixInsts()">,
2127 def HasScalarStores : Predicate<"Subtarget->hasScalarStores()">,
2130 def HasScalarAtomics : Predicate<"Subtarget->hasScalarAtomics()">,
2133 def HasNoSdstCMPX : Predicate<"Subtarget->hasNoSdstCMPX()">,
2136 def HasSdstCMPX : Predicate<"!Subtarget->hasNoSdstCMPX()">,
2139 def has16BankLDS : Predicate<"Subtarget->getLDSBankCount() == 16">;
2140 def has32BankLDS : Predicate<"Subtarget->getLDSBankCount() == 32">;
2141 def HasVGPRIndexMode : Predicate<"Subtarget->hasVGPRIndexMode()">,
2143 def HasMovrel : Predicate<"Subtarget->hasMovrel()">,
2146 def HasFmaMixInsts : Predicate<"Subtarget->hasFmaMixInsts()">,
2149 def HasDLInsts : Predicate<"Subtarget->hasDLInsts()">,
2152 def HasFmacF64Inst : Predicate<"Subtarget->hasFmacF64Inst()">,
2155 def HasDot1Insts : Predicate<"Subtarget->hasDot1Insts()">,
2158 def HasDot2Insts : Predicate<"Subtarget->hasDot2Insts()">,
2161 def HasDot3Insts : Predicate<"Subtarget->hasDot3Insts()">,
2164 def HasDot4Insts : Predicate<"Subtarget->hasDot4Insts()">,
2167 def HasDot5Insts : Predicate<"Subtarget->hasDot5Insts()">,
2170 def HasDot6Insts : Predicate<"Subtarget->hasDot6Insts()">,
2173 def HasDot7Insts : Predicate<"Subtarget->hasDot7Insts()">,
2176 def HasDot8Insts : Predicate<"Subtarget->hasDot8Insts()">,
2179 def HasDot9Insts : Predicate<"Subtarget->hasDot9Insts()">,
2182 def HasDot10Insts : Predicate<"Subtarget->hasDot10Insts()">,
2185 def HasDot11Insts : Predicate<"Subtarget->hasDot11Insts()">,
2188 def HasGetWaveIdInst : Predicate<"Subtarget->hasGetWaveIdInst()">,
2191 def HasMAIInsts : Predicate<"Subtarget->hasMAIInsts()">,
2194 def HasSMemRealTime : Predicate<"Subtarget->hasSMemRealTime()">,
2197 def HasSMemTimeInst : Predicate<"Subtarget->hasSMemTimeInst()">,
2200 def HasShaderCyclesRegister : Predicate<"Subtarget->hasShaderCyclesRegister()">,
2203 def HasShaderCyclesHiLoRegisters : Predicate<"Subtarget->hasShaderCyclesHiLoRegisters()">;
2205 def HasFP8Insts : Predicate<"Subtarget->hasFP8Insts()">,
2208 def HasFP8ConversionInsts : Predicate<"Subtarget->hasFP8ConversionInsts()">,
2211 def HasPkFmacF16Inst : Predicate<"Subtarget->hasPkFmacF16Inst()">,
2214 def HasMadMacF32Insts : Predicate<"Subtarget->hasMadMacF32Insts()">,
2217 def HasFmaLegacy32 : Predicate<"Subtarget->hasGFX10_3Insts()">,
2220 def HasAtomicDsPkAdd16Insts : Predicate<"Subtarget->hasAtomicDsPkAdd16Insts()">,
2223 def HasAtomicFlatPkAdd16Insts : Predicate<"Subtarget->hasAtomicFlatPkAdd16Insts()">,
2226 def HasAtomicFaddRtnInsts : Predicate<"Subtarget->hasAtomicFaddRtnInsts()">,
2228 def HasAtomicFaddNoRtnInsts : Predicate<"Subtarget->hasAtomicFaddNoRtnInsts()">,
2231 …: Predicate<"Subtarget->hasAtomicBufferGlobalPkAddF16NoRtnInsts() || Subtarget->hasAtomicBufferGlo…
2234 : Predicate<"Subtarget->hasAtomicBufferGlobalPkAddF16Insts()">,
2237 : Predicate<"Subtarget->hasAtomicGlobalPkAddBF16Inst()">,
2240 : Predicate<"Subtarget->hasAtomicBufferPkAddBF16Inst()">,
2243 : Predicate<"Subtarget->hasFlatAtomicFaddF32Inst()">,
2247 : Predicate<"Subtarget->hasDefaultComponentZero()">,
2250 : Predicate<"Subtarget->hasDefaultComponentBroadcast()">,
2253 def HasDsSrc2Insts : Predicate<"!Subtarget->hasDsSrc2Insts()">,
2259 def EnableFlatScratch : Predicate<"Subtarget->enableFlatScratch()">;
2261 def DisableFlatScratch : Predicate<"!Subtarget->enableFlatScratch()">;
2263 def HasUnalignedAccessMode : Predicate<"Subtarget->hasUnalignedAccessMode()">,
2266 def HasMADIntraFwdBug : Predicate<"Subtarget->hasMADIntraFwdBug()">;
2268 def HasNotMADIntraFwdBug : Predicate<"!Subtarget->hasMADIntraFwdBug()">;
2270 def HasSALUFloatInsts : Predicate<"Subtarget->hasSALUFloatInsts()">,
2273 def HasVGPRSingleUseHintInsts : Predicate<"Subtarget->hasVGPRSingleUseHintInsts()">,
2276 def HasPseudoScalarTrans : Predicate<"Subtarget->hasPseudoScalarTrans()">,
2279 def HasGDS : Predicate<"Subtarget->hasGDS()">;
2281 def HasGWS : Predicate<"Subtarget->hasGWS()">;
2283 def HasCvtFP8VOP1Bug : Predicate<"Subtarget->hasCvtFP8VOP1Bug()">;
2284 def HasNoCvtFP8VOP1Bug : Predicate<"!Subtarget->hasCvtFP8VOP1Bug()">;
2286 def HasAtomicCSubNoRtnInsts : Predicate<"Subtarget->hasAtomicCSubNoRtnInsts()">;
2288 def HasScalarDwordx3Loads : Predicate<"Subtarget->hasScalarDwordx3Loads()">;