================ @@ -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