Lines Matching full:sti
168 /// \returns True if \p STI is AMDHSA.
169 bool isHsaAbi(const MCSubtargetInfo &STI) { in isHsaAbi() argument
170 return STI.getTargetTriple().getOS() == Triple::AMDHSA; in isHsaAbi()
767 AMDGPUTargetID::AMDGPUTargetID(const MCSubtargetInfo &STI) in AMDGPUTargetID() argument
768 : STI(STI), XnackSetting(TargetIDSetting::Any), in AMDGPUTargetID()
770 if (!STI.getFeatureBits().test(FeatureSupportsXNACK)) in AMDGPUTargetID()
772 if (!STI.getFeatureBits().test(FeatureSupportsSRAMECC)) in AMDGPUTargetID()
860 auto TargetTriple = STI.getTargetTriple(); in toString()
861 auto Version = getIsaVersion(STI.getCPU()); in toString()
873 Processor = STI.getCPU().str(); in toString()
880 if (STI.getTargetTriple().getOS() == Triple::AMDHSA) { in toString()
899 unsigned getWavefrontSize(const MCSubtargetInfo *STI) { in getWavefrontSize() argument
900 if (STI->getFeatureBits().test(FeatureWavefrontSize16)) in getWavefrontSize()
902 if (STI->getFeatureBits().test(FeatureWavefrontSize32)) in getWavefrontSize()
908 unsigned getLocalMemorySize(const MCSubtargetInfo *STI) { in getLocalMemorySize() argument
910 if (STI->getFeatureBits().test(FeatureLocalMemorySize32768)) in getLocalMemorySize()
912 if (STI->getFeatureBits().test(FeatureLocalMemorySize65536)) in getLocalMemorySize()
918 if (isGFX10Plus(*STI) && !STI->getFeatureBits().test(FeatureCuMode)) in getLocalMemorySize()
924 unsigned getAddressableLocalMemorySize(const MCSubtargetInfo *STI) { in getAddressableLocalMemorySize() argument
925 if (STI->getFeatureBits().test(FeatureLocalMemorySize32768)) in getAddressableLocalMemorySize()
927 if (STI->getFeatureBits().test(FeatureLocalMemorySize65536)) in getAddressableLocalMemorySize()
932 unsigned getEUsPerCU(const MCSubtargetInfo *STI) { in getEUsPerCU() argument
936 if (isGFX10Plus(*STI) && STI->getFeatureBits().test(FeatureCuMode)) in getEUsPerCU()
943 unsigned getMaxWorkGroupsPerCU(const MCSubtargetInfo *STI, in getMaxWorkGroupsPerCU() argument
946 if (STI->getTargetTriple().getArch() != Triple::amdgcn) in getMaxWorkGroupsPerCU()
948 unsigned MaxWaves = getMaxWavesPerEU(STI) * getEUsPerCU(STI); in getMaxWorkGroupsPerCU()
949 unsigned N = getWavesPerWorkGroup(STI, FlatWorkGroupSize); in getMaxWorkGroupsPerCU()
956 if (isGFX10Plus(*STI) && !STI->getFeatureBits().test(FeatureCuMode)) in getMaxWorkGroupsPerCU()
962 unsigned getMinWavesPerEU(const MCSubtargetInfo *STI) { in getMinWavesPerEU() argument
966 unsigned getMaxWavesPerEU(const MCSubtargetInfo *STI) { in getMaxWavesPerEU() argument
968 if (isGFX90A(*STI)) in getMaxWavesPerEU()
970 if (!isGFX10Plus(*STI)) in getMaxWavesPerEU()
972 return hasGFX10_3Insts(*STI) ? 16 : 20; in getMaxWavesPerEU()
975 unsigned getWavesPerEUForWorkGroup(const MCSubtargetInfo *STI, in getWavesPerEUForWorkGroup() argument
977 return divideCeil(getWavesPerWorkGroup(STI, FlatWorkGroupSize), in getWavesPerEUForWorkGroup()
978 getEUsPerCU(STI)); in getWavesPerEUForWorkGroup()
981 unsigned getMinFlatWorkGroupSize(const MCSubtargetInfo *STI) { in getMinFlatWorkGroupSize() argument
985 unsigned getMaxFlatWorkGroupSize(const MCSubtargetInfo *STI) { in getMaxFlatWorkGroupSize() argument
990 unsigned getWavesPerWorkGroup(const MCSubtargetInfo *STI, in getWavesPerWorkGroup() argument
992 return divideCeil(FlatWorkGroupSize, getWavefrontSize(STI)); in getWavesPerWorkGroup()
995 unsigned getSGPRAllocGranule(const MCSubtargetInfo *STI) { in getSGPRAllocGranule() argument
996 IsaVersion Version = getIsaVersion(STI->getCPU()); in getSGPRAllocGranule()
998 return getAddressableNumSGPRs(STI); in getSGPRAllocGranule()
1004 unsigned getSGPREncodingGranule(const MCSubtargetInfo *STI) { in getSGPREncodingGranule() argument
1008 unsigned getTotalNumSGPRs(const MCSubtargetInfo *STI) { in getTotalNumSGPRs() argument
1009 IsaVersion Version = getIsaVersion(STI->getCPU()); in getTotalNumSGPRs()
1015 unsigned getAddressableNumSGPRs(const MCSubtargetInfo *STI) { in getAddressableNumSGPRs() argument
1016 if (STI->getFeatureBits().test(FeatureSGPRInitBug)) in getAddressableNumSGPRs()
1019 IsaVersion Version = getIsaVersion(STI->getCPU()); in getAddressableNumSGPRs()
1027 unsigned getMinNumSGPRs(const MCSubtargetInfo *STI, unsigned WavesPerEU) { in getMinNumSGPRs() argument
1030 IsaVersion Version = getIsaVersion(STI->getCPU()); in getMinNumSGPRs()
1034 if (WavesPerEU >= getMaxWavesPerEU(STI)) in getMinNumSGPRs()
1037 unsigned MinNumSGPRs = getTotalNumSGPRs(STI) / (WavesPerEU + 1); in getMinNumSGPRs()
1038 if (STI->getFeatureBits().test(FeatureTrapHandler)) in getMinNumSGPRs()
1040 MinNumSGPRs = alignDown(MinNumSGPRs, getSGPRAllocGranule(STI)) + 1; in getMinNumSGPRs()
1041 return std::min(MinNumSGPRs, getAddressableNumSGPRs(STI)); in getMinNumSGPRs()
1044 unsigned getMaxNumSGPRs(const MCSubtargetInfo *STI, unsigned WavesPerEU, in getMaxNumSGPRs() argument
1048 unsigned AddressableNumSGPRs = getAddressableNumSGPRs(STI); in getMaxNumSGPRs()
1049 IsaVersion Version = getIsaVersion(STI->getCPU()); in getMaxNumSGPRs()
1054 unsigned MaxNumSGPRs = getTotalNumSGPRs(STI) / WavesPerEU; in getMaxNumSGPRs()
1055 if (STI->getFeatureBits().test(FeatureTrapHandler)) in getMaxNumSGPRs()
1057 MaxNumSGPRs = alignDown(MaxNumSGPRs, getSGPRAllocGranule(STI)); in getMaxNumSGPRs()
1061 unsigned getNumExtraSGPRs(const MCSubtargetInfo *STI, bool VCCUsed, in getNumExtraSGPRs() argument
1067 IsaVersion Version = getIsaVersion(STI->getCPU()); in getNumExtraSGPRs()
1079 STI->getFeatureBits().test(AMDGPU::FeatureArchitectedFlatScratch)) in getNumExtraSGPRs()
1086 unsigned getNumExtraSGPRs(const MCSubtargetInfo *STI, bool VCCUsed, in getNumExtraSGPRs() argument
1088 return getNumExtraSGPRs(STI, VCCUsed, FlatScrUsed, in getNumExtraSGPRs()
1089 STI->getFeatureBits().test(AMDGPU::FeatureXNACK)); in getNumExtraSGPRs()
1097 unsigned getNumSGPRBlocks(const MCSubtargetInfo *STI, unsigned NumSGPRs) { in getNumSGPRBlocks() argument
1099 return getGranulatedNumRegisterBlocks(NumSGPRs, getSGPREncodingGranule(STI)) - in getNumSGPRBlocks()
1103 unsigned getVGPRAllocGranule(const MCSubtargetInfo *STI, in getVGPRAllocGranule() argument
1105 if (STI->getFeatureBits().test(FeatureGFX90AInsts)) in getVGPRAllocGranule()
1110 STI->getFeatureBits().test(FeatureWavefrontSize32); in getVGPRAllocGranule()
1112 if (STI->getFeatureBits().test(Feature1_5xVGPRs)) in getVGPRAllocGranule()
1115 if (hasGFX10_3Insts(*STI)) in getVGPRAllocGranule()
1121 unsigned getVGPREncodingGranule(const MCSubtargetInfo *STI, in getVGPREncodingGranule() argument
1123 if (STI->getFeatureBits().test(FeatureGFX90AInsts)) in getVGPREncodingGranule()
1128 STI->getFeatureBits().test(FeatureWavefrontSize32); in getVGPREncodingGranule()
1133 unsigned getTotalNumVGPRs(const MCSubtargetInfo *STI) { in getTotalNumVGPRs() argument
1134 if (STI->getFeatureBits().test(FeatureGFX90AInsts)) in getTotalNumVGPRs()
1136 if (!isGFX10Plus(*STI)) in getTotalNumVGPRs()
1138 bool IsWave32 = STI->getFeatureBits().test(FeatureWavefrontSize32); in getTotalNumVGPRs()
1139 if (STI->getFeatureBits().test(Feature1_5xVGPRs)) in getTotalNumVGPRs()
1144 unsigned getAddressableNumArchVGPRs(const MCSubtargetInfo *STI) { return 256; } in getAddressableNumArchVGPRs() argument
1146 unsigned getAddressableNumVGPRs(const MCSubtargetInfo *STI) { in getAddressableNumVGPRs() argument
1147 if (STI->getFeatureBits().test(FeatureGFX90AInsts)) in getAddressableNumVGPRs()
1149 return getAddressableNumArchVGPRs(STI); in getAddressableNumVGPRs()
1152 unsigned getNumWavesPerEUWithNumVGPRs(const MCSubtargetInfo *STI, in getNumWavesPerEUWithNumVGPRs() argument
1154 return getNumWavesPerEUWithNumVGPRs(NumVGPRs, getVGPRAllocGranule(STI), in getNumWavesPerEUWithNumVGPRs()
1155 getMaxWavesPerEU(STI), in getNumWavesPerEUWithNumVGPRs()
1156 getTotalNumVGPRs(STI)); in getNumWavesPerEUWithNumVGPRs()
1195 unsigned getMinNumVGPRs(const MCSubtargetInfo *STI, unsigned WavesPerEU) { in getMinNumVGPRs() argument
1198 unsigned MaxWavesPerEU = getMaxWavesPerEU(STI); in getMinNumVGPRs()
1202 unsigned TotNumVGPRs = getTotalNumVGPRs(STI); in getMinNumVGPRs()
1203 unsigned AddrsableNumVGPRs = getAddressableNumVGPRs(STI); in getMinNumVGPRs()
1204 unsigned Granule = getVGPRAllocGranule(STI); in getMinNumVGPRs()
1210 unsigned MinWavesPerEU = getNumWavesPerEUWithNumVGPRs(STI, AddrsableNumVGPRs); in getMinNumVGPRs()
1212 return getMinNumVGPRs(STI, MinWavesPerEU); in getMinNumVGPRs()
1219 unsigned getMaxNumVGPRs(const MCSubtargetInfo *STI, unsigned WavesPerEU) { in getMaxNumVGPRs() argument
1222 unsigned MaxNumVGPRs = alignDown(getTotalNumVGPRs(STI) / WavesPerEU, in getMaxNumVGPRs()
1223 getVGPRAllocGranule(STI)); in getMaxNumVGPRs()
1224 unsigned AddressableNumVGPRs = getAddressableNumVGPRs(STI); in getMaxNumVGPRs()
1228 unsigned getEncodedNumVGPRBlocks(const MCSubtargetInfo *STI, unsigned NumVGPRs, in getEncodedNumVGPRBlocks() argument
1231 NumVGPRs, getVGPREncodingGranule(STI, EnableWavefrontSize32)) - in getEncodedNumVGPRBlocks()
1235 unsigned getAllocatedNumVGPRBlocks(const MCSubtargetInfo *STI, in getAllocatedNumVGPRBlocks() argument
1239 NumVGPRs, getVGPRAllocGranule(STI, EnableWavefrontSize32)); in getAllocatedNumVGPRBlocks()
1244 const MCSubtargetInfo *STI) { in initDefaultAMDKernelCodeT() argument
1245 IsaVersion Version = getIsaVersion(STI->getCPU()); in initDefaultAMDKernelCodeT()
1253 if (STI->getFeatureBits().test(FeatureWavefrontSize32)) { in initDefaultAMDKernelCodeT()
1272 S_00B848_WGP_MODE(STI->getFeatureBits().test(FeatureCuMode) ? 0 : 1) | in initDefaultAMDKernelCodeT()
1556 const MCSubtargetInfo &STI) { in getDefaultCustomOperandEncoding() argument
1560 if (Op.isSupported(STI)) in getDefaultCustomOperandEncoding()
1569 const MCSubtargetInfo &STI) { in isSymbolicCustomOperandEncoding() argument
1574 if (!Op.isSupported(STI)) in isSymbolicCustomOperandEncoding()
1588 const MCSubtargetInfo &STI) { in decodeCustomOperand() argument
1591 if (Op.isSupported(STI)) { in decodeCustomOperand()
1612 const MCSubtargetInfo &STI) { in encodeCustomOperand() argument
1617 if (!Op.isSupported(STI)) { in encodeCustomOperand()
1637 int getDefaultDepCtrEncoding(const MCSubtargetInfo &STI) { in getDefaultDepCtrEncoding() argument
1640 Default = getDefaultCustomOperandEncoding(DepCtrInfo, DEP_CTR_SIZE, STI); in getDefaultDepCtrEncoding()
1645 const MCSubtargetInfo &STI) { in isSymbolicDepCtrEncoding() argument
1647 HasNonDefaultVal, STI); in isSymbolicDepCtrEncoding()
1651 bool &IsDefault, const MCSubtargetInfo &STI) { in decodeDepCtr() argument
1653 IsDefault, STI); in decodeDepCtr()
1657 const MCSubtargetInfo &STI) { in encodeDepCtr() argument
1659 STI); in encodeDepCtr()
1756 bool isSupportedTgtId(unsigned Id, const MCSubtargetInfo &STI) { in isSupportedTgtId() argument
1759 return !isGFX11Plus(STI); in isSupportedTgtId()
1762 return isGFX10Plus(STI); in isSupportedTgtId()
1765 return isGFX11Plus(STI); in isSupportedTgtId()
1768 return !isGFX11Plus(STI); in isSupportedTgtId()
1794 static StringLiteral const *getNfmtLookupTable(const MCSubtargetInfo &STI) { in getNfmtLookupTable() argument
1795 if (isSI(STI) || isCI(STI)) in getNfmtLookupTable()
1797 if (isVI(STI) || isGFX9(STI)) in getNfmtLookupTable()
1802 int64_t getNfmt(const StringRef Name, const MCSubtargetInfo &STI) { in getNfmt() argument
1803 auto lookupTable = getNfmtLookupTable(STI); in getNfmt()
1811 StringRef getNfmtName(unsigned Id, const MCSubtargetInfo &STI) { in getNfmtName() argument
1813 return getNfmtLookupTable(STI)[Id]; in getNfmtName()
1816 bool isValidDfmtNfmt(unsigned Id, const MCSubtargetInfo &STI) { in isValidDfmtNfmt() argument
1820 return isValidNfmt(Nfmt, STI); in isValidDfmtNfmt()
1823 bool isValidNfmt(unsigned Id, const MCSubtargetInfo &STI) { in isValidNfmt() argument
1824 return !getNfmtName(Id, STI).empty(); in isValidNfmt()
1836 int64_t getUnifiedFormat(const StringRef Name, const MCSubtargetInfo &STI) { in getUnifiedFormat() argument
1837 if (isGFX11Plus(STI)) { in getUnifiedFormat()
1851 StringRef getUnifiedFormatName(unsigned Id, const MCSubtargetInfo &STI) { in getUnifiedFormatName() argument
1852 if(isValidUnifiedFormat(Id, STI)) in getUnifiedFormatName()
1853 return isGFX10(STI) ? UfmtSymbolicGFX10[Id] : UfmtSymbolicGFX11[Id]; in getUnifiedFormatName()
1857 bool isValidUnifiedFormat(unsigned Id, const MCSubtargetInfo &STI) { in isValidUnifiedFormat() argument
1858 return isGFX10(STI) ? Id <= UfmtGFX10::UFMT_LAST : Id <= UfmtGFX11::UFMT_LAST; in isValidUnifiedFormat()
1862 const MCSubtargetInfo &STI) { in convertDfmtNfmt2Ufmt() argument
1864 if (isGFX11Plus(STI)) { in convertDfmtNfmt2Ufmt()
1878 bool isValidFormatEncoding(unsigned Val, const MCSubtargetInfo &STI) { in isValidFormatEncoding() argument
1879 return isGFX10Plus(STI) ? (Val <= UFMT_MAX) : (Val <= DFMT_NFMT_MAX); in isValidFormatEncoding()
1882 unsigned getDefaultFormatEncoding(const MCSubtargetInfo &STI) { in getDefaultFormatEncoding() argument
1883 if (isGFX10Plus(STI)) in getDefaultFormatEncoding()
1896 static uint64_t getMsgIdMask(const MCSubtargetInfo &STI) { in getMsgIdMask() argument
1897 return isGFX11Plus(STI) ? ID_MASK_GFX11Plus_ : ID_MASK_PreGFX11_; in getMsgIdMask()
1900 bool isValidMsgId(int64_t MsgId, const MCSubtargetInfo &STI) { in isValidMsgId() argument
1901 return (MsgId & ~(getMsgIdMask(STI))) == 0; in isValidMsgId()
1904 bool isValidMsgOp(int64_t MsgId, int64_t OpId, const MCSubtargetInfo &STI, in isValidMsgOp() argument
1906 assert(isValidMsgId(MsgId, STI)); in isValidMsgOp()
1911 if (msgRequiresOp(MsgId, STI)) { in isValidMsgOp()
1915 return !getMsgOpName(MsgId, OpId, STI).empty(); in isValidMsgOp()
1922 const MCSubtargetInfo &STI, bool Strict) { in isValidMsgStream() argument
1923 assert(isValidMsgOp(MsgId, OpId, STI, Strict)); in isValidMsgStream()
1928 if (!isGFX11Plus(STI)) { in isValidMsgStream()
1941 bool msgRequiresOp(int64_t MsgId, const MCSubtargetInfo &STI) { in msgRequiresOp() argument
1943 (!isGFX11Plus(STI) && in msgRequiresOp()
1948 const MCSubtargetInfo &STI) { in msgSupportsStream() argument
1949 return !isGFX11Plus(STI) && in msgSupportsStream()
1955 uint16_t &StreamId, const MCSubtargetInfo &STI) { in decodeMsg() argument
1956 MsgId = Val & getMsgIdMask(STI); in decodeMsg()
1957 if (isGFX11Plus(STI)) { in decodeMsg()
2058 bool hasXNACK(const MCSubtargetInfo &STI) { in hasXNACK() argument
2059 return STI.hasFeature(AMDGPU::FeatureXNACK); in hasXNACK()
2062 bool hasSRAMECC(const MCSubtargetInfo &STI) { in hasSRAMECC() argument
2063 return STI.hasFeature(AMDGPU::FeatureSRAMECC); in hasSRAMECC()
2066 bool hasMIMG_R128(const MCSubtargetInfo &STI) { in hasMIMG_R128() argument
2067 return STI.hasFeature(AMDGPU::FeatureMIMG_R128) && !STI.hasFeature(AMDGPU::FeatureR128A16); in hasMIMG_R128()
2070 bool hasA16(const MCSubtargetInfo &STI) { in hasA16() argument
2071 return STI.hasFeature(AMDGPU::FeatureA16); in hasA16()
2074 bool hasG16(const MCSubtargetInfo &STI) { in hasG16() argument
2075 return STI.hasFeature(AMDGPU::FeatureG16); in hasG16()
2078 bool hasPackedD16(const MCSubtargetInfo &STI) { in hasPackedD16() argument
2079 return !STI.hasFeature(AMDGPU::FeatureUnpackedD16VMem) && !isCI(STI) && in hasPackedD16()
2080 !isSI(STI); in hasPackedD16()
2083 bool hasGDS(const MCSubtargetInfo &STI) { in hasGDS() argument
2084 return STI.hasFeature(AMDGPU::FeatureGDS); in hasGDS()
2087 unsigned getNSAMaxSize(const MCSubtargetInfo &STI, bool HasSampler) { in getNSAMaxSize() argument
2088 auto Version = getIsaVersion(STI.getCPU()); in getNSAMaxSize()
2098 unsigned getMaxNumUserSGPRs(const MCSubtargetInfo &STI) { return 16; } in getMaxNumUserSGPRs() argument
2100 bool isSI(const MCSubtargetInfo &STI) { in isSI() argument
2101 return STI.hasFeature(AMDGPU::FeatureSouthernIslands); in isSI()
2104 bool isCI(const MCSubtargetInfo &STI) { in isCI() argument
2105 return STI.hasFeature(AMDGPU::FeatureSeaIslands); in isCI()
2108 bool isVI(const MCSubtargetInfo &STI) { in isVI() argument
2109 return STI.hasFeature(AMDGPU::FeatureVolcanicIslands); in isVI()
2112 bool isGFX9(const MCSubtargetInfo &STI) { in isGFX9() argument
2113 return STI.hasFeature(AMDGPU::FeatureGFX9); in isGFX9()
2116 bool isGFX9_GFX10(const MCSubtargetInfo &STI) { in isGFX9_GFX10() argument
2117 return isGFX9(STI) || isGFX10(STI); in isGFX9_GFX10()
2120 bool isGFX9_GFX10_GFX11(const MCSubtargetInfo &STI) { in isGFX9_GFX10_GFX11() argument
2121 return isGFX9(STI) || isGFX10(STI) || isGFX11(STI); in isGFX9_GFX10_GFX11()
2124 bool isGFX8_GFX9_GFX10(const MCSubtargetInfo &STI) { in isGFX8_GFX9_GFX10() argument
2125 return isVI(STI) || isGFX9(STI) || isGFX10(STI); in isGFX8_GFX9_GFX10()
2128 bool isGFX8Plus(const MCSubtargetInfo &STI) { in isGFX8Plus() argument
2129 return isVI(STI) || isGFX9Plus(STI); in isGFX8Plus()
2132 bool isGFX9Plus(const MCSubtargetInfo &STI) { in isGFX9Plus() argument
2133 return isGFX9(STI) || isGFX10Plus(STI); in isGFX9Plus()
2136 bool isNotGFX9Plus(const MCSubtargetInfo &STI) { return !isGFX9Plus(STI); } in isNotGFX9Plus() argument
2138 bool isGFX10(const MCSubtargetInfo &STI) { in isGFX10() argument
2139 return STI.hasFeature(AMDGPU::FeatureGFX10); in isGFX10()
2142 bool isGFX10_GFX11(const MCSubtargetInfo &STI) { in isGFX10_GFX11() argument
2143 return isGFX10(STI) || isGFX11(STI); in isGFX10_GFX11()
2146 bool isGFX10Plus(const MCSubtargetInfo &STI) { in isGFX10Plus() argument
2147 return isGFX10(STI) || isGFX11Plus(STI); in isGFX10Plus()
2150 bool isGFX11(const MCSubtargetInfo &STI) { in isGFX11() argument
2151 return STI.hasFeature(AMDGPU::FeatureGFX11); in isGFX11()
2154 bool isGFX11Plus(const MCSubtargetInfo &STI) { in isGFX11Plus() argument
2155 return isGFX11(STI) || isGFX12Plus(STI); in isGFX11Plus()
2158 bool isGFX12(const MCSubtargetInfo &STI) { in isGFX12() argument
2159 return STI.getFeatureBits()[AMDGPU::FeatureGFX12]; in isGFX12()
2162 bool isGFX12Plus(const MCSubtargetInfo &STI) { return isGFX12(STI); } in isGFX12Plus() argument
2164 bool isNotGFX12Plus(const MCSubtargetInfo &STI) { return !isGFX12Plus(STI); } in isNotGFX12Plus() argument
2166 bool isNotGFX11Plus(const MCSubtargetInfo &STI) { in isNotGFX11Plus() argument
2167 return !isGFX11Plus(STI); in isNotGFX11Plus()
2170 bool isNotGFX10Plus(const MCSubtargetInfo &STI) { in isNotGFX10Plus() argument
2171 return isSI(STI) || isCI(STI) || isVI(STI) || isGFX9(STI); in isNotGFX10Plus()
2174 bool isGFX10Before1030(const MCSubtargetInfo &STI) { in isGFX10Before1030() argument
2175 return isGFX10(STI) && !AMDGPU::isGFX10_BEncoding(STI); in isGFX10Before1030()
2178 bool isGCN3Encoding(const MCSubtargetInfo &STI) { in isGCN3Encoding() argument
2179 return STI.hasFeature(AMDGPU::FeatureGCN3Encoding); in isGCN3Encoding()
2182 bool isGFX10_AEncoding(const MCSubtargetInfo &STI) { in isGFX10_AEncoding() argument
2183 return STI.hasFeature(AMDGPU::FeatureGFX10_AEncoding); in isGFX10_AEncoding()
2186 bool isGFX10_BEncoding(const MCSubtargetInfo &STI) { in isGFX10_BEncoding() argument
2187 return STI.hasFeature(AMDGPU::FeatureGFX10_BEncoding); in isGFX10_BEncoding()
2190 bool hasGFX10_3Insts(const MCSubtargetInfo &STI) { in hasGFX10_3Insts() argument
2191 return STI.hasFeature(AMDGPU::FeatureGFX10_3Insts); in hasGFX10_3Insts()
2194 bool isGFX10_3_GFX11(const MCSubtargetInfo &STI) { in isGFX10_3_GFX11() argument
2195 return isGFX10_BEncoding(STI) && !isGFX12Plus(STI); in isGFX10_3_GFX11()
2198 bool isGFX90A(const MCSubtargetInfo &STI) { in isGFX90A() argument
2199 return STI.hasFeature(AMDGPU::FeatureGFX90AInsts); in isGFX90A()
2202 bool isGFX940(const MCSubtargetInfo &STI) { in isGFX940() argument
2203 return STI.hasFeature(AMDGPU::FeatureGFX940Insts); in isGFX940()
2206 bool hasArchitectedFlatScratch(const MCSubtargetInfo &STI) { in hasArchitectedFlatScratch() argument
2207 return STI.hasFeature(AMDGPU::FeatureArchitectedFlatScratch); in hasArchitectedFlatScratch()
2210 bool hasMAIInsts(const MCSubtargetInfo &STI) { in hasMAIInsts() argument
2211 return STI.hasFeature(AMDGPU::FeatureMAIInsts); in hasMAIInsts()
2214 bool hasVOPD(const MCSubtargetInfo &STI) { in hasVOPD() argument
2215 return STI.hasFeature(AMDGPU::FeatureVOPD); in hasVOPD()
2218 bool hasDPPSrc1SGPR(const MCSubtargetInfo &STI) { in hasDPPSrc1SGPR() argument
2219 return STI.hasFeature(AMDGPU::FeatureDPPSrc1SGPR); in hasDPPSrc1SGPR()
2222 unsigned hasKernargPreload(const MCSubtargetInfo &STI) { in hasKernargPreload() argument
2223 return STI.hasFeature(AMDGPU::FeatureKernargPreload); in hasKernargPreload()
2289 assert(!isSI(STI)); \
2290 case node: return isCI(STI) ? node##_ci : node##_vi;
2293 case node: return isGFX9Plus(STI) ? node##_gfx9plus : node##_vi;
2296 case node: return isGFX11Plus(STI) ? node##_gfx11plus : node##_gfxpre11;
2299 case node: return isGFX11Plus(STI) ? result##_gfx11plus : result##_gfxpre11;
2301 unsigned getMCReg(unsigned Reg, const MCSubtargetInfo &STI) { in getMCReg() argument
2302 if (STI.getTargetTriple().getArch() == Triple::r600) in getMCReg()
2939 const MCSubtargetInfo &STI) { in getGcnBufferFormatInfo() argument
2940 return isGFX11Plus(STI) in getGcnBufferFormatInfo()
2943 : isGFX10(STI) ? getGfx10BufferFormatInfo(BitsPerComp, in getGcnBufferFormatInfo()
2950 const MCSubtargetInfo &STI) { in getGcnBufferFormatInfo() argument
2951 return isGFX11Plus(STI) ? getGfx11PlusBufferFormatInfo(Format) in getGcnBufferFormatInfo()
2952 : isGFX10(STI) ? getGfx10BufferFormatInfo(Format) in getGcnBufferFormatInfo()