cfg_expr/targets/
builtins.rs

1/*
2 *
3 * AUTO-GENERATED BY ./update
4 * DO NOT MODIFY
5 *
6 * cargo run --manifest-path update/Cargo.toml
7 */
8
9#![allow(non_upper_case_globals, non_camel_case_types)]
10
11use super::*;
12
13pub(crate) const RUSTC_VERSION: &str = "1.91.0";
14
15pub const ALL_BUILTINS: &[TargetInfo] = &[
16    TargetInfo {
17        triple: Triple::new_const("aarch64-apple-darwin"),
18        os: Some(Os::macos),
19        abi: None,
20        arch: Arch::aarch64,
21        env: None,
22        vendor: Some(Vendor::apple),
23        families: Families::unix,
24        pointer_width: 64,
25        endian: Endian::little,
26        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
27        panic: Panic::unwind,
28    },
29    TargetInfo {
30        triple: Triple::new_const("aarch64-apple-ios"),
31        os: Some(Os::ios),
32        abi: None,
33        arch: Arch::aarch64,
34        env: None,
35        vendor: Some(Vendor::apple),
36        families: Families::unix,
37        pointer_width: 64,
38        endian: Endian::little,
39        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
40        panic: Panic::unwind,
41    },
42    TargetInfo {
43        triple: Triple::new_const("aarch64-apple-ios-macabi"),
44        os: Some(Os::ios),
45        abi: Some(Abi::macabi),
46        arch: Arch::aarch64,
47        env: Some(Env::macabi),
48        vendor: Some(Vendor::apple),
49        families: Families::unix,
50        pointer_width: 64,
51        endian: Endian::little,
52        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
53        panic: Panic::unwind,
54    },
55    TargetInfo {
56        triple: Triple::new_const("aarch64-apple-ios-sim"),
57        os: Some(Os::ios),
58        abi: Some(Abi::sim),
59        arch: Arch::aarch64,
60        env: Some(Env::sim),
61        vendor: Some(Vendor::apple),
62        families: Families::unix,
63        pointer_width: 64,
64        endian: Endian::little,
65        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
66        panic: Panic::unwind,
67    },
68    TargetInfo {
69        triple: Triple::new_const("aarch64-apple-tvos"),
70        os: Some(Os::tvos),
71        abi: None,
72        arch: Arch::aarch64,
73        env: None,
74        vendor: Some(Vendor::apple),
75        families: Families::unix,
76        pointer_width: 64,
77        endian: Endian::little,
78        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
79        panic: Panic::unwind,
80    },
81    TargetInfo {
82        triple: Triple::new_const("aarch64-apple-tvos-sim"),
83        os: Some(Os::tvos),
84        abi: Some(Abi::sim),
85        arch: Arch::aarch64,
86        env: Some(Env::sim),
87        vendor: Some(Vendor::apple),
88        families: Families::unix,
89        pointer_width: 64,
90        endian: Endian::little,
91        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
92        panic: Panic::unwind,
93    },
94    TargetInfo {
95        triple: Triple::new_const("aarch64-apple-visionos"),
96        os: Some(Os::visionos),
97        abi: None,
98        arch: Arch::aarch64,
99        env: None,
100        vendor: Some(Vendor::apple),
101        families: Families::unix,
102        pointer_width: 64,
103        endian: Endian::little,
104        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
105        panic: Panic::unwind,
106    },
107    TargetInfo {
108        triple: Triple::new_const("aarch64-apple-visionos-sim"),
109        os: Some(Os::visionos),
110        abi: Some(Abi::sim),
111        arch: Arch::aarch64,
112        env: Some(Env::sim),
113        vendor: Some(Vendor::apple),
114        families: Families::unix,
115        pointer_width: 64,
116        endian: Endian::little,
117        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
118        panic: Panic::unwind,
119    },
120    TargetInfo {
121        triple: Triple::new_const("aarch64-apple-watchos"),
122        os: Some(Os::watchos),
123        abi: None,
124        arch: Arch::aarch64,
125        env: None,
126        vendor: Some(Vendor::apple),
127        families: Families::unix,
128        pointer_width: 64,
129        endian: Endian::little,
130        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
131        panic: Panic::unwind,
132    },
133    TargetInfo {
134        triple: Triple::new_const("aarch64-apple-watchos-sim"),
135        os: Some(Os::watchos),
136        abi: Some(Abi::sim),
137        arch: Arch::aarch64,
138        env: Some(Env::sim),
139        vendor: Some(Vendor::apple),
140        families: Families::unix,
141        pointer_width: 64,
142        endian: Endian::little,
143        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
144        panic: Panic::unwind,
145    },
146    TargetInfo {
147        triple: Triple::new_const("aarch64-kmc-solid_asp3"),
148        os: Some(Os::solid_asp3),
149        abi: None,
150        arch: Arch::aarch64,
151        env: None,
152        vendor: Some(Vendor::kmc),
153        families: Families::new_const(&[]),
154        pointer_width: 64,
155        endian: Endian::little,
156        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
157        panic: Panic::unwind,
158    },
159    TargetInfo {
160        triple: Triple::new_const("aarch64-linux-android"),
161        os: Some(Os::android),
162        abi: None,
163        arch: Arch::aarch64,
164        env: None,
165        vendor: Some(Vendor::unknown),
166        families: Families::unix,
167        pointer_width: 64,
168        endian: Endian::little,
169        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
170        panic: Panic::unwind,
171    },
172    TargetInfo {
173        triple: Triple::new_const("aarch64-nintendo-switch-freestanding"),
174        os: Some(Os::horizon),
175        abi: None,
176        arch: Arch::aarch64,
177        env: None,
178        vendor: Some(Vendor::nintendo),
179        families: Families::new_const(&[]),
180        pointer_width: 64,
181        endian: Endian::little,
182        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
183        panic: Panic::abort,
184    },
185    TargetInfo {
186        triple: Triple::new_const("aarch64-pc-windows-gnullvm"),
187        os: Some(Os::windows),
188        abi: Some(Abi::llvm),
189        arch: Arch::aarch64,
190        env: Some(Env::gnu),
191        vendor: Some(Vendor::pc),
192        families: Families::windows,
193        pointer_width: 64,
194        endian: Endian::little,
195        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
196        panic: Panic::unwind,
197    },
198    TargetInfo {
199        triple: Triple::new_const("aarch64-pc-windows-msvc"),
200        os: Some(Os::windows),
201        abi: None,
202        arch: Arch::aarch64,
203        env: Some(Env::msvc),
204        vendor: Some(Vendor::pc),
205        families: Families::windows,
206        pointer_width: 64,
207        endian: Endian::little,
208        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
209        panic: Panic::unwind,
210    },
211    TargetInfo {
212        triple: Triple::new_const("aarch64-unknown-freebsd"),
213        os: Some(Os::freebsd),
214        abi: None,
215        arch: Arch::aarch64,
216        env: None,
217        vendor: Some(Vendor::unknown),
218        families: Families::unix,
219        pointer_width: 64,
220        endian: Endian::little,
221        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
222        panic: Panic::unwind,
223    },
224    TargetInfo {
225        triple: Triple::new_const("aarch64-unknown-fuchsia"),
226        os: Some(Os::fuchsia),
227        abi: None,
228        arch: Arch::aarch64,
229        env: None,
230        vendor: Some(Vendor::unknown),
231        families: Families::unix,
232        pointer_width: 64,
233        endian: Endian::little,
234        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
235        panic: Panic::unwind,
236    },
237    TargetInfo {
238        triple: Triple::new_const("aarch64-unknown-hermit"),
239        os: Some(Os::hermit),
240        abi: None,
241        arch: Arch::aarch64,
242        env: None,
243        vendor: Some(Vendor::unknown),
244        families: Families::new_const(&[]),
245        pointer_width: 64,
246        endian: Endian::little,
247        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
248        panic: Panic::abort,
249    },
250    TargetInfo {
251        triple: Triple::new_const("aarch64-unknown-illumos"),
252        os: Some(Os::illumos),
253        abi: None,
254        arch: Arch::aarch64,
255        env: None,
256        vendor: Some(Vendor::unknown),
257        families: Families::unix,
258        pointer_width: 64,
259        endian: Endian::little,
260        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
261        panic: Panic::unwind,
262    },
263    TargetInfo {
264        triple: Triple::new_const("aarch64-unknown-linux-gnu"),
265        os: Some(Os::linux),
266        abi: None,
267        arch: Arch::aarch64,
268        env: Some(Env::gnu),
269        vendor: Some(Vendor::unknown),
270        families: Families::unix,
271        pointer_width: 64,
272        endian: Endian::little,
273        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
274        panic: Panic::unwind,
275    },
276    TargetInfo {
277        triple: Triple::new_const("aarch64-unknown-linux-gnu_ilp32"),
278        os: Some(Os::linux),
279        abi: Some(Abi::ilp32),
280        arch: Arch::aarch64,
281        env: Some(Env::gnu),
282        vendor: Some(Vendor::unknown),
283        families: Families::unix,
284        pointer_width: 32,
285        endian: Endian::little,
286        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
287        panic: Panic::unwind,
288    },
289    TargetInfo {
290        triple: Triple::new_const("aarch64-unknown-linux-musl"),
291        os: Some(Os::linux),
292        abi: None,
293        arch: Arch::aarch64,
294        env: Some(Env::musl),
295        vendor: Some(Vendor::unknown),
296        families: Families::unix,
297        pointer_width: 64,
298        endian: Endian::little,
299        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
300        panic: Panic::unwind,
301    },
302    TargetInfo {
303        triple: Triple::new_const("aarch64-unknown-linux-ohos"),
304        os: Some(Os::linux),
305        abi: None,
306        arch: Arch::aarch64,
307        env: Some(Env::ohos),
308        vendor: Some(Vendor::unknown),
309        families: Families::unix,
310        pointer_width: 64,
311        endian: Endian::little,
312        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
313        panic: Panic::unwind,
314    },
315    TargetInfo {
316        triple: Triple::new_const("aarch64-unknown-managarm-mlibc"),
317        os: Some(Os::managarm),
318        abi: None,
319        arch: Arch::aarch64,
320        env: Some(Env::mlibc),
321        vendor: Some(Vendor::unknown),
322        families: Families::unix,
323        pointer_width: 64,
324        endian: Endian::little,
325        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
326        panic: Panic::unwind,
327    },
328    TargetInfo {
329        triple: Triple::new_const("aarch64-unknown-netbsd"),
330        os: Some(Os::netbsd),
331        abi: None,
332        arch: Arch::aarch64,
333        env: None,
334        vendor: Some(Vendor::unknown),
335        families: Families::unix,
336        pointer_width: 64,
337        endian: Endian::little,
338        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
339        panic: Panic::unwind,
340    },
341    TargetInfo {
342        triple: Triple::new_const("aarch64-unknown-none"),
343        os: None,
344        abi: None,
345        arch: Arch::aarch64,
346        env: None,
347        vendor: Some(Vendor::unknown),
348        families: Families::new_const(&[]),
349        pointer_width: 64,
350        endian: Endian::little,
351        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
352        panic: Panic::abort,
353    },
354    TargetInfo {
355        triple: Triple::new_const("aarch64-unknown-none-softfloat"),
356        os: None,
357        abi: Some(Abi::softfloat),
358        arch: Arch::aarch64,
359        env: None,
360        vendor: Some(Vendor::unknown),
361        families: Families::new_const(&[]),
362        pointer_width: 64,
363        endian: Endian::little,
364        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
365        panic: Panic::abort,
366    },
367    TargetInfo {
368        triple: Triple::new_const("aarch64-unknown-nto-qnx700"),
369        os: Some(Os::nto),
370        abi: None,
371        arch: Arch::aarch64,
372        env: Some(Env::nto70),
373        vendor: Some(Vendor::unknown),
374        families: Families::unix,
375        pointer_width: 64,
376        endian: Endian::little,
377        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
378        panic: Panic::unwind,
379    },
380    TargetInfo {
381        triple: Triple::new_const("aarch64-unknown-nto-qnx710"),
382        os: Some(Os::nto),
383        abi: None,
384        arch: Arch::aarch64,
385        env: Some(Env::nto71),
386        vendor: Some(Vendor::unknown),
387        families: Families::unix,
388        pointer_width: 64,
389        endian: Endian::little,
390        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
391        panic: Panic::unwind,
392    },
393    TargetInfo {
394        triple: Triple::new_const("aarch64-unknown-nto-qnx710_iosock"),
395        os: Some(Os::nto),
396        abi: None,
397        arch: Arch::aarch64,
398        env: Some(Env::nto71_iosock),
399        vendor: Some(Vendor::unknown),
400        families: Families::unix,
401        pointer_width: 64,
402        endian: Endian::little,
403        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
404        panic: Panic::unwind,
405    },
406    TargetInfo {
407        triple: Triple::new_const("aarch64-unknown-nto-qnx800"),
408        os: Some(Os::nto),
409        abi: None,
410        arch: Arch::aarch64,
411        env: Some(Env::nto80),
412        vendor: Some(Vendor::unknown),
413        families: Families::unix,
414        pointer_width: 64,
415        endian: Endian::little,
416        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
417        panic: Panic::unwind,
418    },
419    TargetInfo {
420        triple: Triple::new_const("aarch64-unknown-nuttx"),
421        os: Some(Os::nuttx),
422        abi: None,
423        arch: Arch::aarch64,
424        env: None,
425        vendor: Some(Vendor::unknown),
426        families: Families::unix,
427        pointer_width: 64,
428        endian: Endian::little,
429        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
430        panic: Panic::abort,
431    },
432    TargetInfo {
433        triple: Triple::new_const("aarch64-unknown-openbsd"),
434        os: Some(Os::openbsd),
435        abi: None,
436        arch: Arch::aarch64,
437        env: None,
438        vendor: Some(Vendor::unknown),
439        families: Families::unix,
440        pointer_width: 64,
441        endian: Endian::little,
442        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
443        panic: Panic::unwind,
444    },
445    TargetInfo {
446        triple: Triple::new_const("aarch64-unknown-redox"),
447        os: Some(Os::redox),
448        abi: None,
449        arch: Arch::aarch64,
450        env: Some(Env::relibc),
451        vendor: Some(Vendor::unknown),
452        families: Families::unix,
453        pointer_width: 64,
454        endian: Endian::little,
455        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
456        panic: Panic::unwind,
457    },
458    TargetInfo {
459        triple: Triple::new_const("aarch64-unknown-teeos"),
460        os: Some(Os::teeos),
461        abi: None,
462        arch: Arch::aarch64,
463        env: None,
464        vendor: Some(Vendor::unknown),
465        families: Families::new_const(&[]),
466        pointer_width: 64,
467        endian: Endian::little,
468        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
469        panic: Panic::abort,
470    },
471    TargetInfo {
472        triple: Triple::new_const("aarch64-unknown-trusty"),
473        os: Some(Os::trusty),
474        abi: None,
475        arch: Arch::aarch64,
476        env: None,
477        vendor: Some(Vendor::unknown),
478        families: Families::new_const(&[]),
479        pointer_width: 64,
480        endian: Endian::little,
481        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
482        panic: Panic::abort,
483    },
484    TargetInfo {
485        triple: Triple::new_const("aarch64-unknown-uefi"),
486        os: Some(Os::uefi),
487        abi: None,
488        arch: Arch::aarch64,
489        env: None,
490        vendor: Some(Vendor::unknown),
491        families: Families::new_const(&[]),
492        pointer_width: 64,
493        endian: Endian::little,
494        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
495        panic: Panic::abort,
496    },
497    TargetInfo {
498        triple: Triple::new_const("aarch64-uwp-windows-msvc"),
499        os: Some(Os::windows),
500        abi: Some(Abi::uwp),
501        arch: Arch::aarch64,
502        env: Some(Env::msvc),
503        vendor: Some(Vendor::uwp),
504        families: Families::windows,
505        pointer_width: 64,
506        endian: Endian::little,
507        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
508        panic: Panic::unwind,
509    },
510    TargetInfo {
511        triple: Triple::new_const("aarch64-wrs-vxworks"),
512        os: Some(Os::vxworks),
513        abi: None,
514        arch: Arch::aarch64,
515        env: Some(Env::gnu),
516        vendor: Some(Vendor::wrs),
517        families: Families::unix,
518        pointer_width: 64,
519        endian: Endian::little,
520        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
521        panic: Panic::unwind,
522    },
523    TargetInfo {
524        triple: Triple::new_const("aarch64_be-unknown-hermit"),
525        os: Some(Os::hermit),
526        abi: None,
527        arch: Arch::aarch64,
528        env: None,
529        vendor: Some(Vendor::unknown),
530        families: Families::new_const(&[]),
531        pointer_width: 64,
532        endian: Endian::big,
533        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
534        panic: Panic::abort,
535    },
536    TargetInfo {
537        triple: Triple::new_const("aarch64_be-unknown-linux-gnu"),
538        os: Some(Os::linux),
539        abi: None,
540        arch: Arch::aarch64,
541        env: Some(Env::gnu),
542        vendor: Some(Vendor::unknown),
543        families: Families::unix,
544        pointer_width: 64,
545        endian: Endian::big,
546        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
547        panic: Panic::unwind,
548    },
549    TargetInfo {
550        triple: Triple::new_const("aarch64_be-unknown-linux-gnu_ilp32"),
551        os: Some(Os::linux),
552        abi: Some(Abi::ilp32),
553        arch: Arch::aarch64,
554        env: Some(Env::gnu),
555        vendor: Some(Vendor::unknown),
556        families: Families::unix,
557        pointer_width: 32,
558        endian: Endian::big,
559        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
560        panic: Panic::unwind,
561    },
562    TargetInfo {
563        triple: Triple::new_const("aarch64_be-unknown-linux-musl"),
564        os: Some(Os::linux),
565        abi: None,
566        arch: Arch::aarch64,
567        env: Some(Env::musl),
568        vendor: Some(Vendor::unknown),
569        families: Families::unix,
570        pointer_width: 64,
571        endian: Endian::big,
572        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
573        panic: Panic::unwind,
574    },
575    TargetInfo {
576        triple: Triple::new_const("aarch64_be-unknown-netbsd"),
577        os: Some(Os::netbsd),
578        abi: None,
579        arch: Arch::aarch64,
580        env: None,
581        vendor: Some(Vendor::unknown),
582        families: Families::unix,
583        pointer_width: 64,
584        endian: Endian::big,
585        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
586        panic: Panic::unwind,
587    },
588    TargetInfo {
589        triple: Triple::new_const("aarch64_be-unknown-none-softfloat"),
590        os: None,
591        abi: Some(Abi::softfloat),
592        arch: Arch::aarch64,
593        env: None,
594        vendor: Some(Vendor::unknown),
595        families: Families::new_const(&[]),
596        pointer_width: 64,
597        endian: Endian::big,
598        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
599        panic: Panic::abort,
600    },
601    TargetInfo {
602        triple: Triple::new_const("amdgcn-amd-amdhsa"),
603        os: Some(Os::amdhsa),
604        abi: None,
605        arch: Arch::amdgpu,
606        env: None,
607        vendor: Some(Vendor::amd),
608        families: Families::new_const(&[]),
609        pointer_width: 64,
610        endian: Endian::little,
611        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
612        panic: Panic::abort,
613    },
614    TargetInfo {
615        triple: Triple::new_const("arm-linux-androideabi"),
616        os: Some(Os::android),
617        abi: Some(Abi::eabi),
618        arch: Arch::arm,
619        env: None,
620        vendor: Some(Vendor::unknown),
621        families: Families::unix,
622        pointer_width: 32,
623        endian: Endian::little,
624        has_atomics: HasAtomics::atomic_8_16_32_ptr,
625        panic: Panic::unwind,
626    },
627    TargetInfo {
628        triple: Triple::new_const("arm-unknown-linux-gnueabi"),
629        os: Some(Os::linux),
630        abi: Some(Abi::eabi),
631        arch: Arch::arm,
632        env: Some(Env::gnu),
633        vendor: Some(Vendor::unknown),
634        families: Families::unix,
635        pointer_width: 32,
636        endian: Endian::little,
637        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
638        panic: Panic::unwind,
639    },
640    TargetInfo {
641        triple: Triple::new_const("arm-unknown-linux-gnueabihf"),
642        os: Some(Os::linux),
643        abi: Some(Abi::eabihf),
644        arch: Arch::arm,
645        env: Some(Env::gnu),
646        vendor: Some(Vendor::unknown),
647        families: Families::unix,
648        pointer_width: 32,
649        endian: Endian::little,
650        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
651        panic: Panic::unwind,
652    },
653    TargetInfo {
654        triple: Triple::new_const("arm-unknown-linux-musleabi"),
655        os: Some(Os::linux),
656        abi: Some(Abi::eabi),
657        arch: Arch::arm,
658        env: Some(Env::musl),
659        vendor: Some(Vendor::unknown),
660        families: Families::unix,
661        pointer_width: 32,
662        endian: Endian::little,
663        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
664        panic: Panic::unwind,
665    },
666    TargetInfo {
667        triple: Triple::new_const("arm-unknown-linux-musleabihf"),
668        os: Some(Os::linux),
669        abi: Some(Abi::eabihf),
670        arch: Arch::arm,
671        env: Some(Env::musl),
672        vendor: Some(Vendor::unknown),
673        families: Families::unix,
674        pointer_width: 32,
675        endian: Endian::little,
676        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
677        panic: Panic::unwind,
678    },
679    TargetInfo {
680        triple: Triple::new_const("arm64_32-apple-watchos"),
681        os: Some(Os::watchos),
682        abi: None,
683        arch: Arch::aarch64,
684        env: None,
685        vendor: Some(Vendor::apple),
686        families: Families::unix,
687        pointer_width: 32,
688        endian: Endian::little,
689        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
690        panic: Panic::unwind,
691    },
692    TargetInfo {
693        triple: Triple::new_const("arm64e-apple-darwin"),
694        os: Some(Os::macos),
695        abi: None,
696        arch: Arch::aarch64,
697        env: None,
698        vendor: Some(Vendor::apple),
699        families: Families::unix,
700        pointer_width: 64,
701        endian: Endian::little,
702        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
703        panic: Panic::unwind,
704    },
705    TargetInfo {
706        triple: Triple::new_const("arm64e-apple-ios"),
707        os: Some(Os::ios),
708        abi: None,
709        arch: Arch::aarch64,
710        env: None,
711        vendor: Some(Vendor::apple),
712        families: Families::unix,
713        pointer_width: 64,
714        endian: Endian::little,
715        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
716        panic: Panic::unwind,
717    },
718    TargetInfo {
719        triple: Triple::new_const("arm64e-apple-tvos"),
720        os: Some(Os::tvos),
721        abi: None,
722        arch: Arch::aarch64,
723        env: None,
724        vendor: Some(Vendor::apple),
725        families: Families::unix,
726        pointer_width: 64,
727        endian: Endian::little,
728        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
729        panic: Panic::unwind,
730    },
731    TargetInfo {
732        triple: Triple::new_const("arm64ec-pc-windows-msvc"),
733        os: Some(Os::windows),
734        abi: None,
735        arch: Arch::arm64ec,
736        env: Some(Env::msvc),
737        vendor: Some(Vendor::pc),
738        families: Families::windows,
739        pointer_width: 64,
740        endian: Endian::little,
741        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
742        panic: Panic::unwind,
743    },
744    TargetInfo {
745        triple: Triple::new_const("armeb-unknown-linux-gnueabi"),
746        os: Some(Os::linux),
747        abi: Some(Abi::eabi),
748        arch: Arch::arm,
749        env: Some(Env::gnu),
750        vendor: Some(Vendor::unknown),
751        families: Families::unix,
752        pointer_width: 32,
753        endian: Endian::big,
754        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
755        panic: Panic::unwind,
756    },
757    TargetInfo {
758        triple: Triple::new_const("armebv7r-none-eabi"),
759        os: None,
760        abi: Some(Abi::eabi),
761        arch: Arch::arm,
762        env: None,
763        vendor: Some(Vendor::unknown),
764        families: Families::new_const(&[]),
765        pointer_width: 32,
766        endian: Endian::big,
767        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
768        panic: Panic::abort,
769    },
770    TargetInfo {
771        triple: Triple::new_const("armebv7r-none-eabihf"),
772        os: None,
773        abi: Some(Abi::eabihf),
774        arch: Arch::arm,
775        env: None,
776        vendor: Some(Vendor::unknown),
777        families: Families::new_const(&[]),
778        pointer_width: 32,
779        endian: Endian::big,
780        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
781        panic: Panic::abort,
782    },
783    TargetInfo {
784        triple: Triple::new_const("armv4t-none-eabi"),
785        os: None,
786        abi: Some(Abi::eabi),
787        arch: Arch::arm,
788        env: None,
789        vendor: Some(Vendor::unknown),
790        families: Families::new_const(&[]),
791        pointer_width: 32,
792        endian: Endian::little,
793        has_atomics: HasAtomics::new_const(&[]),
794        panic: Panic::abort,
795    },
796    TargetInfo {
797        triple: Triple::new_const("armv4t-unknown-linux-gnueabi"),
798        os: Some(Os::linux),
799        abi: Some(Abi::eabi),
800        arch: Arch::arm,
801        env: Some(Env::gnu),
802        vendor: Some(Vendor::unknown),
803        families: Families::unix,
804        pointer_width: 32,
805        endian: Endian::little,
806        has_atomics: HasAtomics::atomic_8_16_32_ptr,
807        panic: Panic::unwind,
808    },
809    TargetInfo {
810        triple: Triple::new_const("armv5te-none-eabi"),
811        os: None,
812        abi: Some(Abi::eabi),
813        arch: Arch::arm,
814        env: None,
815        vendor: Some(Vendor::unknown),
816        families: Families::new_const(&[]),
817        pointer_width: 32,
818        endian: Endian::little,
819        has_atomics: HasAtomics::new_const(&[]),
820        panic: Panic::abort,
821    },
822    TargetInfo {
823        triple: Triple::new_const("armv5te-unknown-linux-gnueabi"),
824        os: Some(Os::linux),
825        abi: Some(Abi::eabi),
826        arch: Arch::arm,
827        env: Some(Env::gnu),
828        vendor: Some(Vendor::unknown),
829        families: Families::unix,
830        pointer_width: 32,
831        endian: Endian::little,
832        has_atomics: HasAtomics::atomic_8_16_32_ptr,
833        panic: Panic::unwind,
834    },
835    TargetInfo {
836        triple: Triple::new_const("armv5te-unknown-linux-musleabi"),
837        os: Some(Os::linux),
838        abi: Some(Abi::eabi),
839        arch: Arch::arm,
840        env: Some(Env::musl),
841        vendor: Some(Vendor::unknown),
842        families: Families::unix,
843        pointer_width: 32,
844        endian: Endian::little,
845        has_atomics: HasAtomics::atomic_8_16_32_ptr,
846        panic: Panic::unwind,
847    },
848    TargetInfo {
849        triple: Triple::new_const("armv5te-unknown-linux-uclibceabi"),
850        os: Some(Os::linux),
851        abi: Some(Abi::eabi),
852        arch: Arch::arm,
853        env: Some(Env::uclibc),
854        vendor: Some(Vendor::unknown),
855        families: Families::unix,
856        pointer_width: 32,
857        endian: Endian::little,
858        has_atomics: HasAtomics::atomic_8_16_32_ptr,
859        panic: Panic::unwind,
860    },
861    TargetInfo {
862        triple: Triple::new_const("armv6-unknown-freebsd"),
863        os: Some(Os::freebsd),
864        abi: Some(Abi::eabihf),
865        arch: Arch::arm,
866        env: None,
867        vendor: Some(Vendor::unknown),
868        families: Families::unix,
869        pointer_width: 32,
870        endian: Endian::little,
871        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
872        panic: Panic::unwind,
873    },
874    TargetInfo {
875        triple: Triple::new_const("armv6-unknown-netbsd-eabihf"),
876        os: Some(Os::netbsd),
877        abi: Some(Abi::eabihf),
878        arch: Arch::arm,
879        env: None,
880        vendor: Some(Vendor::unknown),
881        families: Families::unix,
882        pointer_width: 32,
883        endian: Endian::little,
884        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
885        panic: Panic::unwind,
886    },
887    TargetInfo {
888        triple: Triple::new_const("armv6k-nintendo-3ds"),
889        os: Some(Os::horizon),
890        abi: Some(Abi::eabihf),
891        arch: Arch::arm,
892        env: Some(Env::newlib),
893        vendor: Some(Vendor::nintendo),
894        families: Families::unix,
895        pointer_width: 32,
896        endian: Endian::little,
897        has_atomics: HasAtomics::atomic_8_16_32_ptr,
898        panic: Panic::unwind,
899    },
900    TargetInfo {
901        triple: Triple::new_const("armv7-linux-androideabi"),
902        os: Some(Os::android),
903        abi: Some(Abi::eabi),
904        arch: Arch::arm,
905        env: None,
906        vendor: Some(Vendor::unknown),
907        families: Families::unix,
908        pointer_width: 32,
909        endian: Endian::little,
910        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
911        panic: Panic::unwind,
912    },
913    TargetInfo {
914        triple: Triple::new_const("armv7-rtems-eabihf"),
915        os: Some(Os::rtems),
916        abi: Some(Abi::eabihf),
917        arch: Arch::arm,
918        env: Some(Env::newlib),
919        vendor: Some(Vendor::unknown),
920        families: Families::unix,
921        pointer_width: 32,
922        endian: Endian::little,
923        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
924        panic: Panic::unwind,
925    },
926    TargetInfo {
927        triple: Triple::new_const("armv7-sony-vita-newlibeabihf"),
928        os: Some(Os::vita),
929        abi: Some(Abi::eabihf),
930        arch: Arch::arm,
931        env: Some(Env::newlib),
932        vendor: Some(Vendor::sony),
933        families: Families::unix,
934        pointer_width: 32,
935        endian: Endian::little,
936        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
937        panic: Panic::unwind,
938    },
939    TargetInfo {
940        triple: Triple::new_const("armv7-unknown-freebsd"),
941        os: Some(Os::freebsd),
942        abi: Some(Abi::eabihf),
943        arch: Arch::arm,
944        env: None,
945        vendor: Some(Vendor::unknown),
946        families: Families::unix,
947        pointer_width: 32,
948        endian: Endian::little,
949        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
950        panic: Panic::unwind,
951    },
952    TargetInfo {
953        triple: Triple::new_const("armv7-unknown-linux-gnueabi"),
954        os: Some(Os::linux),
955        abi: Some(Abi::eabi),
956        arch: Arch::arm,
957        env: Some(Env::gnu),
958        vendor: Some(Vendor::unknown),
959        families: Families::unix,
960        pointer_width: 32,
961        endian: Endian::little,
962        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
963        panic: Panic::unwind,
964    },
965    TargetInfo {
966        triple: Triple::new_const("armv7-unknown-linux-gnueabihf"),
967        os: Some(Os::linux),
968        abi: Some(Abi::eabihf),
969        arch: Arch::arm,
970        env: Some(Env::gnu),
971        vendor: Some(Vendor::unknown),
972        families: Families::unix,
973        pointer_width: 32,
974        endian: Endian::little,
975        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
976        panic: Panic::unwind,
977    },
978    TargetInfo {
979        triple: Triple::new_const("armv7-unknown-linux-musleabi"),
980        os: Some(Os::linux),
981        abi: Some(Abi::eabi),
982        arch: Arch::arm,
983        env: Some(Env::musl),
984        vendor: Some(Vendor::unknown),
985        families: Families::unix,
986        pointer_width: 32,
987        endian: Endian::little,
988        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
989        panic: Panic::unwind,
990    },
991    TargetInfo {
992        triple: Triple::new_const("armv7-unknown-linux-musleabihf"),
993        os: Some(Os::linux),
994        abi: Some(Abi::eabihf),
995        arch: Arch::arm,
996        env: Some(Env::musl),
997        vendor: Some(Vendor::unknown),
998        families: Families::unix,
999        pointer_width: 32,
1000        endian: Endian::little,
1001        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1002        panic: Panic::unwind,
1003    },
1004    TargetInfo {
1005        triple: Triple::new_const("armv7-unknown-linux-ohos"),
1006        os: Some(Os::linux),
1007        abi: Some(Abi::eabi),
1008        arch: Arch::arm,
1009        env: Some(Env::ohos),
1010        vendor: Some(Vendor::unknown),
1011        families: Families::unix,
1012        pointer_width: 32,
1013        endian: Endian::little,
1014        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1015        panic: Panic::unwind,
1016    },
1017    TargetInfo {
1018        triple: Triple::new_const("armv7-unknown-linux-uclibceabi"),
1019        os: Some(Os::linux),
1020        abi: Some(Abi::eabi),
1021        arch: Arch::arm,
1022        env: Some(Env::uclibc),
1023        vendor: Some(Vendor::unknown),
1024        families: Families::unix,
1025        pointer_width: 32,
1026        endian: Endian::little,
1027        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1028        panic: Panic::unwind,
1029    },
1030    TargetInfo {
1031        triple: Triple::new_const("armv7-unknown-linux-uclibceabihf"),
1032        os: Some(Os::linux),
1033        abi: Some(Abi::eabihf),
1034        arch: Arch::arm,
1035        env: Some(Env::uclibc),
1036        vendor: Some(Vendor::unknown),
1037        families: Families::unix,
1038        pointer_width: 32,
1039        endian: Endian::little,
1040        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1041        panic: Panic::unwind,
1042    },
1043    TargetInfo {
1044        triple: Triple::new_const("armv7-unknown-netbsd-eabihf"),
1045        os: Some(Os::netbsd),
1046        abi: Some(Abi::eabihf),
1047        arch: Arch::arm,
1048        env: None,
1049        vendor: Some(Vendor::unknown),
1050        families: Families::unix,
1051        pointer_width: 32,
1052        endian: Endian::little,
1053        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1054        panic: Panic::unwind,
1055    },
1056    TargetInfo {
1057        triple: Triple::new_const("armv7-unknown-trusty"),
1058        os: Some(Os::trusty),
1059        abi: Some(Abi::eabi),
1060        arch: Arch::arm,
1061        env: None,
1062        vendor: Some(Vendor::unknown),
1063        families: Families::new_const(&[]),
1064        pointer_width: 32,
1065        endian: Endian::little,
1066        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1067        panic: Panic::abort,
1068    },
1069    TargetInfo {
1070        triple: Triple::new_const("armv7-wrs-vxworks-eabihf"),
1071        os: Some(Os::vxworks),
1072        abi: Some(Abi::eabihf),
1073        arch: Arch::arm,
1074        env: Some(Env::gnu),
1075        vendor: Some(Vendor::wrs),
1076        families: Families::unix,
1077        pointer_width: 32,
1078        endian: Endian::little,
1079        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1080        panic: Panic::unwind,
1081    },
1082    TargetInfo {
1083        triple: Triple::new_const("armv7a-kmc-solid_asp3-eabi"),
1084        os: Some(Os::solid_asp3),
1085        abi: Some(Abi::eabi),
1086        arch: Arch::arm,
1087        env: None,
1088        vendor: Some(Vendor::kmc),
1089        families: Families::new_const(&[]),
1090        pointer_width: 32,
1091        endian: Endian::little,
1092        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1093        panic: Panic::unwind,
1094    },
1095    TargetInfo {
1096        triple: Triple::new_const("armv7a-kmc-solid_asp3-eabihf"),
1097        os: Some(Os::solid_asp3),
1098        abi: Some(Abi::eabihf),
1099        arch: Arch::arm,
1100        env: None,
1101        vendor: Some(Vendor::kmc),
1102        families: Families::new_const(&[]),
1103        pointer_width: 32,
1104        endian: Endian::little,
1105        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1106        panic: Panic::unwind,
1107    },
1108    TargetInfo {
1109        triple: Triple::new_const("armv7a-none-eabi"),
1110        os: None,
1111        abi: Some(Abi::eabi),
1112        arch: Arch::arm,
1113        env: None,
1114        vendor: Some(Vendor::unknown),
1115        families: Families::new_const(&[]),
1116        pointer_width: 32,
1117        endian: Endian::little,
1118        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1119        panic: Panic::abort,
1120    },
1121    TargetInfo {
1122        triple: Triple::new_const("armv7a-none-eabihf"),
1123        os: None,
1124        abi: Some(Abi::eabihf),
1125        arch: Arch::arm,
1126        env: None,
1127        vendor: Some(Vendor::unknown),
1128        families: Families::new_const(&[]),
1129        pointer_width: 32,
1130        endian: Endian::little,
1131        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1132        panic: Panic::abort,
1133    },
1134    TargetInfo {
1135        triple: Triple::new_const("armv7a-nuttx-eabi"),
1136        os: Some(Os::nuttx),
1137        abi: Some(Abi::eabi),
1138        arch: Arch::arm,
1139        env: None,
1140        vendor: Some(Vendor::unknown),
1141        families: Families::unix,
1142        pointer_width: 32,
1143        endian: Endian::little,
1144        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1145        panic: Panic::abort,
1146    },
1147    TargetInfo {
1148        triple: Triple::new_const("armv7a-nuttx-eabihf"),
1149        os: Some(Os::nuttx),
1150        abi: Some(Abi::eabihf),
1151        arch: Arch::arm,
1152        env: None,
1153        vendor: Some(Vendor::unknown),
1154        families: Families::unix,
1155        pointer_width: 32,
1156        endian: Endian::little,
1157        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1158        panic: Panic::abort,
1159    },
1160    TargetInfo {
1161        triple: Triple::new_const("armv7a-vex-v5"),
1162        os: Some(Os::vexos),
1163        abi: Some(Abi::eabihf),
1164        arch: Arch::arm,
1165        env: Some(Env::v5),
1166        vendor: Some(Vendor::vex),
1167        families: Families::new_const(&[]),
1168        pointer_width: 32,
1169        endian: Endian::little,
1170        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1171        panic: Panic::abort,
1172    },
1173    TargetInfo {
1174        triple: Triple::new_const("armv7k-apple-watchos"),
1175        os: Some(Os::watchos),
1176        abi: None,
1177        arch: Arch::arm,
1178        env: None,
1179        vendor: Some(Vendor::apple),
1180        families: Families::unix,
1181        pointer_width: 32,
1182        endian: Endian::little,
1183        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1184        panic: Panic::unwind,
1185    },
1186    TargetInfo {
1187        triple: Triple::new_const("armv7r-none-eabi"),
1188        os: None,
1189        abi: Some(Abi::eabi),
1190        arch: Arch::arm,
1191        env: None,
1192        vendor: Some(Vendor::unknown),
1193        families: Families::new_const(&[]),
1194        pointer_width: 32,
1195        endian: Endian::little,
1196        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1197        panic: Panic::abort,
1198    },
1199    TargetInfo {
1200        triple: Triple::new_const("armv7r-none-eabihf"),
1201        os: None,
1202        abi: Some(Abi::eabihf),
1203        arch: Arch::arm,
1204        env: None,
1205        vendor: Some(Vendor::unknown),
1206        families: Families::new_const(&[]),
1207        pointer_width: 32,
1208        endian: Endian::little,
1209        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1210        panic: Panic::abort,
1211    },
1212    TargetInfo {
1213        triple: Triple::new_const("armv7s-apple-ios"),
1214        os: Some(Os::ios),
1215        abi: None,
1216        arch: Arch::arm,
1217        env: None,
1218        vendor: Some(Vendor::apple),
1219        families: Families::unix,
1220        pointer_width: 32,
1221        endian: Endian::little,
1222        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1223        panic: Panic::unwind,
1224    },
1225    TargetInfo {
1226        triple: Triple::new_const("armv8r-none-eabihf"),
1227        os: None,
1228        abi: Some(Abi::eabihf),
1229        arch: Arch::arm,
1230        env: None,
1231        vendor: Some(Vendor::unknown),
1232        families: Families::new_const(&[]),
1233        pointer_width: 32,
1234        endian: Endian::little,
1235        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1236        panic: Panic::abort,
1237    },
1238    TargetInfo {
1239        triple: Triple::new_const("avr-none"),
1240        os: None,
1241        abi: None,
1242        arch: Arch::avr,
1243        env: None,
1244        vendor: Some(Vendor::unknown),
1245        families: Families::new_const(&[]),
1246        pointer_width: 16,
1247        endian: Endian::little,
1248        has_atomics: HasAtomics::new_const(&[]),
1249        panic: Panic::unwind,
1250    },
1251    TargetInfo {
1252        triple: Triple::new_const("bpfeb-unknown-none"),
1253        os: None,
1254        abi: None,
1255        arch: Arch::bpf,
1256        env: None,
1257        vendor: Some(Vendor::unknown),
1258        families: Families::new_const(&[]),
1259        pointer_width: 64,
1260        endian: Endian::big,
1261        has_atomics: HasAtomics::new_const(&[]),
1262        panic: Panic::abort,
1263    },
1264    TargetInfo {
1265        triple: Triple::new_const("bpfel-unknown-none"),
1266        os: None,
1267        abi: None,
1268        arch: Arch::bpf,
1269        env: None,
1270        vendor: Some(Vendor::unknown),
1271        families: Families::new_const(&[]),
1272        pointer_width: 64,
1273        endian: Endian::little,
1274        has_atomics: HasAtomics::new_const(&[]),
1275        panic: Panic::abort,
1276    },
1277    TargetInfo {
1278        triple: Triple::new_const("csky-unknown-linux-gnuabiv2"),
1279        os: Some(Os::linux),
1280        abi: Some(Abi::abiv2),
1281        arch: Arch::csky,
1282        env: Some(Env::gnu),
1283        vendor: Some(Vendor::unknown),
1284        families: Families::unix,
1285        pointer_width: 32,
1286        endian: Endian::little,
1287        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1288        panic: Panic::unwind,
1289    },
1290    TargetInfo {
1291        triple: Triple::new_const("csky-unknown-linux-gnuabiv2hf"),
1292        os: Some(Os::linux),
1293        abi: Some(Abi::abiv2hf),
1294        arch: Arch::csky,
1295        env: Some(Env::gnu),
1296        vendor: Some(Vendor::unknown),
1297        families: Families::unix,
1298        pointer_width: 32,
1299        endian: Endian::little,
1300        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1301        panic: Panic::unwind,
1302    },
1303    TargetInfo {
1304        triple: Triple::new_const("hexagon-unknown-linux-musl"),
1305        os: Some(Os::linux),
1306        abi: None,
1307        arch: Arch::hexagon,
1308        env: Some(Env::musl),
1309        vendor: Some(Vendor::unknown),
1310        families: Families::unix,
1311        pointer_width: 32,
1312        endian: Endian::little,
1313        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1314        panic: Panic::unwind,
1315    },
1316    TargetInfo {
1317        triple: Triple::new_const("hexagon-unknown-none-elf"),
1318        os: None,
1319        abi: None,
1320        arch: Arch::hexagon,
1321        env: None,
1322        vendor: Some(Vendor::unknown),
1323        families: Families::new_const(&[]),
1324        pointer_width: 32,
1325        endian: Endian::little,
1326        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1327        panic: Panic::abort,
1328    },
1329    TargetInfo {
1330        triple: Triple::new_const("i386-apple-ios"),
1331        os: Some(Os::ios),
1332        abi: Some(Abi::sim),
1333        arch: Arch::x86,
1334        env: Some(Env::sim),
1335        vendor: Some(Vendor::apple),
1336        families: Families::unix,
1337        pointer_width: 32,
1338        endian: Endian::little,
1339        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1340        panic: Panic::unwind,
1341    },
1342    TargetInfo {
1343        triple: Triple::new_const("i586-unknown-linux-gnu"),
1344        os: Some(Os::linux),
1345        abi: None,
1346        arch: Arch::x86,
1347        env: Some(Env::gnu),
1348        vendor: Some(Vendor::unknown),
1349        families: Families::unix,
1350        pointer_width: 32,
1351        endian: Endian::little,
1352        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1353        panic: Panic::unwind,
1354    },
1355    TargetInfo {
1356        triple: Triple::new_const("i586-unknown-linux-musl"),
1357        os: Some(Os::linux),
1358        abi: None,
1359        arch: Arch::x86,
1360        env: Some(Env::musl),
1361        vendor: Some(Vendor::unknown),
1362        families: Families::unix,
1363        pointer_width: 32,
1364        endian: Endian::little,
1365        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1366        panic: Panic::unwind,
1367    },
1368    TargetInfo {
1369        triple: Triple::new_const("i586-unknown-netbsd"),
1370        os: Some(Os::netbsd),
1371        abi: None,
1372        arch: Arch::x86,
1373        env: None,
1374        vendor: Some(Vendor::unknown),
1375        families: Families::unix,
1376        pointer_width: 32,
1377        endian: Endian::little,
1378        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1379        panic: Panic::unwind,
1380    },
1381    TargetInfo {
1382        triple: Triple::new_const("i586-unknown-redox"),
1383        os: Some(Os::redox),
1384        abi: None,
1385        arch: Arch::x86,
1386        env: Some(Env::relibc),
1387        vendor: Some(Vendor::unknown),
1388        families: Families::unix,
1389        pointer_width: 32,
1390        endian: Endian::little,
1391        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1392        panic: Panic::unwind,
1393    },
1394    TargetInfo {
1395        triple: Triple::new_const("i686-apple-darwin"),
1396        os: Some(Os::macos),
1397        abi: None,
1398        arch: Arch::x86,
1399        env: None,
1400        vendor: Some(Vendor::apple),
1401        families: Families::unix,
1402        pointer_width: 32,
1403        endian: Endian::little,
1404        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1405        panic: Panic::unwind,
1406    },
1407    TargetInfo {
1408        triple: Triple::new_const("i686-linux-android"),
1409        os: Some(Os::android),
1410        abi: None,
1411        arch: Arch::x86,
1412        env: None,
1413        vendor: Some(Vendor::unknown),
1414        families: Families::unix,
1415        pointer_width: 32,
1416        endian: Endian::little,
1417        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1418        panic: Panic::unwind,
1419    },
1420    TargetInfo {
1421        triple: Triple::new_const("i686-pc-nto-qnx700"),
1422        os: Some(Os::nto),
1423        abi: None,
1424        arch: Arch::x86,
1425        env: Some(Env::nto70),
1426        vendor: Some(Vendor::pc),
1427        families: Families::unix,
1428        pointer_width: 32,
1429        endian: Endian::little,
1430        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1431        panic: Panic::unwind,
1432    },
1433    TargetInfo {
1434        triple: Triple::new_const("i686-pc-windows-gnu"),
1435        os: Some(Os::windows),
1436        abi: None,
1437        arch: Arch::x86,
1438        env: Some(Env::gnu),
1439        vendor: Some(Vendor::pc),
1440        families: Families::windows,
1441        pointer_width: 32,
1442        endian: Endian::little,
1443        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1444        panic: Panic::unwind,
1445    },
1446    TargetInfo {
1447        triple: Triple::new_const("i686-pc-windows-gnullvm"),
1448        os: Some(Os::windows),
1449        abi: Some(Abi::llvm),
1450        arch: Arch::x86,
1451        env: Some(Env::gnu),
1452        vendor: Some(Vendor::pc),
1453        families: Families::windows,
1454        pointer_width: 32,
1455        endian: Endian::little,
1456        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1457        panic: Panic::unwind,
1458    },
1459    TargetInfo {
1460        triple: Triple::new_const("i686-pc-windows-msvc"),
1461        os: Some(Os::windows),
1462        abi: None,
1463        arch: Arch::x86,
1464        env: Some(Env::msvc),
1465        vendor: Some(Vendor::pc),
1466        families: Families::windows,
1467        pointer_width: 32,
1468        endian: Endian::little,
1469        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1470        panic: Panic::unwind,
1471    },
1472    TargetInfo {
1473        triple: Triple::new_const("i686-unknown-freebsd"),
1474        os: Some(Os::freebsd),
1475        abi: None,
1476        arch: Arch::x86,
1477        env: None,
1478        vendor: Some(Vendor::unknown),
1479        families: Families::unix,
1480        pointer_width: 32,
1481        endian: Endian::little,
1482        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1483        panic: Panic::unwind,
1484    },
1485    TargetInfo {
1486        triple: Triple::new_const("i686-unknown-haiku"),
1487        os: Some(Os::haiku),
1488        abi: None,
1489        arch: Arch::x86,
1490        env: None,
1491        vendor: Some(Vendor::unknown),
1492        families: Families::unix,
1493        pointer_width: 32,
1494        endian: Endian::little,
1495        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1496        panic: Panic::unwind,
1497    },
1498    TargetInfo {
1499        triple: Triple::new_const("i686-unknown-hurd-gnu"),
1500        os: Some(Os::hurd),
1501        abi: None,
1502        arch: Arch::x86,
1503        env: Some(Env::gnu),
1504        vendor: Some(Vendor::unknown),
1505        families: Families::unix,
1506        pointer_width: 32,
1507        endian: Endian::little,
1508        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1509        panic: Panic::unwind,
1510    },
1511    TargetInfo {
1512        triple: Triple::new_const("i686-unknown-linux-gnu"),
1513        os: Some(Os::linux),
1514        abi: None,
1515        arch: Arch::x86,
1516        env: Some(Env::gnu),
1517        vendor: Some(Vendor::unknown),
1518        families: Families::unix,
1519        pointer_width: 32,
1520        endian: Endian::little,
1521        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1522        panic: Panic::unwind,
1523    },
1524    TargetInfo {
1525        triple: Triple::new_const("i686-unknown-linux-musl"),
1526        os: Some(Os::linux),
1527        abi: None,
1528        arch: Arch::x86,
1529        env: Some(Env::musl),
1530        vendor: Some(Vendor::unknown),
1531        families: Families::unix,
1532        pointer_width: 32,
1533        endian: Endian::little,
1534        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1535        panic: Panic::unwind,
1536    },
1537    TargetInfo {
1538        triple: Triple::new_const("i686-unknown-netbsd"),
1539        os: Some(Os::netbsd),
1540        abi: None,
1541        arch: Arch::x86,
1542        env: None,
1543        vendor: Some(Vendor::unknown),
1544        families: Families::unix,
1545        pointer_width: 32,
1546        endian: Endian::little,
1547        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1548        panic: Panic::unwind,
1549    },
1550    TargetInfo {
1551        triple: Triple::new_const("i686-unknown-openbsd"),
1552        os: Some(Os::openbsd),
1553        abi: None,
1554        arch: Arch::x86,
1555        env: None,
1556        vendor: Some(Vendor::unknown),
1557        families: Families::unix,
1558        pointer_width: 32,
1559        endian: Endian::little,
1560        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1561        panic: Panic::unwind,
1562    },
1563    TargetInfo {
1564        triple: Triple::new_const("i686-unknown-uefi"),
1565        os: Some(Os::uefi),
1566        abi: None,
1567        arch: Arch::x86,
1568        env: None,
1569        vendor: Some(Vendor::unknown),
1570        families: Families::new_const(&[]),
1571        pointer_width: 32,
1572        endian: Endian::little,
1573        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1574        panic: Panic::abort,
1575    },
1576    TargetInfo {
1577        triple: Triple::new_const("i686-uwp-windows-gnu"),
1578        os: Some(Os::windows),
1579        abi: Some(Abi::uwp),
1580        arch: Arch::x86,
1581        env: Some(Env::gnu),
1582        vendor: Some(Vendor::uwp),
1583        families: Families::windows,
1584        pointer_width: 32,
1585        endian: Endian::little,
1586        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1587        panic: Panic::unwind,
1588    },
1589    TargetInfo {
1590        triple: Triple::new_const("i686-uwp-windows-msvc"),
1591        os: Some(Os::windows),
1592        abi: Some(Abi::uwp),
1593        arch: Arch::x86,
1594        env: Some(Env::msvc),
1595        vendor: Some(Vendor::uwp),
1596        families: Families::windows,
1597        pointer_width: 32,
1598        endian: Endian::little,
1599        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1600        panic: Panic::unwind,
1601    },
1602    TargetInfo {
1603        triple: Triple::new_const("i686-win7-windows-gnu"),
1604        os: Some(Os::windows),
1605        abi: None,
1606        arch: Arch::x86,
1607        env: Some(Env::gnu),
1608        vendor: Some(Vendor::win7),
1609        families: Families::windows,
1610        pointer_width: 32,
1611        endian: Endian::little,
1612        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1613        panic: Panic::unwind,
1614    },
1615    TargetInfo {
1616        triple: Triple::new_const("i686-win7-windows-msvc"),
1617        os: Some(Os::windows),
1618        abi: None,
1619        arch: Arch::x86,
1620        env: Some(Env::msvc),
1621        vendor: Some(Vendor::win7),
1622        families: Families::windows,
1623        pointer_width: 32,
1624        endian: Endian::little,
1625        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1626        panic: Panic::unwind,
1627    },
1628    TargetInfo {
1629        triple: Triple::new_const("i686-wrs-vxworks"),
1630        os: Some(Os::vxworks),
1631        abi: None,
1632        arch: Arch::x86,
1633        env: Some(Env::gnu),
1634        vendor: Some(Vendor::wrs),
1635        families: Families::unix,
1636        pointer_width: 32,
1637        endian: Endian::little,
1638        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1639        panic: Panic::unwind,
1640    },
1641    TargetInfo {
1642        triple: Triple::new_const("loongarch32-unknown-none"),
1643        os: None,
1644        abi: None,
1645        arch: Arch::loongarch32,
1646        env: None,
1647        vendor: Some(Vendor::unknown),
1648        families: Families::new_const(&[]),
1649        pointer_width: 32,
1650        endian: Endian::little,
1651        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1652        panic: Panic::abort,
1653    },
1654    TargetInfo {
1655        triple: Triple::new_const("loongarch32-unknown-none-softfloat"),
1656        os: None,
1657        abi: Some(Abi::softfloat),
1658        arch: Arch::loongarch32,
1659        env: None,
1660        vendor: Some(Vendor::unknown),
1661        families: Families::new_const(&[]),
1662        pointer_width: 32,
1663        endian: Endian::little,
1664        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1665        panic: Panic::abort,
1666    },
1667    TargetInfo {
1668        triple: Triple::new_const("loongarch64-unknown-linux-gnu"),
1669        os: Some(Os::linux),
1670        abi: None,
1671        arch: Arch::loongarch64,
1672        env: Some(Env::gnu),
1673        vendor: Some(Vendor::unknown),
1674        families: Families::unix,
1675        pointer_width: 64,
1676        endian: Endian::little,
1677        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1678        panic: Panic::unwind,
1679    },
1680    TargetInfo {
1681        triple: Triple::new_const("loongarch64-unknown-linux-musl"),
1682        os: Some(Os::linux),
1683        abi: None,
1684        arch: Arch::loongarch64,
1685        env: Some(Env::musl),
1686        vendor: Some(Vendor::unknown),
1687        families: Families::unix,
1688        pointer_width: 64,
1689        endian: Endian::little,
1690        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1691        panic: Panic::unwind,
1692    },
1693    TargetInfo {
1694        triple: Triple::new_const("loongarch64-unknown-linux-ohos"),
1695        os: Some(Os::linux),
1696        abi: None,
1697        arch: Arch::loongarch64,
1698        env: Some(Env::ohos),
1699        vendor: Some(Vendor::unknown),
1700        families: Families::unix,
1701        pointer_width: 64,
1702        endian: Endian::little,
1703        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1704        panic: Panic::unwind,
1705    },
1706    TargetInfo {
1707        triple: Triple::new_const("loongarch64-unknown-none"),
1708        os: None,
1709        abi: None,
1710        arch: Arch::loongarch64,
1711        env: None,
1712        vendor: Some(Vendor::unknown),
1713        families: Families::new_const(&[]),
1714        pointer_width: 64,
1715        endian: Endian::little,
1716        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1717        panic: Panic::abort,
1718    },
1719    TargetInfo {
1720        triple: Triple::new_const("loongarch64-unknown-none-softfloat"),
1721        os: None,
1722        abi: Some(Abi::softfloat),
1723        arch: Arch::loongarch64,
1724        env: None,
1725        vendor: Some(Vendor::unknown),
1726        families: Families::new_const(&[]),
1727        pointer_width: 64,
1728        endian: Endian::little,
1729        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1730        panic: Panic::abort,
1731    },
1732    TargetInfo {
1733        triple: Triple::new_const("m68k-unknown-linux-gnu"),
1734        os: Some(Os::linux),
1735        abi: None,
1736        arch: Arch::m68k,
1737        env: Some(Env::gnu),
1738        vendor: Some(Vendor::unknown),
1739        families: Families::unix,
1740        pointer_width: 32,
1741        endian: Endian::big,
1742        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1743        panic: Panic::unwind,
1744    },
1745    TargetInfo {
1746        triple: Triple::new_const("m68k-unknown-none-elf"),
1747        os: None,
1748        abi: None,
1749        arch: Arch::m68k,
1750        env: None,
1751        vendor: Some(Vendor::unknown),
1752        families: Families::new_const(&[]),
1753        pointer_width: 32,
1754        endian: Endian::big,
1755        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1756        panic: Panic::abort,
1757    },
1758    TargetInfo {
1759        triple: Triple::new_const("mips-mti-none-elf"),
1760        os: None,
1761        abi: None,
1762        arch: Arch::mips,
1763        env: None,
1764        vendor: Some(Vendor::mti),
1765        families: Families::new_const(&[]),
1766        pointer_width: 32,
1767        endian: Endian::big,
1768        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1769        panic: Panic::abort,
1770    },
1771    TargetInfo {
1772        triple: Triple::new_const("mips-unknown-linux-gnu"),
1773        os: Some(Os::linux),
1774        abi: None,
1775        arch: Arch::mips,
1776        env: Some(Env::gnu),
1777        vendor: Some(Vendor::unknown),
1778        families: Families::unix,
1779        pointer_width: 32,
1780        endian: Endian::big,
1781        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1782        panic: Panic::unwind,
1783    },
1784    TargetInfo {
1785        triple: Triple::new_const("mips-unknown-linux-musl"),
1786        os: Some(Os::linux),
1787        abi: None,
1788        arch: Arch::mips,
1789        env: Some(Env::musl),
1790        vendor: Some(Vendor::unknown),
1791        families: Families::unix,
1792        pointer_width: 32,
1793        endian: Endian::big,
1794        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1795        panic: Panic::unwind,
1796    },
1797    TargetInfo {
1798        triple: Triple::new_const("mips-unknown-linux-uclibc"),
1799        os: Some(Os::linux),
1800        abi: None,
1801        arch: Arch::mips,
1802        env: Some(Env::uclibc),
1803        vendor: Some(Vendor::unknown),
1804        families: Families::unix,
1805        pointer_width: 32,
1806        endian: Endian::big,
1807        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1808        panic: Panic::unwind,
1809    },
1810    TargetInfo {
1811        triple: Triple::new_const("mips64-openwrt-linux-musl"),
1812        os: Some(Os::linux),
1813        abi: Some(Abi::abi64),
1814        arch: Arch::mips64,
1815        env: Some(Env::musl),
1816        vendor: Some(Vendor::openwrt),
1817        families: Families::unix,
1818        pointer_width: 64,
1819        endian: Endian::big,
1820        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1821        panic: Panic::unwind,
1822    },
1823    TargetInfo {
1824        triple: Triple::new_const("mips64-unknown-linux-gnuabi64"),
1825        os: Some(Os::linux),
1826        abi: Some(Abi::abi64),
1827        arch: Arch::mips64,
1828        env: Some(Env::gnu),
1829        vendor: Some(Vendor::unknown),
1830        families: Families::unix,
1831        pointer_width: 64,
1832        endian: Endian::big,
1833        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1834        panic: Panic::unwind,
1835    },
1836    TargetInfo {
1837        triple: Triple::new_const("mips64-unknown-linux-muslabi64"),
1838        os: Some(Os::linux),
1839        abi: Some(Abi::abi64),
1840        arch: Arch::mips64,
1841        env: Some(Env::musl),
1842        vendor: Some(Vendor::unknown),
1843        families: Families::unix,
1844        pointer_width: 64,
1845        endian: Endian::big,
1846        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1847        panic: Panic::unwind,
1848    },
1849    TargetInfo {
1850        triple: Triple::new_const("mips64el-unknown-linux-gnuabi64"),
1851        os: Some(Os::linux),
1852        abi: Some(Abi::abi64),
1853        arch: Arch::mips64,
1854        env: Some(Env::gnu),
1855        vendor: Some(Vendor::unknown),
1856        families: Families::unix,
1857        pointer_width: 64,
1858        endian: Endian::little,
1859        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1860        panic: Panic::unwind,
1861    },
1862    TargetInfo {
1863        triple: Triple::new_const("mips64el-unknown-linux-muslabi64"),
1864        os: Some(Os::linux),
1865        abi: Some(Abi::abi64),
1866        arch: Arch::mips64,
1867        env: Some(Env::musl),
1868        vendor: Some(Vendor::unknown),
1869        families: Families::unix,
1870        pointer_width: 64,
1871        endian: Endian::little,
1872        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1873        panic: Panic::unwind,
1874    },
1875    TargetInfo {
1876        triple: Triple::new_const("mipsel-mti-none-elf"),
1877        os: None,
1878        abi: None,
1879        arch: Arch::mips,
1880        env: None,
1881        vendor: Some(Vendor::mti),
1882        families: Families::new_const(&[]),
1883        pointer_width: 32,
1884        endian: Endian::little,
1885        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1886        panic: Panic::abort,
1887    },
1888    TargetInfo {
1889        triple: Triple::new_const("mipsel-sony-psp"),
1890        os: Some(Os::psp),
1891        abi: None,
1892        arch: Arch::mips,
1893        env: None,
1894        vendor: Some(Vendor::sony),
1895        families: Families::new_const(&[]),
1896        pointer_width: 32,
1897        endian: Endian::little,
1898        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1899        panic: Panic::unwind,
1900    },
1901    TargetInfo {
1902        triple: Triple::new_const("mipsel-sony-psx"),
1903        os: Some(Os::psx),
1904        abi: None,
1905        arch: Arch::mips,
1906        env: None,
1907        vendor: Some(Vendor::sony),
1908        families: Families::new_const(&[]),
1909        pointer_width: 32,
1910        endian: Endian::little,
1911        has_atomics: HasAtomics::new_const(&[]),
1912        panic: Panic::abort,
1913    },
1914    TargetInfo {
1915        triple: Triple::new_const("mipsel-unknown-linux-gnu"),
1916        os: Some(Os::linux),
1917        abi: None,
1918        arch: Arch::mips,
1919        env: Some(Env::gnu),
1920        vendor: Some(Vendor::unknown),
1921        families: Families::unix,
1922        pointer_width: 32,
1923        endian: Endian::little,
1924        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1925        panic: Panic::unwind,
1926    },
1927    TargetInfo {
1928        triple: Triple::new_const("mipsel-unknown-linux-musl"),
1929        os: Some(Os::linux),
1930        abi: None,
1931        arch: Arch::mips,
1932        env: Some(Env::musl),
1933        vendor: Some(Vendor::unknown),
1934        families: Families::unix,
1935        pointer_width: 32,
1936        endian: Endian::little,
1937        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1938        panic: Panic::unwind,
1939    },
1940    TargetInfo {
1941        triple: Triple::new_const("mipsel-unknown-linux-uclibc"),
1942        os: Some(Os::linux),
1943        abi: None,
1944        arch: Arch::mips,
1945        env: Some(Env::uclibc),
1946        vendor: Some(Vendor::unknown),
1947        families: Families::unix,
1948        pointer_width: 32,
1949        endian: Endian::little,
1950        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1951        panic: Panic::unwind,
1952    },
1953    TargetInfo {
1954        triple: Triple::new_const("mipsel-unknown-netbsd"),
1955        os: Some(Os::netbsd),
1956        abi: None,
1957        arch: Arch::mips,
1958        env: None,
1959        vendor: Some(Vendor::unknown),
1960        families: Families::unix,
1961        pointer_width: 32,
1962        endian: Endian::little,
1963        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1964        panic: Panic::unwind,
1965    },
1966    TargetInfo {
1967        triple: Triple::new_const("mipsel-unknown-none"),
1968        os: None,
1969        abi: None,
1970        arch: Arch::mips,
1971        env: None,
1972        vendor: Some(Vendor::unknown),
1973        families: Families::new_const(&[]),
1974        pointer_width: 32,
1975        endian: Endian::little,
1976        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1977        panic: Panic::abort,
1978    },
1979    TargetInfo {
1980        triple: Triple::new_const("mipsisa32r6-unknown-linux-gnu"),
1981        os: Some(Os::linux),
1982        abi: None,
1983        arch: Arch::mips32r6,
1984        env: Some(Env::gnu),
1985        vendor: Some(Vendor::unknown),
1986        families: Families::unix,
1987        pointer_width: 32,
1988        endian: Endian::big,
1989        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1990        panic: Panic::unwind,
1991    },
1992    TargetInfo {
1993        triple: Triple::new_const("mipsisa32r6el-unknown-linux-gnu"),
1994        os: Some(Os::linux),
1995        abi: None,
1996        arch: Arch::mips32r6,
1997        env: Some(Env::gnu),
1998        vendor: Some(Vendor::unknown),
1999        families: Families::unix,
2000        pointer_width: 32,
2001        endian: Endian::little,
2002        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2003        panic: Panic::unwind,
2004    },
2005    TargetInfo {
2006        triple: Triple::new_const("mipsisa64r6-unknown-linux-gnuabi64"),
2007        os: Some(Os::linux),
2008        abi: Some(Abi::abi64),
2009        arch: Arch::mips64r6,
2010        env: Some(Env::gnu),
2011        vendor: Some(Vendor::unknown),
2012        families: Families::unix,
2013        pointer_width: 64,
2014        endian: Endian::big,
2015        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2016        panic: Panic::unwind,
2017    },
2018    TargetInfo {
2019        triple: Triple::new_const("mipsisa64r6el-unknown-linux-gnuabi64"),
2020        os: Some(Os::linux),
2021        abi: Some(Abi::abi64),
2022        arch: Arch::mips64r6,
2023        env: Some(Env::gnu),
2024        vendor: Some(Vendor::unknown),
2025        families: Families::unix,
2026        pointer_width: 64,
2027        endian: Endian::little,
2028        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2029        panic: Panic::unwind,
2030    },
2031    TargetInfo {
2032        triple: Triple::new_const("msp430-none-elf"),
2033        os: None,
2034        abi: None,
2035        arch: Arch::msp430,
2036        env: None,
2037        vendor: Some(Vendor::unknown),
2038        families: Families::new_const(&[]),
2039        pointer_width: 16,
2040        endian: Endian::little,
2041        has_atomics: HasAtomics::new_const(&[]),
2042        panic: Panic::abort,
2043    },
2044    TargetInfo {
2045        triple: Triple::new_const("nvptx64-nvidia-cuda"),
2046        os: Some(Os::cuda),
2047        abi: None,
2048        arch: Arch::nvptx64,
2049        env: None,
2050        vendor: Some(Vendor::nvidia),
2051        families: Families::new_const(&[]),
2052        pointer_width: 64,
2053        endian: Endian::little,
2054        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2055        panic: Panic::abort,
2056    },
2057    TargetInfo {
2058        triple: Triple::new_const("powerpc-unknown-freebsd"),
2059        os: Some(Os::freebsd),
2060        abi: None,
2061        arch: Arch::powerpc,
2062        env: None,
2063        vendor: Some(Vendor::unknown),
2064        families: Families::unix,
2065        pointer_width: 32,
2066        endian: Endian::big,
2067        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2068        panic: Panic::unwind,
2069    },
2070    TargetInfo {
2071        triple: Triple::new_const("powerpc-unknown-linux-gnu"),
2072        os: Some(Os::linux),
2073        abi: None,
2074        arch: Arch::powerpc,
2075        env: Some(Env::gnu),
2076        vendor: Some(Vendor::unknown),
2077        families: Families::unix,
2078        pointer_width: 32,
2079        endian: Endian::big,
2080        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2081        panic: Panic::unwind,
2082    },
2083    TargetInfo {
2084        triple: Triple::new_const("powerpc-unknown-linux-gnuspe"),
2085        os: Some(Os::linux),
2086        abi: Some(Abi::spe),
2087        arch: Arch::powerpc,
2088        env: Some(Env::gnu),
2089        vendor: Some(Vendor::unknown),
2090        families: Families::unix,
2091        pointer_width: 32,
2092        endian: Endian::big,
2093        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2094        panic: Panic::unwind,
2095    },
2096    TargetInfo {
2097        triple: Triple::new_const("powerpc-unknown-linux-musl"),
2098        os: Some(Os::linux),
2099        abi: None,
2100        arch: Arch::powerpc,
2101        env: Some(Env::musl),
2102        vendor: Some(Vendor::unknown),
2103        families: Families::unix,
2104        pointer_width: 32,
2105        endian: Endian::big,
2106        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2107        panic: Panic::unwind,
2108    },
2109    TargetInfo {
2110        triple: Triple::new_const("powerpc-unknown-linux-muslspe"),
2111        os: Some(Os::linux),
2112        abi: Some(Abi::spe),
2113        arch: Arch::powerpc,
2114        env: Some(Env::musl),
2115        vendor: Some(Vendor::unknown),
2116        families: Families::unix,
2117        pointer_width: 32,
2118        endian: Endian::big,
2119        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2120        panic: Panic::unwind,
2121    },
2122    TargetInfo {
2123        triple: Triple::new_const("powerpc-unknown-netbsd"),
2124        os: Some(Os::netbsd),
2125        abi: None,
2126        arch: Arch::powerpc,
2127        env: None,
2128        vendor: Some(Vendor::unknown),
2129        families: Families::unix,
2130        pointer_width: 32,
2131        endian: Endian::big,
2132        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2133        panic: Panic::unwind,
2134    },
2135    TargetInfo {
2136        triple: Triple::new_const("powerpc-unknown-openbsd"),
2137        os: Some(Os::openbsd),
2138        abi: None,
2139        arch: Arch::powerpc,
2140        env: None,
2141        vendor: Some(Vendor::unknown),
2142        families: Families::unix,
2143        pointer_width: 32,
2144        endian: Endian::big,
2145        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2146        panic: Panic::unwind,
2147    },
2148    TargetInfo {
2149        triple: Triple::new_const("powerpc-wrs-vxworks"),
2150        os: Some(Os::vxworks),
2151        abi: None,
2152        arch: Arch::powerpc,
2153        env: Some(Env::gnu),
2154        vendor: Some(Vendor::wrs),
2155        families: Families::unix,
2156        pointer_width: 32,
2157        endian: Endian::big,
2158        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2159        panic: Panic::unwind,
2160    },
2161    TargetInfo {
2162        triple: Triple::new_const("powerpc-wrs-vxworks-spe"),
2163        os: Some(Os::vxworks),
2164        abi: Some(Abi::spe),
2165        arch: Arch::powerpc,
2166        env: Some(Env::gnu),
2167        vendor: Some(Vendor::wrs),
2168        families: Families::unix,
2169        pointer_width: 32,
2170        endian: Endian::big,
2171        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2172        panic: Panic::unwind,
2173    },
2174    TargetInfo {
2175        triple: Triple::new_const("powerpc64-ibm-aix"),
2176        os: Some(Os::aix),
2177        abi: Some(Abi::vec_extabi),
2178        arch: Arch::powerpc64,
2179        env: None,
2180        vendor: Some(Vendor::ibm),
2181        families: Families::unix,
2182        pointer_width: 64,
2183        endian: Endian::big,
2184        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2185        panic: Panic::unwind,
2186    },
2187    TargetInfo {
2188        triple: Triple::new_const("powerpc64-unknown-freebsd"),
2189        os: Some(Os::freebsd),
2190        abi: Some(Abi::elfv2),
2191        arch: Arch::powerpc64,
2192        env: None,
2193        vendor: Some(Vendor::unknown),
2194        families: Families::unix,
2195        pointer_width: 64,
2196        endian: Endian::big,
2197        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2198        panic: Panic::unwind,
2199    },
2200    TargetInfo {
2201        triple: Triple::new_const("powerpc64-unknown-linux-gnu"),
2202        os: Some(Os::linux),
2203        abi: Some(Abi::elfv1),
2204        arch: Arch::powerpc64,
2205        env: Some(Env::gnu),
2206        vendor: Some(Vendor::unknown),
2207        families: Families::unix,
2208        pointer_width: 64,
2209        endian: Endian::big,
2210        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2211        panic: Panic::unwind,
2212    },
2213    TargetInfo {
2214        triple: Triple::new_const("powerpc64-unknown-linux-musl"),
2215        os: Some(Os::linux),
2216        abi: Some(Abi::elfv2),
2217        arch: Arch::powerpc64,
2218        env: Some(Env::musl),
2219        vendor: Some(Vendor::unknown),
2220        families: Families::unix,
2221        pointer_width: 64,
2222        endian: Endian::big,
2223        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2224        panic: Panic::unwind,
2225    },
2226    TargetInfo {
2227        triple: Triple::new_const("powerpc64-unknown-openbsd"),
2228        os: Some(Os::openbsd),
2229        abi: Some(Abi::elfv2),
2230        arch: Arch::powerpc64,
2231        env: None,
2232        vendor: Some(Vendor::unknown),
2233        families: Families::unix,
2234        pointer_width: 64,
2235        endian: Endian::big,
2236        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2237        panic: Panic::unwind,
2238    },
2239    TargetInfo {
2240        triple: Triple::new_const("powerpc64-wrs-vxworks"),
2241        os: Some(Os::vxworks),
2242        abi: Some(Abi::elfv1),
2243        arch: Arch::powerpc64,
2244        env: Some(Env::gnu),
2245        vendor: Some(Vendor::wrs),
2246        families: Families::unix,
2247        pointer_width: 64,
2248        endian: Endian::big,
2249        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2250        panic: Panic::unwind,
2251    },
2252    TargetInfo {
2253        triple: Triple::new_const("powerpc64le-unknown-freebsd"),
2254        os: Some(Os::freebsd),
2255        abi: Some(Abi::elfv2),
2256        arch: Arch::powerpc64,
2257        env: None,
2258        vendor: Some(Vendor::unknown),
2259        families: Families::unix,
2260        pointer_width: 64,
2261        endian: Endian::little,
2262        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2263        panic: Panic::unwind,
2264    },
2265    TargetInfo {
2266        triple: Triple::new_const("powerpc64le-unknown-linux-gnu"),
2267        os: Some(Os::linux),
2268        abi: Some(Abi::elfv2),
2269        arch: Arch::powerpc64,
2270        env: Some(Env::gnu),
2271        vendor: Some(Vendor::unknown),
2272        families: Families::unix,
2273        pointer_width: 64,
2274        endian: Endian::little,
2275        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2276        panic: Panic::unwind,
2277    },
2278    TargetInfo {
2279        triple: Triple::new_const("powerpc64le-unknown-linux-musl"),
2280        os: Some(Os::linux),
2281        abi: Some(Abi::elfv2),
2282        arch: Arch::powerpc64,
2283        env: Some(Env::musl),
2284        vendor: Some(Vendor::unknown),
2285        families: Families::unix,
2286        pointer_width: 64,
2287        endian: Endian::little,
2288        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2289        panic: Panic::unwind,
2290    },
2291    TargetInfo {
2292        triple: Triple::new_const("riscv32-wrs-vxworks"),
2293        os: Some(Os::vxworks),
2294        abi: None,
2295        arch: Arch::riscv32,
2296        env: Some(Env::gnu),
2297        vendor: Some(Vendor::wrs),
2298        families: Families::unix,
2299        pointer_width: 32,
2300        endian: Endian::little,
2301        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2302        panic: Panic::unwind,
2303    },
2304    TargetInfo {
2305        triple: Triple::new_const("riscv32e-unknown-none-elf"),
2306        os: None,
2307        abi: Some(Abi::ilp32e),
2308        arch: Arch::riscv32,
2309        env: None,
2310        vendor: Some(Vendor::unknown),
2311        families: Families::new_const(&[]),
2312        pointer_width: 32,
2313        endian: Endian::little,
2314        has_atomics: HasAtomics::new_const(&[]),
2315        panic: Panic::abort,
2316    },
2317    TargetInfo {
2318        triple: Triple::new_const("riscv32em-unknown-none-elf"),
2319        os: None,
2320        abi: Some(Abi::ilp32e),
2321        arch: Arch::riscv32,
2322        env: None,
2323        vendor: Some(Vendor::unknown),
2324        families: Families::new_const(&[]),
2325        pointer_width: 32,
2326        endian: Endian::little,
2327        has_atomics: HasAtomics::new_const(&[]),
2328        panic: Panic::abort,
2329    },
2330    TargetInfo {
2331        triple: Triple::new_const("riscv32emc-unknown-none-elf"),
2332        os: None,
2333        abi: Some(Abi::ilp32e),
2334        arch: Arch::riscv32,
2335        env: None,
2336        vendor: Some(Vendor::unknown),
2337        families: Families::new_const(&[]),
2338        pointer_width: 32,
2339        endian: Endian::little,
2340        has_atomics: HasAtomics::new_const(&[]),
2341        panic: Panic::abort,
2342    },
2343    TargetInfo {
2344        triple: Triple::new_const("riscv32gc-unknown-linux-gnu"),
2345        os: Some(Os::linux),
2346        abi: None,
2347        arch: Arch::riscv32,
2348        env: Some(Env::gnu),
2349        vendor: Some(Vendor::unknown),
2350        families: Families::unix,
2351        pointer_width: 32,
2352        endian: Endian::little,
2353        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2354        panic: Panic::unwind,
2355    },
2356    TargetInfo {
2357        triple: Triple::new_const("riscv32gc-unknown-linux-musl"),
2358        os: Some(Os::linux),
2359        abi: None,
2360        arch: Arch::riscv32,
2361        env: Some(Env::musl),
2362        vendor: Some(Vendor::unknown),
2363        families: Families::unix,
2364        pointer_width: 32,
2365        endian: Endian::little,
2366        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2367        panic: Panic::unwind,
2368    },
2369    TargetInfo {
2370        triple: Triple::new_const("riscv32i-unknown-none-elf"),
2371        os: None,
2372        abi: None,
2373        arch: Arch::riscv32,
2374        env: None,
2375        vendor: Some(Vendor::unknown),
2376        families: Families::new_const(&[]),
2377        pointer_width: 32,
2378        endian: Endian::little,
2379        has_atomics: HasAtomics::new_const(&[]),
2380        panic: Panic::abort,
2381    },
2382    TargetInfo {
2383        triple: Triple::new_const("riscv32im-risc0-zkvm-elf"),
2384        os: Some(Os::zkvm),
2385        abi: None,
2386        arch: Arch::riscv32,
2387        env: None,
2388        vendor: Some(Vendor::risc0),
2389        families: Families::new_const(&[]),
2390        pointer_width: 32,
2391        endian: Endian::little,
2392        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2393        panic: Panic::abort,
2394    },
2395    TargetInfo {
2396        triple: Triple::new_const("riscv32im-unknown-none-elf"),
2397        os: None,
2398        abi: None,
2399        arch: Arch::riscv32,
2400        env: None,
2401        vendor: Some(Vendor::unknown),
2402        families: Families::new_const(&[]),
2403        pointer_width: 32,
2404        endian: Endian::little,
2405        has_atomics: HasAtomics::new_const(&[]),
2406        panic: Panic::abort,
2407    },
2408    TargetInfo {
2409        triple: Triple::new_const("riscv32ima-unknown-none-elf"),
2410        os: None,
2411        abi: None,
2412        arch: Arch::riscv32,
2413        env: None,
2414        vendor: Some(Vendor::unknown),
2415        families: Families::new_const(&[]),
2416        pointer_width: 32,
2417        endian: Endian::little,
2418        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2419        panic: Panic::abort,
2420    },
2421    TargetInfo {
2422        triple: Triple::new_const("riscv32imac-esp-espidf"),
2423        os: Some(Os::espidf),
2424        abi: None,
2425        arch: Arch::riscv32,
2426        env: Some(Env::newlib),
2427        vendor: Some(Vendor::espressif),
2428        families: Families::unix,
2429        pointer_width: 32,
2430        endian: Endian::little,
2431        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2432        panic: Panic::abort,
2433    },
2434    TargetInfo {
2435        triple: Triple::new_const("riscv32imac-unknown-none-elf"),
2436        os: None,
2437        abi: None,
2438        arch: Arch::riscv32,
2439        env: None,
2440        vendor: Some(Vendor::unknown),
2441        families: Families::new_const(&[]),
2442        pointer_width: 32,
2443        endian: Endian::little,
2444        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2445        panic: Panic::abort,
2446    },
2447    TargetInfo {
2448        triple: Triple::new_const("riscv32imac-unknown-nuttx-elf"),
2449        os: Some(Os::nuttx),
2450        abi: None,
2451        arch: Arch::riscv32,
2452        env: None,
2453        vendor: Some(Vendor::unknown),
2454        families: Families::unix,
2455        pointer_width: 32,
2456        endian: Endian::little,
2457        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2458        panic: Panic::unwind,
2459    },
2460    TargetInfo {
2461        triple: Triple::new_const("riscv32imac-unknown-xous-elf"),
2462        os: Some(Os::xous),
2463        abi: None,
2464        arch: Arch::riscv32,
2465        env: None,
2466        vendor: Some(Vendor::unknown),
2467        families: Families::new_const(&[]),
2468        pointer_width: 32,
2469        endian: Endian::little,
2470        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2471        panic: Panic::unwind,
2472    },
2473    TargetInfo {
2474        triple: Triple::new_const("riscv32imafc-esp-espidf"),
2475        os: Some(Os::espidf),
2476        abi: None,
2477        arch: Arch::riscv32,
2478        env: Some(Env::newlib),
2479        vendor: Some(Vendor::espressif),
2480        families: Families::unix,
2481        pointer_width: 32,
2482        endian: Endian::little,
2483        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2484        panic: Panic::abort,
2485    },
2486    TargetInfo {
2487        triple: Triple::new_const("riscv32imafc-unknown-none-elf"),
2488        os: None,
2489        abi: None,
2490        arch: Arch::riscv32,
2491        env: None,
2492        vendor: Some(Vendor::unknown),
2493        families: Families::new_const(&[]),
2494        pointer_width: 32,
2495        endian: Endian::little,
2496        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2497        panic: Panic::abort,
2498    },
2499    TargetInfo {
2500        triple: Triple::new_const("riscv32imafc-unknown-nuttx-elf"),
2501        os: Some(Os::nuttx),
2502        abi: None,
2503        arch: Arch::riscv32,
2504        env: None,
2505        vendor: Some(Vendor::unknown),
2506        families: Families::unix,
2507        pointer_width: 32,
2508        endian: Endian::little,
2509        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2510        panic: Panic::abort,
2511    },
2512    TargetInfo {
2513        triple: Triple::new_const("riscv32imc-esp-espidf"),
2514        os: Some(Os::espidf),
2515        abi: None,
2516        arch: Arch::riscv32,
2517        env: Some(Env::newlib),
2518        vendor: Some(Vendor::espressif),
2519        families: Families::unix,
2520        pointer_width: 32,
2521        endian: Endian::little,
2522        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2523        panic: Panic::abort,
2524    },
2525    TargetInfo {
2526        triple: Triple::new_const("riscv32imc-unknown-none-elf"),
2527        os: None,
2528        abi: None,
2529        arch: Arch::riscv32,
2530        env: None,
2531        vendor: Some(Vendor::unknown),
2532        families: Families::new_const(&[]),
2533        pointer_width: 32,
2534        endian: Endian::little,
2535        has_atomics: HasAtomics::new_const(&[]),
2536        panic: Panic::abort,
2537    },
2538    TargetInfo {
2539        triple: Triple::new_const("riscv32imc-unknown-nuttx-elf"),
2540        os: Some(Os::nuttx),
2541        abi: None,
2542        arch: Arch::riscv32,
2543        env: None,
2544        vendor: Some(Vendor::unknown),
2545        families: Families::unix,
2546        pointer_width: 32,
2547        endian: Endian::little,
2548        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2549        panic: Panic::unwind,
2550    },
2551    TargetInfo {
2552        triple: Triple::new_const("riscv64-linux-android"),
2553        os: Some(Os::android),
2554        abi: None,
2555        arch: Arch::riscv64,
2556        env: None,
2557        vendor: Some(Vendor::unknown),
2558        families: Families::unix,
2559        pointer_width: 64,
2560        endian: Endian::little,
2561        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2562        panic: Panic::unwind,
2563    },
2564    TargetInfo {
2565        triple: Triple::new_const("riscv64-wrs-vxworks"),
2566        os: Some(Os::vxworks),
2567        abi: None,
2568        arch: Arch::riscv64,
2569        env: Some(Env::gnu),
2570        vendor: Some(Vendor::wrs),
2571        families: Families::unix,
2572        pointer_width: 64,
2573        endian: Endian::little,
2574        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2575        panic: Panic::unwind,
2576    },
2577    TargetInfo {
2578        triple: Triple::new_const("riscv64a23-unknown-linux-gnu"),
2579        os: Some(Os::linux),
2580        abi: None,
2581        arch: Arch::riscv64,
2582        env: Some(Env::gnu),
2583        vendor: Some(Vendor::unknown),
2584        families: Families::unix,
2585        pointer_width: 64,
2586        endian: Endian::little,
2587        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2588        panic: Panic::unwind,
2589    },
2590    TargetInfo {
2591        triple: Triple::new_const("riscv64gc-unknown-freebsd"),
2592        os: Some(Os::freebsd),
2593        abi: None,
2594        arch: Arch::riscv64,
2595        env: None,
2596        vendor: Some(Vendor::unknown),
2597        families: Families::unix,
2598        pointer_width: 64,
2599        endian: Endian::little,
2600        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2601        panic: Panic::unwind,
2602    },
2603    TargetInfo {
2604        triple: Triple::new_const("riscv64gc-unknown-fuchsia"),
2605        os: Some(Os::fuchsia),
2606        abi: None,
2607        arch: Arch::riscv64,
2608        env: None,
2609        vendor: Some(Vendor::unknown),
2610        families: Families::unix,
2611        pointer_width: 64,
2612        endian: Endian::little,
2613        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2614        panic: Panic::unwind,
2615    },
2616    TargetInfo {
2617        triple: Triple::new_const("riscv64gc-unknown-hermit"),
2618        os: Some(Os::hermit),
2619        abi: None,
2620        arch: Arch::riscv64,
2621        env: None,
2622        vendor: Some(Vendor::unknown),
2623        families: Families::new_const(&[]),
2624        pointer_width: 64,
2625        endian: Endian::little,
2626        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2627        panic: Panic::abort,
2628    },
2629    TargetInfo {
2630        triple: Triple::new_const("riscv64gc-unknown-linux-gnu"),
2631        os: Some(Os::linux),
2632        abi: None,
2633        arch: Arch::riscv64,
2634        env: Some(Env::gnu),
2635        vendor: Some(Vendor::unknown),
2636        families: Families::unix,
2637        pointer_width: 64,
2638        endian: Endian::little,
2639        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2640        panic: Panic::unwind,
2641    },
2642    TargetInfo {
2643        triple: Triple::new_const("riscv64gc-unknown-linux-musl"),
2644        os: Some(Os::linux),
2645        abi: None,
2646        arch: Arch::riscv64,
2647        env: Some(Env::musl),
2648        vendor: Some(Vendor::unknown),
2649        families: Families::unix,
2650        pointer_width: 64,
2651        endian: Endian::little,
2652        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2653        panic: Panic::unwind,
2654    },
2655    TargetInfo {
2656        triple: Triple::new_const("riscv64gc-unknown-managarm-mlibc"),
2657        os: Some(Os::managarm),
2658        abi: None,
2659        arch: Arch::riscv64,
2660        env: Some(Env::mlibc),
2661        vendor: Some(Vendor::unknown),
2662        families: Families::unix,
2663        pointer_width: 64,
2664        endian: Endian::little,
2665        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2666        panic: Panic::unwind,
2667    },
2668    TargetInfo {
2669        triple: Triple::new_const("riscv64gc-unknown-netbsd"),
2670        os: Some(Os::netbsd),
2671        abi: None,
2672        arch: Arch::riscv64,
2673        env: None,
2674        vendor: Some(Vendor::unknown),
2675        families: Families::unix,
2676        pointer_width: 64,
2677        endian: Endian::little,
2678        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2679        panic: Panic::unwind,
2680    },
2681    TargetInfo {
2682        triple: Triple::new_const("riscv64gc-unknown-none-elf"),
2683        os: None,
2684        abi: None,
2685        arch: Arch::riscv64,
2686        env: None,
2687        vendor: Some(Vendor::unknown),
2688        families: Families::new_const(&[]),
2689        pointer_width: 64,
2690        endian: Endian::little,
2691        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2692        panic: Panic::abort,
2693    },
2694    TargetInfo {
2695        triple: Triple::new_const("riscv64gc-unknown-nuttx-elf"),
2696        os: Some(Os::nuttx),
2697        abi: None,
2698        arch: Arch::riscv64,
2699        env: None,
2700        vendor: Some(Vendor::unknown),
2701        families: Families::unix,
2702        pointer_width: 64,
2703        endian: Endian::little,
2704        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2705        panic: Panic::abort,
2706    },
2707    TargetInfo {
2708        triple: Triple::new_const("riscv64gc-unknown-openbsd"),
2709        os: Some(Os::openbsd),
2710        abi: None,
2711        arch: Arch::riscv64,
2712        env: None,
2713        vendor: Some(Vendor::unknown),
2714        families: Families::unix,
2715        pointer_width: 64,
2716        endian: Endian::little,
2717        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2718        panic: Panic::unwind,
2719    },
2720    TargetInfo {
2721        triple: Triple::new_const("riscv64imac-unknown-none-elf"),
2722        os: None,
2723        abi: None,
2724        arch: Arch::riscv64,
2725        env: None,
2726        vendor: Some(Vendor::unknown),
2727        families: Families::new_const(&[]),
2728        pointer_width: 64,
2729        endian: Endian::little,
2730        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2731        panic: Panic::abort,
2732    },
2733    TargetInfo {
2734        triple: Triple::new_const("riscv64imac-unknown-nuttx-elf"),
2735        os: Some(Os::nuttx),
2736        abi: None,
2737        arch: Arch::riscv64,
2738        env: None,
2739        vendor: Some(Vendor::unknown),
2740        families: Families::unix,
2741        pointer_width: 64,
2742        endian: Endian::little,
2743        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2744        panic: Panic::abort,
2745    },
2746    TargetInfo {
2747        triple: Triple::new_const("s390x-unknown-linux-gnu"),
2748        os: Some(Os::linux),
2749        abi: None,
2750        arch: Arch::s390x,
2751        env: Some(Env::gnu),
2752        vendor: Some(Vendor::unknown),
2753        families: Families::unix,
2754        pointer_width: 64,
2755        endian: Endian::big,
2756        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
2757        panic: Panic::unwind,
2758    },
2759    TargetInfo {
2760        triple: Triple::new_const("s390x-unknown-linux-musl"),
2761        os: Some(Os::linux),
2762        abi: None,
2763        arch: Arch::s390x,
2764        env: Some(Env::musl),
2765        vendor: Some(Vendor::unknown),
2766        families: Families::unix,
2767        pointer_width: 64,
2768        endian: Endian::big,
2769        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
2770        panic: Panic::unwind,
2771    },
2772    TargetInfo {
2773        triple: Triple::new_const("sparc-unknown-linux-gnu"),
2774        os: Some(Os::linux),
2775        abi: None,
2776        arch: Arch::sparc,
2777        env: Some(Env::gnu),
2778        vendor: Some(Vendor::unknown),
2779        families: Families::unix,
2780        pointer_width: 32,
2781        endian: Endian::big,
2782        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2783        panic: Panic::unwind,
2784    },
2785    TargetInfo {
2786        triple: Triple::new_const("sparc-unknown-none-elf"),
2787        os: None,
2788        abi: None,
2789        arch: Arch::sparc,
2790        env: None,
2791        vendor: Some(Vendor::unknown),
2792        families: Families::new_const(&[]),
2793        pointer_width: 32,
2794        endian: Endian::big,
2795        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2796        panic: Panic::abort,
2797    },
2798    TargetInfo {
2799        triple: Triple::new_const("sparc64-unknown-linux-gnu"),
2800        os: Some(Os::linux),
2801        abi: None,
2802        arch: Arch::sparc64,
2803        env: Some(Env::gnu),
2804        vendor: Some(Vendor::unknown),
2805        families: Families::unix,
2806        pointer_width: 64,
2807        endian: Endian::big,
2808        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2809        panic: Panic::unwind,
2810    },
2811    TargetInfo {
2812        triple: Triple::new_const("sparc64-unknown-netbsd"),
2813        os: Some(Os::netbsd),
2814        abi: None,
2815        arch: Arch::sparc64,
2816        env: None,
2817        vendor: Some(Vendor::unknown),
2818        families: Families::unix,
2819        pointer_width: 64,
2820        endian: Endian::big,
2821        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2822        panic: Panic::unwind,
2823    },
2824    TargetInfo {
2825        triple: Triple::new_const("sparc64-unknown-openbsd"),
2826        os: Some(Os::openbsd),
2827        abi: None,
2828        arch: Arch::sparc64,
2829        env: None,
2830        vendor: Some(Vendor::unknown),
2831        families: Families::unix,
2832        pointer_width: 64,
2833        endian: Endian::big,
2834        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2835        panic: Panic::unwind,
2836    },
2837    TargetInfo {
2838        triple: Triple::new_const("sparcv9-sun-solaris"),
2839        os: Some(Os::solaris),
2840        abi: None,
2841        arch: Arch::sparc64,
2842        env: None,
2843        vendor: Some(Vendor::sun),
2844        families: Families::unix,
2845        pointer_width: 64,
2846        endian: Endian::big,
2847        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2848        panic: Panic::unwind,
2849    },
2850    TargetInfo {
2851        triple: Triple::new_const("thumbv4t-none-eabi"),
2852        os: None,
2853        abi: Some(Abi::eabi),
2854        arch: Arch::arm,
2855        env: None,
2856        vendor: Some(Vendor::unknown),
2857        families: Families::new_const(&[]),
2858        pointer_width: 32,
2859        endian: Endian::little,
2860        has_atomics: HasAtomics::new_const(&[]),
2861        panic: Panic::abort,
2862    },
2863    TargetInfo {
2864        triple: Triple::new_const("thumbv5te-none-eabi"),
2865        os: None,
2866        abi: Some(Abi::eabi),
2867        arch: Arch::arm,
2868        env: None,
2869        vendor: Some(Vendor::unknown),
2870        families: Families::new_const(&[]),
2871        pointer_width: 32,
2872        endian: Endian::little,
2873        has_atomics: HasAtomics::new_const(&[]),
2874        panic: Panic::abort,
2875    },
2876    TargetInfo {
2877        triple: Triple::new_const("thumbv6m-none-eabi"),
2878        os: None,
2879        abi: Some(Abi::eabi),
2880        arch: Arch::arm,
2881        env: None,
2882        vendor: Some(Vendor::unknown),
2883        families: Families::new_const(&[]),
2884        pointer_width: 32,
2885        endian: Endian::little,
2886        has_atomics: HasAtomics::new_const(&[]),
2887        panic: Panic::abort,
2888    },
2889    TargetInfo {
2890        triple: Triple::new_const("thumbv6m-nuttx-eabi"),
2891        os: Some(Os::nuttx),
2892        abi: Some(Abi::eabi),
2893        arch: Arch::arm,
2894        env: None,
2895        vendor: Some(Vendor::unknown),
2896        families: Families::unix,
2897        pointer_width: 32,
2898        endian: Endian::little,
2899        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2900        panic: Panic::abort,
2901    },
2902    TargetInfo {
2903        triple: Triple::new_const("thumbv7a-nuttx-eabi"),
2904        os: Some(Os::nuttx),
2905        abi: Some(Abi::eabi),
2906        arch: Arch::arm,
2907        env: None,
2908        vendor: Some(Vendor::unknown),
2909        families: Families::unix,
2910        pointer_width: 32,
2911        endian: Endian::little,
2912        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2913        panic: Panic::abort,
2914    },
2915    TargetInfo {
2916        triple: Triple::new_const("thumbv7a-nuttx-eabihf"),
2917        os: Some(Os::nuttx),
2918        abi: Some(Abi::eabihf),
2919        arch: Arch::arm,
2920        env: None,
2921        vendor: Some(Vendor::unknown),
2922        families: Families::unix,
2923        pointer_width: 32,
2924        endian: Endian::little,
2925        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2926        panic: Panic::abort,
2927    },
2928    TargetInfo {
2929        triple: Triple::new_const("thumbv7a-pc-windows-msvc"),
2930        os: Some(Os::windows),
2931        abi: None,
2932        arch: Arch::arm,
2933        env: Some(Env::msvc),
2934        vendor: Some(Vendor::pc),
2935        families: Families::windows,
2936        pointer_width: 32,
2937        endian: Endian::little,
2938        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2939        panic: Panic::abort,
2940    },
2941    TargetInfo {
2942        triple: Triple::new_const("thumbv7a-uwp-windows-msvc"),
2943        os: Some(Os::windows),
2944        abi: Some(Abi::uwp),
2945        arch: Arch::arm,
2946        env: Some(Env::msvc),
2947        vendor: Some(Vendor::uwp),
2948        families: Families::windows,
2949        pointer_width: 32,
2950        endian: Endian::little,
2951        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2952        panic: Panic::abort,
2953    },
2954    TargetInfo {
2955        triple: Triple::new_const("thumbv7em-none-eabi"),
2956        os: None,
2957        abi: Some(Abi::eabi),
2958        arch: Arch::arm,
2959        env: None,
2960        vendor: Some(Vendor::unknown),
2961        families: Families::new_const(&[]),
2962        pointer_width: 32,
2963        endian: Endian::little,
2964        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2965        panic: Panic::abort,
2966    },
2967    TargetInfo {
2968        triple: Triple::new_const("thumbv7em-none-eabihf"),
2969        os: None,
2970        abi: Some(Abi::eabihf),
2971        arch: Arch::arm,
2972        env: None,
2973        vendor: Some(Vendor::unknown),
2974        families: Families::new_const(&[]),
2975        pointer_width: 32,
2976        endian: Endian::little,
2977        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2978        panic: Panic::abort,
2979    },
2980    TargetInfo {
2981        triple: Triple::new_const("thumbv7em-nuttx-eabi"),
2982        os: Some(Os::nuttx),
2983        abi: Some(Abi::eabi),
2984        arch: Arch::arm,
2985        env: None,
2986        vendor: Some(Vendor::unknown),
2987        families: Families::unix,
2988        pointer_width: 32,
2989        endian: Endian::little,
2990        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2991        panic: Panic::abort,
2992    },
2993    TargetInfo {
2994        triple: Triple::new_const("thumbv7em-nuttx-eabihf"),
2995        os: Some(Os::nuttx),
2996        abi: Some(Abi::eabihf),
2997        arch: Arch::arm,
2998        env: None,
2999        vendor: Some(Vendor::unknown),
3000        families: Families::unix,
3001        pointer_width: 32,
3002        endian: Endian::little,
3003        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3004        panic: Panic::abort,
3005    },
3006    TargetInfo {
3007        triple: Triple::new_const("thumbv7m-none-eabi"),
3008        os: None,
3009        abi: Some(Abi::eabi),
3010        arch: Arch::arm,
3011        env: None,
3012        vendor: Some(Vendor::unknown),
3013        families: Families::new_const(&[]),
3014        pointer_width: 32,
3015        endian: Endian::little,
3016        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3017        panic: Panic::abort,
3018    },
3019    TargetInfo {
3020        triple: Triple::new_const("thumbv7m-nuttx-eabi"),
3021        os: Some(Os::nuttx),
3022        abi: Some(Abi::eabi),
3023        arch: Arch::arm,
3024        env: None,
3025        vendor: Some(Vendor::unknown),
3026        families: Families::unix,
3027        pointer_width: 32,
3028        endian: Endian::little,
3029        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3030        panic: Panic::abort,
3031    },
3032    TargetInfo {
3033        triple: Triple::new_const("thumbv7neon-linux-androideabi"),
3034        os: Some(Os::android),
3035        abi: Some(Abi::eabi),
3036        arch: Arch::arm,
3037        env: None,
3038        vendor: Some(Vendor::unknown),
3039        families: Families::unix,
3040        pointer_width: 32,
3041        endian: Endian::little,
3042        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3043        panic: Panic::unwind,
3044    },
3045    TargetInfo {
3046        triple: Triple::new_const("thumbv7neon-unknown-linux-gnueabihf"),
3047        os: Some(Os::linux),
3048        abi: Some(Abi::eabihf),
3049        arch: Arch::arm,
3050        env: Some(Env::gnu),
3051        vendor: Some(Vendor::unknown),
3052        families: Families::unix,
3053        pointer_width: 32,
3054        endian: Endian::little,
3055        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3056        panic: Panic::unwind,
3057    },
3058    TargetInfo {
3059        triple: Triple::new_const("thumbv7neon-unknown-linux-musleabihf"),
3060        os: Some(Os::linux),
3061        abi: Some(Abi::eabihf),
3062        arch: Arch::arm,
3063        env: Some(Env::musl),
3064        vendor: Some(Vendor::unknown),
3065        families: Families::unix,
3066        pointer_width: 32,
3067        endian: Endian::little,
3068        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3069        panic: Panic::unwind,
3070    },
3071    TargetInfo {
3072        triple: Triple::new_const("thumbv8m.base-none-eabi"),
3073        os: None,
3074        abi: Some(Abi::eabi),
3075        arch: Arch::arm,
3076        env: None,
3077        vendor: Some(Vendor::unknown),
3078        families: Families::new_const(&[]),
3079        pointer_width: 32,
3080        endian: Endian::little,
3081        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3082        panic: Panic::abort,
3083    },
3084    TargetInfo {
3085        triple: Triple::new_const("thumbv8m.base-nuttx-eabi"),
3086        os: Some(Os::nuttx),
3087        abi: Some(Abi::eabi),
3088        arch: Arch::arm,
3089        env: None,
3090        vendor: Some(Vendor::unknown),
3091        families: Families::unix,
3092        pointer_width: 32,
3093        endian: Endian::little,
3094        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3095        panic: Panic::abort,
3096    },
3097    TargetInfo {
3098        triple: Triple::new_const("thumbv8m.main-none-eabi"),
3099        os: None,
3100        abi: Some(Abi::eabi),
3101        arch: Arch::arm,
3102        env: None,
3103        vendor: Some(Vendor::unknown),
3104        families: Families::new_const(&[]),
3105        pointer_width: 32,
3106        endian: Endian::little,
3107        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3108        panic: Panic::abort,
3109    },
3110    TargetInfo {
3111        triple: Triple::new_const("thumbv8m.main-none-eabihf"),
3112        os: None,
3113        abi: Some(Abi::eabihf),
3114        arch: Arch::arm,
3115        env: None,
3116        vendor: Some(Vendor::unknown),
3117        families: Families::new_const(&[]),
3118        pointer_width: 32,
3119        endian: Endian::little,
3120        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3121        panic: Panic::abort,
3122    },
3123    TargetInfo {
3124        triple: Triple::new_const("thumbv8m.main-nuttx-eabi"),
3125        os: Some(Os::nuttx),
3126        abi: Some(Abi::eabi),
3127        arch: Arch::arm,
3128        env: None,
3129        vendor: Some(Vendor::unknown),
3130        families: Families::unix,
3131        pointer_width: 32,
3132        endian: Endian::little,
3133        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3134        panic: Panic::abort,
3135    },
3136    TargetInfo {
3137        triple: Triple::new_const("thumbv8m.main-nuttx-eabihf"),
3138        os: Some(Os::nuttx),
3139        abi: Some(Abi::eabihf),
3140        arch: Arch::arm,
3141        env: None,
3142        vendor: Some(Vendor::unknown),
3143        families: Families::unix,
3144        pointer_width: 32,
3145        endian: Endian::little,
3146        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3147        panic: Panic::abort,
3148    },
3149    TargetInfo {
3150        triple: Triple::new_const("wasm32-unknown-emscripten"),
3151        os: Some(Os::emscripten),
3152        abi: None,
3153        arch: Arch::wasm32,
3154        env: None,
3155        vendor: Some(Vendor::unknown),
3156        families: Families::unix_wasm,
3157        pointer_width: 32,
3158        endian: Endian::little,
3159        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3160        panic: Panic::unwind,
3161    },
3162    TargetInfo {
3163        triple: Triple::new_const("wasm32-unknown-unknown"),
3164        os: Some(Os::unknown),
3165        abi: None,
3166        arch: Arch::wasm32,
3167        env: None,
3168        vendor: Some(Vendor::unknown),
3169        families: Families::wasm,
3170        pointer_width: 32,
3171        endian: Endian::little,
3172        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3173        panic: Panic::abort,
3174    },
3175    TargetInfo {
3176        triple: Triple::new_const("wasm32-wali-linux-musl"),
3177        os: Some(Os::linux),
3178        abi: None,
3179        arch: Arch::wasm32,
3180        env: Some(Env::musl),
3181        vendor: Some(Vendor::unknown),
3182        families: Families::unix_wasm,
3183        pointer_width: 32,
3184        endian: Endian::little,
3185        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3186        panic: Panic::abort,
3187    },
3188    TargetInfo {
3189        triple: Triple::new_const("wasm32-wasip1"),
3190        os: Some(Os::wasi),
3191        abi: None,
3192        arch: Arch::wasm32,
3193        env: Some(Env::p1),
3194        vendor: Some(Vendor::unknown),
3195        families: Families::wasm,
3196        pointer_width: 32,
3197        endian: Endian::little,
3198        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3199        panic: Panic::abort,
3200    },
3201    TargetInfo {
3202        triple: Triple::new_const("wasm32-wasip1-threads"),
3203        os: Some(Os::wasi),
3204        abi: None,
3205        arch: Arch::wasm32,
3206        env: Some(Env::p1),
3207        vendor: Some(Vendor::unknown),
3208        families: Families::wasm,
3209        pointer_width: 32,
3210        endian: Endian::little,
3211        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3212        panic: Panic::abort,
3213    },
3214    TargetInfo {
3215        triple: Triple::new_const("wasm32-wasip2"),
3216        os: Some(Os::wasi),
3217        abi: None,
3218        arch: Arch::wasm32,
3219        env: Some(Env::p2),
3220        vendor: Some(Vendor::unknown),
3221        families: Families::wasm,
3222        pointer_width: 32,
3223        endian: Endian::little,
3224        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3225        panic: Panic::abort,
3226    },
3227    TargetInfo {
3228        triple: Triple::new_const("wasm32v1-none"),
3229        os: None,
3230        abi: None,
3231        arch: Arch::wasm32,
3232        env: None,
3233        vendor: Some(Vendor::unknown),
3234        families: Families::wasm,
3235        pointer_width: 32,
3236        endian: Endian::little,
3237        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3238        panic: Panic::abort,
3239    },
3240    TargetInfo {
3241        triple: Triple::new_const("wasm64-unknown-unknown"),
3242        os: Some(Os::unknown),
3243        abi: None,
3244        arch: Arch::wasm64,
3245        env: None,
3246        vendor: Some(Vendor::unknown),
3247        families: Families::wasm,
3248        pointer_width: 64,
3249        endian: Endian::little,
3250        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3251        panic: Panic::abort,
3252    },
3253    TargetInfo {
3254        triple: Triple::new_const("x86_64-apple-darwin"),
3255        os: Some(Os::macos),
3256        abi: None,
3257        arch: Arch::x86_64,
3258        env: None,
3259        vendor: Some(Vendor::apple),
3260        families: Families::unix,
3261        pointer_width: 64,
3262        endian: Endian::little,
3263        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3264        panic: Panic::unwind,
3265    },
3266    TargetInfo {
3267        triple: Triple::new_const("x86_64-apple-ios"),
3268        os: Some(Os::ios),
3269        abi: Some(Abi::sim),
3270        arch: Arch::x86_64,
3271        env: Some(Env::sim),
3272        vendor: Some(Vendor::apple),
3273        families: Families::unix,
3274        pointer_width: 64,
3275        endian: Endian::little,
3276        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3277        panic: Panic::unwind,
3278    },
3279    TargetInfo {
3280        triple: Triple::new_const("x86_64-apple-ios-macabi"),
3281        os: Some(Os::ios),
3282        abi: Some(Abi::macabi),
3283        arch: Arch::x86_64,
3284        env: Some(Env::macabi),
3285        vendor: Some(Vendor::apple),
3286        families: Families::unix,
3287        pointer_width: 64,
3288        endian: Endian::little,
3289        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3290        panic: Panic::unwind,
3291    },
3292    TargetInfo {
3293        triple: Triple::new_const("x86_64-apple-tvos"),
3294        os: Some(Os::tvos),
3295        abi: Some(Abi::sim),
3296        arch: Arch::x86_64,
3297        env: Some(Env::sim),
3298        vendor: Some(Vendor::apple),
3299        families: Families::unix,
3300        pointer_width: 64,
3301        endian: Endian::little,
3302        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3303        panic: Panic::unwind,
3304    },
3305    TargetInfo {
3306        triple: Triple::new_const("x86_64-apple-watchos-sim"),
3307        os: Some(Os::watchos),
3308        abi: Some(Abi::sim),
3309        arch: Arch::x86_64,
3310        env: Some(Env::sim),
3311        vendor: Some(Vendor::apple),
3312        families: Families::unix,
3313        pointer_width: 64,
3314        endian: Endian::little,
3315        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3316        panic: Panic::unwind,
3317    },
3318    TargetInfo {
3319        triple: Triple::new_const("x86_64-fortanix-unknown-sgx"),
3320        os: Some(Os::unknown),
3321        abi: Some(Abi::fortanix),
3322        arch: Arch::x86_64,
3323        env: Some(Env::sgx),
3324        vendor: Some(Vendor::fortanix),
3325        families: Families::new_const(&[]),
3326        pointer_width: 64,
3327        endian: Endian::little,
3328        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3329        panic: Panic::unwind,
3330    },
3331    TargetInfo {
3332        triple: Triple::new_const("x86_64-linux-android"),
3333        os: Some(Os::android),
3334        abi: None,
3335        arch: Arch::x86_64,
3336        env: None,
3337        vendor: Some(Vendor::unknown),
3338        families: Families::unix,
3339        pointer_width: 64,
3340        endian: Endian::little,
3341        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3342        panic: Panic::unwind,
3343    },
3344    TargetInfo {
3345        triple: Triple::new_const("x86_64-lynx-lynxos178"),
3346        os: Some(Os::lynxos178),
3347        abi: None,
3348        arch: Arch::x86_64,
3349        env: None,
3350        vendor: Some(Vendor::unknown),
3351        families: Families::unix,
3352        pointer_width: 64,
3353        endian: Endian::little,
3354        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3355        panic: Panic::abort,
3356    },
3357    TargetInfo {
3358        triple: Triple::new_const("x86_64-pc-cygwin"),
3359        os: Some(Os::cygwin),
3360        abi: None,
3361        arch: Arch::x86_64,
3362        env: None,
3363        vendor: Some(Vendor::pc),
3364        families: Families::unix,
3365        pointer_width: 64,
3366        endian: Endian::little,
3367        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3368        panic: Panic::unwind,
3369    },
3370    TargetInfo {
3371        triple: Triple::new_const("x86_64-pc-nto-qnx710"),
3372        os: Some(Os::nto),
3373        abi: None,
3374        arch: Arch::x86_64,
3375        env: Some(Env::nto71),
3376        vendor: Some(Vendor::pc),
3377        families: Families::unix,
3378        pointer_width: 64,
3379        endian: Endian::little,
3380        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3381        panic: Panic::unwind,
3382    },
3383    TargetInfo {
3384        triple: Triple::new_const("x86_64-pc-nto-qnx710_iosock"),
3385        os: Some(Os::nto),
3386        abi: None,
3387        arch: Arch::x86_64,
3388        env: Some(Env::nto71_iosock),
3389        vendor: Some(Vendor::pc),
3390        families: Families::unix,
3391        pointer_width: 64,
3392        endian: Endian::little,
3393        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3394        panic: Panic::unwind,
3395    },
3396    TargetInfo {
3397        triple: Triple::new_const("x86_64-pc-nto-qnx800"),
3398        os: Some(Os::nto),
3399        abi: None,
3400        arch: Arch::x86_64,
3401        env: Some(Env::nto80),
3402        vendor: Some(Vendor::pc),
3403        families: Families::unix,
3404        pointer_width: 64,
3405        endian: Endian::little,
3406        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3407        panic: Panic::unwind,
3408    },
3409    TargetInfo {
3410        triple: Triple::new_const("x86_64-pc-solaris"),
3411        os: Some(Os::solaris),
3412        abi: None,
3413        arch: Arch::x86_64,
3414        env: None,
3415        vendor: Some(Vendor::pc),
3416        families: Families::unix,
3417        pointer_width: 64,
3418        endian: Endian::little,
3419        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3420        panic: Panic::unwind,
3421    },
3422    TargetInfo {
3423        triple: Triple::new_const("x86_64-pc-windows-gnu"),
3424        os: Some(Os::windows),
3425        abi: None,
3426        arch: Arch::x86_64,
3427        env: Some(Env::gnu),
3428        vendor: Some(Vendor::pc),
3429        families: Families::windows,
3430        pointer_width: 64,
3431        endian: Endian::little,
3432        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3433        panic: Panic::unwind,
3434    },
3435    TargetInfo {
3436        triple: Triple::new_const("x86_64-pc-windows-gnullvm"),
3437        os: Some(Os::windows),
3438        abi: Some(Abi::llvm),
3439        arch: Arch::x86_64,
3440        env: Some(Env::gnu),
3441        vendor: Some(Vendor::pc),
3442        families: Families::windows,
3443        pointer_width: 64,
3444        endian: Endian::little,
3445        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3446        panic: Panic::unwind,
3447    },
3448    TargetInfo {
3449        triple: Triple::new_const("x86_64-pc-windows-msvc"),
3450        os: Some(Os::windows),
3451        abi: None,
3452        arch: Arch::x86_64,
3453        env: Some(Env::msvc),
3454        vendor: Some(Vendor::pc),
3455        families: Families::windows,
3456        pointer_width: 64,
3457        endian: Endian::little,
3458        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3459        panic: Panic::unwind,
3460    },
3461    TargetInfo {
3462        triple: Triple::new_const("x86_64-unikraft-linux-musl"),
3463        os: Some(Os::linux),
3464        abi: None,
3465        arch: Arch::x86_64,
3466        env: Some(Env::musl),
3467        vendor: Some(Vendor::unikraft),
3468        families: Families::unix,
3469        pointer_width: 64,
3470        endian: Endian::little,
3471        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3472        panic: Panic::abort,
3473    },
3474    TargetInfo {
3475        triple: Triple::new_const("x86_64-unknown-dragonfly"),
3476        os: Some(Os::dragonfly),
3477        abi: None,
3478        arch: Arch::x86_64,
3479        env: None,
3480        vendor: Some(Vendor::unknown),
3481        families: Families::unix,
3482        pointer_width: 64,
3483        endian: Endian::little,
3484        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3485        panic: Panic::unwind,
3486    },
3487    TargetInfo {
3488        triple: Triple::new_const("x86_64-unknown-freebsd"),
3489        os: Some(Os::freebsd),
3490        abi: None,
3491        arch: Arch::x86_64,
3492        env: None,
3493        vendor: Some(Vendor::unknown),
3494        families: Families::unix,
3495        pointer_width: 64,
3496        endian: Endian::little,
3497        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3498        panic: Panic::unwind,
3499    },
3500    TargetInfo {
3501        triple: Triple::new_const("x86_64-unknown-fuchsia"),
3502        os: Some(Os::fuchsia),
3503        abi: None,
3504        arch: Arch::x86_64,
3505        env: None,
3506        vendor: Some(Vendor::unknown),
3507        families: Families::unix,
3508        pointer_width: 64,
3509        endian: Endian::little,
3510        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3511        panic: Panic::unwind,
3512    },
3513    TargetInfo {
3514        triple: Triple::new_const("x86_64-unknown-haiku"),
3515        os: Some(Os::haiku),
3516        abi: None,
3517        arch: Arch::x86_64,
3518        env: None,
3519        vendor: Some(Vendor::unknown),
3520        families: Families::unix,
3521        pointer_width: 64,
3522        endian: Endian::little,
3523        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3524        panic: Panic::unwind,
3525    },
3526    TargetInfo {
3527        triple: Triple::new_const("x86_64-unknown-hermit"),
3528        os: Some(Os::hermit),
3529        abi: None,
3530        arch: Arch::x86_64,
3531        env: None,
3532        vendor: Some(Vendor::unknown),
3533        families: Families::new_const(&[]),
3534        pointer_width: 64,
3535        endian: Endian::little,
3536        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3537        panic: Panic::abort,
3538    },
3539    TargetInfo {
3540        triple: Triple::new_const("x86_64-unknown-hurd-gnu"),
3541        os: Some(Os::hurd),
3542        abi: None,
3543        arch: Arch::x86_64,
3544        env: Some(Env::gnu),
3545        vendor: Some(Vendor::unknown),
3546        families: Families::unix,
3547        pointer_width: 64,
3548        endian: Endian::little,
3549        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3550        panic: Panic::unwind,
3551    },
3552    TargetInfo {
3553        triple: Triple::new_const("x86_64-unknown-illumos"),
3554        os: Some(Os::illumos),
3555        abi: None,
3556        arch: Arch::x86_64,
3557        env: None,
3558        vendor: Some(Vendor::unknown),
3559        families: Families::unix,
3560        pointer_width: 64,
3561        endian: Endian::little,
3562        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3563        panic: Panic::unwind,
3564    },
3565    TargetInfo {
3566        triple: Triple::new_const("x86_64-unknown-l4re-uclibc"),
3567        os: Some(Os::l4re),
3568        abi: None,
3569        arch: Arch::x86_64,
3570        env: Some(Env::uclibc),
3571        vendor: Some(Vendor::unknown),
3572        families: Families::unix,
3573        pointer_width: 64,
3574        endian: Endian::little,
3575        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3576        panic: Panic::abort,
3577    },
3578    TargetInfo {
3579        triple: Triple::new_const("x86_64-unknown-linux-gnu"),
3580        os: Some(Os::linux),
3581        abi: None,
3582        arch: Arch::x86_64,
3583        env: Some(Env::gnu),
3584        vendor: Some(Vendor::unknown),
3585        families: Families::unix,
3586        pointer_width: 64,
3587        endian: Endian::little,
3588        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3589        panic: Panic::unwind,
3590    },
3591    TargetInfo {
3592        triple: Triple::new_const("x86_64-unknown-linux-gnux32"),
3593        os: Some(Os::linux),
3594        abi: Some(Abi::x32),
3595        arch: Arch::x86_64,
3596        env: Some(Env::gnu),
3597        vendor: Some(Vendor::unknown),
3598        families: Families::unix,
3599        pointer_width: 32,
3600        endian: Endian::little,
3601        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3602        panic: Panic::unwind,
3603    },
3604    TargetInfo {
3605        triple: Triple::new_const("x86_64-unknown-linux-musl"),
3606        os: Some(Os::linux),
3607        abi: None,
3608        arch: Arch::x86_64,
3609        env: Some(Env::musl),
3610        vendor: Some(Vendor::unknown),
3611        families: Families::unix,
3612        pointer_width: 64,
3613        endian: Endian::little,
3614        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3615        panic: Panic::unwind,
3616    },
3617    TargetInfo {
3618        triple: Triple::new_const("x86_64-unknown-linux-none"),
3619        os: Some(Os::linux),
3620        abi: None,
3621        arch: Arch::x86_64,
3622        env: None,
3623        vendor: Some(Vendor::unknown),
3624        families: Families::unix,
3625        pointer_width: 64,
3626        endian: Endian::little,
3627        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3628        panic: Panic::abort,
3629    },
3630    TargetInfo {
3631        triple: Triple::new_const("x86_64-unknown-linux-ohos"),
3632        os: Some(Os::linux),
3633        abi: None,
3634        arch: Arch::x86_64,
3635        env: Some(Env::ohos),
3636        vendor: Some(Vendor::unknown),
3637        families: Families::unix,
3638        pointer_width: 64,
3639        endian: Endian::little,
3640        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3641        panic: Panic::unwind,
3642    },
3643    TargetInfo {
3644        triple: Triple::new_const("x86_64-unknown-managarm-mlibc"),
3645        os: Some(Os::managarm),
3646        abi: None,
3647        arch: Arch::x86_64,
3648        env: Some(Env::mlibc),
3649        vendor: Some(Vendor::unknown),
3650        families: Families::unix,
3651        pointer_width: 64,
3652        endian: Endian::little,
3653        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3654        panic: Panic::unwind,
3655    },
3656    TargetInfo {
3657        triple: Triple::new_const("x86_64-unknown-netbsd"),
3658        os: Some(Os::netbsd),
3659        abi: None,
3660        arch: Arch::x86_64,
3661        env: None,
3662        vendor: Some(Vendor::unknown),
3663        families: Families::unix,
3664        pointer_width: 64,
3665        endian: Endian::little,
3666        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3667        panic: Panic::unwind,
3668    },
3669    TargetInfo {
3670        triple: Triple::new_const("x86_64-unknown-none"),
3671        os: None,
3672        abi: None,
3673        arch: Arch::x86_64,
3674        env: None,
3675        vendor: Some(Vendor::unknown),
3676        families: Families::new_const(&[]),
3677        pointer_width: 64,
3678        endian: Endian::little,
3679        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3680        panic: Panic::abort,
3681    },
3682    TargetInfo {
3683        triple: Triple::new_const("x86_64-unknown-openbsd"),
3684        os: Some(Os::openbsd),
3685        abi: None,
3686        arch: Arch::x86_64,
3687        env: None,
3688        vendor: Some(Vendor::unknown),
3689        families: Families::unix,
3690        pointer_width: 64,
3691        endian: Endian::little,
3692        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3693        panic: Panic::unwind,
3694    },
3695    TargetInfo {
3696        triple: Triple::new_const("x86_64-unknown-redox"),
3697        os: Some(Os::redox),
3698        abi: None,
3699        arch: Arch::x86_64,
3700        env: Some(Env::relibc),
3701        vendor: Some(Vendor::unknown),
3702        families: Families::unix,
3703        pointer_width: 64,
3704        endian: Endian::little,
3705        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3706        panic: Panic::unwind,
3707    },
3708    TargetInfo {
3709        triple: Triple::new_const("x86_64-unknown-trusty"),
3710        os: Some(Os::trusty),
3711        abi: None,
3712        arch: Arch::x86_64,
3713        env: None,
3714        vendor: Some(Vendor::unknown),
3715        families: Families::new_const(&[]),
3716        pointer_width: 64,
3717        endian: Endian::little,
3718        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3719        panic: Panic::abort,
3720    },
3721    TargetInfo {
3722        triple: Triple::new_const("x86_64-unknown-uefi"),
3723        os: Some(Os::uefi),
3724        abi: None,
3725        arch: Arch::x86_64,
3726        env: None,
3727        vendor: Some(Vendor::unknown),
3728        families: Families::new_const(&[]),
3729        pointer_width: 64,
3730        endian: Endian::little,
3731        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3732        panic: Panic::abort,
3733    },
3734    TargetInfo {
3735        triple: Triple::new_const("x86_64-uwp-windows-gnu"),
3736        os: Some(Os::windows),
3737        abi: Some(Abi::uwp),
3738        arch: Arch::x86_64,
3739        env: Some(Env::gnu),
3740        vendor: Some(Vendor::uwp),
3741        families: Families::windows,
3742        pointer_width: 64,
3743        endian: Endian::little,
3744        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3745        panic: Panic::unwind,
3746    },
3747    TargetInfo {
3748        triple: Triple::new_const("x86_64-uwp-windows-msvc"),
3749        os: Some(Os::windows),
3750        abi: Some(Abi::uwp),
3751        arch: Arch::x86_64,
3752        env: Some(Env::msvc),
3753        vendor: Some(Vendor::uwp),
3754        families: Families::windows,
3755        pointer_width: 64,
3756        endian: Endian::little,
3757        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3758        panic: Panic::unwind,
3759    },
3760    TargetInfo {
3761        triple: Triple::new_const("x86_64-win7-windows-gnu"),
3762        os: Some(Os::windows),
3763        abi: None,
3764        arch: Arch::x86_64,
3765        env: Some(Env::gnu),
3766        vendor: Some(Vendor::win7),
3767        families: Families::windows,
3768        pointer_width: 64,
3769        endian: Endian::little,
3770        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3771        panic: Panic::unwind,
3772    },
3773    TargetInfo {
3774        triple: Triple::new_const("x86_64-win7-windows-msvc"),
3775        os: Some(Os::windows),
3776        abi: None,
3777        arch: Arch::x86_64,
3778        env: Some(Env::msvc),
3779        vendor: Some(Vendor::win7),
3780        families: Families::windows,
3781        pointer_width: 64,
3782        endian: Endian::little,
3783        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3784        panic: Panic::unwind,
3785    },
3786    TargetInfo {
3787        triple: Triple::new_const("x86_64-wrs-vxworks"),
3788        os: Some(Os::vxworks),
3789        abi: None,
3790        arch: Arch::x86_64,
3791        env: Some(Env::gnu),
3792        vendor: Some(Vendor::wrs),
3793        families: Families::unix,
3794        pointer_width: 64,
3795        endian: Endian::little,
3796        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3797        panic: Panic::unwind,
3798    },
3799    TargetInfo {
3800        triple: Triple::new_const("x86_64h-apple-darwin"),
3801        os: Some(Os::macos),
3802        abi: None,
3803        arch: Arch::x86_64,
3804        env: None,
3805        vendor: Some(Vendor::apple),
3806        families: Families::unix,
3807        pointer_width: 64,
3808        endian: Endian::little,
3809        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3810        panic: Panic::unwind,
3811    },
3812    TargetInfo {
3813        triple: Triple::new_const("xtensa-esp32-espidf"),
3814        os: Some(Os::espidf),
3815        abi: None,
3816        arch: Arch::xtensa,
3817        env: Some(Env::newlib),
3818        vendor: Some(Vendor::espressif),
3819        families: Families::unix,
3820        pointer_width: 32,
3821        endian: Endian::little,
3822        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3823        panic: Panic::abort,
3824    },
3825    TargetInfo {
3826        triple: Triple::new_const("xtensa-esp32-none-elf"),
3827        os: None,
3828        abi: None,
3829        arch: Arch::xtensa,
3830        env: None,
3831        vendor: Some(Vendor::espressif),
3832        families: Families::new_const(&[]),
3833        pointer_width: 32,
3834        endian: Endian::little,
3835        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3836        panic: Panic::abort,
3837    },
3838    TargetInfo {
3839        triple: Triple::new_const("xtensa-esp32s2-espidf"),
3840        os: Some(Os::espidf),
3841        abi: None,
3842        arch: Arch::xtensa,
3843        env: Some(Env::newlib),
3844        vendor: Some(Vendor::espressif),
3845        families: Families::unix,
3846        pointer_width: 32,
3847        endian: Endian::little,
3848        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3849        panic: Panic::abort,
3850    },
3851    TargetInfo {
3852        triple: Triple::new_const("xtensa-esp32s2-none-elf"),
3853        os: None,
3854        abi: None,
3855        arch: Arch::xtensa,
3856        env: None,
3857        vendor: Some(Vendor::espressif),
3858        families: Families::new_const(&[]),
3859        pointer_width: 32,
3860        endian: Endian::little,
3861        has_atomics: HasAtomics::new_const(&[]),
3862        panic: Panic::abort,
3863    },
3864    TargetInfo {
3865        triple: Triple::new_const("xtensa-esp32s3-espidf"),
3866        os: Some(Os::espidf),
3867        abi: None,
3868        arch: Arch::xtensa,
3869        env: Some(Env::newlib),
3870        vendor: Some(Vendor::espressif),
3871        families: Families::unix,
3872        pointer_width: 32,
3873        endian: Endian::little,
3874        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3875        panic: Panic::abort,
3876    },
3877    TargetInfo {
3878        triple: Triple::new_const("xtensa-esp32s3-none-elf"),
3879        os: None,
3880        abi: None,
3881        arch: Arch::xtensa,
3882        env: None,
3883        vendor: Some(Vendor::espressif),
3884        families: Families::new_const(&[]),
3885        pointer_width: 32,
3886        endian: Endian::little,
3887        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3888        panic: Panic::abort,
3889    },
3890];
3891
3892impl super::Abi {
3893    pub const abi64: Abi = Abi::new_const("abi64");
3894    pub const abiv2: Abi = Abi::new_const("abiv2");
3895    pub const abiv2hf: Abi = Abi::new_const("abiv2hf");
3896    pub const eabi: Abi = Abi::new_const("eabi");
3897    pub const eabihf: Abi = Abi::new_const("eabihf");
3898    pub const elfv1: Abi = Abi::new_const("elfv1");
3899    pub const elfv2: Abi = Abi::new_const("elfv2");
3900    pub const fortanix: Abi = Abi::new_const("fortanix");
3901    pub const ilp32: Abi = Abi::new_const("ilp32");
3902    pub const ilp32e: Abi = Abi::new_const("ilp32e");
3903    pub const llvm: Abi = Abi::new_const("llvm");
3904    pub const macabi: Abi = Abi::new_const("macabi");
3905    pub const sim: Abi = Abi::new_const("sim");
3906    pub const softfloat: Abi = Abi::new_const("softfloat");
3907    pub const spe: Abi = Abi::new_const("spe");
3908    pub const uwp: Abi = Abi::new_const("uwp");
3909    pub const vec_extabi: Abi = Abi::new_const("vec-extabi");
3910    pub const x32: Abi = Abi::new_const("x32");
3911}
3912
3913impl super::Arch {
3914    pub const aarch64: Arch = Arch::new_const("aarch64");
3915    pub const amdgpu: Arch = Arch::new_const("amdgpu");
3916    pub const arm: Arch = Arch::new_const("arm");
3917    pub const arm64ec: Arch = Arch::new_const("arm64ec");
3918    pub const avr: Arch = Arch::new_const("avr");
3919    pub const bpf: Arch = Arch::new_const("bpf");
3920    pub const csky: Arch = Arch::new_const("csky");
3921    pub const hexagon: Arch = Arch::new_const("hexagon");
3922    pub const loongarch32: Arch = Arch::new_const("loongarch32");
3923    pub const loongarch64: Arch = Arch::new_const("loongarch64");
3924    pub const m68k: Arch = Arch::new_const("m68k");
3925    pub const mips: Arch = Arch::new_const("mips");
3926    pub const mips32r6: Arch = Arch::new_const("mips32r6");
3927    pub const mips64: Arch = Arch::new_const("mips64");
3928    pub const mips64r6: Arch = Arch::new_const("mips64r6");
3929    pub const msp430: Arch = Arch::new_const("msp430");
3930    pub const nvptx64: Arch = Arch::new_const("nvptx64");
3931    pub const powerpc: Arch = Arch::new_const("powerpc");
3932    pub const powerpc64: Arch = Arch::new_const("powerpc64");
3933    pub const riscv32: Arch = Arch::new_const("riscv32");
3934    pub const riscv64: Arch = Arch::new_const("riscv64");
3935    pub const s390x: Arch = Arch::new_const("s390x");
3936    pub const sparc: Arch = Arch::new_const("sparc");
3937    pub const sparc64: Arch = Arch::new_const("sparc64");
3938    pub const wasm32: Arch = Arch::new_const("wasm32");
3939    pub const wasm64: Arch = Arch::new_const("wasm64");
3940    pub const x86: Arch = Arch::new_const("x86");
3941    pub const x86_64: Arch = Arch::new_const("x86_64");
3942    pub const xtensa: Arch = Arch::new_const("xtensa");
3943}
3944
3945impl super::Vendor {
3946    pub const amd: Vendor = Vendor::new_const("amd");
3947    pub const apple: Vendor = Vendor::new_const("apple");
3948    pub const espressif: Vendor = Vendor::new_const("espressif");
3949    pub const fortanix: Vendor = Vendor::new_const("fortanix");
3950    pub const ibm: Vendor = Vendor::new_const("ibm");
3951    pub const kmc: Vendor = Vendor::new_const("kmc");
3952    pub const mti: Vendor = Vendor::new_const("mti");
3953    pub const nintendo: Vendor = Vendor::new_const("nintendo");
3954    pub const nvidia: Vendor = Vendor::new_const("nvidia");
3955    pub const openwrt: Vendor = Vendor::new_const("openwrt");
3956    pub const pc: Vendor = Vendor::new_const("pc");
3957    pub const risc0: Vendor = Vendor::new_const("risc0");
3958    pub const sony: Vendor = Vendor::new_const("sony");
3959    pub const sun: Vendor = Vendor::new_const("sun");
3960    pub const unikraft: Vendor = Vendor::new_const("unikraft");
3961    pub const unknown: Vendor = Vendor::new_const("unknown");
3962    pub const uwp: Vendor = Vendor::new_const("uwp");
3963    pub const vex: Vendor = Vendor::new_const("vex");
3964    pub const win7: Vendor = Vendor::new_const("win7");
3965    pub const wrs: Vendor = Vendor::new_const("wrs");
3966}
3967
3968impl super::Os {
3969    pub const aix: Os = Os::new_const("aix");
3970    pub const amdhsa: Os = Os::new_const("amdhsa");
3971    pub const android: Os = Os::new_const("android");
3972    pub const cuda: Os = Os::new_const("cuda");
3973    pub const cygwin: Os = Os::new_const("cygwin");
3974    pub const dragonfly: Os = Os::new_const("dragonfly");
3975    pub const emscripten: Os = Os::new_const("emscripten");
3976    pub const espidf: Os = Os::new_const("espidf");
3977    pub const freebsd: Os = Os::new_const("freebsd");
3978    pub const fuchsia: Os = Os::new_const("fuchsia");
3979    pub const haiku: Os = Os::new_const("haiku");
3980    pub const hermit: Os = Os::new_const("hermit");
3981    pub const horizon: Os = Os::new_const("horizon");
3982    pub const hurd: Os = Os::new_const("hurd");
3983    pub const illumos: Os = Os::new_const("illumos");
3984    pub const ios: Os = Os::new_const("ios");
3985    pub const l4re: Os = Os::new_const("l4re");
3986    pub const linux: Os = Os::new_const("linux");
3987    pub const lynxos178: Os = Os::new_const("lynxos178");
3988    pub const macos: Os = Os::new_const("macos");
3989    pub const managarm: Os = Os::new_const("managarm");
3990    pub const netbsd: Os = Os::new_const("netbsd");
3991    pub const nto: Os = Os::new_const("nto");
3992    pub const nuttx: Os = Os::new_const("nuttx");
3993    pub const openbsd: Os = Os::new_const("openbsd");
3994    pub const psp: Os = Os::new_const("psp");
3995    pub const psx: Os = Os::new_const("psx");
3996    pub const redox: Os = Os::new_const("redox");
3997    pub const rtems: Os = Os::new_const("rtems");
3998    pub const solaris: Os = Os::new_const("solaris");
3999    pub const solid_asp3: Os = Os::new_const("solid_asp3");
4000    pub const teeos: Os = Os::new_const("teeos");
4001    pub const trusty: Os = Os::new_const("trusty");
4002    pub const tvos: Os = Os::new_const("tvos");
4003    pub const uefi: Os = Os::new_const("uefi");
4004    pub const unknown: Os = Os::new_const("unknown");
4005    pub const vexos: Os = Os::new_const("vexos");
4006    pub const visionos: Os = Os::new_const("visionos");
4007    pub const vita: Os = Os::new_const("vita");
4008    pub const vxworks: Os = Os::new_const("vxworks");
4009    pub const wasi: Os = Os::new_const("wasi");
4010    pub const watchos: Os = Os::new_const("watchos");
4011    pub const windows: Os = Os::new_const("windows");
4012    pub const xous: Os = Os::new_const("xous");
4013    pub const zkvm: Os = Os::new_const("zkvm");
4014}
4015
4016impl super::Family {
4017    pub const unix: Family = Family::new_const("unix");
4018    pub const wasm: Family = Family::new_const("wasm");
4019    pub const windows: Family = Family::new_const("windows");
4020}
4021
4022const __families_unix: &[Family] = &[Family::unix];
4023const __families_unix_wasm: &[Family] = &[Family::unix, Family::wasm];
4024const __families_wasm: &[Family] = &[Family::wasm];
4025const __families_windows: &[Family] = &[Family::windows];
4026
4027impl super::Families {
4028    pub const unix: Families = Families::new_const(__families_unix);
4029    pub const unix_wasm: Families = Families::new_const(__families_unix_wasm);
4030    pub const wasm: Families = Families::new_const(__families_wasm);
4031    pub const windows: Families = Families::new_const(__families_windows);
4032}
4033
4034impl super::Env {
4035    pub const gnu: Env = Env::new_const("gnu");
4036    pub const macabi: Env = Env::new_const("macabi");
4037    pub const mlibc: Env = Env::new_const("mlibc");
4038    pub const msvc: Env = Env::new_const("msvc");
4039    pub const musl: Env = Env::new_const("musl");
4040    pub const newlib: Env = Env::new_const("newlib");
4041    pub const nto70: Env = Env::new_const("nto70");
4042    pub const nto71: Env = Env::new_const("nto71");
4043    pub const nto71_iosock: Env = Env::new_const("nto71_iosock");
4044    pub const nto80: Env = Env::new_const("nto80");
4045    pub const ohos: Env = Env::new_const("ohos");
4046    pub const p1: Env = Env::new_const("p1");
4047    pub const p2: Env = Env::new_const("p2");
4048    pub const relibc: Env = Env::new_const("relibc");
4049    pub const sgx: Env = Env::new_const("sgx");
4050    pub const sim: Env = Env::new_const("sim");
4051    pub const uclibc: Env = Env::new_const("uclibc");
4052    pub const v5: Env = Env::new_const("v5");
4053}
4054
4055const __has_atomics_8_16_32_64_128_ptr: &[HasAtomic] = &[
4056    HasAtomic::IntegerSize(8),
4057    HasAtomic::IntegerSize(16),
4058    HasAtomic::IntegerSize(32),
4059    HasAtomic::IntegerSize(64),
4060    HasAtomic::IntegerSize(128),
4061    HasAtomic::Pointer,
4062];
4063const __has_atomics_8_16_32_64_ptr: &[HasAtomic] = &[
4064    HasAtomic::IntegerSize(8),
4065    HasAtomic::IntegerSize(16),
4066    HasAtomic::IntegerSize(32),
4067    HasAtomic::IntegerSize(64),
4068    HasAtomic::Pointer,
4069];
4070const __has_atomics_8_16_32_ptr: &[HasAtomic] = &[
4071    HasAtomic::IntegerSize(8),
4072    HasAtomic::IntegerSize(16),
4073    HasAtomic::IntegerSize(32),
4074    HasAtomic::Pointer,
4075];
4076
4077impl super::HasAtomics {
4078    pub const atomic_8_16_32_64_128_ptr: HasAtomics =
4079        HasAtomics::new_const(__has_atomics_8_16_32_64_128_ptr);
4080    pub const atomic_8_16_32_64_ptr: HasAtomics =
4081        HasAtomics::new_const(__has_atomics_8_16_32_64_ptr);
4082    pub const atomic_8_16_32_ptr: HasAtomics = HasAtomics::new_const(__has_atomics_8_16_32_ptr);
4083}
4084
4085impl super::Panic {
4086    pub const abort: Panic = Panic::new_const("abort");
4087    pub const unwind: Panic = Panic::new_const("unwind");
4088}