Skip to content

Commit 59b4684

Browse files
committed
[AArch64] Initial sched model for Neoverse N3
References: * Arm Neoverse N3 Software Optimization Guide * Arm A64 Instruction Set for A-profile architecture
1 parent 6f62757 commit 59b4684

File tree

14 files changed

+25267
-2
lines changed

14 files changed

+25267
-2
lines changed

clang/test/Misc/target-invalid-cpu-note/arm.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
// CHECK-SAME: {{^}}, cortex-x1c
8989
// CHECK-SAME: {{^}}, neoverse-n1
9090
// CHECK-SAME: {{^}}, neoverse-n2
91+
// CHECK-SAME: {{^}}, neoverse-n3
9192
// CHECK-SAME: {{^}}, neoverse-v1
9293
// CHECK-SAME: {{^}}, cyclone
9394
// CHECK-SAME: {{^}}, exynos-m3

llvm/include/llvm/TargetParser/ARMTargetParser.def

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,9 @@ ARM_CPU_NAME("neoverse-n1", ARMV8_2A, FK_CRYPTO_NEON_FP_ARMV8, false,
380380
ARM_CPU_NAME("neoverse-n2", ARMV9A, FK_NEON_FP_ARMV8, false,
381381
(ARM::AEK_BF16 | ARM::AEK_DOTPROD | ARM::AEK_FP16FML |
382382
ARM::AEK_I8MM | ARM::AEK_RAS | ARM::AEK_SB ))
383+
ARM_CPU_NAME("neoverse-n3", ARMV9_2A, FK_NEON_FP_ARMV8, false,
384+
(ARM::AEK_BF16 | ARM::AEK_DOTPROD | ARM::AEK_FP16FML |
385+
ARM::AEK_I8MM | ARM::AEK_RAS | ARM::AEK_SB ))
383386
ARM_CPU_NAME("neoverse-v1", ARMV8_4A, FK_CRYPTO_NEON_FP_ARMV8, false,
384387
(ARM::AEK_RAS | ARM::AEK_FP16 | ARM::AEK_BF16 | ARM::AEK_DOTPROD))
385388
ARM_CPU_NAME("cyclone", ARMV8A, FK_CRYPTO_NEON_FP_ARMV8, false, ARM::AEK_CRC)

llvm/lib/Target/AArch64/AArch64.td

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ include "AArch64SchedAmpere1.td"
112112
include "AArch64SchedAmpere1B.td"
113113
include "AArch64SchedNeoverseN1.td"
114114
include "AArch64SchedNeoverseN2.td"
115+
include "AArch64SchedNeoverseN3.td"
115116
include "AArch64SchedNeoverseV1.td"
116117
include "AArch64SchedNeoverseV2.td"
117118
include "AArch64SchedOryon.td"

llvm/lib/Target/AArch64/AArch64Processors.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1127,7 +1127,7 @@ def : ProcessorModel<"neoverse-n1", NeoverseN1Model,
11271127
def : ProcessorModel<"neoverse-n2", NeoverseN2Model,
11281128
ProcessorFeatures.NeoverseN2, [TuneNeoverseN2]>;
11291129
def : ProcessorAlias<"cobalt-100", "neoverse-n2">;
1130-
def : ProcessorModel<"neoverse-n3", NeoverseN2Model,
1130+
def : ProcessorModel<"neoverse-n3", NeoverseN3Model,
11311131
ProcessorFeatures.NeoverseN3, [TuneNeoverseN3]>;
11321132
def : ProcessorModel<"neoverse-512tvb", NeoverseV1Model,
11331133
ProcessorFeatures.Neoverse512TVB, [TuneNeoverse512TVB]>;

0 commit comments

Comments
 (0)