| author | |
| committer | |
| log | f988cea825c4b21d0864e7125287b12566079c39 |
| tree | 1c814af0239ed542df9346be00a5b51b42e00ecd |
| parent | 82b0f447211d17a6431307c74a5eb6d36e770697 |
| parent | 9f1fb45201e59945acc7e48fc394bba4064d52f5 |
| signature |
`std.Target`: Remove `minix` and `liteos`, rename `glsl450` to `opengl`, and some minor housekeeping6 files changed, 93 insertions(+), 109 deletions(-)
lib/compiler/aro/aro/target.zig+1-3| ... | ... | @@ -626,7 +626,6 @@ pub fn toLLVMTriple(target: std.Target, buf: []u8) []const u8 { |
| 626 | 626 | .windows => "windows", |
| 627 | 627 | .zos => "zos", |
| 628 | 628 | .haiku => "haiku", |
| 629 | .minix => "minix", | |
| 630 | 629 | .rtems => "rtems", |
| 631 | 630 | .aix => "aix", |
| 632 | 631 | .cuda => "cuda", |
| ... | ... | @@ -650,9 +649,8 @@ pub fn toLLVMTriple(target: std.Target, buf: []u8) []const u8 { |
| 650 | 649 | .visionos => "xros", |
| 651 | 650 | .driverkit => "driverkit", |
| 652 | 651 | .shadermodel => "shadermodel", |
| 653 | .liteos => "liteos", | |
| 654 | 652 | .opencl, |
| 655 | .glsl450, | |
| 653 | .opengl, | |
| 656 | 654 | .vulkan, |
| 657 | 655 | .plan9, |
| 658 | 656 | .other, |
lib/std/Target.zig+74-83| ... | ... | @@ -17,53 +17,60 @@ pub const Os = struct { |
| 17 | 17 | |
| 18 | 18 | pub const Tag = enum { |
| 19 | 19 | freestanding, |
| 20 | dragonfly, | |
| 21 | freebsd, | |
| 20 | other, | |
| 21 | ||
| 22 | contiki, | |
| 23 | elfiamcu, | |
| 22 | 24 | fuchsia, |
| 23 | ios, | |
| 25 | hermit, | |
| 26 | ||
| 27 | aix, | |
| 28 | haiku, | |
| 29 | hurd, | |
| 24 | 30 | linux, |
| 25 | ps3, | |
| 26 | macos, | |
| 31 | plan9, | |
| 32 | rtems, | |
| 33 | serenity, | |
| 34 | zos, | |
| 35 | ||
| 36 | dragonfly, | |
| 37 | freebsd, | |
| 27 | 38 | netbsd, |
| 28 | 39 | openbsd, |
| 40 | ||
| 41 | driverkit, | |
| 42 | ios, | |
| 43 | macos, | |
| 44 | tvos, | |
| 45 | visionos, | |
| 46 | watchos, | |
| 47 | ||
| 48 | illumos, | |
| 29 | 49 | solaris, |
| 30 | uefi, | |
| 50 | ||
| 31 | 51 | windows, |
| 32 | zos, | |
| 33 | haiku, | |
| 34 | minix, | |
| 35 | rtems, | |
| 36 | aix, | |
| 37 | cuda, | |
| 38 | nvcl, | |
| 39 | amdhsa, | |
| 52 | uefi, | |
| 53 | ||
| 54 | ps3, | |
| 40 | 55 | ps4, |
| 41 | 56 | ps5, |
| 42 | elfiamcu, | |
| 43 | tvos, | |
| 44 | watchos, | |
| 45 | driverkit, | |
| 46 | visionos, | |
| 47 | mesa3d, | |
| 48 | contiki, | |
| 49 | amdpal, | |
| 50 | hermit, | |
| 51 | hurd, | |
| 52 | wasi, | |
| 57 | ||
| 53 | 58 | emscripten, |
| 54 | shadermodel, | |
| 55 | liteos, | |
| 56 | serenity, | |
| 59 | wasi, | |
| 60 | ||
| 61 | amdhsa, | |
| 62 | amdpal, | |
| 63 | cuda, | |
| 64 | mesa3d, | |
| 65 | nvcl, | |
| 57 | 66 | opencl, |
| 58 | glsl450, | |
| 67 | opengl, | |
| 68 | shadermodel, | |
| 59 | 69 | vulkan, |
| 60 | plan9, | |
| 61 | illumos, | |
| 62 | other, | |
| 63 | 70 | |
| 64 | 71 | // LLVM tags deliberately omitted: |
| 65 | // - kfreebsd | |
| 66 | 72 | // - darwin |
| 73 | // - kfreebsd | |
| 67 | 74 | // - nacl |
| 68 | 75 | |
| 69 | 76 | pub inline fn isDarwin(tag: Tag) bool { |
| ... | ... | @@ -142,7 +149,6 @@ pub const Os = struct { |
| 142 | 149 | .ps3, |
| 143 | 150 | .zos, |
| 144 | 151 | .haiku, |
| 145 | .minix, | |
| 146 | 152 | .rtems, |
| 147 | 153 | .aix, |
| 148 | 154 | .cuda, |
| ... | ... | @@ -159,10 +165,9 @@ pub const Os = struct { |
| 159 | 165 | .emscripten, |
| 160 | 166 | .driverkit, |
| 161 | 167 | .shadermodel, |
| 162 | .liteos, | |
| 163 | 168 | .uefi, |
| 164 | 169 | .opencl, // TODO: OpenCL versions |
| 165 | .glsl450, // TODO: GLSL versions | |
| 170 | .opengl, // TODO: GLSL versions | |
| 166 | 171 | .vulkan, |
| 167 | 172 | .plan9, |
| 168 | 173 | .illumos, |
| ... | ... | @@ -373,7 +378,6 @@ pub const Os = struct { |
| 373 | 378 | .ps3, |
| 374 | 379 | .zos, |
| 375 | 380 | .haiku, |
| 376 | .minix, | |
| 377 | 381 | .rtems, |
| 378 | 382 | .aix, |
| 379 | 383 | .cuda, |
| ... | ... | @@ -390,10 +394,9 @@ pub const Os = struct { |
| 390 | 394 | .emscripten, |
| 391 | 395 | .driverkit, |
| 392 | 396 | .shadermodel, |
| 393 | .liteos, | |
| 394 | 397 | .uefi, |
| 395 | 398 | .opencl, // TODO: OpenCL versions |
| 396 | .glsl450, // TODO: GLSL versions | |
| 399 | .opengl, // TODO: GLSL versions | |
| 397 | 400 | .vulkan, |
| 398 | 401 | .plan9, |
| 399 | 402 | .illumos, |
| ... | ... | @@ -571,7 +574,6 @@ pub const Os = struct { |
| 571 | 574 | .fuchsia, |
| 572 | 575 | .ps3, |
| 573 | 576 | .zos, |
| 574 | .minix, | |
| 575 | 577 | .rtems, |
| 576 | 578 | .aix, |
| 577 | 579 | .cuda, |
| ... | ... | @@ -589,10 +591,9 @@ pub const Os = struct { |
| 589 | 591 | .emscripten, |
| 590 | 592 | .driverkit, |
| 591 | 593 | .shadermodel, |
| 592 | .liteos, | |
| 593 | 594 | .uefi, |
| 594 | 595 | .opencl, |
| 595 | .glsl450, | |
| 596 | .opengl, | |
| 596 | 597 | .vulkan, |
| 597 | 598 | .plan9, |
| 598 | 599 | .other, |
| ... | ... | @@ -676,7 +677,6 @@ pub const Abi = enum { |
| 676 | 677 | .dragonfly, |
| 677 | 678 | .ps3, |
| 678 | 679 | .zos, |
| 679 | .minix, | |
| 680 | 680 | .rtems, |
| 681 | 681 | .aix, |
| 682 | 682 | .cuda, |
| ... | ... | @@ -704,9 +704,8 @@ pub const Abi = enum { |
| 704 | 704 | .wasi, |
| 705 | 705 | .emscripten, |
| 706 | 706 | => .musl, |
| 707 | .liteos => .ohos, | |
| 708 | .opencl, // TODO: SPIR-V ABIs with Linkage capability | |
| 709 | .glsl450, | |
| 707 | .opencl, | |
| 708 | .opengl, | |
| 710 | 709 | .vulkan, |
| 711 | 710 | .plan9, // TODO specify abi |
| 712 | 711 | .macos, |
| ... | ... | @@ -1001,17 +1000,22 @@ pub const Cpu = struct { |
| 1001 | 1000 | }; |
| 1002 | 1001 | |
| 1003 | 1002 | pub const Arch = enum { |
| 1003 | amdgcn, | |
| 1004 | arc, | |
| 1004 | 1005 | arm, |
| 1005 | 1006 | armeb, |
| 1007 | thumb, | |
| 1008 | thumbeb, | |
| 1006 | 1009 | aarch64, |
| 1007 | 1010 | aarch64_be, |
| 1008 | arc, | |
| 1009 | 1011 | avr, |
| 1010 | 1012 | bpfel, |
| 1011 | 1013 | bpfeb, |
| 1012 | 1014 | csky, |
| 1013 | 1015 | dxil, |
| 1014 | 1016 | hexagon, |
| 1017 | kalimba, | |
| 1018 | lanai, | |
| 1015 | 1019 | loongarch32, |
| 1016 | 1020 | loongarch64, |
| 1017 | 1021 | m68k, |
| ... | ... | @@ -1020,51 +1024,46 @@ pub const Cpu = struct { |
| 1020 | 1024 | mips64, |
| 1021 | 1025 | mips64el, |
| 1022 | 1026 | msp430, |
| 1027 | nvptx, | |
| 1028 | nvptx64, | |
| 1023 | 1029 | powerpc, |
| 1024 | 1030 | powerpcle, |
| 1025 | 1031 | powerpc64, |
| 1026 | 1032 | powerpc64le, |
| 1027 | amdgcn, | |
| 1028 | 1033 | riscv32, |
| 1029 | 1034 | riscv64, |
| 1035 | s390x, | |
| 1030 | 1036 | sparc, |
| 1031 | 1037 | sparc64, |
| 1032 | s390x, | |
| 1033 | thumb, | |
| 1034 | thumbeb, | |
| 1035 | x86, | |
| 1036 | x86_64, | |
| 1037 | xcore, | |
| 1038 | xtensa, | |
| 1039 | nvptx, | |
| 1040 | nvptx64, | |
| 1041 | 1038 | spirv, |
| 1042 | 1039 | spirv32, |
| 1043 | 1040 | spirv64, |
| 1044 | kalimba, | |
| 1045 | lanai, | |
| 1041 | spu_2, | |
| 1042 | ve, | |
| 1046 | 1043 | wasm32, |
| 1047 | 1044 | wasm64, |
| 1048 | ve, | |
| 1049 | spu_2, | |
| 1045 | x86, | |
| 1046 | x86_64, | |
| 1047 | xcore, | |
| 1048 | xtensa, | |
| 1050 | 1049 | |
| 1051 | 1050 | // LLVM tags deliberately omitted: |
| 1052 | 1051 | // - aarch64_32 |
| 1053 | // - r600 | |
| 1054 | // - sparcel | |
| 1055 | // - tce | |
| 1056 | // - tcele | |
| 1057 | // - le32 | |
| 1058 | // - le64 | |
| 1059 | 1052 | // - amdil |
| 1060 | 1053 | // - amdil64 |
| 1054 | // - le32 | |
| 1055 | // - le64 | |
| 1056 | // - r600 | |
| 1061 | 1057 | // - hsail |
| 1062 | 1058 | // - hsail64 |
| 1063 | // - spir | |
| 1064 | // - spir64 | |
| 1065 | // - shave | |
| 1066 | 1059 | // - renderscript32 |
| 1067 | 1060 | // - renderscript64 |
| 1061 | // - shave | |
| 1062 | // - sparcel | |
| 1063 | // - spir | |
| 1064 | // - spir64 | |
| 1065 | // - tce | |
| 1066 | // - tcele | |
| 1068 | 1067 | |
| 1069 | 1068 | pub inline fn isX86(arch: Arch) bool { |
| 1070 | 1069 | return switch (arch) { |
| ... | ... | @@ -1539,12 +1538,12 @@ pub const Cpu = struct { |
| 1539 | 1538 | pub fn baseline(arch: Arch) *const Model { |
| 1540 | 1539 | return switch (arch) { |
| 1541 | 1540 | .arm, .armeb, .thumb, .thumbeb => &arm.cpu.baseline, |
| 1542 | .hexagon => &hexagon.cpu.hexagonv60, | |
| 1541 | .hexagon => &hexagon.cpu.hexagonv60, // gcc/clang do not have a generic hexagon model. | |
| 1543 | 1542 | .riscv32 => &riscv.cpu.baseline_rv32, |
| 1544 | 1543 | .riscv64 => &riscv.cpu.baseline_rv64, |
| 1545 | 1544 | .x86 => &x86.cpu.pentium4, |
| 1546 | 1545 | .nvptx, .nvptx64 => &nvptx.cpu.sm_20, |
| 1547 | .s390x => &s390x.cpu.arch8, | |
| 1546 | .s390x => &s390x.cpu.arch8, // gcc/clang do not have a generic s390x model. | |
| 1548 | 1547 | .sparc => &sparc.cpu.v9, // glibc does not work with 'plain' v8. |
| 1549 | 1548 | .loongarch64 => &loongarch.cpu.loongarch64, |
| 1550 | 1549 | |
| ... | ... | @@ -1624,10 +1623,6 @@ pub inline fn isGnuLibC(target: Target) bool { |
| 1624 | 1623 | return target.os.tag.isGnuLibC(target.abi); |
| 1625 | 1624 | } |
| 1626 | 1625 | |
| 1627 | pub inline fn supportsNewStackCall(target: Target) bool { | |
| 1628 | return !target.cpu.arch.isWasm(); | |
| 1629 | } | |
| 1630 | ||
| 1631 | 1626 | pub inline fn isSpirV(target: Target) bool { |
| 1632 | 1627 | return target.cpu.arch.isSpirV(); |
| 1633 | 1628 | } |
| ... | ... | @@ -1656,7 +1651,7 @@ pub inline fn hasDynamicLinker(target: Target) bool { |
| 1656 | 1651 | .windows, |
| 1657 | 1652 | .emscripten, |
| 1658 | 1653 | .opencl, |
| 1659 | .glsl450, | |
| 1654 | .opengl, | |
| 1660 | 1655 | .vulkan, |
| 1661 | 1656 | .plan9, |
| 1662 | 1657 | .other, |
| ... | ... | @@ -1824,7 +1819,7 @@ pub const DynamicLinker = struct { |
| 1824 | 1819 | .emscripten, |
| 1825 | 1820 | .wasi, |
| 1826 | 1821 | .opencl, |
| 1827 | .glsl450, | |
| 1822 | .opengl, | |
| 1828 | 1823 | .vulkan, |
| 1829 | 1824 | .other, |
| 1830 | 1825 | .plan9, |
| ... | ... | @@ -1838,7 +1833,6 @@ pub const DynamicLinker = struct { |
| 1838 | 1833 | .fuchsia, |
| 1839 | 1834 | .ps3, |
| 1840 | 1835 | .zos, |
| 1841 | .minix, | |
| 1842 | 1836 | .rtems, |
| 1843 | 1837 | .aix, |
| 1844 | 1838 | .cuda, |
| ... | ... | @@ -1854,7 +1848,6 @@ pub const DynamicLinker = struct { |
| 1854 | 1848 | .hurd, |
| 1855 | 1849 | .driverkit, |
| 1856 | 1850 | .shadermodel, |
| 1857 | .liteos, | |
| 1858 | 1851 | => none, |
| 1859 | 1852 | }; |
| 1860 | 1853 | } |
| ... | ... | @@ -2139,7 +2132,6 @@ pub fn c_type_bit_size(target: Target, c_type: CType) u16 { |
| 2139 | 2132 | .illumos, |
| 2140 | 2133 | .haiku, |
| 2141 | 2134 | .fuchsia, |
| 2142 | .minix, | |
| 2143 | 2135 | .serenity, |
| 2144 | 2136 | => switch (target.cpu.arch) { |
| 2145 | 2137 | .msp430 => switch (c_type) { |
| ... | ... | @@ -2341,10 +2333,9 @@ pub fn c_type_bit_size(target: Target, c_type: CType) u16 { |
| 2341 | 2333 | .contiki, |
| 2342 | 2334 | .hermit, |
| 2343 | 2335 | .hurd, |
| 2344 | .glsl450, | |
| 2336 | .opengl, | |
| 2345 | 2337 | .driverkit, |
| 2346 | 2338 | .shadermodel, |
| 2347 | .liteos, | |
| 2348 | 2339 | => @panic("TODO specify the C integer and float type sizes for this OS"), |
| 2349 | 2340 | } |
| 2350 | 2341 | } |
lib/std/c.zig+2-2| ... | ... | @@ -6619,7 +6619,7 @@ pub const Stat = switch (native_os) { |
| 6619 | 6619 | }; |
| 6620 | 6620 | |
| 6621 | 6621 | pub const pthread_mutex_t = switch (native_os) { |
| 6622 | .linux, .minix => extern struct { | |
| 6622 | .linux => extern struct { | |
| 6623 | 6623 | data: [data_len]u8 align(@alignOf(usize)) = [_]u8{0} ** data_len, |
| 6624 | 6624 | |
| 6625 | 6625 | const data_len = switch (native_abi) { |
| ... | ... | @@ -6716,7 +6716,7 @@ pub const pthread_cond_t = switch (native_os) { |
| 6716 | 6716 | magic: u16 = 0x4356, |
| 6717 | 6717 | data: u64 = 0, |
| 6718 | 6718 | }, |
| 6719 | .fuchsia, .minix, .emscripten => extern struct { | |
| 6719 | .fuchsia, .emscripten => extern struct { | |
| 6720 | 6720 | data: [48]u8 align(@alignOf(usize)) = [_]u8{0} ** 48, |
| 6721 | 6721 | }, |
| 6722 | 6722 | else => void, |
src/codegen/llvm.zig+10-15| ... | ... | @@ -110,7 +110,7 @@ pub fn targetTriple(allocator: Allocator, target: std.Target) ![]const u8 { |
| 110 | 110 | .netbsd => "netbsd", |
| 111 | 111 | .openbsd => "openbsd", |
| 112 | 112 | .solaris, .illumos => "solaris", |
| 113 | .windows => "windows", | |
| 113 | .windows, .uefi => "windows", | |
| 114 | 114 | .zos => "zos", |
| 115 | 115 | .haiku => "haiku", |
| 116 | 116 | .rtems => "rtems", |
| ... | ... | @@ -128,21 +128,18 @@ pub fn targetTriple(allocator: Allocator, target: std.Target) ![]const u8 { |
| 128 | 128 | .hurd => "hurd", |
| 129 | 129 | .wasi => "wasi", |
| 130 | 130 | .emscripten => "emscripten", |
| 131 | .uefi => "windows", | |
| 132 | 131 | .macos => "macosx", |
| 133 | 132 | .ios => "ios", |
| 134 | 133 | .tvos => "tvos", |
| 135 | 134 | .watchos => "watchos", |
| 136 | 135 | .driverkit => "driverkit", |
| 137 | 136 | .shadermodel => "shadermodel", |
| 138 | .liteos => "liteos", | |
| 139 | 137 | .visionos => "xros", |
| 140 | 138 | .serenity => "serenity", |
| 141 | 139 | .vulkan => "vulkan", |
| 142 | 140 | |
| 143 | .glsl450, | |
| 141 | .opengl, | |
| 144 | 142 | .plan9, |
| 145 | .minix, | |
| 146 | 143 | .contiki, |
| 147 | 144 | .other, |
| 148 | 145 | => "unknown", |
| ... | ... | @@ -207,15 +204,7 @@ pub fn targetTriple(allocator: Allocator, target: std.Target) ![]const u8 { |
| 207 | 204 | |
| 208 | 205 | pub fn targetOs(os_tag: std.Target.Os.Tag) llvm.OSType { |
| 209 | 206 | return switch (os_tag) { |
| 210 | .freestanding, | |
| 211 | .other, | |
| 212 | .opencl, | |
| 213 | .glsl450, | |
| 214 | .plan9, | |
| 215 | .minix, | |
| 216 | .contiki, | |
| 217 | => .UnknownOS, | |
| 218 | ||
| 207 | .freestanding => .UnknownOS, | |
| 219 | 208 | .windows, .uefi => .Win32, |
| 220 | 209 | .dragonfly => .DragonFly, |
| 221 | 210 | .freebsd => .FreeBSD, |
| ... | ... | @@ -234,6 +223,7 @@ pub fn targetOs(os_tag: std.Target.Os.Tag) llvm.OSType { |
| 234 | 223 | .cuda => .CUDA, |
| 235 | 224 | .nvcl => .NVCL, |
| 236 | 225 | .amdhsa => .AMDHSA, |
| 226 | .opencl => .UnknownOS, // https://llvm.org/docs/SPIRVUsage.html#target-triples | |
| 237 | 227 | .ps4 => .PS4, |
| 238 | 228 | .ps5 => .PS5, |
| 239 | 229 | .elfiamcu => .ELFIAMCU, |
| ... | ... | @@ -248,9 +238,14 @@ pub fn targetOs(os_tag: std.Target.Os.Tag) llvm.OSType { |
| 248 | 238 | .emscripten => .Emscripten, |
| 249 | 239 | .driverkit => .DriverKit, |
| 250 | 240 | .shadermodel => .ShaderModel, |
| 251 | .liteos => .LiteOS, | |
| 252 | 241 | .vulkan => .Vulkan, |
| 253 | 242 | .serenity => .Serenity, |
| 243 | ||
| 244 | .opengl, | |
| 245 | .plan9, | |
| 246 | .contiki, | |
| 247 | .other, | |
| 248 | => .UnknownOS, | |
| 254 | 249 | }; |
| 255 | 250 | } |
| 256 | 251 |
src/link/SpirV.zig+4-4| ... | ... | @@ -85,7 +85,7 @@ pub fn createEmpty( |
| 85 | 85 | } |
| 86 | 86 | |
| 87 | 87 | switch (target.os.tag) { |
| 88 | .opencl, .glsl450, .vulkan => {}, | |
| 88 | .opencl, .opengl, .vulkan => {}, | |
| 89 | 89 | else => unreachable, // Caught by Compilation.Config.resolve. |
| 90 | 90 | } |
| 91 | 91 | |
| ... | ... | @@ -290,7 +290,7 @@ fn writeCapabilities(spv: *SpvModule, target: std.Target) !void { |
| 290 | 290 | // TODO: Integrate with a hypothetical feature system |
| 291 | 291 | const caps: []const spec.Capability = switch (target.os.tag) { |
| 292 | 292 | .opencl => &.{ .Kernel, .Addresses, .Int8, .Int16, .Int64, .Float64, .Float16, .Vector16, .GenericPointer }, |
| 293 | .glsl450 => &.{.Shader}, | |
| 293 | .opengl => &.{.Shader}, | |
| 294 | 294 | .vulkan => &.{ .Shader, .VariablePointersStorageBuffer, .Int8, .Int16, .Int64, .Float64, .Float16 }, |
| 295 | 295 | else => unreachable, // TODO |
| 296 | 296 | }; |
| ... | ... | @@ -311,13 +311,13 @@ fn writeMemoryModel(spv: *SpvModule, target: std.Target) !void { |
| 311 | 311 | .spirv64 => spec.AddressingModel.Physical64, |
| 312 | 312 | else => unreachable, // TODO |
| 313 | 313 | }, |
| 314 | .glsl450, .vulkan => spec.AddressingModel.Logical, | |
| 314 | .opengl, .vulkan => spec.AddressingModel.Logical, | |
| 315 | 315 | else => unreachable, // TODO |
| 316 | 316 | }; |
| 317 | 317 | |
| 318 | 318 | const memory_model: spec.MemoryModel = switch (target.os.tag) { |
| 319 | 319 | .opencl => .OpenCL, |
| 320 | .glsl450 => .GLSL450, | |
| 320 | .opengl => .GLSL450, | |
| 321 | 321 | .vulkan => .GLSL450, |
| 322 | 322 | else => unreachable, |
| 323 | 323 | }; |
test/llvm_targets.zig+2-2| ... | ... | @@ -90,10 +90,10 @@ const targets = [_]std.Target.Query{ |
| 90 | 90 | .{ .cpu_arch = .sparc64, .os_tag = .freestanding, .abi = .none }, |
| 91 | 91 | .{ .cpu_arch = .sparc64, .os_tag = .linux, .abi = .gnu }, |
| 92 | 92 | //.{ .cpu_arch = .spirv32, .os_tag = .opencl, .abi = .none }, |
| 93 | //.{ .cpu_arch = .spirv32, .os_tag = .glsl450, .abi = .none }, | |
| 93 | //.{ .cpu_arch = .spirv32, .os_tag = .opengl, .abi = .none }, | |
| 94 | 94 | //.{ .cpu_arch = .spirv32, .os_tag = .vulkan, .abi = .none }, |
| 95 | 95 | //.{ .cpu_arch = .spirv64, .os_tag = .opencl, .abi = .none }, |
| 96 | //.{ .cpu_arch = .spirv64, .os_tag = .glsl450, .abi = .none }, | |
| 96 | //.{ .cpu_arch = .spirv64, .os_tag = .opengl, .abi = .none }, | |
| 97 | 97 | //.{ .cpu_arch = .spirv64, .os_tag = .vulkan, .abi = .none }, |
| 98 | 98 | .{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .none }, |
| 99 | 99 | .{ .cpu_arch = .thumbeb, .os_tag = .freestanding, .abi = .none }, |