[PATCH] D117854: [RISCV] Decouple Zve* extensions and the V extension.

Jianjian Guan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 22 00:02:35 PST 2022


jacquesguan added inline comments.


================
Comment at: clang/lib/Sema/SemaChecking.cpp:3978
   for (StringRef F : ReqFeatures) {
-    if (TI.hasFeature(F))
-      continue;
-
-    // If the feature is 64bit, alter the string so it will print better in
-    // the diagnostic.
-    if (F == "64bit")
-      F = "RV64";
-
-    // Convert features like "zbr" and "experimental-zbr" to "Zbr".
-    F.consume_front("experimental-");
-    std::string FeatureStr = F.str();
-    FeatureStr[0] = std::toupper(FeatureStr[0]);
+    SmallVector<StringRef> ReqOpFeatures;
+    F.split(ReqOpFeatures, '|');
----------------
craig.topper wrote:
> Is this change testable?
Done, I add a test case `clang/test/CodeGen/RISCV/rvv-intrinsics/rvv-error.c` to test this.


================
Comment at: llvm/lib/Support/RISCVISAInfo.cpp:697
   bool HasZvl = MinVLen != 0;
 
   if (HasE && !IsRv32)
----------------
craig.topper wrote:
> Should we check that Zve and V are not specified together?
Done.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D117854/new/

https://reviews.llvm.org/D117854



More information about the llvm-commits mailing list