authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-05-31 07:46:08+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-05-31 11:01:51+02:00
log8a95ac777bcb2b14f94b3e279be6ae31f286ccb2
tree368b5aae694f5202b3530fae6cc085a3a4c4cb4c
parent71950f8c347baeccce09acb71b8966ec1cd1ea3b

std.zig.system.darwin: update CPU detection to Apple M5/A19


2 files changed, 15 insertions(+), 7 deletions(-)

lib/std/c/darwin.zig+4
......@@ -1184,6 +1184,10 @@ pub const CPUFAMILY = enum(u32) {
11841184 ARM_BRAVA = 0x17d5b93a,
11851185 ARM_TAHITI = 0x75d4acb9,
11861186 ARM_TUPAI = 0x204526d0,
1187 ARM_HIDRA = 0x1d5a87e8,
1188 ARM_SOTRA = 0xf76c5b1a,
1189 ARM_THERA = 0xab345f09,
1190 ARM_TILOS = 0x01d7a72b,
11871191 _,
11881192};
11891193
lib/std/zig/system/darwin/macos.zig+11-7
......@@ -411,7 +411,7 @@ pub fn detectNativeCpuAndFeatures() ?Target.Cpu {
411411
412412 const current_arch = builtin.cpu.arch;
413413 switch (current_arch) {
414 .aarch64, .aarch64_be => {
414 .aarch64 => {
415415 const model = switch (cpu_family) {
416416 .ARM_CYCLONE => &Target.aarch64.cpu.apple_a7,
417417 .ARM_TYPHOON => &Target.aarch64.cpu.apple_a8,
......@@ -420,17 +420,21 @@ pub fn detectNativeCpuAndFeatures() ?Target.Cpu {
420420 .ARM_MONSOON_MISTRAL => &Target.aarch64.cpu.apple_a11,
421421 .ARM_VORTEX_TEMPEST => &Target.aarch64.cpu.apple_a12,
422422 .ARM_LIGHTNING_THUNDER => &Target.aarch64.cpu.apple_a13,
423 .ARM_FIRESTORM_ICESTORM => &Target.aarch64.cpu.apple_m1, // a14
424 .ARM_BLIZZARD_AVALANCHE => &Target.aarch64.cpu.apple_m2, // a15
425 .ARM_EVEREST_SAWTOOTH => &Target.aarch64.cpu.apple_m3, // a16
423 .ARM_FIRESTORM_ICESTORM => &Target.aarch64.cpu.apple_a14,
424 .ARM_BLIZZARD_AVALANCHE => &Target.aarch64.cpu.apple_a15,
425 .ARM_EVEREST_SAWTOOTH => &Target.aarch64.cpu.apple_a16,
426426 .ARM_IBIZA => &Target.aarch64.cpu.apple_m3, // base
427427 .ARM_PALMA => &Target.aarch64.cpu.apple_m3, // max
428428 .ARM_LOBOS => &Target.aarch64.cpu.apple_m3, // pro
429 .ARM_COLL => &Target.aarch64.cpu.apple_a17, // a17 pro
429 .ARM_COLL => &Target.aarch64.cpu.apple_a17, // pro
430430 .ARM_DONAN => &Target.aarch64.cpu.apple_m4, // base
431431 .ARM_BRAVA => &Target.aarch64.cpu.apple_m4, // pro/max
432 .ARM_TAHITI => &Target.aarch64.cpu.apple_m4, // a18 pro
433 .ARM_TUPAI => &Target.aarch64.cpu.apple_m4, // a18
432 .ARM_TAHITI => &Target.aarch64.cpu.apple_a18, // pro
433 .ARM_TUPAI => &Target.aarch64.cpu.apple_a18, // base
434 .ARM_HIDRA => &Target.aarch64.cpu.apple_m5, // base
435 .ARM_SOTRA => &Target.aarch64.cpu.apple_m5, // pro/max
436 .ARM_THERA => &Target.aarch64.cpu.apple_a19, // pro
437 .ARM_TILOS => &Target.aarch64.cpu.apple_a19, // base
434438 else => return null,
435439 };
436440