================
@@ -856,6 +856,19 @@ void RISCVISAInfo::updateImplication() {
                   });
   }
 
+  // Add Zcd if C and D are enabled.
+  if (Exts.count("c") && Exts.count("d") && !Exts.count("zcd")) {
+    auto Version = findDefaultVersion("zcd");
+    Exts["zcd"] = *Version;
+  }
+
+  // Add Zcf if C and F are enabled on RV32.
+  if (XLen == 32 && Exts.count("c") && Exts.count("f") &&
+      !Exts.count("zcf")) {
+    auto Version = findDefaultVersion("zcf");
+    Exts["zcf"] = *Version;
+  }
----------------
lenary wrote:

I had concerns about this code for e.g. `march=rv32idc`, which should enable 
both `zcf` and `zcd`. Thankfully, the worklist processing will add `f` when `d` 
is specified, before this runs, so I don't think it's a problem.

https://github.com/llvm/llvm-project/pull/132259
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to