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) {...@@ -1184,6 +1184,10 @@ pub const CPUFAMILY = enum(u32) {
1184 ARM_BRAVA = 0x17d5b93a,1184 ARM_BRAVA = 0x17d5b93a,
1185 ARM_TAHITI = 0x75d4acb9,1185 ARM_TAHITI = 0x75d4acb9,
1186 ARM_TUPAI = 0x204526d0,1186 ARM_TUPAI = 0x204526d0,
1187 ARM_HIDRA = 0x1d5a87e8,
1188 ARM_SOTRA = 0xf76c5b1a,
1189 ARM_THERA = 0xab345f09,
1190 ARM_TILOS = 0x01d7a72b,
1187 _,1191 _,
1188};1192};
11891193
lib/std/zig/system/darwin/macos.zig+11-7
...@@ -411,7 +411,7 @@ pub fn detectNativeCpuAndFeatures() ?Target.Cpu {...@@ -411,7 +411,7 @@ pub fn detectNativeCpuAndFeatures() ?Target.Cpu {
411411
412 const current_arch = builtin.cpu.arch;412 const current_arch = builtin.cpu.arch;
413 switch (current_arch) {413 switch (current_arch) {
414 .aarch64, .aarch64_be => {414 .aarch64 => {
415 const model = switch (cpu_family) {415 const model = switch (cpu_family) {
416 .ARM_CYCLONE => &Target.aarch64.cpu.apple_a7,416 .ARM_CYCLONE => &Target.aarch64.cpu.apple_a7,
417 .ARM_TYPHOON => &Target.aarch64.cpu.apple_a8,417 .ARM_TYPHOON => &Target.aarch64.cpu.apple_a8,
...@@ -420,17 +420,21 @@ pub fn detectNativeCpuAndFeatures() ?Target.Cpu {...@@ -420,17 +420,21 @@ pub fn detectNativeCpuAndFeatures() ?Target.Cpu {
420 .ARM_MONSOON_MISTRAL => &Target.aarch64.cpu.apple_a11,420 .ARM_MONSOON_MISTRAL => &Target.aarch64.cpu.apple_a11,
421 .ARM_VORTEX_TEMPEST => &Target.aarch64.cpu.apple_a12,421 .ARM_VORTEX_TEMPEST => &Target.aarch64.cpu.apple_a12,
422 .ARM_LIGHTNING_THUNDER => &Target.aarch64.cpu.apple_a13,422 .ARM_LIGHTNING_THUNDER => &Target.aarch64.cpu.apple_a13,
423 .ARM_FIRESTORM_ICESTORM => &Target.aarch64.cpu.apple_m1, // a14423 .ARM_FIRESTORM_ICESTORM => &Target.aarch64.cpu.apple_a14,
424 .ARM_BLIZZARD_AVALANCHE => &Target.aarch64.cpu.apple_m2, // a15424 .ARM_BLIZZARD_AVALANCHE => &Target.aarch64.cpu.apple_a15,
425 .ARM_EVEREST_SAWTOOTH => &Target.aarch64.cpu.apple_m3, // a16425 .ARM_EVEREST_SAWTOOTH => &Target.aarch64.cpu.apple_a16,
426 .ARM_IBIZA => &Target.aarch64.cpu.apple_m3, // base426 .ARM_IBIZA => &Target.aarch64.cpu.apple_m3, // base
427 .ARM_PALMA => &Target.aarch64.cpu.apple_m3, // max427 .ARM_PALMA => &Target.aarch64.cpu.apple_m3, // max
428 .ARM_LOBOS => &Target.aarch64.cpu.apple_m3, // pro428 .ARM_LOBOS => &Target.aarch64.cpu.apple_m3, // pro
429 .ARM_COLL => &Target.aarch64.cpu.apple_a17, // a17 pro429 .ARM_COLL => &Target.aarch64.cpu.apple_a17, // pro
430 .ARM_DONAN => &Target.aarch64.cpu.apple_m4, // base430 .ARM_DONAN => &Target.aarch64.cpu.apple_m4, // base
431 .ARM_BRAVA => &Target.aarch64.cpu.apple_m4, // pro/max431 .ARM_BRAVA => &Target.aarch64.cpu.apple_m4, // pro/max
432 .ARM_TAHITI => &Target.aarch64.cpu.apple_m4, // a18 pro432 .ARM_TAHITI => &Target.aarch64.cpu.apple_a18, // pro
433 .ARM_TUPAI => &Target.aarch64.cpu.apple_m4, // a18433 .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
434 else => return null,438 else => return null,
435 };439 };
436440