https://github.com/MarkMurrayARM created 
https://github.com/llvm/llvm-project/pull/202557

None

>From 145311e0ebdf2f423ff7058f273b9ce1ccaaaffa Mon Sep 17 00:00:00 2001
From: Mark Murray <[email protected]>
Date: Fri, 5 Jun 2026 15:53:06 +0100
Subject: [PATCH] [AArch64] Add armagicpu CPU

---
 clang/test/Driver/aarch64-mcpu.c                               | 2 ++
 .../Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c    | 1 +
 clang/test/Misc/target-invalid-cpu-note/aarch64.c              | 2 +-
 llvm/lib/Target/AArch64/AArch64Processors.td                   | 2 ++
 llvm/unittests/TargetParser/TargetParserTest.cpp               | 3 ++-
 5 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/clang/test/Driver/aarch64-mcpu.c b/clang/test/Driver/aarch64-mcpu.c
index be5415b735d12..4cd5f353df03d 100644
--- a/clang/test/Driver/aarch64-mcpu.c
+++ b/clang/test/Driver/aarch64-mcpu.c
@@ -72,6 +72,8 @@
 // NEOVERSE-V3: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-cpu" 
"neoverse-v3"
 // RUN: %clang --target=aarch64 -mcpu=neoverse-v3ae  -### -c %s 2>&1 | 
FileCheck -check-prefix=NEOVERSE-V3AE %s
 // NEOVERSE-V3AE: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-cpu" 
"neoverse-v3ae"
+// RUN: %clang --target=aarch64 -mcpu=armagicpu  -### -c %s 2>&1 | FileCheck 
-check-prefix=ARMAGICPU %s
+// ARMAGICPU: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-cpu" "armagicpu"
 // RUN: %clang --target=aarch64 -mcpu=neoverse-n1 -### -c %s 2>&1 | FileCheck 
-check-prefix=NEOVERSE-N1 %s
 // NEOVERSE-N1: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-cpu" 
"neoverse-n1"
 // RUN: %clang --target=aarch64 -mcpu=neoverse-n2 -### -c %s 2>&1 | FileCheck 
-check-prefix=NEOVERSE-N2 %s
diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c 
b/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c
index f478323257ec2..67d8377e95227 100644
--- a/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c
+++ b/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c
@@ -1,5 +1,6 @@
 // REQUIRES: aarch64-registered-target
 // RUN: %clang --target=aarch64 --print-enabled-extensions -mcpu=neoverse-v3ae 
| FileCheck --strict-whitespace --implicit-check-not=FEAT_ %s
+// RUN: %clang --target=aarch64 --print-enabled-extensions -mcpu=armagicpu | 
FileCheck --strict-whitespace --implicit-check-not=FEAT_ %s
 
 // CHECK: Extensions enabled for the given AArch64 target
 // CHECK-EMPTY:
diff --git a/clang/test/Misc/target-invalid-cpu-note/aarch64.c 
b/clang/test/Misc/target-invalid-cpu-note/aarch64.c
index 3a6cb9d4445eb..faa7bba641cd0 100644
--- a/clang/test/Misc/target-invalid-cpu-note/aarch64.c
+++ b/clang/test/Misc/target-invalid-cpu-note/aarch64.c
@@ -37,6 +37,7 @@
 // CHECK-SAME: {{^}}, apple-s7
 // CHECK-SAME: {{^}}, apple-s8
 // CHECK-SAME: {{^}}, apple-s9
+// CHECK-SAME: {{^}}, armagicpu
 // CHECK-SAME: {{^}}, c1-nano
 // CHECK-SAME: {{^}}, c1-premium
 // CHECK-SAME: {{^}}, c1-pro
@@ -106,4 +107,3 @@
 // CHECK-SAME: {{^}}, thunderxt88
 // CHECK-SAME: {{^}}, tsv110
 // CHECK-SAME: {{$}}
-
diff --git a/llvm/lib/Target/AArch64/AArch64Processors.td 
b/llvm/lib/Target/AArch64/AArch64Processors.td
index 7a7f40da17de6..f35bc9df2ef1d 100644
--- a/llvm/lib/Target/AArch64/AArch64Processors.td
+++ b/llvm/lib/Target/AArch64/AArch64Processors.td
@@ -1358,6 +1358,8 @@ def : ProcessorModel<"neoverse-v3", NeoverseV3Model,
                      ProcessorFeatures.NeoverseV3, [TuneNeoverseV3]>;
 def : ProcessorModel<"neoverse-v3ae", NeoverseV3AEModel,
                      ProcessorFeatures.NeoverseV3AE, [TuneNeoverseV3AE]>;
+def : ProcessorModel<"armagicpu", NeoverseV3AEModel,
+                     ProcessorFeatures.NeoverseV3AE, [TuneNeoverseV3AE]>;
 def : ProcessorModel<"exynos-m3", ExynosM3Model, ProcessorFeatures.ExynosM3,
                      [TuneExynosM3]>;
 def : ProcessorModel<"exynos-m4", ExynosM4Model, ProcessorFeatures.ExynosM4,
diff --git a/llvm/unittests/TargetParser/TargetParserTest.cpp 
b/llvm/unittests/TargetParser/TargetParserTest.cpp
index 6377b197d911e..c961b22bcccfa 100644
--- a/llvm/unittests/TargetParser/TargetParserTest.cpp
+++ b/llvm/unittests/TargetParser/TargetParserTest.cpp
@@ -1112,6 +1112,7 @@ INSTANTIATE_TEST_SUITE_P(
                       AArch64CPUTestParams("neoverse-v2", "armv9-a"),
                       AArch64CPUTestParams("neoverse-v3", "armv9.2-a"),
                       AArch64CPUTestParams("neoverse-v3ae", "armv9.2-a"),
+                      AArch64CPUTestParams("armagicpu", "armv9.2-a"),
                       AArch64CPUTestParams("cortex-r82", "armv8-r"),
                       AArch64CPUTestParams("cortex-r82ae", "armv8-r"),
                       AArch64CPUTestParams("cortex-x1", "armv8.2-a"),
@@ -1271,7 +1272,7 @@ INSTANTIATE_TEST_SUITE_P(
     AArch64CPUAliasTestParams::PrintToStringParamName);
 
 // Note: number of CPUs includes aliases.
-static constexpr unsigned NumAArch64CPUArchs = 98;
+static constexpr unsigned NumAArch64CPUArchs = 99;
 
 TEST(TargetParserTest, testAArch64CPUArchList) {
   SmallVector<StringRef, NumAArch64CPUArchs> List;

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to