================
@@ -14,23 +14,36 @@
 class Extension<
   string TargetFeatureName,            // String used for -target-feature and 
-march, unless overridden.
   string Spelling,                     // The XYZ in HasXYZ and AEK_XYZ.
+  string ArchitectureFeatureName,      // The extension's "FEAT_*"" name(s) 
defined by the architecture
   string Desc,                         // Description.
   list<SubtargetFeature> Implies = []  // List of dependent features.
 > : SubtargetFeature<TargetFeatureName, "Has" # Spelling, "true", Desc, 
 > Implies>
 {
     string ArchExtKindSpelling = "AEK_" # Spelling; // ArchExtKind enum name.
 
-    // In general, the name written on the command line should match the name
-    // used for -target-feature. However, there are exceptions. Therefore we
-    // add a separate field for this, to allow overriding it. Strongly prefer
-    // not doing so.
-    string MArchName = TargetFeatureName;
+    string ArchFeatureName = ArchitectureFeatureName;
+
+    // By default, extensions are available as -march/-cpu command line 
options.
+    string MArchName = "";
 
     // An alias that can be used on the command line, if the extension has one.
     // Used for correcting historical names while remaining backwards 
compatible.
     string MArchAlias = "";
 }
 
+class ExtensionWithMArch<
----------------
tmatheson-arm wrote:

```suggestion
// An Extension that can be enabled via a `-march` modifier or target 
attribute, e.g. `+sm4`
class ExtensionWithMArch<
```

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

Reply via email to