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.83.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: None,
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: None,
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: None,
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: None,
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: None,
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-netbsd"),
317        os: Some(Os::netbsd),
318        abi: None,
319        arch: Arch::aarch64,
320        env: None,
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-none"),
330        os: None,
331        abi: None,
332        arch: Arch::aarch64,
333        env: None,
334        vendor: Some(Vendor::unknown),
335        families: Families::new_const(&[]),
336        pointer_width: 64,
337        endian: Endian::little,
338        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
339        panic: Panic::abort,
340    },
341    TargetInfo {
342        triple: Triple::new_const("aarch64-unknown-none-softfloat"),
343        os: None,
344        abi: Some(Abi::softfloat),
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-nto-qnx700"),
356        os: Some(Os::nto),
357        abi: None,
358        arch: Arch::aarch64,
359        env: Some(Env::nto70),
360        vendor: Some(Vendor::unknown),
361        families: Families::unix,
362        pointer_width: 64,
363        endian: Endian::little,
364        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
365        panic: Panic::unwind,
366    },
367    TargetInfo {
368        triple: Triple::new_const("aarch64-unknown-nto-qnx710"),
369        os: Some(Os::nto),
370        abi: None,
371        arch: Arch::aarch64,
372        env: Some(Env::nto71),
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-openbsd"),
382        os: Some(Os::openbsd),
383        abi: None,
384        arch: Arch::aarch64,
385        env: None,
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-redox"),
395        os: Some(Os::redox),
396        abi: None,
397        arch: Arch::aarch64,
398        env: Some(Env::relibc),
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-teeos"),
408        os: Some(Os::teeos),
409        abi: None,
410        arch: Arch::aarch64,
411        env: None,
412        vendor: Some(Vendor::unknown),
413        families: Families::new_const(&[]),
414        pointer_width: 64,
415        endian: Endian::little,
416        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
417        panic: Panic::abort,
418    },
419    TargetInfo {
420        triple: Triple::new_const("aarch64-unknown-trusty"),
421        os: Some(Os::trusty),
422        abi: None,
423        arch: Arch::aarch64,
424        env: None,
425        vendor: Some(Vendor::unknown),
426        families: Families::new_const(&[]),
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-uefi"),
434        os: Some(Os::uefi),
435        abi: None,
436        arch: Arch::aarch64,
437        env: None,
438        vendor: Some(Vendor::unknown),
439        families: Families::new_const(&[]),
440        pointer_width: 64,
441        endian: Endian::little,
442        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
443        panic: Panic::abort,
444    },
445    TargetInfo {
446        triple: Triple::new_const("aarch64-uwp-windows-msvc"),
447        os: Some(Os::windows),
448        abi: Some(Abi::uwp),
449        arch: Arch::aarch64,
450        env: Some(Env::msvc),
451        vendor: Some(Vendor::uwp),
452        families: Families::windows,
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-wrs-vxworks"),
460        os: Some(Os::vxworks),
461        abi: None,
462        arch: Arch::aarch64,
463        env: Some(Env::gnu),
464        vendor: Some(Vendor::wrs),
465        families: Families::unix,
466        pointer_width: 64,
467        endian: Endian::little,
468        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
469        panic: Panic::unwind,
470    },
471    TargetInfo {
472        triple: Triple::new_const("aarch64_be-unknown-linux-gnu"),
473        os: Some(Os::linux),
474        abi: None,
475        arch: Arch::aarch64,
476        env: Some(Env::gnu),
477        vendor: Some(Vendor::unknown),
478        families: Families::unix,
479        pointer_width: 64,
480        endian: Endian::big,
481        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
482        panic: Panic::unwind,
483    },
484    TargetInfo {
485        triple: Triple::new_const("aarch64_be-unknown-linux-gnu_ilp32"),
486        os: Some(Os::linux),
487        abi: Some(Abi::ilp32),
488        arch: Arch::aarch64,
489        env: Some(Env::gnu),
490        vendor: Some(Vendor::unknown),
491        families: Families::unix,
492        pointer_width: 32,
493        endian: Endian::big,
494        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
495        panic: Panic::unwind,
496    },
497    TargetInfo {
498        triple: Triple::new_const("aarch64_be-unknown-netbsd"),
499        os: Some(Os::netbsd),
500        abi: None,
501        arch: Arch::aarch64,
502        env: None,
503        vendor: Some(Vendor::unknown),
504        families: Families::unix,
505        pointer_width: 64,
506        endian: Endian::big,
507        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
508        panic: Panic::unwind,
509    },
510    TargetInfo {
511        triple: Triple::new_const("arm-linux-androideabi"),
512        os: Some(Os::android),
513        abi: Some(Abi::eabi),
514        arch: Arch::arm,
515        env: None,
516        vendor: Some(Vendor::unknown),
517        families: Families::unix,
518        pointer_width: 32,
519        endian: Endian::little,
520        has_atomics: HasAtomics::atomic_8_16_32_ptr,
521        panic: Panic::unwind,
522    },
523    TargetInfo {
524        triple: Triple::new_const("arm-unknown-linux-gnueabi"),
525        os: Some(Os::linux),
526        abi: Some(Abi::eabi),
527        arch: Arch::arm,
528        env: Some(Env::gnu),
529        vendor: Some(Vendor::unknown),
530        families: Families::unix,
531        pointer_width: 32,
532        endian: Endian::little,
533        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
534        panic: Panic::unwind,
535    },
536    TargetInfo {
537        triple: Triple::new_const("arm-unknown-linux-gnueabihf"),
538        os: Some(Os::linux),
539        abi: Some(Abi::eabihf),
540        arch: Arch::arm,
541        env: Some(Env::gnu),
542        vendor: Some(Vendor::unknown),
543        families: Families::unix,
544        pointer_width: 32,
545        endian: Endian::little,
546        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
547        panic: Panic::unwind,
548    },
549    TargetInfo {
550        triple: Triple::new_const("arm-unknown-linux-musleabi"),
551        os: Some(Os::linux),
552        abi: Some(Abi::eabi),
553        arch: Arch::arm,
554        env: Some(Env::musl),
555        vendor: Some(Vendor::unknown),
556        families: Families::unix,
557        pointer_width: 32,
558        endian: Endian::little,
559        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
560        panic: Panic::unwind,
561    },
562    TargetInfo {
563        triple: Triple::new_const("arm-unknown-linux-musleabihf"),
564        os: Some(Os::linux),
565        abi: Some(Abi::eabihf),
566        arch: Arch::arm,
567        env: Some(Env::musl),
568        vendor: Some(Vendor::unknown),
569        families: Families::unix,
570        pointer_width: 32,
571        endian: Endian::little,
572        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
573        panic: Panic::unwind,
574    },
575    TargetInfo {
576        triple: Triple::new_const("arm64_32-apple-watchos"),
577        os: Some(Os::watchos),
578        abi: None,
579        arch: Arch::aarch64,
580        env: None,
581        vendor: Some(Vendor::apple),
582        families: Families::unix,
583        pointer_width: 32,
584        endian: Endian::little,
585        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
586        panic: Panic::unwind,
587    },
588    TargetInfo {
589        triple: Triple::new_const("arm64e-apple-darwin"),
590        os: Some(Os::macos),
591        abi: None,
592        arch: Arch::aarch64,
593        env: None,
594        vendor: Some(Vendor::apple),
595        families: Families::unix,
596        pointer_width: 64,
597        endian: Endian::little,
598        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
599        panic: Panic::unwind,
600    },
601    TargetInfo {
602        triple: Triple::new_const("arm64e-apple-ios"),
603        os: Some(Os::ios),
604        abi: None,
605        arch: Arch::aarch64,
606        env: None,
607        vendor: Some(Vendor::apple),
608        families: Families::unix,
609        pointer_width: 64,
610        endian: Endian::little,
611        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
612        panic: Panic::unwind,
613    },
614    TargetInfo {
615        triple: Triple::new_const("arm64e-apple-tvos"),
616        os: Some(Os::tvos),
617        abi: None,
618        arch: Arch::aarch64,
619        env: None,
620        vendor: Some(Vendor::apple),
621        families: Families::unix,
622        pointer_width: 64,
623        endian: Endian::little,
624        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
625        panic: Panic::unwind,
626    },
627    TargetInfo {
628        triple: Triple::new_const("arm64ec-pc-windows-msvc"),
629        os: Some(Os::windows),
630        abi: None,
631        arch: Arch::arm64ec,
632        env: Some(Env::msvc),
633        vendor: Some(Vendor::pc),
634        families: Families::windows,
635        pointer_width: 64,
636        endian: Endian::little,
637        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
638        panic: Panic::unwind,
639    },
640    TargetInfo {
641        triple: Triple::new_const("armeb-unknown-linux-gnueabi"),
642        os: Some(Os::linux),
643        abi: Some(Abi::eabi),
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::big,
650        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
651        panic: Panic::unwind,
652    },
653    TargetInfo {
654        triple: Triple::new_const("armebv7r-none-eabi"),
655        os: None,
656        abi: Some(Abi::eabi),
657        arch: Arch::arm,
658        env: None,
659        vendor: Some(Vendor::unknown),
660        families: Families::new_const(&[]),
661        pointer_width: 32,
662        endian: Endian::big,
663        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
664        panic: Panic::abort,
665    },
666    TargetInfo {
667        triple: Triple::new_const("armebv7r-none-eabihf"),
668        os: None,
669        abi: Some(Abi::eabihf),
670        arch: Arch::arm,
671        env: None,
672        vendor: Some(Vendor::unknown),
673        families: Families::new_const(&[]),
674        pointer_width: 32,
675        endian: Endian::big,
676        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
677        panic: Panic::abort,
678    },
679    TargetInfo {
680        triple: Triple::new_const("armv4t-none-eabi"),
681        os: None,
682        abi: Some(Abi::eabi),
683        arch: Arch::arm,
684        env: None,
685        vendor: Some(Vendor::unknown),
686        families: Families::new_const(&[]),
687        pointer_width: 32,
688        endian: Endian::little,
689        has_atomics: HasAtomics::new_const(&[]),
690        panic: Panic::abort,
691    },
692    TargetInfo {
693        triple: Triple::new_const("armv4t-unknown-linux-gnueabi"),
694        os: Some(Os::linux),
695        abi: Some(Abi::eabi),
696        arch: Arch::arm,
697        env: Some(Env::gnu),
698        vendor: Some(Vendor::unknown),
699        families: Families::unix,
700        pointer_width: 32,
701        endian: Endian::little,
702        has_atomics: HasAtomics::atomic_8_16_32_ptr,
703        panic: Panic::unwind,
704    },
705    TargetInfo {
706        triple: Triple::new_const("armv5te-none-eabi"),
707        os: None,
708        abi: Some(Abi::eabi),
709        arch: Arch::arm,
710        env: None,
711        vendor: Some(Vendor::unknown),
712        families: Families::new_const(&[]),
713        pointer_width: 32,
714        endian: Endian::little,
715        has_atomics: HasAtomics::new_const(&[]),
716        panic: Panic::abort,
717    },
718    TargetInfo {
719        triple: Triple::new_const("armv5te-unknown-linux-gnueabi"),
720        os: Some(Os::linux),
721        abi: Some(Abi::eabi),
722        arch: Arch::arm,
723        env: Some(Env::gnu),
724        vendor: Some(Vendor::unknown),
725        families: Families::unix,
726        pointer_width: 32,
727        endian: Endian::little,
728        has_atomics: HasAtomics::atomic_8_16_32_ptr,
729        panic: Panic::unwind,
730    },
731    TargetInfo {
732        triple: Triple::new_const("armv5te-unknown-linux-musleabi"),
733        os: Some(Os::linux),
734        abi: Some(Abi::eabi),
735        arch: Arch::arm,
736        env: Some(Env::musl),
737        vendor: Some(Vendor::unknown),
738        families: Families::unix,
739        pointer_width: 32,
740        endian: Endian::little,
741        has_atomics: HasAtomics::atomic_8_16_32_ptr,
742        panic: Panic::unwind,
743    },
744    TargetInfo {
745        triple: Triple::new_const("armv5te-unknown-linux-uclibceabi"),
746        os: Some(Os::linux),
747        abi: Some(Abi::eabi),
748        arch: Arch::arm,
749        env: Some(Env::uclibc),
750        vendor: Some(Vendor::unknown),
751        families: Families::unix,
752        pointer_width: 32,
753        endian: Endian::little,
754        has_atomics: HasAtomics::atomic_8_16_32_ptr,
755        panic: Panic::unwind,
756    },
757    TargetInfo {
758        triple: Triple::new_const("armv6-unknown-freebsd"),
759        os: Some(Os::freebsd),
760        abi: Some(Abi::eabihf),
761        arch: Arch::arm,
762        env: Some(Env::gnu),
763        vendor: Some(Vendor::unknown),
764        families: Families::unix,
765        pointer_width: 32,
766        endian: Endian::little,
767        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
768        panic: Panic::unwind,
769    },
770    TargetInfo {
771        triple: Triple::new_const("armv6-unknown-netbsd-eabihf"),
772        os: Some(Os::netbsd),
773        abi: Some(Abi::eabihf),
774        arch: Arch::arm,
775        env: None,
776        vendor: Some(Vendor::unknown),
777        families: Families::unix,
778        pointer_width: 32,
779        endian: Endian::little,
780        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
781        panic: Panic::unwind,
782    },
783    TargetInfo {
784        triple: Triple::new_const("armv6k-nintendo-3ds"),
785        os: Some(Os::horizon),
786        abi: Some(Abi::eabihf),
787        arch: Arch::arm,
788        env: Some(Env::newlib),
789        vendor: Some(Vendor::nintendo),
790        families: Families::unix,
791        pointer_width: 32,
792        endian: Endian::little,
793        has_atomics: HasAtomics::atomic_8_16_32_ptr,
794        panic: Panic::unwind,
795    },
796    TargetInfo {
797        triple: Triple::new_const("armv7-linux-androideabi"),
798        os: Some(Os::android),
799        abi: Some(Abi::eabi),
800        arch: Arch::arm,
801        env: None,
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_64_ptr,
807        panic: Panic::unwind,
808    },
809    TargetInfo {
810        triple: Triple::new_const("armv7-rtems-eabihf"),
811        os: Some(Os::rtems),
812        abi: Some(Abi::eabihf),
813        arch: Arch::arm,
814        env: Some(Env::newlib),
815        vendor: Some(Vendor::unknown),
816        families: Families::unix,
817        pointer_width: 32,
818        endian: Endian::little,
819        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
820        panic: Panic::abort,
821    },
822    TargetInfo {
823        triple: Triple::new_const("armv7-sony-vita-newlibeabihf"),
824        os: Some(Os::vita),
825        abi: Some(Abi::eabihf),
826        arch: Arch::arm,
827        env: Some(Env::newlib),
828        vendor: Some(Vendor::sony),
829        families: Families::unix,
830        pointer_width: 32,
831        endian: Endian::little,
832        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
833        panic: Panic::unwind,
834    },
835    TargetInfo {
836        triple: Triple::new_const("armv7-unknown-freebsd"),
837        os: Some(Os::freebsd),
838        abi: Some(Abi::eabihf),
839        arch: Arch::arm,
840        env: Some(Env::gnu),
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_64_ptr,
846        panic: Panic::unwind,
847    },
848    TargetInfo {
849        triple: Triple::new_const("armv7-unknown-linux-gnueabi"),
850        os: Some(Os::linux),
851        abi: Some(Abi::eabi),
852        arch: Arch::arm,
853        env: Some(Env::gnu),
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_64_ptr,
859        panic: Panic::unwind,
860    },
861    TargetInfo {
862        triple: Triple::new_const("armv7-unknown-linux-gnueabihf"),
863        os: Some(Os::linux),
864        abi: Some(Abi::eabihf),
865        arch: Arch::arm,
866        env: Some(Env::gnu),
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("armv7-unknown-linux-musleabi"),
876        os: Some(Os::linux),
877        abi: Some(Abi::eabi),
878        arch: Arch::arm,
879        env: Some(Env::musl),
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("armv7-unknown-linux-musleabihf"),
889        os: Some(Os::linux),
890        abi: Some(Abi::eabihf),
891        arch: Arch::arm,
892        env: Some(Env::musl),
893        vendor: Some(Vendor::unknown),
894        families: Families::unix,
895        pointer_width: 32,
896        endian: Endian::little,
897        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
898        panic: Panic::unwind,
899    },
900    TargetInfo {
901        triple: Triple::new_const("armv7-unknown-linux-ohos"),
902        os: Some(Os::linux),
903        abi: Some(Abi::eabi),
904        arch: Arch::arm,
905        env: Some(Env::ohos),
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-unknown-linux-uclibceabi"),
915        os: Some(Os::linux),
916        abi: Some(Abi::eabi),
917        arch: Arch::arm,
918        env: Some(Env::uclibc),
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-unknown-linux-uclibceabihf"),
928        os: Some(Os::linux),
929        abi: Some(Abi::eabihf),
930        arch: Arch::arm,
931        env: Some(Env::uclibc),
932        vendor: Some(Vendor::unknown),
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-netbsd-eabihf"),
941        os: Some(Os::netbsd),
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-trusty"),
954        os: Some(Os::trusty),
955        abi: Some(Abi::eabi),
956        arch: Arch::arm,
957        env: None,
958        vendor: Some(Vendor::unknown),
959        families: Families::new_const(&[]),
960        pointer_width: 32,
961        endian: Endian::little,
962        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
963        panic: Panic::abort,
964    },
965    TargetInfo {
966        triple: Triple::new_const("armv7-wrs-vxworks-eabihf"),
967        os: Some(Os::vxworks),
968        abi: Some(Abi::eabihf),
969        arch: Arch::arm,
970        env: Some(Env::gnu),
971        vendor: Some(Vendor::wrs),
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("armv7a-kmc-solid_asp3-eabi"),
980        os: Some(Os::solid_asp3),
981        abi: Some(Abi::eabi),
982        arch: Arch::arm,
983        env: None,
984        vendor: Some(Vendor::kmc),
985        families: Families::new_const(&[]),
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("armv7a-kmc-solid_asp3-eabihf"),
993        os: Some(Os::solid_asp3),
994        abi: Some(Abi::eabihf),
995        arch: Arch::arm,
996        env: None,
997        vendor: Some(Vendor::kmc),
998        families: Families::new_const(&[]),
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("armv7a-none-eabi"),
1006        os: None,
1007        abi: Some(Abi::eabi),
1008        arch: Arch::arm,
1009        env: None,
1010        vendor: Some(Vendor::unknown),
1011        families: Families::new_const(&[]),
1012        pointer_width: 32,
1013        endian: Endian::little,
1014        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1015        panic: Panic::abort,
1016    },
1017    TargetInfo {
1018        triple: Triple::new_const("armv7a-none-eabihf"),
1019        os: None,
1020        abi: Some(Abi::eabihf),
1021        arch: Arch::arm,
1022        env: None,
1023        vendor: Some(Vendor::unknown),
1024        families: Families::new_const(&[]),
1025        pointer_width: 32,
1026        endian: Endian::little,
1027        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1028        panic: Panic::abort,
1029    },
1030    TargetInfo {
1031        triple: Triple::new_const("armv7k-apple-watchos"),
1032        os: Some(Os::watchos),
1033        abi: None,
1034        arch: Arch::arm,
1035        env: None,
1036        vendor: Some(Vendor::apple),
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("armv7r-none-eabi"),
1045        os: None,
1046        abi: Some(Abi::eabi),
1047        arch: Arch::arm,
1048        env: None,
1049        vendor: Some(Vendor::unknown),
1050        families: Families::new_const(&[]),
1051        pointer_width: 32,
1052        endian: Endian::little,
1053        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1054        panic: Panic::abort,
1055    },
1056    TargetInfo {
1057        triple: Triple::new_const("armv7r-none-eabihf"),
1058        os: None,
1059        abi: Some(Abi::eabihf),
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("armv7s-apple-ios"),
1071        os: Some(Os::ios),
1072        abi: None,
1073        arch: Arch::arm,
1074        env: None,
1075        vendor: Some(Vendor::apple),
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("armv8r-none-eabihf"),
1084        os: None,
1085        abi: Some(Abi::eabihf),
1086        arch: Arch::arm,
1087        env: None,
1088        vendor: Some(Vendor::unknown),
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::abort,
1094    },
1095    TargetInfo {
1096        triple: Triple::new_const("avr-unknown-gnu-atmega328"),
1097        os: None,
1098        abi: None,
1099        arch: Arch::avr,
1100        env: Some(Env::gnu),
1101        vendor: Some(Vendor::unknown),
1102        families: Families::new_const(&[]),
1103        pointer_width: 16,
1104        endian: Endian::little,
1105        has_atomics: HasAtomics::new_const(&[]),
1106        panic: Panic::unwind,
1107    },
1108    TargetInfo {
1109        triple: Triple::new_const("bpfeb-unknown-none"),
1110        os: None,
1111        abi: None,
1112        arch: Arch::bpf,
1113        env: None,
1114        vendor: Some(Vendor::unknown),
1115        families: Families::new_const(&[]),
1116        pointer_width: 64,
1117        endian: Endian::big,
1118        has_atomics: HasAtomics::new_const(&[]),
1119        panic: Panic::abort,
1120    },
1121    TargetInfo {
1122        triple: Triple::new_const("bpfel-unknown-none"),
1123        os: None,
1124        abi: None,
1125        arch: Arch::bpf,
1126        env: None,
1127        vendor: Some(Vendor::unknown),
1128        families: Families::new_const(&[]),
1129        pointer_width: 64,
1130        endian: Endian::little,
1131        has_atomics: HasAtomics::new_const(&[]),
1132        panic: Panic::abort,
1133    },
1134    TargetInfo {
1135        triple: Triple::new_const("csky-unknown-linux-gnuabiv2"),
1136        os: Some(Os::linux),
1137        abi: Some(Abi::abiv2),
1138        arch: Arch::csky,
1139        env: Some(Env::gnu),
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_ptr,
1145        panic: Panic::unwind,
1146    },
1147    TargetInfo {
1148        triple: Triple::new_const("csky-unknown-linux-gnuabiv2hf"),
1149        os: Some(Os::linux),
1150        abi: Some(Abi::abiv2hf),
1151        arch: Arch::csky,
1152        env: Some(Env::gnu),
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_ptr,
1158        panic: Panic::unwind,
1159    },
1160    TargetInfo {
1161        triple: Triple::new_const("hexagon-unknown-linux-musl"),
1162        os: Some(Os::linux),
1163        abi: None,
1164        arch: Arch::hexagon,
1165        env: Some(Env::musl),
1166        vendor: Some(Vendor::unknown),
1167        families: Families::unix,
1168        pointer_width: 32,
1169        endian: Endian::little,
1170        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1171        panic: Panic::unwind,
1172    },
1173    TargetInfo {
1174        triple: Triple::new_const("hexagon-unknown-none-elf"),
1175        os: None,
1176        abi: None,
1177        arch: Arch::hexagon,
1178        env: None,
1179        vendor: Some(Vendor::unknown),
1180        families: Families::new_const(&[]),
1181        pointer_width: 32,
1182        endian: Endian::little,
1183        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1184        panic: Panic::abort,
1185    },
1186    TargetInfo {
1187        triple: Triple::new_const("i386-apple-ios"),
1188        os: Some(Os::ios),
1189        abi: Some(Abi::sim),
1190        arch: Arch::x86,
1191        env: None,
1192        vendor: Some(Vendor::apple),
1193        families: Families::unix,
1194        pointer_width: 32,
1195        endian: Endian::little,
1196        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1197        panic: Panic::unwind,
1198    },
1199    TargetInfo {
1200        triple: Triple::new_const("i586-pc-nto-qnx700"),
1201        os: Some(Os::nto),
1202        abi: None,
1203        arch: Arch::x86,
1204        env: Some(Env::nto70),
1205        vendor: Some(Vendor::unknown),
1206        families: Families::unix,
1207        pointer_width: 32,
1208        endian: Endian::little,
1209        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1210        panic: Panic::unwind,
1211    },
1212    TargetInfo {
1213        triple: Triple::new_const("i586-pc-windows-msvc"),
1214        os: Some(Os::windows),
1215        abi: None,
1216        arch: Arch::x86,
1217        env: Some(Env::msvc),
1218        vendor: Some(Vendor::pc),
1219        families: Families::windows,
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("i586-unknown-linux-gnu"),
1227        os: Some(Os::linux),
1228        abi: None,
1229        arch: Arch::x86,
1230        env: Some(Env::gnu),
1231        vendor: Some(Vendor::unknown),
1232        families: Families::unix,
1233        pointer_width: 32,
1234        endian: Endian::little,
1235        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1236        panic: Panic::unwind,
1237    },
1238    TargetInfo {
1239        triple: Triple::new_const("i586-unknown-linux-musl"),
1240        os: Some(Os::linux),
1241        abi: None,
1242        arch: Arch::x86,
1243        env: Some(Env::musl),
1244        vendor: Some(Vendor::unknown),
1245        families: Families::unix,
1246        pointer_width: 32,
1247        endian: Endian::little,
1248        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1249        panic: Panic::unwind,
1250    },
1251    TargetInfo {
1252        triple: Triple::new_const("i586-unknown-netbsd"),
1253        os: Some(Os::netbsd),
1254        abi: None,
1255        arch: Arch::x86,
1256        env: None,
1257        vendor: Some(Vendor::unknown),
1258        families: Families::unix,
1259        pointer_width: 32,
1260        endian: Endian::little,
1261        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1262        panic: Panic::unwind,
1263    },
1264    TargetInfo {
1265        triple: Triple::new_const("i686-apple-darwin"),
1266        os: Some(Os::macos),
1267        abi: None,
1268        arch: Arch::x86,
1269        env: None,
1270        vendor: Some(Vendor::apple),
1271        families: Families::unix,
1272        pointer_width: 32,
1273        endian: Endian::little,
1274        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1275        panic: Panic::unwind,
1276    },
1277    TargetInfo {
1278        triple: Triple::new_const("i686-linux-android"),
1279        os: Some(Os::android),
1280        abi: None,
1281        arch: Arch::x86,
1282        env: None,
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_64_ptr,
1288        panic: Panic::unwind,
1289    },
1290    TargetInfo {
1291        triple: Triple::new_const("i686-pc-windows-gnu"),
1292        os: Some(Os::windows),
1293        abi: None,
1294        arch: Arch::x86,
1295        env: Some(Env::gnu),
1296        vendor: Some(Vendor::pc),
1297        families: Families::windows,
1298        pointer_width: 32,
1299        endian: Endian::little,
1300        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1301        panic: Panic::unwind,
1302    },
1303    TargetInfo {
1304        triple: Triple::new_const("i686-pc-windows-gnullvm"),
1305        os: Some(Os::windows),
1306        abi: Some(Abi::llvm),
1307        arch: Arch::x86,
1308        env: Some(Env::gnu),
1309        vendor: Some(Vendor::pc),
1310        families: Families::windows,
1311        pointer_width: 32,
1312        endian: Endian::little,
1313        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1314        panic: Panic::unwind,
1315    },
1316    TargetInfo {
1317        triple: Triple::new_const("i686-pc-windows-msvc"),
1318        os: Some(Os::windows),
1319        abi: None,
1320        arch: Arch::x86,
1321        env: Some(Env::msvc),
1322        vendor: Some(Vendor::pc),
1323        families: Families::windows,
1324        pointer_width: 32,
1325        endian: Endian::little,
1326        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1327        panic: Panic::unwind,
1328    },
1329    TargetInfo {
1330        triple: Triple::new_const("i686-unknown-freebsd"),
1331        os: Some(Os::freebsd),
1332        abi: None,
1333        arch: Arch::x86,
1334        env: None,
1335        vendor: Some(Vendor::unknown),
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("i686-unknown-haiku"),
1344        os: Some(Os::haiku),
1345        abi: None,
1346        arch: Arch::x86,
1347        env: None,
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("i686-unknown-hurd-gnu"),
1357        os: Some(Os::hurd),
1358        abi: None,
1359        arch: Arch::x86,
1360        env: Some(Env::gnu),
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("i686-unknown-linux-gnu"),
1370        os: Some(Os::linux),
1371        abi: None,
1372        arch: Arch::x86,
1373        env: Some(Env::gnu),
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("i686-unknown-linux-musl"),
1383        os: Some(Os::linux),
1384        abi: None,
1385        arch: Arch::x86,
1386        env: Some(Env::musl),
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-unknown-netbsd"),
1396        os: Some(Os::netbsd),
1397        abi: None,
1398        arch: Arch::x86,
1399        env: None,
1400        vendor: Some(Vendor::unknown),
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-unknown-openbsd"),
1409        os: Some(Os::openbsd),
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-unknown-redox"),
1422        os: Some(Os::redox),
1423        abi: None,
1424        arch: Arch::x86,
1425        env: Some(Env::relibc),
1426        vendor: Some(Vendor::unknown),
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-unknown-uefi"),
1435        os: Some(Os::uefi),
1436        abi: None,
1437        arch: Arch::x86,
1438        env: None,
1439        vendor: Some(Vendor::unknown),
1440        families: Families::new_const(&[]),
1441        pointer_width: 32,
1442        endian: Endian::little,
1443        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1444        panic: Panic::abort,
1445    },
1446    TargetInfo {
1447        triple: Triple::new_const("i686-uwp-windows-gnu"),
1448        os: Some(Os::windows),
1449        abi: Some(Abi::uwp),
1450        arch: Arch::x86,
1451        env: Some(Env::gnu),
1452        vendor: Some(Vendor::uwp),
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-uwp-windows-msvc"),
1461        os: Some(Os::windows),
1462        abi: Some(Abi::uwp),
1463        arch: Arch::x86,
1464        env: Some(Env::msvc),
1465        vendor: Some(Vendor::uwp),
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-win7-windows-msvc"),
1474        os: Some(Os::windows),
1475        abi: None,
1476        arch: Arch::x86,
1477        env: Some(Env::msvc),
1478        vendor: Some(Vendor::win7),
1479        families: Families::windows,
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-wrs-vxworks"),
1487        os: Some(Os::vxworks),
1488        abi: None,
1489        arch: Arch::x86,
1490        env: Some(Env::gnu),
1491        vendor: Some(Vendor::wrs),
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("loongarch64-unknown-linux-gnu"),
1500        os: Some(Os::linux),
1501        abi: None,
1502        arch: Arch::loongarch64,
1503        env: Some(Env::gnu),
1504        vendor: Some(Vendor::unknown),
1505        families: Families::unix,
1506        pointer_width: 64,
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("loongarch64-unknown-linux-musl"),
1513        os: Some(Os::linux),
1514        abi: None,
1515        arch: Arch::loongarch64,
1516        env: Some(Env::musl),
1517        vendor: Some(Vendor::unknown),
1518        families: Families::unix,
1519        pointer_width: 64,
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("loongarch64-unknown-linux-ohos"),
1526        os: Some(Os::linux),
1527        abi: None,
1528        arch: Arch::loongarch64,
1529        env: Some(Env::ohos),
1530        vendor: Some(Vendor::unknown),
1531        families: Families::unix,
1532        pointer_width: 64,
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("loongarch64-unknown-none"),
1539        os: None,
1540        abi: None,
1541        arch: Arch::loongarch64,
1542        env: None,
1543        vendor: Some(Vendor::unknown),
1544        families: Families::new_const(&[]),
1545        pointer_width: 64,
1546        endian: Endian::little,
1547        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1548        panic: Panic::abort,
1549    },
1550    TargetInfo {
1551        triple: Triple::new_const("loongarch64-unknown-none-softfloat"),
1552        os: None,
1553        abi: Some(Abi::softfloat),
1554        arch: Arch::loongarch64,
1555        env: None,
1556        vendor: Some(Vendor::unknown),
1557        families: Families::new_const(&[]),
1558        pointer_width: 64,
1559        endian: Endian::little,
1560        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1561        panic: Panic::abort,
1562    },
1563    TargetInfo {
1564        triple: Triple::new_const("m68k-unknown-linux-gnu"),
1565        os: Some(Os::linux),
1566        abi: None,
1567        arch: Arch::m68k,
1568        env: Some(Env::gnu),
1569        vendor: Some(Vendor::unknown),
1570        families: Families::unix,
1571        pointer_width: 32,
1572        endian: Endian::big,
1573        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1574        panic: Panic::unwind,
1575    },
1576    TargetInfo {
1577        triple: Triple::new_const("mips-unknown-linux-gnu"),
1578        os: Some(Os::linux),
1579        abi: None,
1580        arch: Arch::mips,
1581        env: Some(Env::gnu),
1582        vendor: Some(Vendor::unknown),
1583        families: Families::unix,
1584        pointer_width: 32,
1585        endian: Endian::big,
1586        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1587        panic: Panic::unwind,
1588    },
1589    TargetInfo {
1590        triple: Triple::new_const("mips-unknown-linux-musl"),
1591        os: Some(Os::linux),
1592        abi: None,
1593        arch: Arch::mips,
1594        env: Some(Env::musl),
1595        vendor: Some(Vendor::unknown),
1596        families: Families::unix,
1597        pointer_width: 32,
1598        endian: Endian::big,
1599        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1600        panic: Panic::unwind,
1601    },
1602    TargetInfo {
1603        triple: Triple::new_const("mips-unknown-linux-uclibc"),
1604        os: Some(Os::linux),
1605        abi: None,
1606        arch: Arch::mips,
1607        env: Some(Env::uclibc),
1608        vendor: Some(Vendor::unknown),
1609        families: Families::unix,
1610        pointer_width: 32,
1611        endian: Endian::big,
1612        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1613        panic: Panic::unwind,
1614    },
1615    TargetInfo {
1616        triple: Triple::new_const("mips64-openwrt-linux-musl"),
1617        os: Some(Os::linux),
1618        abi: Some(Abi::abi64),
1619        arch: Arch::mips64,
1620        env: Some(Env::musl),
1621        vendor: Some(Vendor::unknown),
1622        families: Families::unix,
1623        pointer_width: 64,
1624        endian: Endian::big,
1625        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1626        panic: Panic::unwind,
1627    },
1628    TargetInfo {
1629        triple: Triple::new_const("mips64-unknown-linux-gnuabi64"),
1630        os: Some(Os::linux),
1631        abi: Some(Abi::abi64),
1632        arch: Arch::mips64,
1633        env: Some(Env::gnu),
1634        vendor: Some(Vendor::unknown),
1635        families: Families::unix,
1636        pointer_width: 64,
1637        endian: Endian::big,
1638        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1639        panic: Panic::unwind,
1640    },
1641    TargetInfo {
1642        triple: Triple::new_const("mips64-unknown-linux-muslabi64"),
1643        os: Some(Os::linux),
1644        abi: Some(Abi::abi64),
1645        arch: Arch::mips64,
1646        env: Some(Env::musl),
1647        vendor: Some(Vendor::unknown),
1648        families: Families::unix,
1649        pointer_width: 64,
1650        endian: Endian::big,
1651        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1652        panic: Panic::unwind,
1653    },
1654    TargetInfo {
1655        triple: Triple::new_const("mips64el-unknown-linux-gnuabi64"),
1656        os: Some(Os::linux),
1657        abi: Some(Abi::abi64),
1658        arch: Arch::mips64,
1659        env: Some(Env::gnu),
1660        vendor: Some(Vendor::unknown),
1661        families: Families::unix,
1662        pointer_width: 64,
1663        endian: Endian::little,
1664        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1665        panic: Panic::unwind,
1666    },
1667    TargetInfo {
1668        triple: Triple::new_const("mips64el-unknown-linux-muslabi64"),
1669        os: Some(Os::linux),
1670        abi: Some(Abi::abi64),
1671        arch: Arch::mips64,
1672        env: Some(Env::musl),
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("mipsel-sony-psp"),
1682        os: Some(Os::psp),
1683        abi: None,
1684        arch: Arch::mips,
1685        env: None,
1686        vendor: Some(Vendor::sony),
1687        families: Families::new_const(&[]),
1688        pointer_width: 32,
1689        endian: Endian::little,
1690        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1691        panic: Panic::unwind,
1692    },
1693    TargetInfo {
1694        triple: Triple::new_const("mipsel-sony-psx"),
1695        os: None,
1696        abi: None,
1697        arch: Arch::mips,
1698        env: Some(Env::psx),
1699        vendor: Some(Vendor::sony),
1700        families: Families::new_const(&[]),
1701        pointer_width: 32,
1702        endian: Endian::little,
1703        has_atomics: HasAtomics::new_const(&[]),
1704        panic: Panic::abort,
1705    },
1706    TargetInfo {
1707        triple: Triple::new_const("mipsel-unknown-linux-gnu"),
1708        os: Some(Os::linux),
1709        abi: None,
1710        arch: Arch::mips,
1711        env: Some(Env::gnu),
1712        vendor: Some(Vendor::unknown),
1713        families: Families::unix,
1714        pointer_width: 32,
1715        endian: Endian::little,
1716        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1717        panic: Panic::unwind,
1718    },
1719    TargetInfo {
1720        triple: Triple::new_const("mipsel-unknown-linux-musl"),
1721        os: Some(Os::linux),
1722        abi: None,
1723        arch: Arch::mips,
1724        env: Some(Env::musl),
1725        vendor: Some(Vendor::unknown),
1726        families: Families::unix,
1727        pointer_width: 32,
1728        endian: Endian::little,
1729        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1730        panic: Panic::unwind,
1731    },
1732    TargetInfo {
1733        triple: Triple::new_const("mipsel-unknown-linux-uclibc"),
1734        os: Some(Os::linux),
1735        abi: None,
1736        arch: Arch::mips,
1737        env: Some(Env::uclibc),
1738        vendor: Some(Vendor::unknown),
1739        families: Families::unix,
1740        pointer_width: 32,
1741        endian: Endian::little,
1742        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1743        panic: Panic::unwind,
1744    },
1745    TargetInfo {
1746        triple: Triple::new_const("mipsel-unknown-netbsd"),
1747        os: Some(Os::netbsd),
1748        abi: None,
1749        arch: Arch::mips,
1750        env: None,
1751        vendor: Some(Vendor::unknown),
1752        families: Families::unix,
1753        pointer_width: 32,
1754        endian: Endian::little,
1755        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1756        panic: Panic::unwind,
1757    },
1758    TargetInfo {
1759        triple: Triple::new_const("mipsel-unknown-none"),
1760        os: None,
1761        abi: None,
1762        arch: Arch::mips,
1763        env: None,
1764        vendor: Some(Vendor::unknown),
1765        families: Families::new_const(&[]),
1766        pointer_width: 32,
1767        endian: Endian::little,
1768        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1769        panic: Panic::abort,
1770    },
1771    TargetInfo {
1772        triple: Triple::new_const("mipsisa32r6-unknown-linux-gnu"),
1773        os: Some(Os::linux),
1774        abi: None,
1775        arch: Arch::mips32r6,
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("mipsisa32r6el-unknown-linux-gnu"),
1786        os: Some(Os::linux),
1787        abi: None,
1788        arch: Arch::mips32r6,
1789        env: Some(Env::gnu),
1790        vendor: Some(Vendor::unknown),
1791        families: Families::unix,
1792        pointer_width: 32,
1793        endian: Endian::little,
1794        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1795        panic: Panic::unwind,
1796    },
1797    TargetInfo {
1798        triple: Triple::new_const("mipsisa64r6-unknown-linux-gnuabi64"),
1799        os: Some(Os::linux),
1800        abi: Some(Abi::abi64),
1801        arch: Arch::mips64r6,
1802        env: Some(Env::gnu),
1803        vendor: Some(Vendor::unknown),
1804        families: Families::unix,
1805        pointer_width: 64,
1806        endian: Endian::big,
1807        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1808        panic: Panic::unwind,
1809    },
1810    TargetInfo {
1811        triple: Triple::new_const("mipsisa64r6el-unknown-linux-gnuabi64"),
1812        os: Some(Os::linux),
1813        abi: Some(Abi::abi64),
1814        arch: Arch::mips64r6,
1815        env: Some(Env::gnu),
1816        vendor: Some(Vendor::unknown),
1817        families: Families::unix,
1818        pointer_width: 64,
1819        endian: Endian::little,
1820        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1821        panic: Panic::unwind,
1822    },
1823    TargetInfo {
1824        triple: Triple::new_const("msp430-none-elf"),
1825        os: None,
1826        abi: None,
1827        arch: Arch::msp430,
1828        env: None,
1829        vendor: Some(Vendor::unknown),
1830        families: Families::new_const(&[]),
1831        pointer_width: 16,
1832        endian: Endian::little,
1833        has_atomics: HasAtomics::new_const(&[]),
1834        panic: Panic::abort,
1835    },
1836    TargetInfo {
1837        triple: Triple::new_const("nvptx64-nvidia-cuda"),
1838        os: Some(Os::cuda),
1839        abi: None,
1840        arch: Arch::nvptx64,
1841        env: None,
1842        vendor: Some(Vendor::nvidia),
1843        families: Families::new_const(&[]),
1844        pointer_width: 64,
1845        endian: Endian::little,
1846        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1847        panic: Panic::abort,
1848    },
1849    TargetInfo {
1850        triple: Triple::new_const("powerpc-unknown-freebsd"),
1851        os: Some(Os::freebsd),
1852        abi: None,
1853        arch: Arch::powerpc,
1854        env: None,
1855        vendor: Some(Vendor::unknown),
1856        families: Families::unix,
1857        pointer_width: 32,
1858        endian: Endian::big,
1859        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1860        panic: Panic::unwind,
1861    },
1862    TargetInfo {
1863        triple: Triple::new_const("powerpc-unknown-linux-gnu"),
1864        os: Some(Os::linux),
1865        abi: None,
1866        arch: Arch::powerpc,
1867        env: Some(Env::gnu),
1868        vendor: Some(Vendor::unknown),
1869        families: Families::unix,
1870        pointer_width: 32,
1871        endian: Endian::big,
1872        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1873        panic: Panic::unwind,
1874    },
1875    TargetInfo {
1876        triple: Triple::new_const("powerpc-unknown-linux-gnuspe"),
1877        os: Some(Os::linux),
1878        abi: Some(Abi::spe),
1879        arch: Arch::powerpc,
1880        env: Some(Env::gnu),
1881        vendor: Some(Vendor::unknown),
1882        families: Families::unix,
1883        pointer_width: 32,
1884        endian: Endian::big,
1885        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1886        panic: Panic::unwind,
1887    },
1888    TargetInfo {
1889        triple: Triple::new_const("powerpc-unknown-linux-musl"),
1890        os: Some(Os::linux),
1891        abi: None,
1892        arch: Arch::powerpc,
1893        env: Some(Env::musl),
1894        vendor: Some(Vendor::unknown),
1895        families: Families::unix,
1896        pointer_width: 32,
1897        endian: Endian::big,
1898        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1899        panic: Panic::unwind,
1900    },
1901    TargetInfo {
1902        triple: Triple::new_const("powerpc-unknown-linux-muslspe"),
1903        os: Some(Os::linux),
1904        abi: Some(Abi::spe),
1905        arch: Arch::powerpc,
1906        env: Some(Env::musl),
1907        vendor: Some(Vendor::unknown),
1908        families: Families::unix,
1909        pointer_width: 32,
1910        endian: Endian::big,
1911        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1912        panic: Panic::unwind,
1913    },
1914    TargetInfo {
1915        triple: Triple::new_const("powerpc-unknown-netbsd"),
1916        os: Some(Os::netbsd),
1917        abi: None,
1918        arch: Arch::powerpc,
1919        env: None,
1920        vendor: Some(Vendor::unknown),
1921        families: Families::unix,
1922        pointer_width: 32,
1923        endian: Endian::big,
1924        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1925        panic: Panic::unwind,
1926    },
1927    TargetInfo {
1928        triple: Triple::new_const("powerpc-unknown-openbsd"),
1929        os: Some(Os::openbsd),
1930        abi: None,
1931        arch: Arch::powerpc,
1932        env: None,
1933        vendor: Some(Vendor::unknown),
1934        families: Families::unix,
1935        pointer_width: 32,
1936        endian: Endian::big,
1937        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1938        panic: Panic::unwind,
1939    },
1940    TargetInfo {
1941        triple: Triple::new_const("powerpc-wrs-vxworks"),
1942        os: Some(Os::vxworks),
1943        abi: None,
1944        arch: Arch::powerpc,
1945        env: Some(Env::gnu),
1946        vendor: Some(Vendor::wrs),
1947        families: Families::unix,
1948        pointer_width: 32,
1949        endian: Endian::big,
1950        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1951        panic: Panic::unwind,
1952    },
1953    TargetInfo {
1954        triple: Triple::new_const("powerpc-wrs-vxworks-spe"),
1955        os: Some(Os::vxworks),
1956        abi: Some(Abi::spe),
1957        arch: Arch::powerpc,
1958        env: Some(Env::gnu),
1959        vendor: Some(Vendor::wrs),
1960        families: Families::unix,
1961        pointer_width: 32,
1962        endian: Endian::big,
1963        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1964        panic: Panic::unwind,
1965    },
1966    TargetInfo {
1967        triple: Triple::new_const("powerpc64-ibm-aix"),
1968        os: Some(Os::aix),
1969        abi: Some(Abi::vec_extabi),
1970        arch: Arch::powerpc64,
1971        env: None,
1972        vendor: Some(Vendor::ibm),
1973        families: Families::unix,
1974        pointer_width: 64,
1975        endian: Endian::big,
1976        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1977        panic: Panic::unwind,
1978    },
1979    TargetInfo {
1980        triple: Triple::new_const("powerpc64-unknown-freebsd"),
1981        os: Some(Os::freebsd),
1982        abi: None,
1983        arch: Arch::powerpc64,
1984        env: None,
1985        vendor: Some(Vendor::unknown),
1986        families: Families::unix,
1987        pointer_width: 64,
1988        endian: Endian::big,
1989        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1990        panic: Panic::unwind,
1991    },
1992    TargetInfo {
1993        triple: Triple::new_const("powerpc64-unknown-linux-gnu"),
1994        os: Some(Os::linux),
1995        abi: None,
1996        arch: Arch::powerpc64,
1997        env: Some(Env::gnu),
1998        vendor: Some(Vendor::unknown),
1999        families: Families::unix,
2000        pointer_width: 64,
2001        endian: Endian::big,
2002        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2003        panic: Panic::unwind,
2004    },
2005    TargetInfo {
2006        triple: Triple::new_const("powerpc64-unknown-linux-musl"),
2007        os: Some(Os::linux),
2008        abi: None,
2009        arch: Arch::powerpc64,
2010        env: Some(Env::musl),
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("powerpc64-unknown-openbsd"),
2020        os: Some(Os::openbsd),
2021        abi: None,
2022        arch: Arch::powerpc64,
2023        env: None,
2024        vendor: Some(Vendor::unknown),
2025        families: Families::unix,
2026        pointer_width: 64,
2027        endian: Endian::big,
2028        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2029        panic: Panic::unwind,
2030    },
2031    TargetInfo {
2032        triple: Triple::new_const("powerpc64-wrs-vxworks"),
2033        os: Some(Os::vxworks),
2034        abi: None,
2035        arch: Arch::powerpc64,
2036        env: Some(Env::gnu),
2037        vendor: Some(Vendor::wrs),
2038        families: Families::unix,
2039        pointer_width: 64,
2040        endian: Endian::big,
2041        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2042        panic: Panic::unwind,
2043    },
2044    TargetInfo {
2045        triple: Triple::new_const("powerpc64le-unknown-freebsd"),
2046        os: Some(Os::freebsd),
2047        abi: None,
2048        arch: Arch::powerpc64,
2049        env: None,
2050        vendor: Some(Vendor::unknown),
2051        families: Families::unix,
2052        pointer_width: 64,
2053        endian: Endian::little,
2054        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2055        panic: Panic::unwind,
2056    },
2057    TargetInfo {
2058        triple: Triple::new_const("powerpc64le-unknown-linux-gnu"),
2059        os: Some(Os::linux),
2060        abi: None,
2061        arch: Arch::powerpc64,
2062        env: Some(Env::gnu),
2063        vendor: Some(Vendor::unknown),
2064        families: Families::unix,
2065        pointer_width: 64,
2066        endian: Endian::little,
2067        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2068        panic: Panic::unwind,
2069    },
2070    TargetInfo {
2071        triple: Triple::new_const("powerpc64le-unknown-linux-musl"),
2072        os: Some(Os::linux),
2073        abi: None,
2074        arch: Arch::powerpc64,
2075        env: Some(Env::musl),
2076        vendor: Some(Vendor::unknown),
2077        families: Families::unix,
2078        pointer_width: 64,
2079        endian: Endian::little,
2080        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2081        panic: Panic::unwind,
2082    },
2083    TargetInfo {
2084        triple: Triple::new_const("riscv32-wrs-vxworks"),
2085        os: Some(Os::vxworks),
2086        abi: None,
2087        arch: Arch::riscv32,
2088        env: Some(Env::gnu),
2089        vendor: Some(Vendor::wrs),
2090        families: Families::unix,
2091        pointer_width: 32,
2092        endian: Endian::little,
2093        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2094        panic: Panic::unwind,
2095    },
2096    TargetInfo {
2097        triple: Triple::new_const("riscv32e-unknown-none-elf"),
2098        os: None,
2099        abi: None,
2100        arch: Arch::riscv32,
2101        env: None,
2102        vendor: Some(Vendor::unknown),
2103        families: Families::new_const(&[]),
2104        pointer_width: 32,
2105        endian: Endian::little,
2106        has_atomics: HasAtomics::new_const(&[]),
2107        panic: Panic::abort,
2108    },
2109    TargetInfo {
2110        triple: Triple::new_const("riscv32em-unknown-none-elf"),
2111        os: None,
2112        abi: None,
2113        arch: Arch::riscv32,
2114        env: None,
2115        vendor: Some(Vendor::unknown),
2116        families: Families::new_const(&[]),
2117        pointer_width: 32,
2118        endian: Endian::little,
2119        has_atomics: HasAtomics::new_const(&[]),
2120        panic: Panic::abort,
2121    },
2122    TargetInfo {
2123        triple: Triple::new_const("riscv32emc-unknown-none-elf"),
2124        os: None,
2125        abi: None,
2126        arch: Arch::riscv32,
2127        env: None,
2128        vendor: Some(Vendor::unknown),
2129        families: Families::new_const(&[]),
2130        pointer_width: 32,
2131        endian: Endian::little,
2132        has_atomics: HasAtomics::new_const(&[]),
2133        panic: Panic::abort,
2134    },
2135    TargetInfo {
2136        triple: Triple::new_const("riscv32gc-unknown-linux-gnu"),
2137        os: Some(Os::linux),
2138        abi: None,
2139        arch: Arch::riscv32,
2140        env: Some(Env::gnu),
2141        vendor: Some(Vendor::unknown),
2142        families: Families::unix,
2143        pointer_width: 32,
2144        endian: Endian::little,
2145        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2146        panic: Panic::unwind,
2147    },
2148    TargetInfo {
2149        triple: Triple::new_const("riscv32gc-unknown-linux-musl"),
2150        os: Some(Os::linux),
2151        abi: None,
2152        arch: Arch::riscv32,
2153        env: Some(Env::musl),
2154        vendor: Some(Vendor::unknown),
2155        families: Families::unix,
2156        pointer_width: 32,
2157        endian: Endian::little,
2158        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2159        panic: Panic::unwind,
2160    },
2161    TargetInfo {
2162        triple: Triple::new_const("riscv32i-unknown-none-elf"),
2163        os: None,
2164        abi: None,
2165        arch: Arch::riscv32,
2166        env: None,
2167        vendor: Some(Vendor::unknown),
2168        families: Families::new_const(&[]),
2169        pointer_width: 32,
2170        endian: Endian::little,
2171        has_atomics: HasAtomics::new_const(&[]),
2172        panic: Panic::abort,
2173    },
2174    TargetInfo {
2175        triple: Triple::new_const("riscv32im-risc0-zkvm-elf"),
2176        os: Some(Os::zkvm),
2177        abi: None,
2178        arch: Arch::riscv32,
2179        env: None,
2180        vendor: Some(Vendor::risc0),
2181        families: Families::new_const(&[]),
2182        pointer_width: 32,
2183        endian: Endian::little,
2184        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2185        panic: Panic::abort,
2186    },
2187    TargetInfo {
2188        triple: Triple::new_const("riscv32im-unknown-none-elf"),
2189        os: None,
2190        abi: None,
2191        arch: Arch::riscv32,
2192        env: None,
2193        vendor: Some(Vendor::unknown),
2194        families: Families::new_const(&[]),
2195        pointer_width: 32,
2196        endian: Endian::little,
2197        has_atomics: HasAtomics::new_const(&[]),
2198        panic: Panic::abort,
2199    },
2200    TargetInfo {
2201        triple: Triple::new_const("riscv32ima-unknown-none-elf"),
2202        os: None,
2203        abi: None,
2204        arch: Arch::riscv32,
2205        env: None,
2206        vendor: Some(Vendor::unknown),
2207        families: Families::new_const(&[]),
2208        pointer_width: 32,
2209        endian: Endian::little,
2210        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2211        panic: Panic::abort,
2212    },
2213    TargetInfo {
2214        triple: Triple::new_const("riscv32imac-esp-espidf"),
2215        os: Some(Os::espidf),
2216        abi: None,
2217        arch: Arch::riscv32,
2218        env: Some(Env::newlib),
2219        vendor: Some(Vendor::espressif),
2220        families: Families::unix,
2221        pointer_width: 32,
2222        endian: Endian::little,
2223        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2224        panic: Panic::abort,
2225    },
2226    TargetInfo {
2227        triple: Triple::new_const("riscv32imac-unknown-none-elf"),
2228        os: None,
2229        abi: None,
2230        arch: Arch::riscv32,
2231        env: None,
2232        vendor: Some(Vendor::unknown),
2233        families: Families::new_const(&[]),
2234        pointer_width: 32,
2235        endian: Endian::little,
2236        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2237        panic: Panic::abort,
2238    },
2239    TargetInfo {
2240        triple: Triple::new_const("riscv32imac-unknown-nuttx-elf"),
2241        os: Some(Os::nuttx),
2242        abi: None,
2243        arch: Arch::riscv32,
2244        env: None,
2245        vendor: Some(Vendor::unknown),
2246        families: Families::unix,
2247        pointer_width: 32,
2248        endian: Endian::little,
2249        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2250        panic: Panic::unwind,
2251    },
2252    TargetInfo {
2253        triple: Triple::new_const("riscv32imac-unknown-xous-elf"),
2254        os: Some(Os::xous),
2255        abi: None,
2256        arch: Arch::riscv32,
2257        env: None,
2258        vendor: Some(Vendor::unknown),
2259        families: Families::new_const(&[]),
2260        pointer_width: 32,
2261        endian: Endian::little,
2262        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2263        panic: Panic::unwind,
2264    },
2265    TargetInfo {
2266        triple: Triple::new_const("riscv32imafc-esp-espidf"),
2267        os: Some(Os::espidf),
2268        abi: None,
2269        arch: Arch::riscv32,
2270        env: Some(Env::newlib),
2271        vendor: Some(Vendor::espressif),
2272        families: Families::unix,
2273        pointer_width: 32,
2274        endian: Endian::little,
2275        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2276        panic: Panic::abort,
2277    },
2278    TargetInfo {
2279        triple: Triple::new_const("riscv32imafc-unknown-none-elf"),
2280        os: None,
2281        abi: None,
2282        arch: Arch::riscv32,
2283        env: None,
2284        vendor: Some(Vendor::unknown),
2285        families: Families::new_const(&[]),
2286        pointer_width: 32,
2287        endian: Endian::little,
2288        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2289        panic: Panic::abort,
2290    },
2291    TargetInfo {
2292        triple: Triple::new_const("riscv32imafc-unknown-nuttx-elf"),
2293        os: Some(Os::nuttx),
2294        abi: None,
2295        arch: Arch::riscv32,
2296        env: None,
2297        vendor: Some(Vendor::unknown),
2298        families: Families::unix,
2299        pointer_width: 32,
2300        endian: Endian::little,
2301        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2302        panic: Panic::abort,
2303    },
2304    TargetInfo {
2305        triple: Triple::new_const("riscv32imc-esp-espidf"),
2306        os: Some(Os::espidf),
2307        abi: None,
2308        arch: Arch::riscv32,
2309        env: Some(Env::newlib),
2310        vendor: Some(Vendor::espressif),
2311        families: Families::unix,
2312        pointer_width: 32,
2313        endian: Endian::little,
2314        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2315        panic: Panic::abort,
2316    },
2317    TargetInfo {
2318        triple: Triple::new_const("riscv32imc-unknown-none-elf"),
2319        os: None,
2320        abi: None,
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("riscv32imc-unknown-nuttx-elf"),
2332        os: Some(Os::nuttx),
2333        abi: None,
2334        arch: Arch::riscv32,
2335        env: None,
2336        vendor: Some(Vendor::unknown),
2337        families: Families::unix,
2338        pointer_width: 32,
2339        endian: Endian::little,
2340        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2341        panic: Panic::unwind,
2342    },
2343    TargetInfo {
2344        triple: Triple::new_const("riscv64-linux-android"),
2345        os: Some(Os::android),
2346        abi: None,
2347        arch: Arch::riscv64,
2348        env: None,
2349        vendor: Some(Vendor::unknown),
2350        families: Families::unix,
2351        pointer_width: 64,
2352        endian: Endian::little,
2353        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2354        panic: Panic::unwind,
2355    },
2356    TargetInfo {
2357        triple: Triple::new_const("riscv64-wrs-vxworks"),
2358        os: Some(Os::vxworks),
2359        abi: None,
2360        arch: Arch::riscv64,
2361        env: Some(Env::gnu),
2362        vendor: Some(Vendor::wrs),
2363        families: Families::unix,
2364        pointer_width: 64,
2365        endian: Endian::little,
2366        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2367        panic: Panic::unwind,
2368    },
2369    TargetInfo {
2370        triple: Triple::new_const("riscv64gc-unknown-freebsd"),
2371        os: Some(Os::freebsd),
2372        abi: None,
2373        arch: Arch::riscv64,
2374        env: None,
2375        vendor: Some(Vendor::unknown),
2376        families: Families::unix,
2377        pointer_width: 64,
2378        endian: Endian::little,
2379        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2380        panic: Panic::unwind,
2381    },
2382    TargetInfo {
2383        triple: Triple::new_const("riscv64gc-unknown-fuchsia"),
2384        os: Some(Os::fuchsia),
2385        abi: None,
2386        arch: Arch::riscv64,
2387        env: None,
2388        vendor: Some(Vendor::unknown),
2389        families: Families::unix,
2390        pointer_width: 64,
2391        endian: Endian::little,
2392        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2393        panic: Panic::unwind,
2394    },
2395    TargetInfo {
2396        triple: Triple::new_const("riscv64gc-unknown-hermit"),
2397        os: Some(Os::hermit),
2398        abi: None,
2399        arch: Arch::riscv64,
2400        env: None,
2401        vendor: Some(Vendor::unknown),
2402        families: Families::new_const(&[]),
2403        pointer_width: 64,
2404        endian: Endian::little,
2405        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2406        panic: Panic::abort,
2407    },
2408    TargetInfo {
2409        triple: Triple::new_const("riscv64gc-unknown-linux-gnu"),
2410        os: Some(Os::linux),
2411        abi: None,
2412        arch: Arch::riscv64,
2413        env: Some(Env::gnu),
2414        vendor: Some(Vendor::unknown),
2415        families: Families::unix,
2416        pointer_width: 64,
2417        endian: Endian::little,
2418        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2419        panic: Panic::unwind,
2420    },
2421    TargetInfo {
2422        triple: Triple::new_const("riscv64gc-unknown-linux-musl"),
2423        os: Some(Os::linux),
2424        abi: None,
2425        arch: Arch::riscv64,
2426        env: Some(Env::musl),
2427        vendor: Some(Vendor::unknown),
2428        families: Families::unix,
2429        pointer_width: 64,
2430        endian: Endian::little,
2431        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2432        panic: Panic::unwind,
2433    },
2434    TargetInfo {
2435        triple: Triple::new_const("riscv64gc-unknown-netbsd"),
2436        os: Some(Os::netbsd),
2437        abi: None,
2438        arch: Arch::riscv64,
2439        env: None,
2440        vendor: Some(Vendor::unknown),
2441        families: Families::unix,
2442        pointer_width: 64,
2443        endian: Endian::little,
2444        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2445        panic: Panic::unwind,
2446    },
2447    TargetInfo {
2448        triple: Triple::new_const("riscv64gc-unknown-none-elf"),
2449        os: None,
2450        abi: None,
2451        arch: Arch::riscv64,
2452        env: None,
2453        vendor: Some(Vendor::unknown),
2454        families: Families::new_const(&[]),
2455        pointer_width: 64,
2456        endian: Endian::little,
2457        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2458        panic: Panic::abort,
2459    },
2460    TargetInfo {
2461        triple: Triple::new_const("riscv64gc-unknown-nuttx-elf"),
2462        os: Some(Os::nuttx),
2463        abi: None,
2464        arch: Arch::riscv64,
2465        env: None,
2466        vendor: Some(Vendor::unknown),
2467        families: Families::unix,
2468        pointer_width: 64,
2469        endian: Endian::little,
2470        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2471        panic: Panic::abort,
2472    },
2473    TargetInfo {
2474        triple: Triple::new_const("riscv64gc-unknown-openbsd"),
2475        os: Some(Os::openbsd),
2476        abi: None,
2477        arch: Arch::riscv64,
2478        env: None,
2479        vendor: Some(Vendor::unknown),
2480        families: Families::unix,
2481        pointer_width: 64,
2482        endian: Endian::little,
2483        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2484        panic: Panic::unwind,
2485    },
2486    TargetInfo {
2487        triple: Triple::new_const("riscv64imac-unknown-none-elf"),
2488        os: None,
2489        abi: None,
2490        arch: Arch::riscv64,
2491        env: None,
2492        vendor: Some(Vendor::unknown),
2493        families: Families::new_const(&[]),
2494        pointer_width: 64,
2495        endian: Endian::little,
2496        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2497        panic: Panic::abort,
2498    },
2499    TargetInfo {
2500        triple: Triple::new_const("riscv64imac-unknown-nuttx-elf"),
2501        os: Some(Os::nuttx),
2502        abi: None,
2503        arch: Arch::riscv64,
2504        env: None,
2505        vendor: Some(Vendor::unknown),
2506        families: Families::unix,
2507        pointer_width: 64,
2508        endian: Endian::little,
2509        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2510        panic: Panic::abort,
2511    },
2512    TargetInfo {
2513        triple: Triple::new_const("s390x-unknown-linux-gnu"),
2514        os: Some(Os::linux),
2515        abi: None,
2516        arch: Arch::s390x,
2517        env: Some(Env::gnu),
2518        vendor: Some(Vendor::unknown),
2519        families: Families::unix,
2520        pointer_width: 64,
2521        endian: Endian::big,
2522        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
2523        panic: Panic::unwind,
2524    },
2525    TargetInfo {
2526        triple: Triple::new_const("s390x-unknown-linux-musl"),
2527        os: Some(Os::linux),
2528        abi: None,
2529        arch: Arch::s390x,
2530        env: Some(Env::musl),
2531        vendor: Some(Vendor::unknown),
2532        families: Families::unix,
2533        pointer_width: 64,
2534        endian: Endian::big,
2535        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
2536        panic: Panic::unwind,
2537    },
2538    TargetInfo {
2539        triple: Triple::new_const("sparc-unknown-linux-gnu"),
2540        os: Some(Os::linux),
2541        abi: None,
2542        arch: Arch::sparc,
2543        env: Some(Env::gnu),
2544        vendor: Some(Vendor::unknown),
2545        families: Families::unix,
2546        pointer_width: 32,
2547        endian: Endian::big,
2548        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2549        panic: Panic::unwind,
2550    },
2551    TargetInfo {
2552        triple: Triple::new_const("sparc-unknown-none-elf"),
2553        os: None,
2554        abi: None,
2555        arch: Arch::sparc,
2556        env: None,
2557        vendor: Some(Vendor::unknown),
2558        families: Families::new_const(&[]),
2559        pointer_width: 32,
2560        endian: Endian::big,
2561        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2562        panic: Panic::abort,
2563    },
2564    TargetInfo {
2565        triple: Triple::new_const("sparc64-unknown-linux-gnu"),
2566        os: Some(Os::linux),
2567        abi: None,
2568        arch: Arch::sparc64,
2569        env: Some(Env::gnu),
2570        vendor: Some(Vendor::unknown),
2571        families: Families::unix,
2572        pointer_width: 64,
2573        endian: Endian::big,
2574        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2575        panic: Panic::unwind,
2576    },
2577    TargetInfo {
2578        triple: Triple::new_const("sparc64-unknown-netbsd"),
2579        os: Some(Os::netbsd),
2580        abi: None,
2581        arch: Arch::sparc64,
2582        env: None,
2583        vendor: Some(Vendor::unknown),
2584        families: Families::unix,
2585        pointer_width: 64,
2586        endian: Endian::big,
2587        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2588        panic: Panic::unwind,
2589    },
2590    TargetInfo {
2591        triple: Triple::new_const("sparc64-unknown-openbsd"),
2592        os: Some(Os::openbsd),
2593        abi: None,
2594        arch: Arch::sparc64,
2595        env: None,
2596        vendor: Some(Vendor::unknown),
2597        families: Families::unix,
2598        pointer_width: 64,
2599        endian: Endian::big,
2600        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2601        panic: Panic::unwind,
2602    },
2603    TargetInfo {
2604        triple: Triple::new_const("sparcv9-sun-solaris"),
2605        os: Some(Os::solaris),
2606        abi: None,
2607        arch: Arch::sparc64,
2608        env: None,
2609        vendor: Some(Vendor::sun),
2610        families: Families::unix,
2611        pointer_width: 64,
2612        endian: Endian::big,
2613        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2614        panic: Panic::unwind,
2615    },
2616    TargetInfo {
2617        triple: Triple::new_const("thumbv4t-none-eabi"),
2618        os: None,
2619        abi: Some(Abi::eabi),
2620        arch: Arch::arm,
2621        env: None,
2622        vendor: Some(Vendor::unknown),
2623        families: Families::new_const(&[]),
2624        pointer_width: 32,
2625        endian: Endian::little,
2626        has_atomics: HasAtomics::new_const(&[]),
2627        panic: Panic::abort,
2628    },
2629    TargetInfo {
2630        triple: Triple::new_const("thumbv5te-none-eabi"),
2631        os: None,
2632        abi: Some(Abi::eabi),
2633        arch: Arch::arm,
2634        env: None,
2635        vendor: Some(Vendor::unknown),
2636        families: Families::new_const(&[]),
2637        pointer_width: 32,
2638        endian: Endian::little,
2639        has_atomics: HasAtomics::new_const(&[]),
2640        panic: Panic::abort,
2641    },
2642    TargetInfo {
2643        triple: Triple::new_const("thumbv6m-none-eabi"),
2644        os: None,
2645        abi: Some(Abi::eabi),
2646        arch: Arch::arm,
2647        env: None,
2648        vendor: Some(Vendor::unknown),
2649        families: Families::new_const(&[]),
2650        pointer_width: 32,
2651        endian: Endian::little,
2652        has_atomics: HasAtomics::new_const(&[]),
2653        panic: Panic::abort,
2654    },
2655    TargetInfo {
2656        triple: Triple::new_const("thumbv6m-nuttx-eabi"),
2657        os: Some(Os::nuttx),
2658        abi: Some(Abi::eabi),
2659        arch: Arch::arm,
2660        env: None,
2661        vendor: Some(Vendor::unknown),
2662        families: Families::unix,
2663        pointer_width: 32,
2664        endian: Endian::little,
2665        has_atomics: HasAtomics::new_const(&[]),
2666        panic: Panic::abort,
2667    },
2668    TargetInfo {
2669        triple: Triple::new_const("thumbv7a-pc-windows-msvc"),
2670        os: Some(Os::windows),
2671        abi: None,
2672        arch: Arch::arm,
2673        env: Some(Env::msvc),
2674        vendor: Some(Vendor::pc),
2675        families: Families::windows,
2676        pointer_width: 32,
2677        endian: Endian::little,
2678        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2679        panic: Panic::abort,
2680    },
2681    TargetInfo {
2682        triple: Triple::new_const("thumbv7a-uwp-windows-msvc"),
2683        os: Some(Os::windows),
2684        abi: Some(Abi::uwp),
2685        arch: Arch::arm,
2686        env: Some(Env::msvc),
2687        vendor: Some(Vendor::uwp),
2688        families: Families::windows,
2689        pointer_width: 32,
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("thumbv7em-none-eabi"),
2696        os: None,
2697        abi: Some(Abi::eabi),
2698        arch: Arch::arm,
2699        env: None,
2700        vendor: Some(Vendor::unknown),
2701        families: Families::new_const(&[]),
2702        pointer_width: 32,
2703        endian: Endian::little,
2704        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2705        panic: Panic::abort,
2706    },
2707    TargetInfo {
2708        triple: Triple::new_const("thumbv7em-none-eabihf"),
2709        os: None,
2710        abi: Some(Abi::eabihf),
2711        arch: Arch::arm,
2712        env: None,
2713        vendor: Some(Vendor::unknown),
2714        families: Families::new_const(&[]),
2715        pointer_width: 32,
2716        endian: Endian::little,
2717        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2718        panic: Panic::abort,
2719    },
2720    TargetInfo {
2721        triple: Triple::new_const("thumbv7em-nuttx-eabi"),
2722        os: Some(Os::nuttx),
2723        abi: Some(Abi::eabi),
2724        arch: Arch::arm,
2725        env: None,
2726        vendor: Some(Vendor::unknown),
2727        families: Families::unix,
2728        pointer_width: 32,
2729        endian: Endian::little,
2730        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2731        panic: Panic::abort,
2732    },
2733    TargetInfo {
2734        triple: Triple::new_const("thumbv7em-nuttx-eabihf"),
2735        os: Some(Os::nuttx),
2736        abi: Some(Abi::eabihf),
2737        arch: Arch::arm,
2738        env: None,
2739        vendor: Some(Vendor::unknown),
2740        families: Families::unix,
2741        pointer_width: 32,
2742        endian: Endian::little,
2743        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2744        panic: Panic::abort,
2745    },
2746    TargetInfo {
2747        triple: Triple::new_const("thumbv7m-none-eabi"),
2748        os: None,
2749        abi: Some(Abi::eabi),
2750        arch: Arch::arm,
2751        env: None,
2752        vendor: Some(Vendor::unknown),
2753        families: Families::new_const(&[]),
2754        pointer_width: 32,
2755        endian: Endian::little,
2756        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2757        panic: Panic::abort,
2758    },
2759    TargetInfo {
2760        triple: Triple::new_const("thumbv7m-nuttx-eabi"),
2761        os: Some(Os::nuttx),
2762        abi: Some(Abi::eabi),
2763        arch: Arch::arm,
2764        env: None,
2765        vendor: Some(Vendor::unknown),
2766        families: Families::unix,
2767        pointer_width: 32,
2768        endian: Endian::little,
2769        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2770        panic: Panic::abort,
2771    },
2772    TargetInfo {
2773        triple: Triple::new_const("thumbv7neon-linux-androideabi"),
2774        os: Some(Os::android),
2775        abi: Some(Abi::eabi),
2776        arch: Arch::arm,
2777        env: None,
2778        vendor: Some(Vendor::unknown),
2779        families: Families::unix,
2780        pointer_width: 32,
2781        endian: Endian::little,
2782        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2783        panic: Panic::unwind,
2784    },
2785    TargetInfo {
2786        triple: Triple::new_const("thumbv7neon-unknown-linux-gnueabihf"),
2787        os: Some(Os::linux),
2788        abi: Some(Abi::eabihf),
2789        arch: Arch::arm,
2790        env: Some(Env::gnu),
2791        vendor: Some(Vendor::unknown),
2792        families: Families::unix,
2793        pointer_width: 32,
2794        endian: Endian::little,
2795        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2796        panic: Panic::unwind,
2797    },
2798    TargetInfo {
2799        triple: Triple::new_const("thumbv7neon-unknown-linux-musleabihf"),
2800        os: Some(Os::linux),
2801        abi: Some(Abi::eabihf),
2802        arch: Arch::arm,
2803        env: Some(Env::musl),
2804        vendor: Some(Vendor::unknown),
2805        families: Families::unix,
2806        pointer_width: 32,
2807        endian: Endian::little,
2808        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2809        panic: Panic::unwind,
2810    },
2811    TargetInfo {
2812        triple: Triple::new_const("thumbv8m.base-none-eabi"),
2813        os: None,
2814        abi: Some(Abi::eabi),
2815        arch: Arch::arm,
2816        env: None,
2817        vendor: Some(Vendor::unknown),
2818        families: Families::new_const(&[]),
2819        pointer_width: 32,
2820        endian: Endian::little,
2821        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2822        panic: Panic::abort,
2823    },
2824    TargetInfo {
2825        triple: Triple::new_const("thumbv8m.base-nuttx-eabi"),
2826        os: Some(Os::nuttx),
2827        abi: Some(Abi::eabi),
2828        arch: Arch::arm,
2829        env: None,
2830        vendor: Some(Vendor::unknown),
2831        families: Families::unix,
2832        pointer_width: 32,
2833        endian: Endian::little,
2834        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2835        panic: Panic::abort,
2836    },
2837    TargetInfo {
2838        triple: Triple::new_const("thumbv8m.main-none-eabi"),
2839        os: None,
2840        abi: Some(Abi::eabi),
2841        arch: Arch::arm,
2842        env: None,
2843        vendor: Some(Vendor::unknown),
2844        families: Families::new_const(&[]),
2845        pointer_width: 32,
2846        endian: Endian::little,
2847        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2848        panic: Panic::abort,
2849    },
2850    TargetInfo {
2851        triple: Triple::new_const("thumbv8m.main-none-eabihf"),
2852        os: None,
2853        abi: Some(Abi::eabihf),
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::atomic_8_16_32_ptr,
2861        panic: Panic::abort,
2862    },
2863    TargetInfo {
2864        triple: Triple::new_const("thumbv8m.main-nuttx-eabi"),
2865        os: Some(Os::nuttx),
2866        abi: Some(Abi::eabi),
2867        arch: Arch::arm,
2868        env: None,
2869        vendor: Some(Vendor::unknown),
2870        families: Families::unix,
2871        pointer_width: 32,
2872        endian: Endian::little,
2873        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2874        panic: Panic::abort,
2875    },
2876    TargetInfo {
2877        triple: Triple::new_const("thumbv8m.main-nuttx-eabihf"),
2878        os: Some(Os::nuttx),
2879        abi: Some(Abi::eabihf),
2880        arch: Arch::arm,
2881        env: None,
2882        vendor: Some(Vendor::unknown),
2883        families: Families::unix,
2884        pointer_width: 32,
2885        endian: Endian::little,
2886        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2887        panic: Panic::abort,
2888    },
2889    TargetInfo {
2890        triple: Triple::new_const("wasm32-unknown-emscripten"),
2891        os: Some(Os::emscripten),
2892        abi: None,
2893        arch: Arch::wasm32,
2894        env: None,
2895        vendor: Some(Vendor::unknown),
2896        families: Families::unix_wasm,
2897        pointer_width: 32,
2898        endian: Endian::little,
2899        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2900        panic: Panic::unwind,
2901    },
2902    TargetInfo {
2903        triple: Triple::new_const("wasm32-unknown-unknown"),
2904        os: Some(Os::unknown),
2905        abi: None,
2906        arch: Arch::wasm32,
2907        env: None,
2908        vendor: Some(Vendor::unknown),
2909        families: Families::wasm,
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("wasm32-wasi"),
2917        os: Some(Os::wasi),
2918        abi: None,
2919        arch: Arch::wasm32,
2920        env: Some(Env::p1),
2921        vendor: Some(Vendor::unknown),
2922        families: Families::wasm,
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("wasm32-wasip1"),
2930        os: Some(Os::wasi),
2931        abi: None,
2932        arch: Arch::wasm32,
2933        env: Some(Env::p1),
2934        vendor: Some(Vendor::unknown),
2935        families: Families::wasm,
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("wasm32-wasip1-threads"),
2943        os: Some(Os::wasi),
2944        abi: None,
2945        arch: Arch::wasm32,
2946        env: Some(Env::p1),
2947        vendor: Some(Vendor::unknown),
2948        families: Families::wasm,
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("wasm32-wasip2"),
2956        os: Some(Os::wasi),
2957        abi: None,
2958        arch: Arch::wasm32,
2959        env: Some(Env::p2),
2960        vendor: Some(Vendor::unknown),
2961        families: Families::wasm,
2962        pointer_width: 32,
2963        endian: Endian::little,
2964        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2965        panic: Panic::abort,
2966    },
2967    TargetInfo {
2968        triple: Triple::new_const("wasm64-unknown-unknown"),
2969        os: Some(Os::unknown),
2970        abi: None,
2971        arch: Arch::wasm64,
2972        env: None,
2973        vendor: Some(Vendor::unknown),
2974        families: Families::wasm,
2975        pointer_width: 64,
2976        endian: Endian::little,
2977        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2978        panic: Panic::abort,
2979    },
2980    TargetInfo {
2981        triple: Triple::new_const("x86_64-apple-darwin"),
2982        os: Some(Os::macos),
2983        abi: None,
2984        arch: Arch::x86_64,
2985        env: None,
2986        vendor: Some(Vendor::apple),
2987        families: Families::unix,
2988        pointer_width: 64,
2989        endian: Endian::little,
2990        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
2991        panic: Panic::unwind,
2992    },
2993    TargetInfo {
2994        triple: Triple::new_const("x86_64-apple-ios"),
2995        os: Some(Os::ios),
2996        abi: Some(Abi::sim),
2997        arch: Arch::x86_64,
2998        env: None,
2999        vendor: Some(Vendor::apple),
3000        families: Families::unix,
3001        pointer_width: 64,
3002        endian: Endian::little,
3003        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3004        panic: Panic::unwind,
3005    },
3006    TargetInfo {
3007        triple: Triple::new_const("x86_64-apple-ios-macabi"),
3008        os: Some(Os::ios),
3009        abi: Some(Abi::macabi),
3010        arch: Arch::x86_64,
3011        env: None,
3012        vendor: Some(Vendor::apple),
3013        families: Families::unix,
3014        pointer_width: 64,
3015        endian: Endian::little,
3016        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3017        panic: Panic::unwind,
3018    },
3019    TargetInfo {
3020        triple: Triple::new_const("x86_64-apple-tvos"),
3021        os: Some(Os::tvos),
3022        abi: Some(Abi::sim),
3023        arch: Arch::x86_64,
3024        env: None,
3025        vendor: Some(Vendor::apple),
3026        families: Families::unix,
3027        pointer_width: 64,
3028        endian: Endian::little,
3029        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3030        panic: Panic::unwind,
3031    },
3032    TargetInfo {
3033        triple: Triple::new_const("x86_64-apple-watchos-sim"),
3034        os: Some(Os::watchos),
3035        abi: Some(Abi::sim),
3036        arch: Arch::x86_64,
3037        env: None,
3038        vendor: Some(Vendor::apple),
3039        families: Families::unix,
3040        pointer_width: 64,
3041        endian: Endian::little,
3042        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3043        panic: Panic::unwind,
3044    },
3045    TargetInfo {
3046        triple: Triple::new_const("x86_64-fortanix-unknown-sgx"),
3047        os: Some(Os::unknown),
3048        abi: Some(Abi::fortanix),
3049        arch: Arch::x86_64,
3050        env: Some(Env::sgx),
3051        vendor: Some(Vendor::fortanix),
3052        families: Families::new_const(&[]),
3053        pointer_width: 64,
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("x86_64-linux-android"),
3060        os: Some(Os::android),
3061        abi: None,
3062        arch: Arch::x86_64,
3063        env: None,
3064        vendor: Some(Vendor::unknown),
3065        families: Families::unix,
3066        pointer_width: 64,
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("x86_64-pc-nto-qnx710"),
3073        os: Some(Os::nto),
3074        abi: None,
3075        arch: Arch::x86_64,
3076        env: Some(Env::nto71),
3077        vendor: Some(Vendor::unknown),
3078        families: Families::unix,
3079        pointer_width: 64,
3080        endian: Endian::little,
3081        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3082        panic: Panic::unwind,
3083    },
3084    TargetInfo {
3085        triple: Triple::new_const("x86_64-pc-solaris"),
3086        os: Some(Os::solaris),
3087        abi: None,
3088        arch: Arch::x86_64,
3089        env: None,
3090        vendor: Some(Vendor::pc),
3091        families: Families::unix,
3092        pointer_width: 64,
3093        endian: Endian::little,
3094        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3095        panic: Panic::unwind,
3096    },
3097    TargetInfo {
3098        triple: Triple::new_const("x86_64-pc-windows-gnu"),
3099        os: Some(Os::windows),
3100        abi: None,
3101        arch: Arch::x86_64,
3102        env: Some(Env::gnu),
3103        vendor: Some(Vendor::pc),
3104        families: Families::windows,
3105        pointer_width: 64,
3106        endian: Endian::little,
3107        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3108        panic: Panic::unwind,
3109    },
3110    TargetInfo {
3111        triple: Triple::new_const("x86_64-pc-windows-gnullvm"),
3112        os: Some(Os::windows),
3113        abi: Some(Abi::llvm),
3114        arch: Arch::x86_64,
3115        env: Some(Env::gnu),
3116        vendor: Some(Vendor::pc),
3117        families: Families::windows,
3118        pointer_width: 64,
3119        endian: Endian::little,
3120        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3121        panic: Panic::unwind,
3122    },
3123    TargetInfo {
3124        triple: Triple::new_const("x86_64-pc-windows-msvc"),
3125        os: Some(Os::windows),
3126        abi: None,
3127        arch: Arch::x86_64,
3128        env: Some(Env::msvc),
3129        vendor: Some(Vendor::pc),
3130        families: Families::windows,
3131        pointer_width: 64,
3132        endian: Endian::little,
3133        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3134        panic: Panic::unwind,
3135    },
3136    TargetInfo {
3137        triple: Triple::new_const("x86_64-unikraft-linux-musl"),
3138        os: Some(Os::linux),
3139        abi: None,
3140        arch: Arch::x86_64,
3141        env: Some(Env::musl),
3142        vendor: Some(Vendor::unikraft),
3143        families: Families::unix,
3144        pointer_width: 64,
3145        endian: Endian::little,
3146        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3147        panic: Panic::abort,
3148    },
3149    TargetInfo {
3150        triple: Triple::new_const("x86_64-unknown-dragonfly"),
3151        os: Some(Os::dragonfly),
3152        abi: None,
3153        arch: Arch::x86_64,
3154        env: None,
3155        vendor: Some(Vendor::unknown),
3156        families: Families::unix,
3157        pointer_width: 64,
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("x86_64-unknown-freebsd"),
3164        os: Some(Os::freebsd),
3165        abi: None,
3166        arch: Arch::x86_64,
3167        env: None,
3168        vendor: Some(Vendor::unknown),
3169        families: Families::unix,
3170        pointer_width: 64,
3171        endian: Endian::little,
3172        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3173        panic: Panic::unwind,
3174    },
3175    TargetInfo {
3176        triple: Triple::new_const("x86_64-unknown-fuchsia"),
3177        os: Some(Os::fuchsia),
3178        abi: None,
3179        arch: Arch::x86_64,
3180        env: None,
3181        vendor: Some(Vendor::unknown),
3182        families: Families::unix,
3183        pointer_width: 64,
3184        endian: Endian::little,
3185        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3186        panic: Panic::unwind,
3187    },
3188    TargetInfo {
3189        triple: Triple::new_const("x86_64-unknown-haiku"),
3190        os: Some(Os::haiku),
3191        abi: None,
3192        arch: Arch::x86_64,
3193        env: None,
3194        vendor: Some(Vendor::unknown),
3195        families: Families::unix,
3196        pointer_width: 64,
3197        endian: Endian::little,
3198        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3199        panic: Panic::unwind,
3200    },
3201    TargetInfo {
3202        triple: Triple::new_const("x86_64-unknown-hermit"),
3203        os: Some(Os::hermit),
3204        abi: None,
3205        arch: Arch::x86_64,
3206        env: None,
3207        vendor: Some(Vendor::unknown),
3208        families: Families::new_const(&[]),
3209        pointer_width: 64,
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("x86_64-unknown-hurd-gnu"),
3216        os: Some(Os::hurd),
3217        abi: None,
3218        arch: Arch::x86_64,
3219        env: Some(Env::gnu),
3220        vendor: Some(Vendor::unknown),
3221        families: Families::unix,
3222        pointer_width: 64,
3223        endian: Endian::little,
3224        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3225        panic: Panic::unwind,
3226    },
3227    TargetInfo {
3228        triple: Triple::new_const("x86_64-unknown-illumos"),
3229        os: Some(Os::illumos),
3230        abi: None,
3231        arch: Arch::x86_64,
3232        env: None,
3233        vendor: Some(Vendor::unknown),
3234        families: Families::unix,
3235        pointer_width: 64,
3236        endian: Endian::little,
3237        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3238        panic: Panic::unwind,
3239    },
3240    TargetInfo {
3241        triple: Triple::new_const("x86_64-unknown-l4re-uclibc"),
3242        os: Some(Os::l4re),
3243        abi: None,
3244        arch: Arch::x86_64,
3245        env: Some(Env::uclibc),
3246        vendor: Some(Vendor::unknown),
3247        families: Families::unix,
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-unknown-linux-gnu"),
3255        os: Some(Os::linux),
3256        abi: None,
3257        arch: Arch::x86_64,
3258        env: Some(Env::gnu),
3259        vendor: Some(Vendor::unknown),
3260        families: Families::unix,
3261        pointer_width: 64,
3262        endian: Endian::little,
3263        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3264        panic: Panic::unwind,
3265    },
3266    TargetInfo {
3267        triple: Triple::new_const("x86_64-unknown-linux-gnux32"),
3268        os: Some(Os::linux),
3269        abi: Some(Abi::x32),
3270        arch: Arch::x86_64,
3271        env: Some(Env::gnu),
3272        vendor: Some(Vendor::unknown),
3273        families: Families::unix,
3274        pointer_width: 32,
3275        endian: Endian::little,
3276        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3277        panic: Panic::unwind,
3278    },
3279    TargetInfo {
3280        triple: Triple::new_const("x86_64-unknown-linux-musl"),
3281        os: Some(Os::linux),
3282        abi: None,
3283        arch: Arch::x86_64,
3284        env: Some(Env::musl),
3285        vendor: Some(Vendor::unknown),
3286        families: Families::unix,
3287        pointer_width: 64,
3288        endian: Endian::little,
3289        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3290        panic: Panic::unwind,
3291    },
3292    TargetInfo {
3293        triple: Triple::new_const("x86_64-unknown-linux-none"),
3294        os: Some(Os::linux),
3295        abi: None,
3296        arch: Arch::x86_64,
3297        env: None,
3298        vendor: Some(Vendor::unknown),
3299        families: Families::unix,
3300        pointer_width: 64,
3301        endian: Endian::little,
3302        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3303        panic: Panic::unwind,
3304    },
3305    TargetInfo {
3306        triple: Triple::new_const("x86_64-unknown-linux-ohos"),
3307        os: Some(Os::linux),
3308        abi: None,
3309        arch: Arch::x86_64,
3310        env: Some(Env::ohos),
3311        vendor: Some(Vendor::unknown),
3312        families: Families::unix,
3313        pointer_width: 64,
3314        endian: Endian::little,
3315        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3316        panic: Panic::unwind,
3317    },
3318    TargetInfo {
3319        triple: Triple::new_const("x86_64-unknown-netbsd"),
3320        os: Some(Os::netbsd),
3321        abi: None,
3322        arch: Arch::x86_64,
3323        env: None,
3324        vendor: Some(Vendor::unknown),
3325        families: Families::unix,
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-unknown-none"),
3333        os: None,
3334        abi: None,
3335        arch: Arch::x86_64,
3336        env: None,
3337        vendor: Some(Vendor::unknown),
3338        families: Families::new_const(&[]),
3339        pointer_width: 64,
3340        endian: Endian::little,
3341        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3342        panic: Panic::abort,
3343    },
3344    TargetInfo {
3345        triple: Triple::new_const("x86_64-unknown-openbsd"),
3346        os: Some(Os::openbsd),
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::unwind,
3356    },
3357    TargetInfo {
3358        triple: Triple::new_const("x86_64-unknown-redox"),
3359        os: Some(Os::redox),
3360        abi: None,
3361        arch: Arch::x86_64,
3362        env: Some(Env::relibc),
3363        vendor: Some(Vendor::unknown),
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-unknown-trusty"),
3372        os: Some(Os::trusty),
3373        abi: None,
3374        arch: Arch::x86_64,
3375        env: None,
3376        vendor: Some(Vendor::unknown),
3377        families: Families::new_const(&[]),
3378        pointer_width: 64,
3379        endian: Endian::little,
3380        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3381        panic: Panic::abort,
3382    },
3383    TargetInfo {
3384        triple: Triple::new_const("x86_64-unknown-uefi"),
3385        os: Some(Os::uefi),
3386        abi: None,
3387        arch: Arch::x86_64,
3388        env: None,
3389        vendor: Some(Vendor::unknown),
3390        families: Families::new_const(&[]),
3391        pointer_width: 64,
3392        endian: Endian::little,
3393        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3394        panic: Panic::abort,
3395    },
3396    TargetInfo {
3397        triple: Triple::new_const("x86_64-uwp-windows-gnu"),
3398        os: Some(Os::windows),
3399        abi: Some(Abi::uwp),
3400        arch: Arch::x86_64,
3401        env: Some(Env::gnu),
3402        vendor: Some(Vendor::uwp),
3403        families: Families::windows,
3404        pointer_width: 64,
3405        endian: Endian::little,
3406        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3407        panic: Panic::unwind,
3408    },
3409    TargetInfo {
3410        triple: Triple::new_const("x86_64-uwp-windows-msvc"),
3411        os: Some(Os::windows),
3412        abi: Some(Abi::uwp),
3413        arch: Arch::x86_64,
3414        env: Some(Env::msvc),
3415        vendor: Some(Vendor::uwp),
3416        families: Families::windows,
3417        pointer_width: 64,
3418        endian: Endian::little,
3419        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
3420        panic: Panic::unwind,
3421    },
3422    TargetInfo {
3423        triple: Triple::new_const("x86_64-win7-windows-msvc"),
3424        os: Some(Os::windows),
3425        abi: None,
3426        arch: Arch::x86_64,
3427        env: Some(Env::msvc),
3428        vendor: Some(Vendor::win7),
3429        families: Families::windows,
3430        pointer_width: 64,
3431        endian: Endian::little,
3432        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3433        panic: Panic::unwind,
3434    },
3435    TargetInfo {
3436        triple: Triple::new_const("x86_64-wrs-vxworks"),
3437        os: Some(Os::vxworks),
3438        abi: None,
3439        arch: Arch::x86_64,
3440        env: Some(Env::gnu),
3441        vendor: Some(Vendor::wrs),
3442        families: Families::unix,
3443        pointer_width: 64,
3444        endian: Endian::little,
3445        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3446        panic: Panic::unwind,
3447    },
3448    TargetInfo {
3449        triple: Triple::new_const("x86_64h-apple-darwin"),
3450        os: Some(Os::macos),
3451        abi: None,
3452        arch: Arch::x86_64,
3453        env: None,
3454        vendor: Some(Vendor::apple),
3455        families: Families::unix,
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("xtensa-esp32-espidf"),
3463        os: Some(Os::espidf),
3464        abi: None,
3465        arch: Arch::xtensa,
3466        env: Some(Env::newlib),
3467        vendor: Some(Vendor::espressif),
3468        families: Families::unix,
3469        pointer_width: 32,
3470        endian: Endian::little,
3471        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3472        panic: Panic::abort,
3473    },
3474    TargetInfo {
3475        triple: Triple::new_const("xtensa-esp32-none-elf"),
3476        os: None,
3477        abi: None,
3478        arch: Arch::xtensa,
3479        env: None,
3480        vendor: Some(Vendor::espressif),
3481        families: Families::new_const(&[]),
3482        pointer_width: 32,
3483        endian: Endian::little,
3484        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3485        panic: Panic::abort,
3486    },
3487    TargetInfo {
3488        triple: Triple::new_const("xtensa-esp32s2-espidf"),
3489        os: Some(Os::espidf),
3490        abi: None,
3491        arch: Arch::xtensa,
3492        env: Some(Env::newlib),
3493        vendor: Some(Vendor::espressif),
3494        families: Families::unix,
3495        pointer_width: 32,
3496        endian: Endian::little,
3497        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3498        panic: Panic::abort,
3499    },
3500    TargetInfo {
3501        triple: Triple::new_const("xtensa-esp32s2-none-elf"),
3502        os: None,
3503        abi: None,
3504        arch: Arch::xtensa,
3505        env: None,
3506        vendor: Some(Vendor::espressif),
3507        families: Families::new_const(&[]),
3508        pointer_width: 32,
3509        endian: Endian::little,
3510        has_atomics: HasAtomics::new_const(&[]),
3511        panic: Panic::abort,
3512    },
3513    TargetInfo {
3514        triple: Triple::new_const("xtensa-esp32s3-espidf"),
3515        os: Some(Os::espidf),
3516        abi: None,
3517        arch: Arch::xtensa,
3518        env: Some(Env::newlib),
3519        vendor: Some(Vendor::espressif),
3520        families: Families::unix,
3521        pointer_width: 32,
3522        endian: Endian::little,
3523        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3524        panic: Panic::abort,
3525    },
3526    TargetInfo {
3527        triple: Triple::new_const("xtensa-esp32s3-none-elf"),
3528        os: None,
3529        abi: None,
3530        arch: Arch::xtensa,
3531        env: None,
3532        vendor: Some(Vendor::espressif),
3533        families: Families::new_const(&[]),
3534        pointer_width: 32,
3535        endian: Endian::little,
3536        has_atomics: HasAtomics::atomic_8_16_32_ptr,
3537        panic: Panic::abort,
3538    },
3539];
3540
3541impl super::Abi {
3542    pub const abi64: Abi = Abi::new_const("abi64");
3543    pub const abiv2: Abi = Abi::new_const("abiv2");
3544    pub const abiv2hf: Abi = Abi::new_const("abiv2hf");
3545    pub const eabi: Abi = Abi::new_const("eabi");
3546    pub const eabihf: Abi = Abi::new_const("eabihf");
3547    pub const fortanix: Abi = Abi::new_const("fortanix");
3548    pub const ilp32: Abi = Abi::new_const("ilp32");
3549    pub const llvm: Abi = Abi::new_const("llvm");
3550    pub const macabi: Abi = Abi::new_const("macabi");
3551    pub const sim: Abi = Abi::new_const("sim");
3552    pub const softfloat: Abi = Abi::new_const("softfloat");
3553    pub const spe: Abi = Abi::new_const("spe");
3554    pub const uwp: Abi = Abi::new_const("uwp");
3555    pub const vec_extabi: Abi = Abi::new_const("vec-extabi");
3556    pub const x32: Abi = Abi::new_const("x32");
3557}
3558
3559impl super::Arch {
3560    pub const aarch64: Arch = Arch::new_const("aarch64");
3561    pub const arm: Arch = Arch::new_const("arm");
3562    pub const arm64ec: Arch = Arch::new_const("arm64ec");
3563    pub const avr: Arch = Arch::new_const("avr");
3564    pub const bpf: Arch = Arch::new_const("bpf");
3565    pub const csky: Arch = Arch::new_const("csky");
3566    pub const hexagon: Arch = Arch::new_const("hexagon");
3567    pub const loongarch64: Arch = Arch::new_const("loongarch64");
3568    pub const m68k: Arch = Arch::new_const("m68k");
3569    pub const mips: Arch = Arch::new_const("mips");
3570    pub const mips32r6: Arch = Arch::new_const("mips32r6");
3571    pub const mips64: Arch = Arch::new_const("mips64");
3572    pub const mips64r6: Arch = Arch::new_const("mips64r6");
3573    pub const msp430: Arch = Arch::new_const("msp430");
3574    pub const nvptx64: Arch = Arch::new_const("nvptx64");
3575    pub const powerpc: Arch = Arch::new_const("powerpc");
3576    pub const powerpc64: Arch = Arch::new_const("powerpc64");
3577    pub const riscv32: Arch = Arch::new_const("riscv32");
3578    pub const riscv64: Arch = Arch::new_const("riscv64");
3579    pub const s390x: Arch = Arch::new_const("s390x");
3580    pub const sparc: Arch = Arch::new_const("sparc");
3581    pub const sparc64: Arch = Arch::new_const("sparc64");
3582    pub const wasm32: Arch = Arch::new_const("wasm32");
3583    pub const wasm64: Arch = Arch::new_const("wasm64");
3584    pub const x86: Arch = Arch::new_const("x86");
3585    pub const x86_64: Arch = Arch::new_const("x86_64");
3586    pub const xtensa: Arch = Arch::new_const("xtensa");
3587}
3588
3589impl super::Vendor {
3590    pub const apple: Vendor = Vendor::new_const("apple");
3591    pub const espressif: Vendor = Vendor::new_const("espressif");
3592    pub const fortanix: Vendor = Vendor::new_const("fortanix");
3593    pub const ibm: Vendor = Vendor::new_const("ibm");
3594    pub const kmc: Vendor = Vendor::new_const("kmc");
3595    pub const nintendo: Vendor = Vendor::new_const("nintendo");
3596    pub const nvidia: Vendor = Vendor::new_const("nvidia");
3597    pub const pc: Vendor = Vendor::new_const("pc");
3598    pub const risc0: Vendor = Vendor::new_const("risc0");
3599    pub const sony: Vendor = Vendor::new_const("sony");
3600    pub const sun: Vendor = Vendor::new_const("sun");
3601    pub const unikraft: Vendor = Vendor::new_const("unikraft");
3602    pub const unknown: Vendor = Vendor::new_const("unknown");
3603    pub const uwp: Vendor = Vendor::new_const("uwp");
3604    pub const win7: Vendor = Vendor::new_const("win7");
3605    pub const wrs: Vendor = Vendor::new_const("wrs");
3606}
3607
3608impl super::Os {
3609    pub const aix: Os = Os::new_const("aix");
3610    pub const android: Os = Os::new_const("android");
3611    pub const cuda: Os = Os::new_const("cuda");
3612    pub const dragonfly: Os = Os::new_const("dragonfly");
3613    pub const emscripten: Os = Os::new_const("emscripten");
3614    pub const espidf: Os = Os::new_const("espidf");
3615    pub const freebsd: Os = Os::new_const("freebsd");
3616    pub const fuchsia: Os = Os::new_const("fuchsia");
3617    pub const haiku: Os = Os::new_const("haiku");
3618    pub const hermit: Os = Os::new_const("hermit");
3619    pub const horizon: Os = Os::new_const("horizon");
3620    pub const hurd: Os = Os::new_const("hurd");
3621    pub const illumos: Os = Os::new_const("illumos");
3622    pub const ios: Os = Os::new_const("ios");
3623    pub const l4re: Os = Os::new_const("l4re");
3624    pub const linux: Os = Os::new_const("linux");
3625    pub const macos: Os = Os::new_const("macos");
3626    pub const netbsd: Os = Os::new_const("netbsd");
3627    pub const nto: Os = Os::new_const("nto");
3628    pub const nuttx: Os = Os::new_const("nuttx");
3629    pub const openbsd: Os = Os::new_const("openbsd");
3630    pub const psp: Os = Os::new_const("psp");
3631    pub const redox: Os = Os::new_const("redox");
3632    pub const rtems: Os = Os::new_const("rtems");
3633    pub const solaris: Os = Os::new_const("solaris");
3634    pub const solid_asp3: Os = Os::new_const("solid_asp3");
3635    pub const teeos: Os = Os::new_const("teeos");
3636    pub const trusty: Os = Os::new_const("trusty");
3637    pub const tvos: Os = Os::new_const("tvos");
3638    pub const uefi: Os = Os::new_const("uefi");
3639    pub const unknown: Os = Os::new_const("unknown");
3640    pub const visionos: Os = Os::new_const("visionos");
3641    pub const vita: Os = Os::new_const("vita");
3642    pub const vxworks: Os = Os::new_const("vxworks");
3643    pub const wasi: Os = Os::new_const("wasi");
3644    pub const watchos: Os = Os::new_const("watchos");
3645    pub const windows: Os = Os::new_const("windows");
3646    pub const xous: Os = Os::new_const("xous");
3647    pub const zkvm: Os = Os::new_const("zkvm");
3648}
3649
3650impl super::Family {
3651    pub const unix: Family = Family::new_const("unix");
3652    pub const wasm: Family = Family::new_const("wasm");
3653    pub const windows: Family = Family::new_const("windows");
3654}
3655
3656const __families_unix: &[Family] = &[Family::unix];
3657const __families_unix_wasm: &[Family] = &[Family::unix, Family::wasm];
3658const __families_wasm: &[Family] = &[Family::wasm];
3659const __families_windows: &[Family] = &[Family::windows];
3660
3661impl super::Families {
3662    pub const unix: Families = Families::new_const(__families_unix);
3663    pub const unix_wasm: Families = Families::new_const(__families_unix_wasm);
3664    pub const wasm: Families = Families::new_const(__families_wasm);
3665    pub const windows: Families = Families::new_const(__families_windows);
3666}
3667
3668impl super::Env {
3669    pub const gnu: Env = Env::new_const("gnu");
3670    pub const msvc: Env = Env::new_const("msvc");
3671    pub const musl: Env = Env::new_const("musl");
3672    pub const newlib: Env = Env::new_const("newlib");
3673    pub const nto70: Env = Env::new_const("nto70");
3674    pub const nto71: Env = Env::new_const("nto71");
3675    pub const ohos: Env = Env::new_const("ohos");
3676    pub const p1: Env = Env::new_const("p1");
3677    pub const p2: Env = Env::new_const("p2");
3678    pub const psx: Env = Env::new_const("psx");
3679    pub const relibc: Env = Env::new_const("relibc");
3680    pub const sgx: Env = Env::new_const("sgx");
3681    pub const uclibc: Env = Env::new_const("uclibc");
3682}
3683
3684const __has_atomics_8_16_32_64_128_ptr: &[HasAtomic] = &[
3685    HasAtomic::IntegerSize(8),
3686    HasAtomic::IntegerSize(16),
3687    HasAtomic::IntegerSize(32),
3688    HasAtomic::IntegerSize(64),
3689    HasAtomic::IntegerSize(128),
3690    HasAtomic::Pointer,
3691];
3692const __has_atomics_8_16_32_64_ptr: &[HasAtomic] = &[
3693    HasAtomic::IntegerSize(8),
3694    HasAtomic::IntegerSize(16),
3695    HasAtomic::IntegerSize(32),
3696    HasAtomic::IntegerSize(64),
3697    HasAtomic::Pointer,
3698];
3699const __has_atomics_8_16_32_ptr: &[HasAtomic] = &[
3700    HasAtomic::IntegerSize(8),
3701    HasAtomic::IntegerSize(16),
3702    HasAtomic::IntegerSize(32),
3703    HasAtomic::Pointer,
3704];
3705
3706impl super::HasAtomics {
3707    pub const atomic_8_16_32_64_128_ptr: HasAtomics =
3708        HasAtomics::new_const(__has_atomics_8_16_32_64_128_ptr);
3709    pub const atomic_8_16_32_64_ptr: HasAtomics =
3710        HasAtomics::new_const(__has_atomics_8_16_32_64_ptr);
3711    pub const atomic_8_16_32_ptr: HasAtomics = HasAtomics::new_const(__has_atomics_8_16_32_ptr);
3712}
3713
3714impl super::Panic {
3715    pub const abort: Panic = Panic::new_const("abort");
3716    pub const unwind: Panic = Panic::new_const("unwind");
3717}