[clang] [llvm][RISCV] Handle required features of intrinsic correctly (PR #143062)
Brandon Wu via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 9 18:23:09 PDT 2025
================
@@ -768,35 +768,13 @@ void RVVEmitter::createRVVIntrinsics(
Log2LMULMask |= 1 << (Log2LMUL + 3);
SR.Log2LMULMask = Log2LMULMask;
-
- for (auto RequiredFeature : RequiredFeatures) {
- unsigned RequireExt =
- StringSwitch<RVVRequire>(RequiredFeature)
- .Case("RV64", RVV_REQ_RV64)
- .Case("Zvfhmin", RVV_REQ_Zvfhmin)
- .Case("Xandesvpackfph", RVV_REQ_Xandesvpackfph)
- .Case("Xandesvdot", RVV_REQ_Xandesvdot)
- .Case("Xsfvcp", RVV_REQ_Xsfvcp)
- .Case("Xsfvfnrclipxfqf", RVV_REQ_Xsfvfnrclipxfqf)
- .Case("Xsfvfwmaccqqq", RVV_REQ_Xsfvfwmaccqqq)
- .Case("Xsfvqmaccdod", RVV_REQ_Xsfvqmaccdod)
- .Case("Xsfvqmaccqoq", RVV_REQ_Xsfvqmaccqoq)
- .Case("Zvbb", RVV_REQ_Zvbb)
- .Case("Zvbc", RVV_REQ_Zvbc)
- .Case("Zvkb", RVV_REQ_Zvkb)
- .Case("Zvkg", RVV_REQ_Zvkg)
- .Case("Zvkned", RVV_REQ_Zvkned)
- .Case("Zvknha", RVV_REQ_Zvknha)
- .Case("Zvknhb", RVV_REQ_Zvknhb)
- .Case("Zvksed", RVV_REQ_Zvksed)
- .Case("Zvksh", RVV_REQ_Zvksh)
- .Case("Zvfbfwma", RVV_REQ_Zvfbfwma)
- .Case("Zvfbfmin", RVV_REQ_Zvfbfmin)
- .Case("Zvfh", RVV_REQ_Zvfh)
- .Case("Experimental", RVV_REQ_Experimental);
- SR.RequiredExtensions.set(RequireExt);
+ std::string RFs;
+ for (unsigned i = 0; i < RequiredFeatures.size(); ++i) {
----------------
4vtomat wrote:
Good idea, thanks!
https://github.com/llvm/llvm-project/pull/143062
More information about the cfe-commits
mailing list