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
