================
@@ -6695,9 +6709,22 @@ bool AMDGPUAsmParser::ParseDirectiveISAVersion() {
std::optional<AMDGPU::TargetID> MaybeParsed =
AMDGPU::TargetID::parseTargetIDString(TargetIDDirective);
if (!MaybeParsed)
- return Error(getParser().getTok().getLoc(), "malformed target id");
+ return Error(getParser().getTok().getLoc(),
+ "malformed target id '" + TargetIDDirective + "'");
const AMDGPU::TargetID &ParsedTargetID = *MaybeParsed;
+ const Triple &TT = getSTI().getTargetTriple();
+
+ // The processor named in the target id must be covered by the triple's
+ // subarch.
+ if (!AMDGPU::isCPUValidForSubArch(TT.getSubArch(),
+ ParsedTargetID.getGPUKind())) {
+ return Error(getParser().getTok().getLoc(),
----------------
slinder1 wrote:
Nit: Maybe not worth factoring it out, but this seems to be the exact error
from ParseDirectiveAMDGCNTarget, just formatted slightly differently
https://github.com/llvm/llvm-project/pull/206480
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits