| ... | @@ -822,6 +822,13 @@ pub const Target = struct { | ... | @@ -822,6 +822,13 @@ pub const Target = struct { |
| 822 | }; | 822 | }; |
| 823 | } | 823 | } |
| 824 | | 824 | |
| | 825 | pub fn isSPIRV(arch: Arch) bool { |
| | 826 | return switch (arch) { |
| | 827 | .spirv32, .spirv64 => true, |
| | 828 | else => false, |
| | 829 | }; |
| | 830 | } |
| | 831 | |
| 825 | pub fn parseCpuModel(arch: Arch, cpu_name: []const u8) !*const Cpu.Model { | 832 | pub fn parseCpuModel(arch: Arch, cpu_name: []const u8) !*const Cpu.Model { |
| 826 | for (arch.allCpuModels()) |cpu| { | 833 | for (arch.allCpuModels()) |cpu| { |
| 827 | if (mem.eql(u8, cpu_name, cpu.name)) { | 834 | if (mem.eql(u8, cpu_name, cpu.name)) { |
| ... | @@ -1324,6 +1331,9 @@ pub const Target = struct { | ... | @@ -1324,6 +1331,9 @@ pub const Target = struct { |
| 1324 | if (cpu_arch.isWasm()) { | 1331 | if (cpu_arch.isWasm()) { |
| 1325 | return .wasm; | 1332 | return .wasm; |
| 1326 | } | 1333 | } |
| | 1334 | if (cpu_arch.isSPIRV()) { |
| | 1335 | return .spirv; |
| | 1336 | } |
| 1327 | return .elf; | 1337 | return .elf; |
| 1328 | } | 1338 | } |
| 1329 | | 1339 | |