| ... | ... | @@ -2046,6 +2046,7 @@ pub const Cpu = struct { |
| 2046 | 2046 | }, |
| 2047 | 2047 | .armeb, .thumbeb => &arm.cpu.baseline, |
| 2048 | 2048 | .aarch64 => switch (os.tag) { |
| 2049 | .haiku => &aarch64.cpu.cortex_a55, |
| 2049 | 2050 | .driverkit, .maccatalyst, .macos => &aarch64.cpu.apple_m1, |
| 2050 | 2051 | .ios, .tvos => &aarch64.cpu.apple_a7, |
| 2051 | 2052 | .visionos => &aarch64.cpu.apple_m2, |
| ... | ... | @@ -2061,21 +2062,36 @@ pub const Cpu = struct { |
| 2061 | 2062 | .lanai => &lanai.cpu.v11, // clang does not have a generic lanai model. |
| 2062 | 2063 | .loongarch32 => &loongarch.cpu.la32v1_0, |
| 2063 | 2064 | .loongarch64 => &loongarch.cpu.la64v1_0, |
| 2064 | | .m68k => &m68k.cpu.M68000, |
| 2065 | .m68k => &m68k.cpu.M68030, |
| 2065 | 2066 | .mips => &mips.cpu.mips32r2, |
| 2066 | 2067 | .mipsel => switch (os.tag) { |
| 2067 | 2068 | .psp => &mips.cpu.allegrex, |
| 2068 | 2069 | else => &mips.cpu.mips32r2, |
| 2069 | 2070 | }, |
| 2070 | | .mips64, .mips64el => &mips.cpu.mips64r2, |
| 2071 | .mips64 => switch (os.tag) { |
| 2072 | .openbsd => &mips.cpu.octeon, |
| 2073 | else => &mips.cpu.mips64r2, |
| 2074 | }, |
| 2075 | .mips64el => &mips.cpu.mips64r2, |
| 2071 | 2076 | .msp430 => &msp430.cpu.msp430, |
| 2072 | 2077 | .nvptx, .nvptx64 => &nvptx.cpu.sm_52, |
| 2078 | .powerpc => switch (os.tag) { |
| 2079 | .openbsd => &powerpc.cpu.@"750", |
| 2080 | else => generic(arch), |
| 2081 | }, |
| 2082 | .powerpc64 => switch (os.tag) { |
| 2083 | .openbsd => &powerpc.cpu.pwr9, |
| 2084 | else => generic(arch), |
| 2085 | }, |
| 2073 | 2086 | .powerpc64le => &powerpc.cpu.ppc64le, |
| 2074 | 2087 | .riscv32, .riscv32be => &riscv.cpu.baseline_rv32, |
| 2075 | 2088 | .riscv64, .riscv64be => &riscv.cpu.baseline_rv64, |
| 2076 | | // gcc/clang do not have a generic s390x model. |
| 2077 | | .s390x => &s390x.cpu.arch8, |
| 2078 | | .sparc => &sparc.cpu.v9, // glibc does not work with 'plain' v8. |
| 2089 | .s390x => &s390x.cpu.arch11, |
| 2090 | .sparc => switch (os.tag) { |
| 2091 | .linux => &sparc.cpu.v9, // glibc does not work with 'plain' v8. |
| 2092 | else => generic(arch), |
| 2093 | }, |
| 2094 | .sparc64 => &sparc.cpu.ultrasparc, |
| 2079 | 2095 | .x86 => &x86.cpu.pentium4, |
| 2080 | 2096 | .x86_64 => switch (os.tag) { |
| 2081 | 2097 | .driverkit, .maccatalyst => &x86.cpu.nehalem, |
| ... | ... | @@ -2085,6 +2101,7 @@ pub const Cpu = struct { |
| 2085 | 2101 | else => generic(arch), |
| 2086 | 2102 | }, |
| 2087 | 2103 | .xcore => &xcore.cpu.xs1b_generic, |
| 2104 | .xtensa => &xtensa.cpu.esp32, |
| 2088 | 2105 | .wasm32, .wasm64 => &wasm.cpu.lime1, |
| 2089 | 2106 | |
| 2090 | 2107 | else => generic(arch), |