Skip to content

Commit e9ad329

Browse files
committed
Rename zeus to neoverse-v1 based on ARM annoucement
Also add neoverse-n2 support
1 parent a631b65 commit e9ad329

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

src/processor_arm.cpp

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,8 @@ enum class CPU : uint32_t {
8989
arm_cortex_x1,
9090
arm_neoverse_e1,
9191
arm_neoverse_n1,
92-
arm_zeus,
92+
arm_neoverse_v1,
93+
arm_neoverse_n2,
9394

9495
// Cavium
9596
// aarch64
@@ -307,7 +308,9 @@ constexpr auto arm_cortex_a78 = armv8_2a | get_feature_masks(dotprod, rcpc, full
307308
constexpr auto arm_cortex_x1 = armv8_2a | get_feature_masks(dotprod, rcpc, fullfp16, ssbs); // spe
308309
constexpr auto arm_neoverse_e1 = armv8_2a | get_feature_masks(rcpc, fullfp16, ssbs);
309310
constexpr auto arm_neoverse_n1 = armv8_2a | get_feature_masks(dotprod, rcpc, fullfp16, ssbs);
310-
constexpr auto arm_zeus = armv8_4a | get_feature_masks(sve, i8mm, bf16, fullfp16, ssbs, rand);
311+
constexpr auto arm_neoverse_v1 = armv8_4a | get_feature_masks(sve, i8mm, bf16, fullfp16, ssbs, rand);
312+
constexpr auto arm_neoverse_n2 = armv8_5a | get_feature_masks(sve, i8mm, bf16, fullfp16, sve2,
313+
sve2_bitperm, rand, mte);
311314
constexpr auto cavium_thunderx = armv8a_crc_crypto;
312315
constexpr auto cavium_thunderx88 = armv8a_crc_crypto;
313316
constexpr auto cavium_thunderx88p1 = armv8a_crc_crypto;
@@ -369,7 +372,8 @@ static constexpr CPUSpec<CPU, feature_sz> cpus[] = {
369372
{"cortex-x1", CPU::arm_cortex_x1, CPU::arm_cortex_a78, 110000, Feature::arm_cortex_x1},
370373
{"neoverse-e1", CPU::arm_neoverse_e1, CPU::arm_cortex_a76, 100000, Feature::arm_neoverse_e1},
371374
{"neoverse-n1", CPU::arm_neoverse_n1, CPU::arm_cortex_a76, 100000, Feature::arm_neoverse_n1},
372-
{"zeus", CPU::arm_zeus, CPU::arm_neoverse_n1, UINT32_MAX, Feature::arm_zeus},
375+
{"neoverse-v1", CPU::arm_neoverse_v1, CPU::arm_neoverse_n1, UINT32_MAX, Feature::arm_neoverse_v1},
376+
{"neoverse-n2", CPU::arm_neoverse_n2, CPU::arm_neoverse_n1, UINT32_MAX, Feature::arm_neoverse_n2},
373377
{"thunderx", CPU::cavium_thunderx, CPU::generic, 0, Feature::cavium_thunderx},
374378
{"thunderxt88", CPU::cavium_thunderx88, CPU::generic, 0, Feature::cavium_thunderx88},
375379
{"thunderxt88p1", CPU::cavium_thunderx88p1, CPU::cavium_thunderx88, UINT32_MAX,
@@ -560,6 +564,8 @@ constexpr auto arm_cortex_a77 = armv8_2a;
560564
constexpr auto arm_cortex_a78 = armv8_2a;
561565
constexpr auto arm_cortex_x1 = armv8_2a;
562566
constexpr auto arm_neoverse_n1 = armv8_2a;
567+
constexpr auto arm_neoverse_v1 = armv8_4a;
568+
constexpr auto arm_neoverse_n2 = armv8_5a;
563569
constexpr auto nvidia_denver1 = armv8a; // TODO? (crc, crypto)
564570
constexpr auto nvidia_denver2 = armv8a_crc_crypto;
565571
constexpr auto apm_xgene1 = armv8a;
@@ -642,6 +648,8 @@ static constexpr CPUSpec<CPU, feature_sz> cpus[] = {
642648
{"cortex-a78", CPU::arm_cortex_a78, CPU::arm_cortex_a77, 110000, Feature::arm_cortex_a78},
643649
{"cortex-x1", CPU::arm_cortex_x1, CPU::arm_cortex_a78, 110000, Feature::arm_cortex_x1},
644650
{"neoverse-n1", CPU::arm_neoverse_n1, CPU::arm_cortex_a76, 100000, Feature::arm_neoverse_n1},
651+
{"neoverse-v1", CPU::arm_neoverse_v1, CPU::arm_neoverse_n1, UINT32_MAX, Feature::arm_neoverse_v1},
652+
{"neoverse-n2", CPU::arm_neoverse_n2, CPU::arm_neoverse_n1, UINT32_MAX, Feature::arm_neoverse_n2},
645653
{"denver1", CPU::nvidia_denver1, CPU::arm_cortex_a53, UINT32_MAX, Feature::nvidia_denver1},
646654
{"denver2", CPU::nvidia_denver2, CPU::arm_cortex_a57, UINT32_MAX, Feature::nvidia_denver2},
647655
{"xgene1", CPU::apm_xgene1, CPU::armv8_a, UINT32_MAX, Feature::apm_xgene1},
@@ -851,10 +859,11 @@ static CPU get_cpu_name(CPUID cpuid)
851859
case 0xd20: return CPU::arm_cortex_m23;
852860
case 0xd21: return CPU::arm_cortex_m33;
853861
// case 0xd22: return CPU::arm_cortex_m55;
854-
case 0xd40: return CPU::arm_zeus;
862+
case 0xd40: return CPU::arm_neoverse_v1;
855863
case 0xd41: return CPU::arm_cortex_a78;
856864
case 0xd43: return CPU::arm_cortex_a65ae;
857865
case 0xd44: return CPU::arm_cortex_x1;
866+
case 0xd49: return CPU::arm_neoverse_n2;
858867
case 0xd4a: return CPU::arm_neoverse_e1;
859868
default: return CPU::generic;
860869
}
@@ -1258,6 +1267,8 @@ static NOINLINE std::pair<uint32_t,FeatureList<feature_sz>> _get_host_cpu()
12581267
CPU::arm_cortex_a75,
12591268
CPU::arm_cortex_a76,
12601269
CPU::arm_neoverse_n1,
1270+
CPU::arm_neoverse_n2,
1271+
CPU::arm_neoverse_v1,
12611272
CPU::nvidia_denver2,
12621273
CPU::nvidia_carmel,
12631274
CPU::samsung_exynos_m1,
@@ -1344,6 +1355,8 @@ static inline const char *normalize_cpu_name(llvm::StringRef name)
13441355
{
13451356
if (name == "ares")
13461357
return "neoverse-n1";
1358+
if (name == "zeus")
1359+
return "neoverse-v1";
13471360
if (name == "cyclone")
13481361
return "apple-a7";
13491362
if (name == "typhoon")

0 commit comments

Comments
 (0)