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.77.2";
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: None,
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: None,
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: None,
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-watchos"),
96        os: Some(Os::watchos),
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-watchos-sim"),
109        os: Some(Os::watchos),
110        abi: None,
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-fuchsia"),
122        os: Some(Os::fuchsia),
123        abi: None,
124        arch: Arch::aarch64,
125        env: None,
126        vendor: Some(Vendor::unknown),
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-kmc-solid_asp3"),
135        os: Some(Os::solid_asp3),
136        abi: None,
137        arch: Arch::aarch64,
138        env: None,
139        vendor: Some(Vendor::kmc),
140        families: Families::new_const(&[]),
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-linux-android"),
148        os: Some(Os::android),
149        abi: None,
150        arch: Arch::aarch64,
151        env: None,
152        vendor: Some(Vendor::unknown),
153        families: Families::unix,
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-nintendo-switch-freestanding"),
161        os: Some(Os::horizon),
162        abi: None,
163        arch: Arch::aarch64,
164        env: None,
165        vendor: Some(Vendor::unknown),
166        families: Families::new_const(&[]),
167        pointer_width: 64,
168        endian: Endian::little,
169        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
170        panic: Panic::abort,
171    },
172    TargetInfo {
173        triple: Triple::new_const("aarch64-pc-windows-gnullvm"),
174        os: Some(Os::windows),
175        abi: None,
176        arch: Arch::aarch64,
177        env: Some(Env::gnu),
178        vendor: Some(Vendor::pc),
179        families: Families::windows,
180        pointer_width: 64,
181        endian: Endian::little,
182        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
183        panic: Panic::unwind,
184    },
185    TargetInfo {
186        triple: Triple::new_const("aarch64-pc-windows-msvc"),
187        os: Some(Os::windows),
188        abi: None,
189        arch: Arch::aarch64,
190        env: Some(Env::msvc),
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-unknown-freebsd"),
200        os: Some(Os::freebsd),
201        abi: None,
202        arch: Arch::aarch64,
203        env: None,
204        vendor: Some(Vendor::unknown),
205        families: Families::unix,
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-fuchsia"),
213        os: Some(Os::fuchsia),
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-hermit"),
226        os: Some(Os::hermit),
227        abi: None,
228        arch: Arch::aarch64,
229        env: None,
230        vendor: Some(Vendor::unknown),
231        families: Families::new_const(&[]),
232        pointer_width: 64,
233        endian: Endian::little,
234        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
235        panic: Panic::abort,
236    },
237    TargetInfo {
238        triple: Triple::new_const("aarch64-unknown-illumos"),
239        os: Some(Os::illumos),
240        abi: None,
241        arch: Arch::aarch64,
242        env: None,
243        vendor: Some(Vendor::unknown),
244        families: Families::unix,
245        pointer_width: 64,
246        endian: Endian::little,
247        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
248        panic: Panic::unwind,
249    },
250    TargetInfo {
251        triple: Triple::new_const("aarch64-unknown-linux-gnu"),
252        os: Some(Os::linux),
253        abi: None,
254        arch: Arch::aarch64,
255        env: Some(Env::gnu),
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_ilp32"),
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: 32,
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-musl"),
278        os: Some(Os::linux),
279        abi: None,
280        arch: Arch::aarch64,
281        env: Some(Env::musl),
282        vendor: Some(Vendor::unknown),
283        families: Families::unix,
284        pointer_width: 64,
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-ohos"),
291        os: Some(Os::linux),
292        abi: None,
293        arch: Arch::aarch64,
294        env: Some(Env::ohos),
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-netbsd"),
304        os: Some(Os::netbsd),
305        abi: None,
306        arch: Arch::aarch64,
307        env: None,
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-none"),
317        os: None,
318        abi: None,
319        arch: Arch::aarch64,
320        env: None,
321        vendor: Some(Vendor::unknown),
322        families: Families::new_const(&[]),
323        pointer_width: 64,
324        endian: Endian::little,
325        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
326        panic: Panic::abort,
327    },
328    TargetInfo {
329        triple: Triple::new_const("aarch64-unknown-none-softfloat"),
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-nto-qnx710"),
343        os: Some(Os::nto),
344        abi: None,
345        arch: Arch::aarch64,
346        env: Some(Env::nto71),
347        vendor: Some(Vendor::unknown),
348        families: Families::unix,
349        pointer_width: 64,
350        endian: Endian::little,
351        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
352        panic: Panic::unwind,
353    },
354    TargetInfo {
355        triple: Triple::new_const("aarch64-unknown-openbsd"),
356        os: Some(Os::openbsd),
357        abi: None,
358        arch: Arch::aarch64,
359        env: None,
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-redox"),
369        os: Some(Os::redox),
370        abi: None,
371        arch: Arch::aarch64,
372        env: Some(Env::relibc),
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-teeos"),
382        os: Some(Os::teeos),
383        abi: None,
384        arch: Arch::aarch64,
385        env: None,
386        vendor: Some(Vendor::unknown),
387        families: Families::new_const(&[]),
388        pointer_width: 64,
389        endian: Endian::little,
390        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
391        panic: Panic::abort,
392    },
393    TargetInfo {
394        triple: Triple::new_const("aarch64-unknown-uefi"),
395        os: Some(Os::uefi),
396        abi: None,
397        arch: Arch::aarch64,
398        env: None,
399        vendor: Some(Vendor::unknown),
400        families: Families::new_const(&[]),
401        pointer_width: 64,
402        endian: Endian::little,
403        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
404        panic: Panic::abort,
405    },
406    TargetInfo {
407        triple: Triple::new_const("aarch64-uwp-windows-msvc"),
408        os: Some(Os::windows),
409        abi: None,
410        arch: Arch::aarch64,
411        env: Some(Env::msvc),
412        vendor: Some(Vendor::uwp),
413        families: Families::windows,
414        pointer_width: 64,
415        endian: Endian::little,
416        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
417        panic: Panic::unwind,
418    },
419    TargetInfo {
420        triple: Triple::new_const("aarch64-wrs-vxworks"),
421        os: Some(Os::vxworks),
422        abi: None,
423        arch: Arch::aarch64,
424        env: Some(Env::gnu),
425        vendor: Some(Vendor::wrs),
426        families: Families::unix,
427        pointer_width: 64,
428        endian: Endian::little,
429        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
430        panic: Panic::unwind,
431    },
432    TargetInfo {
433        triple: Triple::new_const("aarch64_be-unknown-linux-gnu"),
434        os: Some(Os::linux),
435        abi: None,
436        arch: Arch::aarch64,
437        env: Some(Env::gnu),
438        vendor: Some(Vendor::unknown),
439        families: Families::unix,
440        pointer_width: 64,
441        endian: Endian::big,
442        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
443        panic: Panic::unwind,
444    },
445    TargetInfo {
446        triple: Triple::new_const("aarch64_be-unknown-linux-gnu_ilp32"),
447        os: Some(Os::linux),
448        abi: None,
449        arch: Arch::aarch64,
450        env: Some(Env::gnu),
451        vendor: Some(Vendor::unknown),
452        families: Families::unix,
453        pointer_width: 32,
454        endian: Endian::big,
455        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
456        panic: Panic::unwind,
457    },
458    TargetInfo {
459        triple: Triple::new_const("aarch64_be-unknown-netbsd"),
460        os: Some(Os::netbsd),
461        abi: None,
462        arch: Arch::aarch64,
463        env: None,
464        vendor: Some(Vendor::unknown),
465        families: Families::unix,
466        pointer_width: 64,
467        endian: Endian::big,
468        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
469        panic: Panic::unwind,
470    },
471    TargetInfo {
472        triple: Triple::new_const("arm-linux-androideabi"),
473        os: Some(Os::android),
474        abi: None,
475        arch: Arch::arm,
476        env: None,
477        vendor: Some(Vendor::unknown),
478        families: Families::unix,
479        pointer_width: 32,
480        endian: Endian::little,
481        has_atomics: HasAtomics::atomic_8_16_32_ptr,
482        panic: Panic::unwind,
483    },
484    TargetInfo {
485        triple: Triple::new_const("arm-unknown-linux-gnueabi"),
486        os: Some(Os::linux),
487        abi: None,
488        arch: Arch::arm,
489        env: Some(Env::gnu),
490        vendor: Some(Vendor::unknown),
491        families: Families::unix,
492        pointer_width: 32,
493        endian: Endian::little,
494        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
495        panic: Panic::unwind,
496    },
497    TargetInfo {
498        triple: Triple::new_const("arm-unknown-linux-gnueabihf"),
499        os: Some(Os::linux),
500        abi: None,
501        arch: Arch::arm,
502        env: Some(Env::gnu),
503        vendor: Some(Vendor::unknown),
504        families: Families::unix,
505        pointer_width: 32,
506        endian: Endian::little,
507        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
508        panic: Panic::unwind,
509    },
510    TargetInfo {
511        triple: Triple::new_const("arm-unknown-linux-musleabi"),
512        os: Some(Os::linux),
513        abi: None,
514        arch: Arch::arm,
515        env: Some(Env::musl),
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_64_ptr,
521        panic: Panic::unwind,
522    },
523    TargetInfo {
524        triple: Triple::new_const("arm-unknown-linux-musleabihf"),
525        os: Some(Os::linux),
526        abi: None,
527        arch: Arch::arm,
528        env: Some(Env::musl),
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("arm64_32-apple-watchos"),
538        os: Some(Os::watchos),
539        abi: None,
540        arch: Arch::aarch64,
541        env: None,
542        vendor: Some(Vendor::apple),
543        families: Families::unix,
544        pointer_width: 32,
545        endian: Endian::little,
546        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
547        panic: Panic::unwind,
548    },
549    TargetInfo {
550        triple: Triple::new_const("arm64e-apple-darwin"),
551        os: Some(Os::macos),
552        abi: None,
553        arch: Arch::aarch64,
554        env: None,
555        vendor: Some(Vendor::apple),
556        families: Families::unix,
557        pointer_width: 64,
558        endian: Endian::little,
559        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
560        panic: Panic::unwind,
561    },
562    TargetInfo {
563        triple: Triple::new_const("arm64e-apple-ios"),
564        os: Some(Os::ios),
565        abi: None,
566        arch: Arch::aarch64,
567        env: None,
568        vendor: Some(Vendor::apple),
569        families: Families::unix,
570        pointer_width: 64,
571        endian: Endian::little,
572        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
573        panic: Panic::unwind,
574    },
575    TargetInfo {
576        triple: Triple::new_const("armeb-unknown-linux-gnueabi"),
577        os: Some(Os::linux),
578        abi: None,
579        arch: Arch::arm,
580        env: Some(Env::gnu),
581        vendor: Some(Vendor::unknown),
582        families: Families::unix,
583        pointer_width: 32,
584        endian: Endian::big,
585        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
586        panic: Panic::unwind,
587    },
588    TargetInfo {
589        triple: Triple::new_const("armebv7r-none-eabi"),
590        os: None,
591        abi: None,
592        arch: Arch::arm,
593        env: None,
594        vendor: Some(Vendor::unknown),
595        families: Families::new_const(&[]),
596        pointer_width: 32,
597        endian: Endian::big,
598        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
599        panic: Panic::abort,
600    },
601    TargetInfo {
602        triple: Triple::new_const("armebv7r-none-eabihf"),
603        os: None,
604        abi: None,
605        arch: Arch::arm,
606        env: None,
607        vendor: Some(Vendor::unknown),
608        families: Families::new_const(&[]),
609        pointer_width: 32,
610        endian: Endian::big,
611        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
612        panic: Panic::abort,
613    },
614    TargetInfo {
615        triple: Triple::new_const("armv4t-none-eabi"),
616        os: None,
617        abi: None,
618        arch: Arch::arm,
619        env: None,
620        vendor: Some(Vendor::unknown),
621        families: Families::new_const(&[]),
622        pointer_width: 32,
623        endian: Endian::little,
624        has_atomics: HasAtomics::new_const(&[]),
625        panic: Panic::abort,
626    },
627    TargetInfo {
628        triple: Triple::new_const("armv4t-unknown-linux-gnueabi"),
629        os: Some(Os::linux),
630        abi: None,
631        arch: Arch::arm,
632        env: Some(Env::gnu),
633        vendor: Some(Vendor::unknown),
634        families: Families::unix,
635        pointer_width: 32,
636        endian: Endian::little,
637        has_atomics: HasAtomics::atomic_8_16_32_ptr,
638        panic: Panic::unwind,
639    },
640    TargetInfo {
641        triple: Triple::new_const("armv5te-none-eabi"),
642        os: None,
643        abi: None,
644        arch: Arch::arm,
645        env: None,
646        vendor: Some(Vendor::unknown),
647        families: Families::new_const(&[]),
648        pointer_width: 32,
649        endian: Endian::little,
650        has_atomics: HasAtomics::new_const(&[]),
651        panic: Panic::abort,
652    },
653    TargetInfo {
654        triple: Triple::new_const("armv5te-unknown-linux-gnueabi"),
655        os: Some(Os::linux),
656        abi: None,
657        arch: Arch::arm,
658        env: Some(Env::gnu),
659        vendor: Some(Vendor::unknown),
660        families: Families::unix,
661        pointer_width: 32,
662        endian: Endian::little,
663        has_atomics: HasAtomics::atomic_8_16_32_ptr,
664        panic: Panic::unwind,
665    },
666    TargetInfo {
667        triple: Triple::new_const("armv5te-unknown-linux-musleabi"),
668        os: Some(Os::linux),
669        abi: None,
670        arch: Arch::arm,
671        env: Some(Env::musl),
672        vendor: Some(Vendor::unknown),
673        families: Families::unix,
674        pointer_width: 32,
675        endian: Endian::little,
676        has_atomics: HasAtomics::atomic_8_16_32_ptr,
677        panic: Panic::unwind,
678    },
679    TargetInfo {
680        triple: Triple::new_const("armv5te-unknown-linux-uclibceabi"),
681        os: Some(Os::linux),
682        abi: None,
683        arch: Arch::arm,
684        env: Some(Env::uclibc),
685        vendor: Some(Vendor::unknown),
686        families: Families::unix,
687        pointer_width: 32,
688        endian: Endian::little,
689        has_atomics: HasAtomics::atomic_8_16_32_ptr,
690        panic: Panic::unwind,
691    },
692    TargetInfo {
693        triple: Triple::new_const("armv6-unknown-freebsd"),
694        os: Some(Os::freebsd),
695        abi: None,
696        arch: Arch::arm,
697        env: Some(Env::gnueabihf),
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_64_ptr,
703        panic: Panic::unwind,
704    },
705    TargetInfo {
706        triple: Triple::new_const("armv6-unknown-netbsd-eabihf"),
707        os: Some(Os::netbsd),
708        abi: None,
709        arch: Arch::arm,
710        env: Some(Env::eabihf),
711        vendor: Some(Vendor::unknown),
712        families: Families::unix,
713        pointer_width: 32,
714        endian: Endian::little,
715        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
716        panic: Panic::unwind,
717    },
718    TargetInfo {
719        triple: Triple::new_const("armv6k-nintendo-3ds"),
720        os: Some(Os::horizon),
721        abi: None,
722        arch: Arch::arm,
723        env: Some(Env::newlib),
724        vendor: Some(Vendor::nintendo),
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("armv7-linux-androideabi"),
733        os: Some(Os::android),
734        abi: None,
735        arch: Arch::arm,
736        env: None,
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_64_ptr,
742        panic: Panic::unwind,
743    },
744    TargetInfo {
745        triple: Triple::new_const("armv7-sony-vita-newlibeabihf"),
746        os: Some(Os::vita),
747        abi: None,
748        arch: Arch::arm,
749        env: Some(Env::newlib),
750        vendor: Some(Vendor::sony),
751        families: Families::unix,
752        pointer_width: 32,
753        endian: Endian::little,
754        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
755        panic: Panic::unwind,
756    },
757    TargetInfo {
758        triple: Triple::new_const("armv7-unknown-freebsd"),
759        os: Some(Os::freebsd),
760        abi: None,
761        arch: Arch::arm,
762        env: Some(Env::gnueabihf),
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("armv7-unknown-linux-gnueabi"),
772        os: Some(Os::linux),
773        abi: None,
774        arch: Arch::arm,
775        env: Some(Env::gnu),
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("armv7-unknown-linux-gnueabihf"),
785        os: Some(Os::linux),
786        abi: None,
787        arch: Arch::arm,
788        env: Some(Env::gnu),
789        vendor: Some(Vendor::unknown),
790        families: Families::unix,
791        pointer_width: 32,
792        endian: Endian::little,
793        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
794        panic: Panic::unwind,
795    },
796    TargetInfo {
797        triple: Triple::new_const("armv7-unknown-linux-musleabi"),
798        os: Some(Os::linux),
799        abi: None,
800        arch: Arch::arm,
801        env: Some(Env::musl),
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-unknown-linux-musleabihf"),
811        os: Some(Os::linux),
812        abi: None,
813        arch: Arch::arm,
814        env: Some(Env::musl),
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::unwind,
821    },
822    TargetInfo {
823        triple: Triple::new_const("armv7-unknown-linux-ohos"),
824        os: Some(Os::linux),
825        abi: None,
826        arch: Arch::arm,
827        env: Some(Env::ohos),
828        vendor: Some(Vendor::unknown),
829        families: Families::unix,
830        pointer_width: 32,
831        endian: Endian::little,
832        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
833        panic: Panic::unwind,
834    },
835    TargetInfo {
836        triple: Triple::new_const("armv7-unknown-linux-uclibceabi"),
837        os: Some(Os::linux),
838        abi: None,
839        arch: Arch::arm,
840        env: Some(Env::uclibc),
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-uclibceabihf"),
850        os: Some(Os::linux),
851        abi: None,
852        arch: Arch::arm,
853        env: Some(Env::uclibc),
854        vendor: Some(Vendor::unknown),
855        families: Families::unix,
856        pointer_width: 32,
857        endian: Endian::little,
858        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
859        panic: Panic::unwind,
860    },
861    TargetInfo {
862        triple: Triple::new_const("armv7-unknown-netbsd-eabihf"),
863        os: Some(Os::netbsd),
864        abi: None,
865        arch: Arch::arm,
866        env: Some(Env::eabihf),
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-wrs-vxworks-eabihf"),
876        os: Some(Os::vxworks),
877        abi: None,
878        arch: Arch::arm,
879        env: Some(Env::gnu),
880        vendor: Some(Vendor::wrs),
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("armv7a-kmc-solid_asp3-eabi"),
889        os: Some(Os::solid_asp3),
890        abi: None,
891        arch: Arch::arm,
892        env: None,
893        vendor: Some(Vendor::kmc),
894        families: Families::new_const(&[]),
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("armv7a-kmc-solid_asp3-eabihf"),
902        os: Some(Os::solid_asp3),
903        abi: None,
904        arch: Arch::arm,
905        env: None,
906        vendor: Some(Vendor::kmc),
907        families: Families::new_const(&[]),
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("armv7a-none-eabi"),
915        os: None,
916        abi: None,
917        arch: Arch::arm,
918        env: None,
919        vendor: Some(Vendor::unknown),
920        families: Families::new_const(&[]),
921        pointer_width: 32,
922        endian: Endian::little,
923        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
924        panic: Panic::abort,
925    },
926    TargetInfo {
927        triple: Triple::new_const("armv7a-none-eabihf"),
928        os: None,
929        abi: None,
930        arch: Arch::arm,
931        env: None,
932        vendor: Some(Vendor::unknown),
933        families: Families::new_const(&[]),
934        pointer_width: 32,
935        endian: Endian::little,
936        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
937        panic: Panic::abort,
938    },
939    TargetInfo {
940        triple: Triple::new_const("armv7k-apple-watchos"),
941        os: Some(Os::watchos),
942        abi: None,
943        arch: Arch::arm,
944        env: None,
945        vendor: Some(Vendor::apple),
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("armv7r-none-eabi"),
954        os: None,
955        abi: None,
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("armv7r-none-eabihf"),
967        os: None,
968        abi: None,
969        arch: Arch::arm,
970        env: None,
971        vendor: Some(Vendor::unknown),
972        families: Families::new_const(&[]),
973        pointer_width: 32,
974        endian: Endian::little,
975        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
976        panic: Panic::abort,
977    },
978    TargetInfo {
979        triple: Triple::new_const("armv7s-apple-ios"),
980        os: Some(Os::ios),
981        abi: None,
982        arch: Arch::arm,
983        env: None,
984        vendor: Some(Vendor::apple),
985        families: Families::unix,
986        pointer_width: 32,
987        endian: Endian::little,
988        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
989        panic: Panic::unwind,
990    },
991    TargetInfo {
992        triple: Triple::new_const("avr-unknown-gnu-atmega328"),
993        os: None,
994        abi: None,
995        arch: Arch::avr,
996        env: None,
997        vendor: Some(Vendor::unknown),
998        families: Families::new_const(&[]),
999        pointer_width: 16,
1000        endian: Endian::little,
1001        has_atomics: HasAtomics::new_const(&[]),
1002        panic: Panic::unwind,
1003    },
1004    TargetInfo {
1005        triple: Triple::new_const("bpfeb-unknown-none"),
1006        os: None,
1007        abi: None,
1008        arch: Arch::bpf,
1009        env: None,
1010        vendor: Some(Vendor::unknown),
1011        families: Families::new_const(&[]),
1012        pointer_width: 64,
1013        endian: Endian::big,
1014        has_atomics: HasAtomics::new_const(&[]),
1015        panic: Panic::abort,
1016    },
1017    TargetInfo {
1018        triple: Triple::new_const("bpfel-unknown-none"),
1019        os: None,
1020        abi: None,
1021        arch: Arch::bpf,
1022        env: None,
1023        vendor: Some(Vendor::unknown),
1024        families: Families::new_const(&[]),
1025        pointer_width: 64,
1026        endian: Endian::little,
1027        has_atomics: HasAtomics::new_const(&[]),
1028        panic: Panic::abort,
1029    },
1030    TargetInfo {
1031        triple: Triple::new_const("csky-unknown-linux-gnuabiv2"),
1032        os: Some(Os::linux),
1033        abi: None,
1034        arch: Arch::csky,
1035        env: Some(Env::gnu),
1036        vendor: Some(Vendor::unknown),
1037        families: Families::unix,
1038        pointer_width: 32,
1039        endian: Endian::little,
1040        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1041        panic: Panic::unwind,
1042    },
1043    TargetInfo {
1044        triple: Triple::new_const("csky-unknown-linux-gnuabiv2hf"),
1045        os: Some(Os::linux),
1046        abi: None,
1047        arch: Arch::csky,
1048        env: Some(Env::gnu),
1049        vendor: Some(Vendor::unknown),
1050        families: Families::unix,
1051        pointer_width: 32,
1052        endian: Endian::little,
1053        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1054        panic: Panic::unwind,
1055    },
1056    TargetInfo {
1057        triple: Triple::new_const("hexagon-unknown-linux-musl"),
1058        os: Some(Os::linux),
1059        abi: None,
1060        arch: Arch::hexagon,
1061        env: Some(Env::musl),
1062        vendor: Some(Vendor::unknown),
1063        families: Families::unix,
1064        pointer_width: 32,
1065        endian: Endian::little,
1066        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1067        panic: Panic::unwind,
1068    },
1069    TargetInfo {
1070        triple: Triple::new_const("hexagon-unknown-none-elf"),
1071        os: None,
1072        abi: None,
1073        arch: Arch::hexagon,
1074        env: None,
1075        vendor: Some(Vendor::unknown),
1076        families: Families::new_const(&[]),
1077        pointer_width: 32,
1078        endian: Endian::little,
1079        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1080        panic: Panic::abort,
1081    },
1082    TargetInfo {
1083        triple: Triple::new_const("i386-apple-ios"),
1084        os: Some(Os::ios),
1085        abi: None,
1086        arch: Arch::x86,
1087        env: None,
1088        vendor: Some(Vendor::apple),
1089        families: Families::unix,
1090        pointer_width: 32,
1091        endian: Endian::little,
1092        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1093        panic: Panic::unwind,
1094    },
1095    TargetInfo {
1096        triple: Triple::new_const("i586-pc-nto-qnx700"),
1097        os: Some(Os::nto),
1098        abi: None,
1099        arch: Arch::x86,
1100        env: Some(Env::nto70),
1101        vendor: Some(Vendor::unknown),
1102        families: Families::unix,
1103        pointer_width: 32,
1104        endian: Endian::little,
1105        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1106        panic: Panic::unwind,
1107    },
1108    TargetInfo {
1109        triple: Triple::new_const("i586-pc-windows-msvc"),
1110        os: Some(Os::windows),
1111        abi: None,
1112        arch: Arch::x86,
1113        env: Some(Env::msvc),
1114        vendor: Some(Vendor::pc),
1115        families: Families::windows,
1116        pointer_width: 32,
1117        endian: Endian::little,
1118        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1119        panic: Panic::unwind,
1120    },
1121    TargetInfo {
1122        triple: Triple::new_const("i586-unknown-linux-gnu"),
1123        os: Some(Os::linux),
1124        abi: None,
1125        arch: Arch::x86,
1126        env: Some(Env::gnu),
1127        vendor: Some(Vendor::unknown),
1128        families: Families::unix,
1129        pointer_width: 32,
1130        endian: Endian::little,
1131        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1132        panic: Panic::unwind,
1133    },
1134    TargetInfo {
1135        triple: Triple::new_const("i586-unknown-linux-musl"),
1136        os: Some(Os::linux),
1137        abi: None,
1138        arch: Arch::x86,
1139        env: Some(Env::musl),
1140        vendor: Some(Vendor::unknown),
1141        families: Families::unix,
1142        pointer_width: 32,
1143        endian: Endian::little,
1144        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1145        panic: Panic::unwind,
1146    },
1147    TargetInfo {
1148        triple: Triple::new_const("i586-unknown-netbsd"),
1149        os: Some(Os::netbsd),
1150        abi: None,
1151        arch: Arch::x86,
1152        env: None,
1153        vendor: Some(Vendor::unknown),
1154        families: Families::unix,
1155        pointer_width: 32,
1156        endian: Endian::little,
1157        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1158        panic: Panic::unwind,
1159    },
1160    TargetInfo {
1161        triple: Triple::new_const("i686-apple-darwin"),
1162        os: Some(Os::macos),
1163        abi: None,
1164        arch: Arch::x86,
1165        env: None,
1166        vendor: Some(Vendor::apple),
1167        families: Families::unix,
1168        pointer_width: 32,
1169        endian: Endian::little,
1170        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1171        panic: Panic::unwind,
1172    },
1173    TargetInfo {
1174        triple: Triple::new_const("i686-linux-android"),
1175        os: Some(Os::android),
1176        abi: None,
1177        arch: Arch::x86,
1178        env: None,
1179        vendor: Some(Vendor::unknown),
1180        families: Families::unix,
1181        pointer_width: 32,
1182        endian: Endian::little,
1183        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1184        panic: Panic::unwind,
1185    },
1186    TargetInfo {
1187        triple: Triple::new_const("i686-pc-windows-gnu"),
1188        os: Some(Os::windows),
1189        abi: None,
1190        arch: Arch::x86,
1191        env: Some(Env::gnu),
1192        vendor: Some(Vendor::pc),
1193        families: Families::windows,
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("i686-pc-windows-gnullvm"),
1201        os: Some(Os::windows),
1202        abi: None,
1203        arch: Arch::x86,
1204        env: Some(Env::gnu),
1205        vendor: Some(Vendor::pc),
1206        families: Families::windows,
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("i686-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("i686-unknown-freebsd"),
1227        os: Some(Os::freebsd),
1228        abi: None,
1229        arch: Arch::x86,
1230        env: None,
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("i686-unknown-haiku"),
1240        os: Some(Os::haiku),
1241        abi: None,
1242        arch: Arch::x86,
1243        env: None,
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("i686-unknown-hurd-gnu"),
1253        os: Some(Os::hurd),
1254        abi: None,
1255        arch: Arch::x86,
1256        env: Some(Env::gnu),
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-unknown-linux-gnu"),
1266        os: Some(Os::linux),
1267        abi: None,
1268        arch: Arch::x86,
1269        env: Some(Env::gnu),
1270        vendor: Some(Vendor::unknown),
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-unknown-linux-musl"),
1279        os: Some(Os::linux),
1280        abi: None,
1281        arch: Arch::x86,
1282        env: Some(Env::musl),
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-unknown-netbsd"),
1292        os: Some(Os::netbsd),
1293        abi: None,
1294        arch: Arch::x86,
1295        env: None,
1296        vendor: Some(Vendor::unknown),
1297        families: Families::unix,
1298        pointer_width: 32,
1299        endian: Endian::little,
1300        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1301        panic: Panic::unwind,
1302    },
1303    TargetInfo {
1304        triple: Triple::new_const("i686-unknown-openbsd"),
1305        os: Some(Os::openbsd),
1306        abi: None,
1307        arch: Arch::x86,
1308        env: None,
1309        vendor: Some(Vendor::unknown),
1310        families: Families::unix,
1311        pointer_width: 32,
1312        endian: Endian::little,
1313        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1314        panic: Panic::unwind,
1315    },
1316    TargetInfo {
1317        triple: Triple::new_const("i686-unknown-uefi"),
1318        os: Some(Os::uefi),
1319        abi: None,
1320        arch: Arch::x86,
1321        env: None,
1322        vendor: Some(Vendor::unknown),
1323        families: Families::new_const(&[]),
1324        pointer_width: 32,
1325        endian: Endian::little,
1326        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1327        panic: Panic::abort,
1328    },
1329    TargetInfo {
1330        triple: Triple::new_const("i686-uwp-windows-gnu"),
1331        os: Some(Os::windows),
1332        abi: None,
1333        arch: Arch::x86,
1334        env: Some(Env::gnu),
1335        vendor: Some(Vendor::uwp),
1336        families: Families::windows,
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-uwp-windows-msvc"),
1344        os: Some(Os::windows),
1345        abi: None,
1346        arch: Arch::x86,
1347        env: Some(Env::msvc),
1348        vendor: Some(Vendor::uwp),
1349        families: Families::windows,
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-win7-windows-msvc"),
1357        os: Some(Os::windows),
1358        abi: None,
1359        arch: Arch::x86,
1360        env: Some(Env::msvc),
1361        vendor: Some(Vendor::win7),
1362        families: Families::windows,
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-wrs-vxworks"),
1370        os: Some(Os::vxworks),
1371        abi: None,
1372        arch: Arch::x86,
1373        env: Some(Env::gnu),
1374        vendor: Some(Vendor::wrs),
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("loongarch64-unknown-linux-gnu"),
1383        os: Some(Os::linux),
1384        abi: None,
1385        arch: Arch::loongarch64,
1386        env: Some(Env::gnu),
1387        vendor: Some(Vendor::unknown),
1388        families: Families::unix,
1389        pointer_width: 64,
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("loongarch64-unknown-none"),
1396        os: None,
1397        abi: None,
1398        arch: Arch::loongarch64,
1399        env: None,
1400        vendor: Some(Vendor::unknown),
1401        families: Families::new_const(&[]),
1402        pointer_width: 64,
1403        endian: Endian::little,
1404        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1405        panic: Panic::abort,
1406    },
1407    TargetInfo {
1408        triple: Triple::new_const("loongarch64-unknown-none-softfloat"),
1409        os: None,
1410        abi: None,
1411        arch: Arch::loongarch64,
1412        env: None,
1413        vendor: Some(Vendor::unknown),
1414        families: Families::new_const(&[]),
1415        pointer_width: 64,
1416        endian: Endian::little,
1417        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1418        panic: Panic::abort,
1419    },
1420    TargetInfo {
1421        triple: Triple::new_const("m68k-unknown-linux-gnu"),
1422        os: Some(Os::linux),
1423        abi: None,
1424        arch: Arch::m68k,
1425        env: Some(Env::gnu),
1426        vendor: Some(Vendor::unknown),
1427        families: Families::unix,
1428        pointer_width: 32,
1429        endian: Endian::big,
1430        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1431        panic: Panic::unwind,
1432    },
1433    TargetInfo {
1434        triple: Triple::new_const("mips-unknown-linux-gnu"),
1435        os: Some(Os::linux),
1436        abi: None,
1437        arch: Arch::mips,
1438        env: Some(Env::gnu),
1439        vendor: Some(Vendor::unknown),
1440        families: Families::unix,
1441        pointer_width: 32,
1442        endian: Endian::big,
1443        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1444        panic: Panic::unwind,
1445    },
1446    TargetInfo {
1447        triple: Triple::new_const("mips-unknown-linux-musl"),
1448        os: Some(Os::linux),
1449        abi: None,
1450        arch: Arch::mips,
1451        env: Some(Env::musl),
1452        vendor: Some(Vendor::unknown),
1453        families: Families::unix,
1454        pointer_width: 32,
1455        endian: Endian::big,
1456        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1457        panic: Panic::unwind,
1458    },
1459    TargetInfo {
1460        triple: Triple::new_const("mips-unknown-linux-uclibc"),
1461        os: Some(Os::linux),
1462        abi: None,
1463        arch: Arch::mips,
1464        env: Some(Env::uclibc),
1465        vendor: Some(Vendor::unknown),
1466        families: Families::unix,
1467        pointer_width: 32,
1468        endian: Endian::big,
1469        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1470        panic: Panic::unwind,
1471    },
1472    TargetInfo {
1473        triple: Triple::new_const("mips64-openwrt-linux-musl"),
1474        os: Some(Os::linux),
1475        abi: None,
1476        arch: Arch::mips64,
1477        env: Some(Env::musl),
1478        vendor: Some(Vendor::unknown),
1479        families: Families::unix,
1480        pointer_width: 64,
1481        endian: Endian::big,
1482        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1483        panic: Panic::unwind,
1484    },
1485    TargetInfo {
1486        triple: Triple::new_const("mips64-unknown-linux-gnuabi64"),
1487        os: Some(Os::linux),
1488        abi: None,
1489        arch: Arch::mips64,
1490        env: Some(Env::gnu),
1491        vendor: Some(Vendor::unknown),
1492        families: Families::unix,
1493        pointer_width: 64,
1494        endian: Endian::big,
1495        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1496        panic: Panic::unwind,
1497    },
1498    TargetInfo {
1499        triple: Triple::new_const("mips64-unknown-linux-muslabi64"),
1500        os: Some(Os::linux),
1501        abi: None,
1502        arch: Arch::mips64,
1503        env: Some(Env::musl),
1504        vendor: Some(Vendor::unknown),
1505        families: Families::unix,
1506        pointer_width: 64,
1507        endian: Endian::big,
1508        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1509        panic: Panic::unwind,
1510    },
1511    TargetInfo {
1512        triple: Triple::new_const("mips64el-unknown-linux-gnuabi64"),
1513        os: Some(Os::linux),
1514        abi: None,
1515        arch: Arch::mips64,
1516        env: Some(Env::gnu),
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("mips64el-unknown-linux-muslabi64"),
1526        os: Some(Os::linux),
1527        abi: None,
1528        arch: Arch::mips64,
1529        env: Some(Env::musl),
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("mipsel-sony-psp"),
1539        os: Some(Os::psp),
1540        abi: None,
1541        arch: Arch::mips,
1542        env: None,
1543        vendor: Some(Vendor::sony),
1544        families: Families::new_const(&[]),
1545        pointer_width: 32,
1546        endian: Endian::little,
1547        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1548        panic: Panic::unwind,
1549    },
1550    TargetInfo {
1551        triple: Triple::new_const("mipsel-sony-psx"),
1552        os: None,
1553        abi: None,
1554        arch: Arch::mips,
1555        env: Some(Env::psx),
1556        vendor: Some(Vendor::sony),
1557        families: Families::new_const(&[]),
1558        pointer_width: 32,
1559        endian: Endian::little,
1560        has_atomics: HasAtomics::new_const(&[]),
1561        panic: Panic::abort,
1562    },
1563    TargetInfo {
1564        triple: Triple::new_const("mipsel-unknown-linux-gnu"),
1565        os: Some(Os::linux),
1566        abi: None,
1567        arch: Arch::mips,
1568        env: Some(Env::gnu),
1569        vendor: Some(Vendor::unknown),
1570        families: Families::unix,
1571        pointer_width: 32,
1572        endian: Endian::little,
1573        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1574        panic: Panic::unwind,
1575    },
1576    TargetInfo {
1577        triple: Triple::new_const("mipsel-unknown-linux-musl"),
1578        os: Some(Os::linux),
1579        abi: None,
1580        arch: Arch::mips,
1581        env: Some(Env::musl),
1582        vendor: Some(Vendor::unknown),
1583        families: Families::unix,
1584        pointer_width: 32,
1585        endian: Endian::little,
1586        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1587        panic: Panic::unwind,
1588    },
1589    TargetInfo {
1590        triple: Triple::new_const("mipsel-unknown-linux-uclibc"),
1591        os: Some(Os::linux),
1592        abi: None,
1593        arch: Arch::mips,
1594        env: Some(Env::uclibc),
1595        vendor: Some(Vendor::unknown),
1596        families: Families::unix,
1597        pointer_width: 32,
1598        endian: Endian::little,
1599        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1600        panic: Panic::unwind,
1601    },
1602    TargetInfo {
1603        triple: Triple::new_const("mipsel-unknown-netbsd"),
1604        os: Some(Os::netbsd),
1605        abi: None,
1606        arch: Arch::mips,
1607        env: None,
1608        vendor: Some(Vendor::unknown),
1609        families: Families::unix,
1610        pointer_width: 32,
1611        endian: Endian::little,
1612        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1613        panic: Panic::unwind,
1614    },
1615    TargetInfo {
1616        triple: Triple::new_const("mipsel-unknown-none"),
1617        os: None,
1618        abi: None,
1619        arch: Arch::mips,
1620        env: None,
1621        vendor: Some(Vendor::unknown),
1622        families: Families::new_const(&[]),
1623        pointer_width: 32,
1624        endian: Endian::little,
1625        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1626        panic: Panic::abort,
1627    },
1628    TargetInfo {
1629        triple: Triple::new_const("mipsisa32r6-unknown-linux-gnu"),
1630        os: Some(Os::linux),
1631        abi: None,
1632        arch: Arch::mips32r6,
1633        env: Some(Env::gnu),
1634        vendor: Some(Vendor::unknown),
1635        families: Families::unix,
1636        pointer_width: 32,
1637        endian: Endian::big,
1638        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1639        panic: Panic::unwind,
1640    },
1641    TargetInfo {
1642        triple: Triple::new_const("mipsisa32r6el-unknown-linux-gnu"),
1643        os: Some(Os::linux),
1644        abi: None,
1645        arch: Arch::mips32r6,
1646        env: Some(Env::gnu),
1647        vendor: Some(Vendor::unknown),
1648        families: Families::unix,
1649        pointer_width: 32,
1650        endian: Endian::little,
1651        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1652        panic: Panic::unwind,
1653    },
1654    TargetInfo {
1655        triple: Triple::new_const("mipsisa64r6-unknown-linux-gnuabi64"),
1656        os: Some(Os::linux),
1657        abi: None,
1658        arch: Arch::mips64r6,
1659        env: Some(Env::gnu),
1660        vendor: Some(Vendor::unknown),
1661        families: Families::unix,
1662        pointer_width: 64,
1663        endian: Endian::big,
1664        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1665        panic: Panic::unwind,
1666    },
1667    TargetInfo {
1668        triple: Triple::new_const("mipsisa64r6el-unknown-linux-gnuabi64"),
1669        os: Some(Os::linux),
1670        abi: None,
1671        arch: Arch::mips64r6,
1672        env: Some(Env::gnu),
1673        vendor: Some(Vendor::unknown),
1674        families: Families::unix,
1675        pointer_width: 64,
1676        endian: Endian::little,
1677        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1678        panic: Panic::unwind,
1679    },
1680    TargetInfo {
1681        triple: Triple::new_const("msp430-none-elf"),
1682        os: None,
1683        abi: None,
1684        arch: Arch::msp430,
1685        env: None,
1686        vendor: Some(Vendor::unknown),
1687        families: Families::new_const(&[]),
1688        pointer_width: 16,
1689        endian: Endian::little,
1690        has_atomics: HasAtomics::new_const(&[]),
1691        panic: Panic::abort,
1692    },
1693    TargetInfo {
1694        triple: Triple::new_const("nvptx64-nvidia-cuda"),
1695        os: Some(Os::cuda),
1696        abi: None,
1697        arch: Arch::nvptx64,
1698        env: None,
1699        vendor: Some(Vendor::nvidia),
1700        families: Families::new_const(&[]),
1701        pointer_width: 64,
1702        endian: Endian::little,
1703        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1704        panic: Panic::abort,
1705    },
1706    TargetInfo {
1707        triple: Triple::new_const("powerpc-unknown-freebsd"),
1708        os: Some(Os::freebsd),
1709        abi: None,
1710        arch: Arch::powerpc,
1711        env: None,
1712        vendor: Some(Vendor::unknown),
1713        families: Families::unix,
1714        pointer_width: 32,
1715        endian: Endian::big,
1716        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1717        panic: Panic::unwind,
1718    },
1719    TargetInfo {
1720        triple: Triple::new_const("powerpc-unknown-linux-gnu"),
1721        os: Some(Os::linux),
1722        abi: None,
1723        arch: Arch::powerpc,
1724        env: Some(Env::gnu),
1725        vendor: Some(Vendor::unknown),
1726        families: Families::unix,
1727        pointer_width: 32,
1728        endian: Endian::big,
1729        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1730        panic: Panic::unwind,
1731    },
1732    TargetInfo {
1733        triple: Triple::new_const("powerpc-unknown-linux-gnuspe"),
1734        os: Some(Os::linux),
1735        abi: None,
1736        arch: Arch::powerpc,
1737        env: Some(Env::gnu),
1738        vendor: Some(Vendor::unknown),
1739        families: Families::unix,
1740        pointer_width: 32,
1741        endian: Endian::big,
1742        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1743        panic: Panic::unwind,
1744    },
1745    TargetInfo {
1746        triple: Triple::new_const("powerpc-unknown-linux-musl"),
1747        os: Some(Os::linux),
1748        abi: None,
1749        arch: Arch::powerpc,
1750        env: Some(Env::musl),
1751        vendor: Some(Vendor::unknown),
1752        families: Families::unix,
1753        pointer_width: 32,
1754        endian: Endian::big,
1755        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1756        panic: Panic::unwind,
1757    },
1758    TargetInfo {
1759        triple: Triple::new_const("powerpc-unknown-netbsd"),
1760        os: Some(Os::netbsd),
1761        abi: None,
1762        arch: Arch::powerpc,
1763        env: None,
1764        vendor: Some(Vendor::unknown),
1765        families: Families::unix,
1766        pointer_width: 32,
1767        endian: Endian::big,
1768        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1769        panic: Panic::unwind,
1770    },
1771    TargetInfo {
1772        triple: Triple::new_const("powerpc-unknown-openbsd"),
1773        os: Some(Os::openbsd),
1774        abi: None,
1775        arch: Arch::powerpc,
1776        env: None,
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("powerpc-wrs-vxworks"),
1786        os: Some(Os::vxworks),
1787        abi: None,
1788        arch: Arch::powerpc,
1789        env: Some(Env::gnu),
1790        vendor: Some(Vendor::wrs),
1791        families: Families::unix,
1792        pointer_width: 32,
1793        endian: Endian::big,
1794        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1795        panic: Panic::unwind,
1796    },
1797    TargetInfo {
1798        triple: Triple::new_const("powerpc-wrs-vxworks-spe"),
1799        os: Some(Os::vxworks),
1800        abi: None,
1801        arch: Arch::powerpc,
1802        env: Some(Env::gnu),
1803        vendor: Some(Vendor::wrs),
1804        families: Families::unix,
1805        pointer_width: 32,
1806        endian: Endian::big,
1807        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1808        panic: Panic::unwind,
1809    },
1810    TargetInfo {
1811        triple: Triple::new_const("powerpc64-ibm-aix"),
1812        os: Some(Os::aix),
1813        abi: None,
1814        arch: Arch::powerpc64,
1815        env: None,
1816        vendor: Some(Vendor::ibm),
1817        families: Families::unix,
1818        pointer_width: 64,
1819        endian: Endian::big,
1820        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1821        panic: Panic::unwind,
1822    },
1823    TargetInfo {
1824        triple: Triple::new_const("powerpc64-unknown-freebsd"),
1825        os: Some(Os::freebsd),
1826        abi: None,
1827        arch: Arch::powerpc64,
1828        env: None,
1829        vendor: Some(Vendor::unknown),
1830        families: Families::unix,
1831        pointer_width: 64,
1832        endian: Endian::big,
1833        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1834        panic: Panic::unwind,
1835    },
1836    TargetInfo {
1837        triple: Triple::new_const("powerpc64-unknown-linux-gnu"),
1838        os: Some(Os::linux),
1839        abi: None,
1840        arch: Arch::powerpc64,
1841        env: Some(Env::gnu),
1842        vendor: Some(Vendor::unknown),
1843        families: Families::unix,
1844        pointer_width: 64,
1845        endian: Endian::big,
1846        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1847        panic: Panic::unwind,
1848    },
1849    TargetInfo {
1850        triple: Triple::new_const("powerpc64-unknown-linux-musl"),
1851        os: Some(Os::linux),
1852        abi: None,
1853        arch: Arch::powerpc64,
1854        env: Some(Env::musl),
1855        vendor: Some(Vendor::unknown),
1856        families: Families::unix,
1857        pointer_width: 64,
1858        endian: Endian::big,
1859        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1860        panic: Panic::unwind,
1861    },
1862    TargetInfo {
1863        triple: Triple::new_const("powerpc64-unknown-openbsd"),
1864        os: Some(Os::openbsd),
1865        abi: None,
1866        arch: Arch::powerpc64,
1867        env: None,
1868        vendor: Some(Vendor::unknown),
1869        families: Families::unix,
1870        pointer_width: 64,
1871        endian: Endian::big,
1872        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1873        panic: Panic::unwind,
1874    },
1875    TargetInfo {
1876        triple: Triple::new_const("powerpc64-wrs-vxworks"),
1877        os: Some(Os::vxworks),
1878        abi: None,
1879        arch: Arch::powerpc64,
1880        env: Some(Env::gnu),
1881        vendor: Some(Vendor::wrs),
1882        families: Families::unix,
1883        pointer_width: 64,
1884        endian: Endian::big,
1885        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1886        panic: Panic::unwind,
1887    },
1888    TargetInfo {
1889        triple: Triple::new_const("powerpc64le-unknown-freebsd"),
1890        os: Some(Os::freebsd),
1891        abi: None,
1892        arch: Arch::powerpc64,
1893        env: None,
1894        vendor: Some(Vendor::unknown),
1895        families: Families::unix,
1896        pointer_width: 64,
1897        endian: Endian::little,
1898        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1899        panic: Panic::unwind,
1900    },
1901    TargetInfo {
1902        triple: Triple::new_const("powerpc64le-unknown-linux-gnu"),
1903        os: Some(Os::linux),
1904        abi: None,
1905        arch: Arch::powerpc64,
1906        env: Some(Env::gnu),
1907        vendor: Some(Vendor::unknown),
1908        families: Families::unix,
1909        pointer_width: 64,
1910        endian: Endian::little,
1911        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1912        panic: Panic::unwind,
1913    },
1914    TargetInfo {
1915        triple: Triple::new_const("powerpc64le-unknown-linux-musl"),
1916        os: Some(Os::linux),
1917        abi: None,
1918        arch: Arch::powerpc64,
1919        env: Some(Env::musl),
1920        vendor: Some(Vendor::unknown),
1921        families: Families::unix,
1922        pointer_width: 64,
1923        endian: Endian::little,
1924        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1925        panic: Panic::unwind,
1926    },
1927    TargetInfo {
1928        triple: Triple::new_const("riscv32gc-unknown-linux-gnu"),
1929        os: Some(Os::linux),
1930        abi: None,
1931        arch: Arch::riscv32,
1932        env: Some(Env::gnu),
1933        vendor: Some(Vendor::unknown),
1934        families: Families::unix,
1935        pointer_width: 32,
1936        endian: Endian::little,
1937        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1938        panic: Panic::unwind,
1939    },
1940    TargetInfo {
1941        triple: Triple::new_const("riscv32gc-unknown-linux-musl"),
1942        os: Some(Os::linux),
1943        abi: None,
1944        arch: Arch::riscv32,
1945        env: Some(Env::musl),
1946        vendor: Some(Vendor::unknown),
1947        families: Families::unix,
1948        pointer_width: 32,
1949        endian: Endian::little,
1950        has_atomics: HasAtomics::atomic_8_16_32_ptr,
1951        panic: Panic::unwind,
1952    },
1953    TargetInfo {
1954        triple: Triple::new_const("riscv32i-unknown-none-elf"),
1955        os: None,
1956        abi: None,
1957        arch: Arch::riscv32,
1958        env: None,
1959        vendor: Some(Vendor::unknown),
1960        families: Families::new_const(&[]),
1961        pointer_width: 32,
1962        endian: Endian::little,
1963        has_atomics: HasAtomics::new_const(&[]),
1964        panic: Panic::abort,
1965    },
1966    TargetInfo {
1967        triple: Triple::new_const("riscv32im-risc0-zkvm-elf"),
1968        os: Some(Os::zkvm),
1969        abi: None,
1970        arch: Arch::riscv32,
1971        env: None,
1972        vendor: Some(Vendor::risc0),
1973        families: Families::new_const(&[]),
1974        pointer_width: 32,
1975        endian: Endian::little,
1976        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
1977        panic: Panic::abort,
1978    },
1979    TargetInfo {
1980        triple: Triple::new_const("riscv32im-unknown-none-elf"),
1981        os: None,
1982        abi: None,
1983        arch: Arch::riscv32,
1984        env: None,
1985        vendor: Some(Vendor::unknown),
1986        families: Families::new_const(&[]),
1987        pointer_width: 32,
1988        endian: Endian::little,
1989        has_atomics: HasAtomics::new_const(&[]),
1990        panic: Panic::abort,
1991    },
1992    TargetInfo {
1993        triple: Triple::new_const("riscv32imac-esp-espidf"),
1994        os: Some(Os::espidf),
1995        abi: None,
1996        arch: Arch::riscv32,
1997        env: Some(Env::newlib),
1998        vendor: Some(Vendor::espressif),
1999        families: Families::unix,
2000        pointer_width: 32,
2001        endian: Endian::little,
2002        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2003        panic: Panic::abort,
2004    },
2005    TargetInfo {
2006        triple: Triple::new_const("riscv32imac-unknown-none-elf"),
2007        os: None,
2008        abi: None,
2009        arch: Arch::riscv32,
2010        env: None,
2011        vendor: Some(Vendor::unknown),
2012        families: Families::new_const(&[]),
2013        pointer_width: 32,
2014        endian: Endian::little,
2015        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2016        panic: Panic::abort,
2017    },
2018    TargetInfo {
2019        triple: Triple::new_const("riscv32imac-unknown-xous-elf"),
2020        os: Some(Os::xous),
2021        abi: None,
2022        arch: Arch::riscv32,
2023        env: None,
2024        vendor: Some(Vendor::unknown),
2025        families: Families::new_const(&[]),
2026        pointer_width: 32,
2027        endian: Endian::little,
2028        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2029        panic: Panic::unwind,
2030    },
2031    TargetInfo {
2032        triple: Triple::new_const("riscv32imafc-esp-espidf"),
2033        os: Some(Os::espidf),
2034        abi: None,
2035        arch: Arch::riscv32,
2036        env: Some(Env::newlib),
2037        vendor: Some(Vendor::espressif),
2038        families: Families::unix,
2039        pointer_width: 32,
2040        endian: Endian::little,
2041        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2042        panic: Panic::abort,
2043    },
2044    TargetInfo {
2045        triple: Triple::new_const("riscv32imafc-unknown-none-elf"),
2046        os: None,
2047        abi: None,
2048        arch: Arch::riscv32,
2049        env: None,
2050        vendor: Some(Vendor::unknown),
2051        families: Families::new_const(&[]),
2052        pointer_width: 32,
2053        endian: Endian::little,
2054        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2055        panic: Panic::abort,
2056    },
2057    TargetInfo {
2058        triple: Triple::new_const("riscv32imc-esp-espidf"),
2059        os: Some(Os::espidf),
2060        abi: None,
2061        arch: Arch::riscv32,
2062        env: Some(Env::newlib),
2063        vendor: Some(Vendor::espressif),
2064        families: Families::unix,
2065        pointer_width: 32,
2066        endian: Endian::little,
2067        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2068        panic: Panic::abort,
2069    },
2070    TargetInfo {
2071        triple: Triple::new_const("riscv32imc-unknown-none-elf"),
2072        os: None,
2073        abi: None,
2074        arch: Arch::riscv32,
2075        env: None,
2076        vendor: Some(Vendor::unknown),
2077        families: Families::new_const(&[]),
2078        pointer_width: 32,
2079        endian: Endian::little,
2080        has_atomics: HasAtomics::new_const(&[]),
2081        panic: Panic::abort,
2082    },
2083    TargetInfo {
2084        triple: Triple::new_const("riscv64-linux-android"),
2085        os: Some(Os::android),
2086        abi: None,
2087        arch: Arch::riscv64,
2088        env: None,
2089        vendor: Some(Vendor::unknown),
2090        families: Families::unix,
2091        pointer_width: 64,
2092        endian: Endian::little,
2093        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2094        panic: Panic::unwind,
2095    },
2096    TargetInfo {
2097        triple: Triple::new_const("riscv64gc-unknown-freebsd"),
2098        os: Some(Os::freebsd),
2099        abi: None,
2100        arch: Arch::riscv64,
2101        env: None,
2102        vendor: Some(Vendor::unknown),
2103        families: Families::unix,
2104        pointer_width: 64,
2105        endian: Endian::little,
2106        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2107        panic: Panic::unwind,
2108    },
2109    TargetInfo {
2110        triple: Triple::new_const("riscv64gc-unknown-fuchsia"),
2111        os: Some(Os::fuchsia),
2112        abi: None,
2113        arch: Arch::riscv64,
2114        env: None,
2115        vendor: Some(Vendor::unknown),
2116        families: Families::unix,
2117        pointer_width: 64,
2118        endian: Endian::little,
2119        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2120        panic: Panic::unwind,
2121    },
2122    TargetInfo {
2123        triple: Triple::new_const("riscv64gc-unknown-hermit"),
2124        os: Some(Os::hermit),
2125        abi: None,
2126        arch: Arch::riscv64,
2127        env: None,
2128        vendor: Some(Vendor::unknown),
2129        families: Families::new_const(&[]),
2130        pointer_width: 64,
2131        endian: Endian::little,
2132        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2133        panic: Panic::abort,
2134    },
2135    TargetInfo {
2136        triple: Triple::new_const("riscv64gc-unknown-linux-gnu"),
2137        os: Some(Os::linux),
2138        abi: None,
2139        arch: Arch::riscv64,
2140        env: Some(Env::gnu),
2141        vendor: Some(Vendor::unknown),
2142        families: Families::unix,
2143        pointer_width: 64,
2144        endian: Endian::little,
2145        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2146        panic: Panic::unwind,
2147    },
2148    TargetInfo {
2149        triple: Triple::new_const("riscv64gc-unknown-linux-musl"),
2150        os: Some(Os::linux),
2151        abi: None,
2152        arch: Arch::riscv64,
2153        env: Some(Env::musl),
2154        vendor: Some(Vendor::unknown),
2155        families: Families::unix,
2156        pointer_width: 64,
2157        endian: Endian::little,
2158        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2159        panic: Panic::unwind,
2160    },
2161    TargetInfo {
2162        triple: Triple::new_const("riscv64gc-unknown-netbsd"),
2163        os: Some(Os::netbsd),
2164        abi: None,
2165        arch: Arch::riscv64,
2166        env: None,
2167        vendor: Some(Vendor::unknown),
2168        families: Families::unix,
2169        pointer_width: 64,
2170        endian: Endian::little,
2171        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2172        panic: Panic::unwind,
2173    },
2174    TargetInfo {
2175        triple: Triple::new_const("riscv64gc-unknown-none-elf"),
2176        os: None,
2177        abi: None,
2178        arch: Arch::riscv64,
2179        env: None,
2180        vendor: Some(Vendor::unknown),
2181        families: Families::new_const(&[]),
2182        pointer_width: 64,
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("riscv64gc-unknown-openbsd"),
2189        os: Some(Os::openbsd),
2190        abi: None,
2191        arch: Arch::riscv64,
2192        env: None,
2193        vendor: Some(Vendor::unknown),
2194        families: Families::unix,
2195        pointer_width: 64,
2196        endian: Endian::little,
2197        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2198        panic: Panic::unwind,
2199    },
2200    TargetInfo {
2201        triple: Triple::new_const("riscv64imac-unknown-none-elf"),
2202        os: None,
2203        abi: None,
2204        arch: Arch::riscv64,
2205        env: None,
2206        vendor: Some(Vendor::unknown),
2207        families: Families::new_const(&[]),
2208        pointer_width: 64,
2209        endian: Endian::little,
2210        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2211        panic: Panic::abort,
2212    },
2213    TargetInfo {
2214        triple: Triple::new_const("s390x-unknown-linux-gnu"),
2215        os: Some(Os::linux),
2216        abi: None,
2217        arch: Arch::s390x,
2218        env: Some(Env::gnu),
2219        vendor: Some(Vendor::unknown),
2220        families: Families::unix,
2221        pointer_width: 64,
2222        endian: Endian::big,
2223        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2224        panic: Panic::unwind,
2225    },
2226    TargetInfo {
2227        triple: Triple::new_const("s390x-unknown-linux-musl"),
2228        os: Some(Os::linux),
2229        abi: None,
2230        arch: Arch::s390x,
2231        env: Some(Env::musl),
2232        vendor: Some(Vendor::unknown),
2233        families: Families::unix,
2234        pointer_width: 64,
2235        endian: Endian::big,
2236        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2237        panic: Panic::unwind,
2238    },
2239    TargetInfo {
2240        triple: Triple::new_const("sparc-unknown-linux-gnu"),
2241        os: Some(Os::linux),
2242        abi: None,
2243        arch: Arch::sparc,
2244        env: Some(Env::gnu),
2245        vendor: Some(Vendor::unknown),
2246        families: Families::unix,
2247        pointer_width: 32,
2248        endian: Endian::big,
2249        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2250        panic: Panic::unwind,
2251    },
2252    TargetInfo {
2253        triple: Triple::new_const("sparc-unknown-none-elf"),
2254        os: None,
2255        abi: None,
2256        arch: Arch::sparc,
2257        env: None,
2258        vendor: Some(Vendor::unknown),
2259        families: Families::new_const(&[]),
2260        pointer_width: 32,
2261        endian: Endian::big,
2262        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2263        panic: Panic::abort,
2264    },
2265    TargetInfo {
2266        triple: Triple::new_const("sparc64-unknown-linux-gnu"),
2267        os: Some(Os::linux),
2268        abi: None,
2269        arch: Arch::sparc64,
2270        env: Some(Env::gnu),
2271        vendor: Some(Vendor::unknown),
2272        families: Families::unix,
2273        pointer_width: 64,
2274        endian: Endian::big,
2275        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2276        panic: Panic::unwind,
2277    },
2278    TargetInfo {
2279        triple: Triple::new_const("sparc64-unknown-netbsd"),
2280        os: Some(Os::netbsd),
2281        abi: None,
2282        arch: Arch::sparc64,
2283        env: None,
2284        vendor: Some(Vendor::unknown),
2285        families: Families::unix,
2286        pointer_width: 64,
2287        endian: Endian::big,
2288        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2289        panic: Panic::unwind,
2290    },
2291    TargetInfo {
2292        triple: Triple::new_const("sparc64-unknown-openbsd"),
2293        os: Some(Os::openbsd),
2294        abi: None,
2295        arch: Arch::sparc64,
2296        env: None,
2297        vendor: Some(Vendor::unknown),
2298        families: Families::unix,
2299        pointer_width: 64,
2300        endian: Endian::big,
2301        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2302        panic: Panic::unwind,
2303    },
2304    TargetInfo {
2305        triple: Triple::new_const("sparcv9-sun-solaris"),
2306        os: Some(Os::solaris),
2307        abi: None,
2308        arch: Arch::sparc64,
2309        env: None,
2310        vendor: Some(Vendor::sun),
2311        families: Families::unix,
2312        pointer_width: 64,
2313        endian: Endian::big,
2314        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2315        panic: Panic::unwind,
2316    },
2317    TargetInfo {
2318        triple: Triple::new_const("thumbv4t-none-eabi"),
2319        os: None,
2320        abi: None,
2321        arch: Arch::arm,
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("thumbv5te-none-eabi"),
2332        os: None,
2333        abi: None,
2334        arch: Arch::arm,
2335        env: None,
2336        vendor: Some(Vendor::unknown),
2337        families: Families::new_const(&[]),
2338        pointer_width: 32,
2339        endian: Endian::little,
2340        has_atomics: HasAtomics::new_const(&[]),
2341        panic: Panic::abort,
2342    },
2343    TargetInfo {
2344        triple: Triple::new_const("thumbv6m-none-eabi"),
2345        os: None,
2346        abi: None,
2347        arch: Arch::arm,
2348        env: None,
2349        vendor: Some(Vendor::unknown),
2350        families: Families::new_const(&[]),
2351        pointer_width: 32,
2352        endian: Endian::little,
2353        has_atomics: HasAtomics::new_const(&[]),
2354        panic: Panic::abort,
2355    },
2356    TargetInfo {
2357        triple: Triple::new_const("thumbv7a-pc-windows-msvc"),
2358        os: Some(Os::windows),
2359        abi: None,
2360        arch: Arch::arm,
2361        env: Some(Env::msvc),
2362        vendor: Some(Vendor::pc),
2363        families: Families::windows,
2364        pointer_width: 32,
2365        endian: Endian::little,
2366        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2367        panic: Panic::abort,
2368    },
2369    TargetInfo {
2370        triple: Triple::new_const("thumbv7a-uwp-windows-msvc"),
2371        os: Some(Os::windows),
2372        abi: None,
2373        arch: Arch::arm,
2374        env: Some(Env::msvc),
2375        vendor: Some(Vendor::uwp),
2376        families: Families::windows,
2377        pointer_width: 32,
2378        endian: Endian::little,
2379        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2380        panic: Panic::abort,
2381    },
2382    TargetInfo {
2383        triple: Triple::new_const("thumbv7em-none-eabi"),
2384        os: None,
2385        abi: None,
2386        arch: Arch::arm,
2387        env: None,
2388        vendor: Some(Vendor::unknown),
2389        families: Families::new_const(&[]),
2390        pointer_width: 32,
2391        endian: Endian::little,
2392        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2393        panic: Panic::abort,
2394    },
2395    TargetInfo {
2396        triple: Triple::new_const("thumbv7em-none-eabihf"),
2397        os: None,
2398        abi: None,
2399        arch: Arch::arm,
2400        env: None,
2401        vendor: Some(Vendor::unknown),
2402        families: Families::new_const(&[]),
2403        pointer_width: 32,
2404        endian: Endian::little,
2405        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2406        panic: Panic::abort,
2407    },
2408    TargetInfo {
2409        triple: Triple::new_const("thumbv7m-none-eabi"),
2410        os: None,
2411        abi: None,
2412        arch: Arch::arm,
2413        env: None,
2414        vendor: Some(Vendor::unknown),
2415        families: Families::new_const(&[]),
2416        pointer_width: 32,
2417        endian: Endian::little,
2418        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2419        panic: Panic::abort,
2420    },
2421    TargetInfo {
2422        triple: Triple::new_const("thumbv7neon-linux-androideabi"),
2423        os: Some(Os::android),
2424        abi: None,
2425        arch: Arch::arm,
2426        env: None,
2427        vendor: Some(Vendor::unknown),
2428        families: Families::unix,
2429        pointer_width: 32,
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("thumbv7neon-unknown-linux-gnueabihf"),
2436        os: Some(Os::linux),
2437        abi: None,
2438        arch: Arch::arm,
2439        env: Some(Env::gnu),
2440        vendor: Some(Vendor::unknown),
2441        families: Families::unix,
2442        pointer_width: 32,
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("thumbv7neon-unknown-linux-musleabihf"),
2449        os: Some(Os::linux),
2450        abi: None,
2451        arch: Arch::arm,
2452        env: Some(Env::musl),
2453        vendor: Some(Vendor::unknown),
2454        families: Families::unix,
2455        pointer_width: 32,
2456        endian: Endian::little,
2457        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2458        panic: Panic::unwind,
2459    },
2460    TargetInfo {
2461        triple: Triple::new_const("thumbv8m.base-none-eabi"),
2462        os: None,
2463        abi: None,
2464        arch: Arch::arm,
2465        env: None,
2466        vendor: Some(Vendor::unknown),
2467        families: Families::new_const(&[]),
2468        pointer_width: 32,
2469        endian: Endian::little,
2470        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2471        panic: Panic::abort,
2472    },
2473    TargetInfo {
2474        triple: Triple::new_const("thumbv8m.main-none-eabi"),
2475        os: None,
2476        abi: None,
2477        arch: Arch::arm,
2478        env: None,
2479        vendor: Some(Vendor::unknown),
2480        families: Families::new_const(&[]),
2481        pointer_width: 32,
2482        endian: Endian::little,
2483        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2484        panic: Panic::abort,
2485    },
2486    TargetInfo {
2487        triple: Triple::new_const("thumbv8m.main-none-eabihf"),
2488        os: None,
2489        abi: None,
2490        arch: Arch::arm,
2491        env: None,
2492        vendor: Some(Vendor::unknown),
2493        families: Families::new_const(&[]),
2494        pointer_width: 32,
2495        endian: Endian::little,
2496        has_atomics: HasAtomics::atomic_8_16_32_ptr,
2497        panic: Panic::abort,
2498    },
2499    TargetInfo {
2500        triple: Triple::new_const("wasm32-unknown-emscripten"),
2501        os: Some(Os::emscripten),
2502        abi: None,
2503        arch: Arch::wasm32,
2504        env: None,
2505        vendor: Some(Vendor::unknown),
2506        families: Families::unix_wasm,
2507        pointer_width: 32,
2508        endian: Endian::little,
2509        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2510        panic: Panic::unwind,
2511    },
2512    TargetInfo {
2513        triple: Triple::new_const("wasm32-unknown-unknown"),
2514        os: Some(Os::unknown),
2515        abi: None,
2516        arch: Arch::wasm32,
2517        env: None,
2518        vendor: Some(Vendor::unknown),
2519        families: Families::wasm,
2520        pointer_width: 32,
2521        endian: Endian::little,
2522        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2523        panic: Panic::abort,
2524    },
2525    TargetInfo {
2526        triple: Triple::new_const("wasm32-wasi"),
2527        os: Some(Os::wasi),
2528        abi: None,
2529        arch: Arch::wasm32,
2530        env: None,
2531        vendor: Some(Vendor::unknown),
2532        families: Families::wasm,
2533        pointer_width: 32,
2534        endian: Endian::little,
2535        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2536        panic: Panic::abort,
2537    },
2538    TargetInfo {
2539        triple: Triple::new_const("wasm32-wasi-preview1-threads"),
2540        os: Some(Os::wasi),
2541        abi: None,
2542        arch: Arch::wasm32,
2543        env: None,
2544        vendor: Some(Vendor::unknown),
2545        families: Families::wasm,
2546        pointer_width: 32,
2547        endian: Endian::little,
2548        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2549        panic: Panic::abort,
2550    },
2551    TargetInfo {
2552        triple: Triple::new_const("wasm64-unknown-unknown"),
2553        os: Some(Os::unknown),
2554        abi: None,
2555        arch: Arch::wasm64,
2556        env: None,
2557        vendor: Some(Vendor::unknown),
2558        families: Families::wasm,
2559        pointer_width: 64,
2560        endian: Endian::little,
2561        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2562        panic: Panic::abort,
2563    },
2564    TargetInfo {
2565        triple: Triple::new_const("x86_64-apple-darwin"),
2566        os: Some(Os::macos),
2567        abi: None,
2568        arch: Arch::x86_64,
2569        env: None,
2570        vendor: Some(Vendor::apple),
2571        families: Families::unix,
2572        pointer_width: 64,
2573        endian: Endian::little,
2574        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
2575        panic: Panic::unwind,
2576    },
2577    TargetInfo {
2578        triple: Triple::new_const("x86_64-apple-ios"),
2579        os: Some(Os::ios),
2580        abi: None,
2581        arch: Arch::x86_64,
2582        env: None,
2583        vendor: Some(Vendor::apple),
2584        families: Families::unix,
2585        pointer_width: 64,
2586        endian: Endian::little,
2587        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
2588        panic: Panic::unwind,
2589    },
2590    TargetInfo {
2591        triple: Triple::new_const("x86_64-apple-ios-macabi"),
2592        os: Some(Os::ios),
2593        abi: None,
2594        arch: Arch::x86_64,
2595        env: None,
2596        vendor: Some(Vendor::apple),
2597        families: Families::unix,
2598        pointer_width: 64,
2599        endian: Endian::little,
2600        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
2601        panic: Panic::unwind,
2602    },
2603    TargetInfo {
2604        triple: Triple::new_const("x86_64-apple-tvos"),
2605        os: Some(Os::tvos),
2606        abi: None,
2607        arch: Arch::x86_64,
2608        env: None,
2609        vendor: Some(Vendor::apple),
2610        families: Families::unix,
2611        pointer_width: 64,
2612        endian: Endian::little,
2613        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
2614        panic: Panic::unwind,
2615    },
2616    TargetInfo {
2617        triple: Triple::new_const("x86_64-apple-watchos-sim"),
2618        os: Some(Os::watchos),
2619        abi: None,
2620        arch: Arch::x86_64,
2621        env: None,
2622        vendor: Some(Vendor::apple),
2623        families: Families::unix,
2624        pointer_width: 64,
2625        endian: Endian::little,
2626        has_atomics: HasAtomics::atomic_8_16_32_64_128_ptr,
2627        panic: Panic::unwind,
2628    },
2629    TargetInfo {
2630        triple: Triple::new_const("x86_64-fortanix-unknown-sgx"),
2631        os: Some(Os::unknown),
2632        abi: None,
2633        arch: Arch::x86_64,
2634        env: Some(Env::sgx),
2635        vendor: Some(Vendor::fortanix),
2636        families: Families::new_const(&[]),
2637        pointer_width: 64,
2638        endian: Endian::little,
2639        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2640        panic: Panic::unwind,
2641    },
2642    TargetInfo {
2643        triple: Triple::new_const("x86_64-fuchsia"),
2644        os: Some(Os::fuchsia),
2645        abi: None,
2646        arch: Arch::x86_64,
2647        env: None,
2648        vendor: Some(Vendor::unknown),
2649        families: Families::unix,
2650        pointer_width: 64,
2651        endian: Endian::little,
2652        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2653        panic: Panic::unwind,
2654    },
2655    TargetInfo {
2656        triple: Triple::new_const("x86_64-linux-android"),
2657        os: Some(Os::android),
2658        abi: None,
2659        arch: Arch::x86_64,
2660        env: None,
2661        vendor: Some(Vendor::unknown),
2662        families: Families::unix,
2663        pointer_width: 64,
2664        endian: Endian::little,
2665        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2666        panic: Panic::unwind,
2667    },
2668    TargetInfo {
2669        triple: Triple::new_const("x86_64-pc-nto-qnx710"),
2670        os: Some(Os::nto),
2671        abi: None,
2672        arch: Arch::x86_64,
2673        env: Some(Env::nto71),
2674        vendor: Some(Vendor::unknown),
2675        families: Families::unix,
2676        pointer_width: 64,
2677        endian: Endian::little,
2678        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2679        panic: Panic::unwind,
2680    },
2681    TargetInfo {
2682        triple: Triple::new_const("x86_64-pc-solaris"),
2683        os: Some(Os::solaris),
2684        abi: None,
2685        arch: Arch::x86_64,
2686        env: None,
2687        vendor: Some(Vendor::pc),
2688        families: Families::unix,
2689        pointer_width: 64,
2690        endian: Endian::little,
2691        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2692        panic: Panic::unwind,
2693    },
2694    TargetInfo {
2695        triple: Triple::new_const("x86_64-pc-windows-gnu"),
2696        os: Some(Os::windows),
2697        abi: None,
2698        arch: Arch::x86_64,
2699        env: Some(Env::gnu),
2700        vendor: Some(Vendor::pc),
2701        families: Families::windows,
2702        pointer_width: 64,
2703        endian: Endian::little,
2704        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2705        panic: Panic::unwind,
2706    },
2707    TargetInfo {
2708        triple: Triple::new_const("x86_64-pc-windows-gnullvm"),
2709        os: Some(Os::windows),
2710        abi: None,
2711        arch: Arch::x86_64,
2712        env: Some(Env::gnu),
2713        vendor: Some(Vendor::pc),
2714        families: Families::windows,
2715        pointer_width: 64,
2716        endian: Endian::little,
2717        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2718        panic: Panic::unwind,
2719    },
2720    TargetInfo {
2721        triple: Triple::new_const("x86_64-pc-windows-msvc"),
2722        os: Some(Os::windows),
2723        abi: None,
2724        arch: Arch::x86_64,
2725        env: Some(Env::msvc),
2726        vendor: Some(Vendor::pc),
2727        families: Families::windows,
2728        pointer_width: 64,
2729        endian: Endian::little,
2730        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2731        panic: Panic::unwind,
2732    },
2733    TargetInfo {
2734        triple: Triple::new_const("x86_64-unikraft-linux-musl"),
2735        os: Some(Os::linux),
2736        abi: None,
2737        arch: Arch::x86_64,
2738        env: Some(Env::musl),
2739        vendor: Some(Vendor::unikraft),
2740        families: Families::unix,
2741        pointer_width: 64,
2742        endian: Endian::little,
2743        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2744        panic: Panic::abort,
2745    },
2746    TargetInfo {
2747        triple: Triple::new_const("x86_64-unknown-dragonfly"),
2748        os: Some(Os::dragonfly),
2749        abi: None,
2750        arch: Arch::x86_64,
2751        env: None,
2752        vendor: Some(Vendor::unknown),
2753        families: Families::unix,
2754        pointer_width: 64,
2755        endian: Endian::little,
2756        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2757        panic: Panic::unwind,
2758    },
2759    TargetInfo {
2760        triple: Triple::new_const("x86_64-unknown-freebsd"),
2761        os: Some(Os::freebsd),
2762        abi: None,
2763        arch: Arch::x86_64,
2764        env: None,
2765        vendor: Some(Vendor::unknown),
2766        families: Families::unix,
2767        pointer_width: 64,
2768        endian: Endian::little,
2769        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2770        panic: Panic::unwind,
2771    },
2772    TargetInfo {
2773        triple: Triple::new_const("x86_64-unknown-fuchsia"),
2774        os: Some(Os::fuchsia),
2775        abi: None,
2776        arch: Arch::x86_64,
2777        env: None,
2778        vendor: Some(Vendor::unknown),
2779        families: Families::unix,
2780        pointer_width: 64,
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("x86_64-unknown-haiku"),
2787        os: Some(Os::haiku),
2788        abi: None,
2789        arch: Arch::x86_64,
2790        env: None,
2791        vendor: Some(Vendor::unknown),
2792        families: Families::unix,
2793        pointer_width: 64,
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("x86_64-unknown-hermit"),
2800        os: Some(Os::hermit),
2801        abi: None,
2802        arch: Arch::x86_64,
2803        env: None,
2804        vendor: Some(Vendor::unknown),
2805        families: Families::new_const(&[]),
2806        pointer_width: 64,
2807        endian: Endian::little,
2808        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2809        panic: Panic::abort,
2810    },
2811    TargetInfo {
2812        triple: Triple::new_const("x86_64-unknown-illumos"),
2813        os: Some(Os::illumos),
2814        abi: None,
2815        arch: Arch::x86_64,
2816        env: None,
2817        vendor: Some(Vendor::unknown),
2818        families: Families::unix,
2819        pointer_width: 64,
2820        endian: Endian::little,
2821        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2822        panic: Panic::unwind,
2823    },
2824    TargetInfo {
2825        triple: Triple::new_const("x86_64-unknown-l4re-uclibc"),
2826        os: Some(Os::l4re),
2827        abi: None,
2828        arch: Arch::x86_64,
2829        env: Some(Env::uclibc),
2830        vendor: Some(Vendor::unknown),
2831        families: Families::unix,
2832        pointer_width: 64,
2833        endian: Endian::little,
2834        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2835        panic: Panic::abort,
2836    },
2837    TargetInfo {
2838        triple: Triple::new_const("x86_64-unknown-linux-gnu"),
2839        os: Some(Os::linux),
2840        abi: None,
2841        arch: Arch::x86_64,
2842        env: Some(Env::gnu),
2843        vendor: Some(Vendor::unknown),
2844        families: Families::unix,
2845        pointer_width: 64,
2846        endian: Endian::little,
2847        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2848        panic: Panic::unwind,
2849    },
2850    TargetInfo {
2851        triple: Triple::new_const("x86_64-unknown-linux-gnux32"),
2852        os: Some(Os::linux),
2853        abi: None,
2854        arch: Arch::x86_64,
2855        env: Some(Env::gnu),
2856        vendor: Some(Vendor::unknown),
2857        families: Families::unix,
2858        pointer_width: 32,
2859        endian: Endian::little,
2860        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2861        panic: Panic::unwind,
2862    },
2863    TargetInfo {
2864        triple: Triple::new_const("x86_64-unknown-linux-musl"),
2865        os: Some(Os::linux),
2866        abi: None,
2867        arch: Arch::x86_64,
2868        env: Some(Env::musl),
2869        vendor: Some(Vendor::unknown),
2870        families: Families::unix,
2871        pointer_width: 64,
2872        endian: Endian::little,
2873        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2874        panic: Panic::unwind,
2875    },
2876    TargetInfo {
2877        triple: Triple::new_const("x86_64-unknown-linux-ohos"),
2878        os: Some(Os::linux),
2879        abi: None,
2880        arch: Arch::x86_64,
2881        env: Some(Env::ohos),
2882        vendor: Some(Vendor::unknown),
2883        families: Families::unix,
2884        pointer_width: 64,
2885        endian: Endian::little,
2886        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2887        panic: Panic::unwind,
2888    },
2889    TargetInfo {
2890        triple: Triple::new_const("x86_64-unknown-netbsd"),
2891        os: Some(Os::netbsd),
2892        abi: None,
2893        arch: Arch::x86_64,
2894        env: None,
2895        vendor: Some(Vendor::unknown),
2896        families: Families::unix,
2897        pointer_width: 64,
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("x86_64-unknown-none"),
2904        os: None,
2905        abi: None,
2906        arch: Arch::x86_64,
2907        env: None,
2908        vendor: Some(Vendor::unknown),
2909        families: Families::new_const(&[]),
2910        pointer_width: 64,
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("x86_64-unknown-openbsd"),
2917        os: Some(Os::openbsd),
2918        abi: None,
2919        arch: Arch::x86_64,
2920        env: None,
2921        vendor: Some(Vendor::unknown),
2922        families: Families::unix,
2923        pointer_width: 64,
2924        endian: Endian::little,
2925        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2926        panic: Panic::unwind,
2927    },
2928    TargetInfo {
2929        triple: Triple::new_const("x86_64-unknown-redox"),
2930        os: Some(Os::redox),
2931        abi: None,
2932        arch: Arch::x86_64,
2933        env: Some(Env::relibc),
2934        vendor: Some(Vendor::unknown),
2935        families: Families::unix,
2936        pointer_width: 64,
2937        endian: Endian::little,
2938        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2939        panic: Panic::unwind,
2940    },
2941    TargetInfo {
2942        triple: Triple::new_const("x86_64-unknown-uefi"),
2943        os: Some(Os::uefi),
2944        abi: None,
2945        arch: Arch::x86_64,
2946        env: None,
2947        vendor: Some(Vendor::unknown),
2948        families: Families::new_const(&[]),
2949        pointer_width: 64,
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("x86_64-uwp-windows-gnu"),
2956        os: Some(Os::windows),
2957        abi: None,
2958        arch: Arch::x86_64,
2959        env: Some(Env::gnu),
2960        vendor: Some(Vendor::uwp),
2961        families: Families::windows,
2962        pointer_width: 64,
2963        endian: Endian::little,
2964        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2965        panic: Panic::unwind,
2966    },
2967    TargetInfo {
2968        triple: Triple::new_const("x86_64-uwp-windows-msvc"),
2969        os: Some(Os::windows),
2970        abi: None,
2971        arch: Arch::x86_64,
2972        env: Some(Env::msvc),
2973        vendor: Some(Vendor::uwp),
2974        families: Families::windows,
2975        pointer_width: 64,
2976        endian: Endian::little,
2977        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2978        panic: Panic::unwind,
2979    },
2980    TargetInfo {
2981        triple: Triple::new_const("x86_64-win7-windows-msvc"),
2982        os: Some(Os::windows),
2983        abi: None,
2984        arch: Arch::x86_64,
2985        env: Some(Env::msvc),
2986        vendor: Some(Vendor::win7),
2987        families: Families::windows,
2988        pointer_width: 64,
2989        endian: Endian::little,
2990        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
2991        panic: Panic::unwind,
2992    },
2993    TargetInfo {
2994        triple: Triple::new_const("x86_64-wrs-vxworks"),
2995        os: Some(Os::vxworks),
2996        abi: None,
2997        arch: Arch::x86_64,
2998        env: Some(Env::gnu),
2999        vendor: Some(Vendor::wrs),
3000        families: Families::unix,
3001        pointer_width: 64,
3002        endian: Endian::little,
3003        has_atomics: HasAtomics::atomic_8_16_32_64_ptr,
3004        panic: Panic::unwind,
3005    },
3006    TargetInfo {
3007        triple: Triple::new_const("x86_64h-apple-darwin"),
3008        os: Some(Os::macos),
3009        abi: None,
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];
3020
3021impl super::Abi {}
3022
3023impl super::Arch {
3024    pub const aarch64: Arch = Arch::new_const("aarch64");
3025    pub const arm: Arch = Arch::new_const("arm");
3026    pub const avr: Arch = Arch::new_const("avr");
3027    pub const bpf: Arch = Arch::new_const("bpf");
3028    pub const csky: Arch = Arch::new_const("csky");
3029    pub const hexagon: Arch = Arch::new_const("hexagon");
3030    pub const loongarch64: Arch = Arch::new_const("loongarch64");
3031    pub const m68k: Arch = Arch::new_const("m68k");
3032    pub const mips: Arch = Arch::new_const("mips");
3033    pub const mips32r6: Arch = Arch::new_const("mips32r6");
3034    pub const mips64: Arch = Arch::new_const("mips64");
3035    pub const mips64r6: Arch = Arch::new_const("mips64r6");
3036    pub const msp430: Arch = Arch::new_const("msp430");
3037    pub const nvptx64: Arch = Arch::new_const("nvptx64");
3038    pub const powerpc: Arch = Arch::new_const("powerpc");
3039    pub const powerpc64: Arch = Arch::new_const("powerpc64");
3040    pub const riscv32: Arch = Arch::new_const("riscv32");
3041    pub const riscv64: Arch = Arch::new_const("riscv64");
3042    pub const s390x: Arch = Arch::new_const("s390x");
3043    pub const sparc: Arch = Arch::new_const("sparc");
3044    pub const sparc64: Arch = Arch::new_const("sparc64");
3045    pub const wasm32: Arch = Arch::new_const("wasm32");
3046    pub const wasm64: Arch = Arch::new_const("wasm64");
3047    pub const x86: Arch = Arch::new_const("x86");
3048    pub const x86_64: Arch = Arch::new_const("x86_64");
3049}
3050
3051impl super::Vendor {
3052    pub const apple: Vendor = Vendor::new_const("apple");
3053    pub const espressif: Vendor = Vendor::new_const("espressif");
3054    pub const fortanix: Vendor = Vendor::new_const("fortanix");
3055    pub const ibm: Vendor = Vendor::new_const("ibm");
3056    pub const kmc: Vendor = Vendor::new_const("kmc");
3057    pub const nintendo: Vendor = Vendor::new_const("nintendo");
3058    pub const nvidia: Vendor = Vendor::new_const("nvidia");
3059    pub const pc: Vendor = Vendor::new_const("pc");
3060    pub const risc0: Vendor = Vendor::new_const("risc0");
3061    pub const sony: Vendor = Vendor::new_const("sony");
3062    pub const sun: Vendor = Vendor::new_const("sun");
3063    pub const unikraft: Vendor = Vendor::new_const("unikraft");
3064    pub const unknown: Vendor = Vendor::new_const("unknown");
3065    pub const uwp: Vendor = Vendor::new_const("uwp");
3066    pub const win7: Vendor = Vendor::new_const("win7");
3067    pub const wrs: Vendor = Vendor::new_const("wrs");
3068}
3069
3070impl super::Os {
3071    pub const aix: Os = Os::new_const("aix");
3072    pub const android: Os = Os::new_const("android");
3073    pub const cuda: Os = Os::new_const("cuda");
3074    pub const dragonfly: Os = Os::new_const("dragonfly");
3075    pub const emscripten: Os = Os::new_const("emscripten");
3076    pub const espidf: Os = Os::new_const("espidf");
3077    pub const freebsd: Os = Os::new_const("freebsd");
3078    pub const fuchsia: Os = Os::new_const("fuchsia");
3079    pub const haiku: Os = Os::new_const("haiku");
3080    pub const hermit: Os = Os::new_const("hermit");
3081    pub const horizon: Os = Os::new_const("horizon");
3082    pub const hurd: Os = Os::new_const("hurd");
3083    pub const illumos: Os = Os::new_const("illumos");
3084    pub const ios: Os = Os::new_const("ios");
3085    pub const l4re: Os = Os::new_const("l4re");
3086    pub const linux: Os = Os::new_const("linux");
3087    pub const macos: Os = Os::new_const("macos");
3088    pub const netbsd: Os = Os::new_const("netbsd");
3089    pub const nto: Os = Os::new_const("nto");
3090    pub const openbsd: Os = Os::new_const("openbsd");
3091    pub const psp: Os = Os::new_const("psp");
3092    pub const redox: Os = Os::new_const("redox");
3093    pub const solaris: Os = Os::new_const("solaris");
3094    pub const solid_asp3: Os = Os::new_const("solid_asp3");
3095    pub const teeos: Os = Os::new_const("teeos");
3096    pub const tvos: Os = Os::new_const("tvos");
3097    pub const uefi: Os = Os::new_const("uefi");
3098    pub const unknown: Os = Os::new_const("unknown");
3099    pub const vita: Os = Os::new_const("vita");
3100    pub const vxworks: Os = Os::new_const("vxworks");
3101    pub const wasi: Os = Os::new_const("wasi");
3102    pub const watchos: Os = Os::new_const("watchos");
3103    pub const windows: Os = Os::new_const("windows");
3104    pub const xous: Os = Os::new_const("xous");
3105    pub const zkvm: Os = Os::new_const("zkvm");
3106}
3107
3108impl super::Family {
3109    pub const unix: Family = Family::new_const("unix");
3110    pub const wasm: Family = Family::new_const("wasm");
3111    pub const windows: Family = Family::new_const("windows");
3112}
3113
3114const __families_unix: &[Family] = &[Family::unix];
3115const __families_unix_wasm: &[Family] = &[Family::unix, Family::wasm];
3116const __families_wasm: &[Family] = &[Family::wasm];
3117const __families_windows: &[Family] = &[Family::windows];
3118
3119impl super::Families {
3120    pub const unix: Families = Families::new_const(__families_unix);
3121    pub const unix_wasm: Families = Families::new_const(__families_unix_wasm);
3122    pub const wasm: Families = Families::new_const(__families_wasm);
3123    pub const windows: Families = Families::new_const(__families_windows);
3124}
3125
3126impl super::Env {
3127    pub const eabihf: Env = Env::new_const("eabihf");
3128    pub const gnu: Env = Env::new_const("gnu");
3129    pub const gnueabihf: Env = Env::new_const("gnueabihf");
3130    pub const msvc: Env = Env::new_const("msvc");
3131    pub const musl: Env = Env::new_const("musl");
3132    pub const newlib: Env = Env::new_const("newlib");
3133    pub const nto70: Env = Env::new_const("nto70");
3134    pub const nto71: Env = Env::new_const("nto71");
3135    pub const ohos: Env = Env::new_const("ohos");
3136    pub const psx: Env = Env::new_const("psx");
3137    pub const relibc: Env = Env::new_const("relibc");
3138    pub const sgx: Env = Env::new_const("sgx");
3139    pub const uclibc: Env = Env::new_const("uclibc");
3140}
3141
3142const __has_atomics_8_16_32_64_128_ptr: &[HasAtomic] = &[
3143    HasAtomic::IntegerSize(8),
3144    HasAtomic::IntegerSize(16),
3145    HasAtomic::IntegerSize(32),
3146    HasAtomic::IntegerSize(64),
3147    HasAtomic::IntegerSize(128),
3148    HasAtomic::Pointer,
3149];
3150const __has_atomics_8_16_32_64_ptr: &[HasAtomic] = &[
3151    HasAtomic::IntegerSize(8),
3152    HasAtomic::IntegerSize(16),
3153    HasAtomic::IntegerSize(32),
3154    HasAtomic::IntegerSize(64),
3155    HasAtomic::Pointer,
3156];
3157const __has_atomics_8_16_32_ptr: &[HasAtomic] = &[
3158    HasAtomic::IntegerSize(8),
3159    HasAtomic::IntegerSize(16),
3160    HasAtomic::IntegerSize(32),
3161    HasAtomic::Pointer,
3162];
3163
3164impl super::HasAtomics {
3165    pub const atomic_8_16_32_64_128_ptr: HasAtomics =
3166        HasAtomics::new_const(__has_atomics_8_16_32_64_128_ptr);
3167    pub const atomic_8_16_32_64_ptr: HasAtomics =
3168        HasAtomics::new_const(__has_atomics_8_16_32_64_ptr);
3169    pub const atomic_8_16_32_ptr: HasAtomics = HasAtomics::new_const(__has_atomics_8_16_32_ptr);
3170}
3171
3172impl super::Panic {
3173    pub const abort: Panic = Panic::new_const("abort");
3174    pub const unwind: Panic = Panic::new_const("unwind");
3175}