authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-10-16 00:33:40+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-10-16 00:33:40+02:00
loga2c466220c13392e85f4910316883d5042ec248c
tree5d478d83c9c040f80183ce46cdf5e7b1f27a40ae
parent1bca53cc20f3b974d811a09addef84a6163c9c92
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.Target: Make Cpu.baseline() pick a better CPU for Apple targets.


1 files changed, 7 insertions(+), 1 deletions(-)

lib/std/Target.zig+7-1
......@@ -1670,9 +1670,15 @@ pub const Cpu = struct {
16701670 }
16711671
16721672 pub fn baseline(arch: Arch, os: Os) *const Model {
1673 _ = os;
16741673 return switch (arch) {
16751674 .arm, .armeb, .thumb, .thumbeb => &arm.cpu.baseline,
1675 .aarch64 => switch (os.tag) {
1676 .bridgeos, .driverkit, .macos => &aarch64.cpu.apple_m1,
1677 .ios, .tvos => &aarch64.cpu.apple_a7,
1678 .visionos => &aarch64.cpu.apple_m2,
1679 .watchos => &aarch64.cpu.apple_s4,
1680 else => generic(arch),
1681 },
16761682 .hexagon => &hexagon.cpu.hexagonv60, // gcc/clang do not have a generic hexagon model.
16771683 .riscv32 => &riscv.cpu.baseline_rv32,
16781684 .riscv64 => &riscv.cpu.baseline_rv64,