[llvm] [clang] [RISCV] Add -march support for many of the S extensions mentioned in the profile specification. (PR #79399)

Philip Reames via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 1 10:35:47 PST 2024


================
@@ -764,6 +771,62 @@ def FeatureStdExtSmepmp
     : SubtargetFeature<"smepmp", "HasStdExtSmepmp", "true",
                        "'Smepmp' (Enhanced Physical Memory Protection)", []>;
 
+def FeatureStdExtSsccptr
+    : SubtargetFeature<"ssccptr", "HasStdExtSsccptr", "true",
+                       "'Ssccptr' (Main memory supports page table reads)", []>;
+
+def FeatureStdExtShcounterenvw
+    : SubtargetFeature<"shcounterenw", "HasStdExtShcounterenw", "true",
+                       "'Shcounterenw' (Support writeable enables for any supproted counter)", []>;
+def FeatureStdExtSscounterenvw
+    : SubtargetFeature<"sscounterenw", "HasStdExtSscounterenw", "true",
+                       "'Sscounterenw' (Support writeable enables for any supproted counter)", []>;
----------------
preames wrote:

The difference between the two appears to be which counter must be writeable.

So maybe something like, "hcounter bits writeable for all non-zero hpmcounter bits" vs "scounter bits writeable for all non-zero hpmcounter bits"?

This is the case where having an actual spec for this would be really useful.  

https://github.com/llvm/llvm-project/pull/79399


More information about the cfe-commits mailing list