| ... | ... | @@ -375,15 +375,13 @@ pub fn resolveTargetQuery(io: Io, query: Target.Query) DetectError!Target { |
| 375 | 375 | |
| 376 | 376 | var cpu = switch (query.cpu_model) { |
| 377 | 377 | .native => detectNativeCpuAndFeatures(io, query_cpu_arch), |
| 378 | | .baseline => Target.Cpu.baseline(query_cpu_arch, os), |
| 378 | .baseline => null, |
| 379 | 379 | .determined_by_arch_os => if (query.cpu_arch == null) |
| 380 | 380 | detectNativeCpuAndFeatures(io, query_cpu_arch) |
| 381 | 381 | else |
| 382 | | Target.Cpu.baseline(query_cpu_arch, os), |
| 382 | null, |
| 383 | 383 | .explicit => |model| model.toCpu(query_cpu_arch), |
| 384 | | } orelse backup_cpu_detection: { |
| 385 | | break :backup_cpu_detection Target.Cpu.baseline(query_cpu_arch, os); |
| 386 | | }; |
| 384 | } orelse Target.Cpu.baseline(query_cpu_arch, os); |
| 387 | 385 | |
| 388 | 386 | // For x86, we need to populate some CPU feature flags depending on architecture |
| 389 | 387 | // and mode: |
| ... | ... | @@ -536,12 +534,11 @@ fn updateCpuFeatures( |
| 536 | 534 | } |
| 537 | 535 | |
| 538 | 536 | fn detectNativeCpuAndFeatures(io: Io, cpu_arch: Target.Cpu.Arch) ?Target.Cpu { |
| 539 | | // Here we switch on a comptime value rather than `cpu_arch`. This is valid because `cpu_arch`, |
| 540 | | // although it is a runtime value, is guaranteed to be one of the architectures in the set |
| 541 | | // of the respective switch prong. |
| 542 | | switch (builtin.cpu.arch) { |
| 543 | | .loongarch32, .loongarch64 => return @import("system/loongarch.zig").detectNativeCpuAndFeatures(cpu_arch), |
| 544 | | .x86_64, .x86 => return @import("system/x86.zig").detectNativeCpuAndFeatures(cpu_arch), |
| 537 | const family = builtin.target.cpu.arch.family(); |
| 538 | assert(cpu_arch.family() == family); |
| 539 | switch (family) { |
| 540 | .loongarch => return @import("system/loongarch.zig").detectNativeCpuAndFeatures(cpu_arch), |
| 541 | .x86 => return @import("system/x86.zig").detectNativeCpuAndFeatures(cpu_arch), |
| 545 | 542 | else => {}, |
| 546 | 543 | } |
| 547 | 544 | |