Lines Matching defs:ISA
34 /// sets the `ISA` accordingly. If successful, the <isa> token is removed
36 static ParseRet tryParseISA(StringRef &MangledName, VFISAKind &ISA) {
41 ISA = VFISAKind::LLVM;
43 ISA = StringSwitch<VFISAKind>(MangledName.take_front(1))
80 static ParseRet tryParseVLEN(StringRef &ParseString, VFISAKind ISA,
83 // SVE is the only scalable ISA currently supported.
84 if (ISA != VFISAKind::SVE && ISA != VFISAKind::RVV) {
86 << "but ISA supported for SVE and RVV only\n");
304 static std::optional<ElementCount> getElementCountForTy(const VFISAKind ISA,
306 assert((ISA == VFISAKind::SVE || ISA == VFISAKind::RVV) &&
324 getScalableECFromSignature(const FunctionType *Signature, const VFISAKind ISA,
335 std::optional<ElementCount> EC = getElementCountForTy(ISA, PTy);
356 std::optional<ElementCount> ReturnEC = getElementCountForTy(ISA, RetTy);
391 // Extract ISA. An unknow ISA is also supported, so we accept all
393 VFISAKind ISA;
394 if (tryParseISA(MangledName, ISA) != ParseRet::OK)
404 if (tryParseVLEN(MangledName, ISA, ParsedVF) != ParseRet::OK)
450 EC = getScalableECFromSignature(FTy, ISA, Parameters);
484 if (ISA == VFISAKind::LLVM && VectorName == OriginalName)
509 return VFInfo({Shape, std::string(ScalarName), std::string(VectorName), ISA});