[clang] [llvm] [AArch64] Split FeatureLS64 to LS64_ACCDATA and LS64_V. (PR #101712)

Tomas Matheson via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 28 08:46:46 PDT 2024


================
@@ -305,9 +305,17 @@ def FeatureWFxT : ExtensionWithMArch<"wfxt", "WFxT", "FEAT_WFxT",
 def FeatureHCX : Extension<"hcx", "HCX", "FEAT_HCX",
   "Enable Armv8.7-A HCRX_EL2 system register">;
 
-def FeatureLS64 : ExtensionWithMArch<"ls64", "LS64",
-  "FEAT_LS64, FEAT_LS64_V, FEAT_LS64_ACCDATA",
-  "Enable Armv8.7-A LD64B/ST64B Accelerator Extension">;
+def FeatureLS64 : Extension<"ls64", "LS64", "FEAT_LS64",
+  "Enable single-copy atomic 64-byte loads and stores without status result">;
+
+def FeatureLS64_V : Extension<"ls64_v", "LS64_V", "FEAT_LS64_V",
+  "Enable single-copy atomic 64-byte stores with status result",
+  [FeatureLS64]>;
+
+let UserVisibleName = "ls64" in
+def FeatureLS64_ACCDATA : ExtensionWithMArch<"ls64_accdata", "LS64_ACCDATA", "FEAT_LS64_ACCDATA",
----------------
tmatheson-arm wrote:

Internal feature name `ls64_accdata` could be changed to `ls64` to keep backwards compatibility of IR... however this would potentially make things even more confusing, and we are allowed to drop non-debug metadata.

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


More information about the cfe-commits mailing list