From a2c466220c13392e85f4910316883d5042ec248c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Wed, 16 Oct 2024 00:33:40 +0200 Subject: [PATCH] std.Target: Make Cpu.baseline() pick a better CPU for Apple targets. --- lib/std/Target.zig | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/std/Target.zig b/lib/std/Target.zig index 588cb79f0e..e641cb8773 100644 --- a/lib/std/Target.zig +++ b/lib/std/Target.zig @@ -1670,9 +1670,15 @@ pub const Cpu = struct { } pub fn baseline(arch: Arch, os: Os) *const Model { - _ = os; return switch (arch) { .arm, .armeb, .thumb, .thumbeb => &arm.cpu.baseline, + .aarch64 => switch (os.tag) { + .bridgeos, .driverkit, .macos => &aarch64.cpu.apple_m1, + .ios, .tvos => &aarch64.cpu.apple_a7, + .visionos => &aarch64.cpu.apple_m2, + .watchos => &aarch64.cpu.apple_s4, + else => generic(arch), + }, .hexagon => &hexagon.cpu.hexagonv60, // gcc/clang do not have a generic hexagon model. .riscv32 => &riscv.cpu.baseline_rv32, .riscv64 => &riscv.cpu.baseline_rv64,