[clang] [llvm] [AArch64] Add armagicpu CPU (PR #202557)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 9 02:19:00 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-aarch64
Author: Mark Murray (MarkMurrayARM)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/202557.diff
5 Files Affected:
- (modified) clang/test/Driver/aarch64-mcpu.c (+2)
- (modified) clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c (+1)
- (modified) clang/test/Misc/target-invalid-cpu-note/aarch64.c (+1-1)
- (modified) llvm/lib/Target/AArch64/AArch64Processors.td (+2)
- (modified) llvm/unittests/TargetParser/TargetParserTest.cpp (+2-1)
``````````diff
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;
``````````
</details>
https://github.com/llvm/llvm-project/pull/202557
More information about the cfe-commits
mailing list