[clang] [llvm] [AArch64] Add aliases for processors apple-a18/s6..10. (PR #127152)

via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 13 17:16:38 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-driver

@llvm/pr-subscribers-clang

Author: Ahmed Bougacha (ahmedbougacha)

<details>
<summary>Changes</summary>

apple-a18 is an alias of apple-m4.
apple-s6/s7/s8 are aliases of apple-a13.
apple-s9/s10 are aliases of apple-a16.

As with some other aliases today, this reflects identical ISA feature support, but not necessarily identical microarchitectures and performance characteristics.

---
Full diff: https://github.com/llvm/llvm-project/pull/127152.diff


4 Files Affected:

- (modified) clang/test/Driver/print-supported-cpus-aarch64.c (+6) 
- (modified) clang/test/Misc/target-invalid-cpu-note/aarch64.c (+6) 
- (modified) llvm/lib/Target/AArch64/AArch64Processors.td (+6) 
- (modified) llvm/unittests/TargetParser/TargetParserTest.cpp (+12-2) 


``````````diff
diff --git a/clang/test/Driver/print-supported-cpus-aarch64.c b/clang/test/Driver/print-supported-cpus-aarch64.c
index 3c1dcebf7c6c8..3a0ccaf015428 100644
--- a/clang/test/Driver/print-supported-cpus-aarch64.c
+++ b/clang/test/Driver/print-supported-cpus-aarch64.c
@@ -14,6 +14,7 @@
 // CHECK: apple-a15
 // CHECK: apple-a16
 // CHECK: apple-a17
+// CHECK: apple-a18
 // CHECK: apple-a7
 // CHECK: apple-a8
 // CHECK: apple-a9
@@ -21,7 +22,12 @@
 // CHECK: apple-m2
 // CHECK: apple-m3
 // CHECK: apple-m4
+// CHECK: apple-s10
 // CHECK: apple-s4
 // CHECK: apple-s5
+// CHECK: apple-s6
+// CHECK: apple-s7
+// CHECK: apple-s8
+// CHECK: apple-s9
 
 // CHECK: Use -mcpu or -mtune to specify the target's processor.
diff --git a/clang/test/Misc/target-invalid-cpu-note/aarch64.c b/clang/test/Misc/target-invalid-cpu-note/aarch64.c
index e6ff09557fe07..98a2ca0447bcf 100644
--- a/clang/test/Misc/target-invalid-cpu-note/aarch64.c
+++ b/clang/test/Misc/target-invalid-cpu-note/aarch64.c
@@ -19,6 +19,7 @@
 // CHECK-SAME: {{^}}, apple-a15
 // CHECK-SAME: {{^}}, apple-a16
 // CHECK-SAME: {{^}}, apple-a17
+// CHECK-SAME: {{^}}, apple-a18
 // CHECK-SAME: {{^}}, apple-a7
 // CHECK-SAME: {{^}}, apple-a8
 // CHECK-SAME: {{^}}, apple-a9
@@ -26,8 +27,13 @@
 // CHECK-SAME: {{^}}, apple-m2
 // CHECK-SAME: {{^}}, apple-m3
 // CHECK-SAME: {{^}}, apple-m4
+// CHECK-SAME: {{^}}, apple-s10
 // CHECK-SAME: {{^}}, apple-s4
 // CHECK-SAME: {{^}}, apple-s5
+// CHECK-SAME: {{^}}, apple-s6
+// CHECK-SAME: {{^}}, apple-s7
+// CHECK-SAME: {{^}}, apple-s8
+// CHECK-SAME: {{^}}, apple-s9
 // CHECK-SAME: {{^}}, carmel
 // CHECK-SAME: {{^}}, cobalt-100
 // CHECK-SAME: {{^}}, cortex-a34
diff --git a/llvm/lib/Target/AArch64/AArch64Processors.td b/llvm/lib/Target/AArch64/AArch64Processors.td
index d1d4986d12550..b977b6aaaf619 100644
--- a/llvm/lib/Target/AArch64/AArch64Processors.td
+++ b/llvm/lib/Target/AArch64/AArch64Processors.td
@@ -1224,6 +1224,9 @@ def : ProcessorAlias<"apple-s5", "apple-a12">;
 
 def : ProcessorModel<"apple-a13", CycloneModel, ProcessorFeatures.AppleA13,
                      [TuneAppleA13]>;
+def : ProcessorAlias<"apple-s6", "apple-a13">;
+def : ProcessorAlias<"apple-s7", "apple-a13">;
+def : ProcessorAlias<"apple-s8", "apple-a13">;
 
 def : ProcessorModel<"apple-a14", CycloneModel, ProcessorFeatures.AppleA14,
                      [TuneAppleA14]>;
@@ -1236,12 +1239,15 @@ def : ProcessorAlias<"apple-m2", "apple-a15">;
 def : ProcessorModel<"apple-a16", CycloneModel, ProcessorFeatures.AppleA16,
                      [TuneAppleA16]>;
 def : ProcessorAlias<"apple-m3", "apple-a16">;
+def : ProcessorAlias<"apple-s9", "apple-a16">;
+def : ProcessorAlias<"apple-s10", "apple-a16">;
 
 def : ProcessorModel<"apple-a17", CycloneModel, ProcessorFeatures.AppleA17,
                      [TuneAppleA17]>;
 
 def : ProcessorModel<"apple-m4", CycloneModel, ProcessorFeatures.AppleM4,
                      [TuneAppleM4]>;
+def : ProcessorAlias<"apple-a18", "apple-m4">;
 
 // Alias for the latest Apple processor model supported by LLVM.
 def : ProcessorAlias<"apple-latest", "apple-m4">;
diff --git a/llvm/unittests/TargetParser/TargetParserTest.cpp b/llvm/unittests/TargetParser/TargetParserTest.cpp
index 7fee62721e6e0..93ac7381b02ef 100644
--- a/llvm/unittests/TargetParser/TargetParserTest.cpp
+++ b/llvm/unittests/TargetParser/TargetParserTest.cpp
@@ -1130,14 +1130,20 @@ INSTANTIATE_TEST_SUITE_P(
                       AArch64CPUTestParams("apple-s4", "armv8.3-a"),
                       AArch64CPUTestParams("apple-s5", "armv8.3-a"),
                       AArch64CPUTestParams("apple-a13", "armv8.4-a"),
+                      AArch64CPUTestParams("apple-s6", "armv8.4-a"),
+                      AArch64CPUTestParams("apple-s7", "armv8.4-a"),
+                      AArch64CPUTestParams("apple-s8", "armv8.4-a"),
                       AArch64CPUTestParams("apple-a14", "armv8.4-a"),
                       AArch64CPUTestParams("apple-m1", "armv8.4-a"),
                       AArch64CPUTestParams("apple-a15", "armv8.6-a"),
                       AArch64CPUTestParams("apple-m2", "armv8.6-a"),
                       AArch64CPUTestParams("apple-a16", "armv8.6-a"),
                       AArch64CPUTestParams("apple-m3", "armv8.6-a"),
+                      AArch64CPUTestParams("apple-s9", "armv8.6-a"),
+                      AArch64CPUTestParams("apple-s10", "armv8.6-a"),
                       AArch64CPUTestParams("apple-a17", "armv8.6-a"),
                       AArch64CPUTestParams("apple-m4", "armv8.7-a"),
+                      AArch64CPUTestParams("apple-a18", "armv8.7-a"),
                       AArch64CPUTestParams("exynos-m3", "armv8-a"),
                       AArch64CPUTestParams("exynos-m4", "armv8.2-a"),
                       AArch64CPUTestParams("exynos-m5", "armv8.2-a"),
@@ -1246,13 +1252,17 @@ INSTANTIATE_TEST_SUITE_P(
                                                  "apple-a8", "apple-a9"}),
                       AArch64CPUAliasTestParams({"apple-a12", "apple-s4",
                                                  "apple-s5"}),
+                      AArch64CPUAliasTestParams({"apple-a13", "apple-s6",
+                                                 "apple-s7", "apple-s8"}),
                       AArch64CPUAliasTestParams({"apple-a14", "apple-m1"}),
                       AArch64CPUAliasTestParams({"apple-a15", "apple-m2"}),
-                      AArch64CPUAliasTestParams({"apple-a16", "apple-m3"})),
+                      AArch64CPUAliasTestParams({"apple-a16", "apple-m3",
+                                                 "apple-s9", "apple-s10"}),
+                      AArch64CPUAliasTestParams({"apple-m4", "apple-a18"})),
     AArch64CPUAliasTestParams::PrintToStringParamName);
 
 // Note: number of CPUs includes aliases.
-static constexpr unsigned NumAArch64CPUArchs = 82;
+static constexpr unsigned NumAArch64CPUArchs = 88;
 
 TEST(TargetParserTest, testAArch64CPUArchList) {
   SmallVector<StringRef, NumAArch64CPUArchs> List;

``````````

</details>


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


More information about the llvm-commits mailing list