master
1//! This file is auto-generated by tools/update_cpu_features.zig.
2
3const std = @import("../std.zig");
4const CpuFeature = std.Target.Cpu.Feature;
5const CpuModel = std.Target.Cpu.Model;
6
7pub const Feature = enum {
8 @"10e60",
9 @"2e3",
10 @"3e3r1",
11 @"3e3r2",
12 @"3e3r3",
13 @"3e7",
14 @"7e10",
15 btst16,
16 cache,
17 ccrt,
18 ck801,
19 ck802,
20 ck803,
21 ck803s,
22 ck804,
23 ck805,
24 ck807,
25 ck810,
26 ck810v,
27 ck860,
28 ck860v,
29 constpool,
30 doloop,
31 dsp1e2,
32 dsp_silan,
33 dspe60,
34 dspv2,
35 e1,
36 e2,
37 edsp,
38 elrw,
39 fdivdu,
40 float1e2,
41 float1e3,
42 float3e4,
43 float7e60,
44 floate1,
45 fpuv2_df,
46 fpuv2_sf,
47 fpuv3_df,
48 fpuv3_hf,
49 fpuv3_hi,
50 fpuv3_sf,
51 hard_float,
52 hard_float_abi,
53 hard_tp,
54 high_registers,
55 hwdiv,
56 istack,
57 java,
58 mp,
59 mp1e2,
60 multiple_stld,
61 nvic,
62 pushpop,
63 smart,
64 soft_tp,
65 stack_size,
66 trust,
67 vdsp2e3,
68 vdsp2e60f,
69 vdspv1,
70 vdspv2,
71};
72
73pub const featureSet = CpuFeature.FeatureSetFns(Feature).featureSet;
74pub const featureSetHas = CpuFeature.FeatureSetFns(Feature).featureSetHas;
75pub const featureSetHasAny = CpuFeature.FeatureSetFns(Feature).featureSetHasAny;
76pub const featureSetHasAll = CpuFeature.FeatureSetFns(Feature).featureSetHasAll;
77
78pub const all_features = blk: {
79 const len = @typeInfo(Feature).@"enum".fields.len;
80 std.debug.assert(len <= CpuFeature.Set.needed_bit_count);
81 var result: [len]CpuFeature = undefined;
82 result[@intFromEnum(Feature.@"10e60")] = .{
83 .llvm_name = "10e60",
84 .description = "Support CSKY 10e60 instructions",
85 .dependencies = featureSet(&[_]Feature{
86 .@"7e10",
87 }),
88 };
89 result[@intFromEnum(Feature.@"2e3")] = .{
90 .llvm_name = "2e3",
91 .description = "Support CSKY 2e3 instructions",
92 .dependencies = featureSet(&[_]Feature{
93 .e2,
94 }),
95 };
96 result[@intFromEnum(Feature.@"3e3r1")] = .{
97 .llvm_name = "3e3r1",
98 .description = "Support CSKY 3e3r1 instructions",
99 .dependencies = featureSet(&[_]Feature{}),
100 };
101 result[@intFromEnum(Feature.@"3e3r2")] = .{
102 .llvm_name = "3e3r2",
103 .description = "Support CSKY 3e3r2 instructions",
104 .dependencies = featureSet(&[_]Feature{
105 .@"3e3r1",
106 .doloop,
107 }),
108 };
109 result[@intFromEnum(Feature.@"3e3r3")] = .{
110 .llvm_name = "3e3r3",
111 .description = "Support CSKY 3e3r3 instructions",
112 .dependencies = featureSet(&[_]Feature{
113 .doloop,
114 }),
115 };
116 result[@intFromEnum(Feature.@"3e7")] = .{
117 .llvm_name = "3e7",
118 .description = "Support CSKY 3e7 instructions",
119 .dependencies = featureSet(&[_]Feature{
120 .@"2e3",
121 }),
122 };
123 result[@intFromEnum(Feature.@"7e10")] = .{
124 .llvm_name = "7e10",
125 .description = "Support CSKY 7e10 instructions",
126 .dependencies = featureSet(&[_]Feature{
127 .@"3e7",
128 }),
129 };
130 result[@intFromEnum(Feature.btst16)] = .{
131 .llvm_name = "btst16",
132 .description = "Use the 16-bit btsti instruction",
133 .dependencies = featureSet(&[_]Feature{}),
134 };
135 result[@intFromEnum(Feature.cache)] = .{
136 .llvm_name = "cache",
137 .description = "Enable cache",
138 .dependencies = featureSet(&[_]Feature{}),
139 };
140 result[@intFromEnum(Feature.ccrt)] = .{
141 .llvm_name = "ccrt",
142 .description = "Use CSKY compiler runtime",
143 .dependencies = featureSet(&[_]Feature{}),
144 };
145 result[@intFromEnum(Feature.ck801)] = .{
146 .llvm_name = "ck801",
147 .description = "CSKY ck801 processors",
148 .dependencies = featureSet(&[_]Feature{}),
149 };
150 result[@intFromEnum(Feature.ck802)] = .{
151 .llvm_name = "ck802",
152 .description = "CSKY ck802 processors",
153 .dependencies = featureSet(&[_]Feature{}),
154 };
155 result[@intFromEnum(Feature.ck803)] = .{
156 .llvm_name = "ck803",
157 .description = "CSKY ck803 processors",
158 .dependencies = featureSet(&[_]Feature{}),
159 };
160 result[@intFromEnum(Feature.ck803s)] = .{
161 .llvm_name = "ck803s",
162 .description = "CSKY ck803s processors",
163 .dependencies = featureSet(&[_]Feature{}),
164 };
165 result[@intFromEnum(Feature.ck804)] = .{
166 .llvm_name = "ck804",
167 .description = "CSKY ck804 processors",
168 .dependencies = featureSet(&[_]Feature{}),
169 };
170 result[@intFromEnum(Feature.ck805)] = .{
171 .llvm_name = "ck805",
172 .description = "CSKY ck805 processors",
173 .dependencies = featureSet(&[_]Feature{}),
174 };
175 result[@intFromEnum(Feature.ck807)] = .{
176 .llvm_name = "ck807",
177 .description = "CSKY ck807 processors",
178 .dependencies = featureSet(&[_]Feature{}),
179 };
180 result[@intFromEnum(Feature.ck810)] = .{
181 .llvm_name = "ck810",
182 .description = "CSKY ck810 processors",
183 .dependencies = featureSet(&[_]Feature{}),
184 };
185 result[@intFromEnum(Feature.ck810v)] = .{
186 .llvm_name = "ck810v",
187 .description = "CSKY ck810v processors",
188 .dependencies = featureSet(&[_]Feature{}),
189 };
190 result[@intFromEnum(Feature.ck860)] = .{
191 .llvm_name = "ck860",
192 .description = "CSKY ck860 processors",
193 .dependencies = featureSet(&[_]Feature{}),
194 };
195 result[@intFromEnum(Feature.ck860v)] = .{
196 .llvm_name = "ck860v",
197 .description = "CSKY ck860v processors",
198 .dependencies = featureSet(&[_]Feature{}),
199 };
200 result[@intFromEnum(Feature.constpool)] = .{
201 .llvm_name = "constpool",
202 .description = "Dump the constant pool by compiler",
203 .dependencies = featureSet(&[_]Feature{}),
204 };
205 result[@intFromEnum(Feature.doloop)] = .{
206 .llvm_name = "doloop",
207 .description = "Enable doloop instructions",
208 .dependencies = featureSet(&[_]Feature{}),
209 };
210 result[@intFromEnum(Feature.dsp1e2)] = .{
211 .llvm_name = "dsp1e2",
212 .description = "Support CSKY dsp1e2 instructions",
213 .dependencies = featureSet(&[_]Feature{}),
214 };
215 result[@intFromEnum(Feature.dsp_silan)] = .{
216 .llvm_name = "dsp_silan",
217 .description = "Enable DSP Silan instructions",
218 .dependencies = featureSet(&[_]Feature{}),
219 };
220 result[@intFromEnum(Feature.dspe60)] = .{
221 .llvm_name = "dspe60",
222 .description = "Support CSKY dspe60 instructions",
223 .dependencies = featureSet(&[_]Feature{}),
224 };
225 result[@intFromEnum(Feature.dspv2)] = .{
226 .llvm_name = "dspv2",
227 .description = "Enable DSP V2.0 instructions",
228 .dependencies = featureSet(&[_]Feature{}),
229 };
230 result[@intFromEnum(Feature.e1)] = .{
231 .llvm_name = "e1",
232 .description = "Support CSKY e1 instructions",
233 .dependencies = featureSet(&[_]Feature{
234 .elrw,
235 }),
236 };
237 result[@intFromEnum(Feature.e2)] = .{
238 .llvm_name = "e2",
239 .description = "Support CSKY e2 instructions",
240 .dependencies = featureSet(&[_]Feature{
241 .e1,
242 }),
243 };
244 result[@intFromEnum(Feature.edsp)] = .{
245 .llvm_name = "edsp",
246 .description = "Enable DSP instructions",
247 .dependencies = featureSet(&[_]Feature{}),
248 };
249 result[@intFromEnum(Feature.elrw)] = .{
250 .llvm_name = "elrw",
251 .description = "Use the extend LRW instruction",
252 .dependencies = featureSet(&[_]Feature{}),
253 };
254 result[@intFromEnum(Feature.fdivdu)] = .{
255 .llvm_name = "fdivdu",
256 .description = "Enable float divide instructions",
257 .dependencies = featureSet(&[_]Feature{}),
258 };
259 result[@intFromEnum(Feature.float1e2)] = .{
260 .llvm_name = "float1e2",
261 .description = "Support CSKY float1e2 instructions",
262 .dependencies = featureSet(&[_]Feature{}),
263 };
264 result[@intFromEnum(Feature.float1e3)] = .{
265 .llvm_name = "float1e3",
266 .description = "Support CSKY float1e3 instructions",
267 .dependencies = featureSet(&[_]Feature{}),
268 };
269 result[@intFromEnum(Feature.float3e4)] = .{
270 .llvm_name = "float3e4",
271 .description = "Support CSKY float3e4 instructions",
272 .dependencies = featureSet(&[_]Feature{}),
273 };
274 result[@intFromEnum(Feature.float7e60)] = .{
275 .llvm_name = "float7e60",
276 .description = "Support CSKY float7e60 instructions",
277 .dependencies = featureSet(&[_]Feature{}),
278 };
279 result[@intFromEnum(Feature.floate1)] = .{
280 .llvm_name = "floate1",
281 .description = "Support CSKY floate1 instructions",
282 .dependencies = featureSet(&[_]Feature{}),
283 };
284 result[@intFromEnum(Feature.fpuv2_df)] = .{
285 .llvm_name = "fpuv2_df",
286 .description = "Enable FPUv2 double float instructions",
287 .dependencies = featureSet(&[_]Feature{}),
288 };
289 result[@intFromEnum(Feature.fpuv2_sf)] = .{
290 .llvm_name = "fpuv2_sf",
291 .description = "Enable FPUv2 single float instructions",
292 .dependencies = featureSet(&[_]Feature{}),
293 };
294 result[@intFromEnum(Feature.fpuv3_df)] = .{
295 .llvm_name = "fpuv3_df",
296 .description = "Enable FPUv3 double float instructions",
297 .dependencies = featureSet(&[_]Feature{}),
298 };
299 result[@intFromEnum(Feature.fpuv3_hf)] = .{
300 .llvm_name = "fpuv3_hf",
301 .description = "Enable FPUv3 half precision operate instructions",
302 .dependencies = featureSet(&[_]Feature{}),
303 };
304 result[@intFromEnum(Feature.fpuv3_hi)] = .{
305 .llvm_name = "fpuv3_hi",
306 .description = "Enable FPUv3 half word converting instructions",
307 .dependencies = featureSet(&[_]Feature{}),
308 };
309 result[@intFromEnum(Feature.fpuv3_sf)] = .{
310 .llvm_name = "fpuv3_sf",
311 .description = "Enable FPUv3 single float instructions",
312 .dependencies = featureSet(&[_]Feature{}),
313 };
314 result[@intFromEnum(Feature.hard_float)] = .{
315 .llvm_name = "hard-float",
316 .description = "Use hard floating point features",
317 .dependencies = featureSet(&[_]Feature{}),
318 };
319 result[@intFromEnum(Feature.hard_float_abi)] = .{
320 .llvm_name = "hard-float-abi",
321 .description = "Use hard floating point ABI to pass args",
322 .dependencies = featureSet(&[_]Feature{}),
323 };
324 result[@intFromEnum(Feature.hard_tp)] = .{
325 .llvm_name = "hard-tp",
326 .description = "Enable TLS Pointer register",
327 .dependencies = featureSet(&[_]Feature{}),
328 };
329 result[@intFromEnum(Feature.high_registers)] = .{
330 .llvm_name = "high-registers",
331 .description = "Enable r16-r31 registers",
332 .dependencies = featureSet(&[_]Feature{}),
333 };
334 result[@intFromEnum(Feature.hwdiv)] = .{
335 .llvm_name = "hwdiv",
336 .description = "Enable divide instructions",
337 .dependencies = featureSet(&[_]Feature{}),
338 };
339 result[@intFromEnum(Feature.istack)] = .{
340 .llvm_name = "istack",
341 .description = "Enable interrupt attribute",
342 .dependencies = featureSet(&[_]Feature{}),
343 };
344 result[@intFromEnum(Feature.java)] = .{
345 .llvm_name = "java",
346 .description = "Enable java instructions",
347 .dependencies = featureSet(&[_]Feature{}),
348 };
349 result[@intFromEnum(Feature.mp)] = .{
350 .llvm_name = "mp",
351 .description = "Support CSKY mp instructions",
352 .dependencies = featureSet(&[_]Feature{
353 .@"2e3",
354 }),
355 };
356 result[@intFromEnum(Feature.mp1e2)] = .{
357 .llvm_name = "mp1e2",
358 .description = "Support CSKY mp1e2 instructions",
359 .dependencies = featureSet(&[_]Feature{
360 .@"3e7",
361 }),
362 };
363 result[@intFromEnum(Feature.multiple_stld)] = .{
364 .llvm_name = "multiple_stld",
365 .description = "Enable multiple load/store instructions",
366 .dependencies = featureSet(&[_]Feature{}),
367 };
368 result[@intFromEnum(Feature.nvic)] = .{
369 .llvm_name = "nvic",
370 .description = "Enable NVIC",
371 .dependencies = featureSet(&[_]Feature{}),
372 };
373 result[@intFromEnum(Feature.pushpop)] = .{
374 .llvm_name = "pushpop",
375 .description = "Enable push/pop instructions",
376 .dependencies = featureSet(&[_]Feature{}),
377 };
378 result[@intFromEnum(Feature.smart)] = .{
379 .llvm_name = "smart",
380 .description = "Let CPU work in Smart Mode",
381 .dependencies = featureSet(&[_]Feature{}),
382 };
383 result[@intFromEnum(Feature.soft_tp)] = .{
384 .llvm_name = "soft-tp",
385 .description = "Disable TLS Pointer register",
386 .dependencies = featureSet(&[_]Feature{}),
387 };
388 result[@intFromEnum(Feature.stack_size)] = .{
389 .llvm_name = "stack-size",
390 .description = "Output stack size information",
391 .dependencies = featureSet(&[_]Feature{}),
392 };
393 result[@intFromEnum(Feature.trust)] = .{
394 .llvm_name = "trust",
395 .description = "Enable trust instructions",
396 .dependencies = featureSet(&[_]Feature{}),
397 };
398 result[@intFromEnum(Feature.vdsp2e3)] = .{
399 .llvm_name = "vdsp2e3",
400 .description = "Support CSKY vdsp2e3 instructions",
401 .dependencies = featureSet(&[_]Feature{}),
402 };
403 result[@intFromEnum(Feature.vdsp2e60f)] = .{
404 .llvm_name = "vdsp2e60f",
405 .description = "Support CSKY vdsp2e60f instructions",
406 .dependencies = featureSet(&[_]Feature{}),
407 };
408 result[@intFromEnum(Feature.vdspv1)] = .{
409 .llvm_name = "vdspv1",
410 .description = "Enable 128bit vdsp-v1 instructions",
411 .dependencies = featureSet(&[_]Feature{}),
412 };
413 result[@intFromEnum(Feature.vdspv2)] = .{
414 .llvm_name = "vdspv2",
415 .description = "Enable vdsp-v2 instructions",
416 .dependencies = featureSet(&[_]Feature{}),
417 };
418 const ti = @typeInfo(Feature);
419 for (&result, 0..) |*elem, i| {
420 elem.index = i;
421 elem.name = ti.@"enum".fields[i].name;
422 }
423 break :blk result;
424};
425
426pub const cpu = struct {
427 pub const c807: CpuModel = .{
428 .name = "c807",
429 .llvm_name = "c807",
430 .features = featureSet(&[_]Feature{
431 .cache,
432 .ck807,
433 .dsp1e2,
434 .dspe60,
435 .edsp,
436 .hard_tp,
437 .high_registers,
438 .hwdiv,
439 .mp,
440 .mp1e2,
441 .nvic,
442 .trust,
443 }),
444 };
445 pub const c807f: CpuModel = .{
446 .name = "c807f",
447 .llvm_name = "c807f",
448 .features = featureSet(&[_]Feature{
449 .cache,
450 .ck807,
451 .dsp1e2,
452 .dspe60,
453 .edsp,
454 .fdivdu,
455 .float1e2,
456 .float1e3,
457 .float3e4,
458 .floate1,
459 .fpuv2_df,
460 .fpuv2_sf,
461 .hard_tp,
462 .high_registers,
463 .hwdiv,
464 .mp,
465 .mp1e2,
466 .nvic,
467 .trust,
468 }),
469 };
470 pub const c810: CpuModel = .{
471 .name = "c810",
472 .llvm_name = "c810",
473 .features = featureSet(&[_]Feature{
474 .@"7e10",
475 .cache,
476 .ck810,
477 .dsp1e2,
478 .dspe60,
479 .edsp,
480 .fdivdu,
481 .float1e2,
482 .floate1,
483 .fpuv2_df,
484 .fpuv2_sf,
485 .hard_tp,
486 .high_registers,
487 .hwdiv,
488 .mp,
489 .mp1e2,
490 .nvic,
491 .trust,
492 }),
493 };
494 pub const c810t: CpuModel = .{
495 .name = "c810t",
496 .llvm_name = "c810t",
497 .features = featureSet(&[_]Feature{
498 .@"7e10",
499 .cache,
500 .ck810,
501 .dsp1e2,
502 .dspe60,
503 .edsp,
504 .fdivdu,
505 .float1e2,
506 .floate1,
507 .fpuv2_df,
508 .fpuv2_sf,
509 .hard_tp,
510 .high_registers,
511 .hwdiv,
512 .mp,
513 .mp1e2,
514 .nvic,
515 .trust,
516 }),
517 };
518 pub const c810tv: CpuModel = .{
519 .name = "c810tv",
520 .llvm_name = "c810tv",
521 .features = featureSet(&[_]Feature{
522 .@"7e10",
523 .cache,
524 .ck810,
525 .ck810v,
526 .dsp1e2,
527 .dspe60,
528 .edsp,
529 .fdivdu,
530 .float1e2,
531 .floate1,
532 .fpuv2_df,
533 .fpuv2_sf,
534 .hard_tp,
535 .high_registers,
536 .hwdiv,
537 .mp,
538 .mp1e2,
539 .nvic,
540 .trust,
541 .vdspv1,
542 }),
543 };
544 pub const c810v: CpuModel = .{
545 .name = "c810v",
546 .llvm_name = "c810v",
547 .features = featureSet(&[_]Feature{
548 .@"7e10",
549 .cache,
550 .ck810,
551 .ck810v,
552 .dsp1e2,
553 .dspe60,
554 .edsp,
555 .fdivdu,
556 .float1e2,
557 .floate1,
558 .fpuv2_df,
559 .fpuv2_sf,
560 .hard_tp,
561 .high_registers,
562 .hwdiv,
563 .mp,
564 .mp1e2,
565 .nvic,
566 .trust,
567 .vdspv1,
568 }),
569 };
570 pub const c860: CpuModel = .{
571 .name = "c860",
572 .llvm_name = "c860",
573 .features = featureSet(&[_]Feature{
574 .@"10e60",
575 .@"3e3r2",
576 .@"3e3r3",
577 .btst16,
578 .cache,
579 .ck860,
580 .dspe60,
581 .float7e60,
582 .fpuv3_df,
583 .fpuv3_hf,
584 .fpuv3_hi,
585 .fpuv3_sf,
586 .hard_tp,
587 .high_registers,
588 .hwdiv,
589 .mp,
590 .mp1e2,
591 .nvic,
592 .trust,
593 }),
594 };
595 pub const c860v: CpuModel = .{
596 .name = "c860v",
597 .llvm_name = "c860v",
598 .features = featureSet(&[_]Feature{
599 .@"10e60",
600 .@"3e3r2",
601 .@"3e3r3",
602 .btst16,
603 .cache,
604 .ck860,
605 .ck860v,
606 .dspe60,
607 .float7e60,
608 .fpuv3_df,
609 .fpuv3_hf,
610 .fpuv3_hi,
611 .fpuv3_sf,
612 .hard_tp,
613 .high_registers,
614 .hwdiv,
615 .mp,
616 .mp1e2,
617 .nvic,
618 .trust,
619 .vdsp2e60f,
620 .vdspv2,
621 }),
622 };
623 pub const ck801: CpuModel = .{
624 .name = "ck801",
625 .llvm_name = "ck801",
626 .features = featureSet(&[_]Feature{
627 .btst16,
628 .ck801,
629 .e1,
630 .trust,
631 }),
632 };
633 pub const ck801t: CpuModel = .{
634 .name = "ck801t",
635 .llvm_name = "ck801t",
636 .features = featureSet(&[_]Feature{
637 .btst16,
638 .ck801,
639 .e1,
640 .trust,
641 }),
642 };
643 pub const ck802: CpuModel = .{
644 .name = "ck802",
645 .llvm_name = "ck802",
646 .features = featureSet(&[_]Feature{
647 .btst16,
648 .ck802,
649 .e2,
650 .nvic,
651 .trust,
652 }),
653 };
654 pub const ck802j: CpuModel = .{
655 .name = "ck802j",
656 .llvm_name = "ck802j",
657 .features = featureSet(&[_]Feature{
658 .btst16,
659 .ck802,
660 .e2,
661 .java,
662 .nvic,
663 .trust,
664 }),
665 };
666 pub const ck802t: CpuModel = .{
667 .name = "ck802t",
668 .llvm_name = "ck802t",
669 .features = featureSet(&[_]Feature{
670 .btst16,
671 .ck802,
672 .e2,
673 .nvic,
674 .trust,
675 }),
676 };
677 pub const ck803: CpuModel = .{
678 .name = "ck803",
679 .llvm_name = "ck803",
680 .features = featureSet(&[_]Feature{
681 .btst16,
682 .ck803,
683 .hwdiv,
684 .mp,
685 .nvic,
686 .trust,
687 }),
688 };
689 pub const ck803e: CpuModel = .{
690 .name = "ck803e",
691 .llvm_name = "ck803e",
692 .features = featureSet(&[_]Feature{
693 .btst16,
694 .ck803,
695 .dsp1e2,
696 .dspe60,
697 .edsp,
698 .hwdiv,
699 .mp,
700 .nvic,
701 .trust,
702 }),
703 };
704 pub const ck803ef: CpuModel = .{
705 .name = "ck803ef",
706 .llvm_name = "ck803ef",
707 .features = featureSet(&[_]Feature{
708 .btst16,
709 .ck803,
710 .dsp1e2,
711 .dspe60,
712 .edsp,
713 .float1e3,
714 .floate1,
715 .fpuv2_sf,
716 .hwdiv,
717 .mp,
718 .nvic,
719 .trust,
720 }),
721 };
722 pub const ck803efh: CpuModel = .{
723 .name = "ck803efh",
724 .llvm_name = "ck803efh",
725 .features = featureSet(&[_]Feature{
726 .btst16,
727 .ck803,
728 .dsp1e2,
729 .dspe60,
730 .edsp,
731 .float1e3,
732 .floate1,
733 .fpuv2_sf,
734 .hwdiv,
735 .mp,
736 .nvic,
737 .trust,
738 }),
739 };
740 pub const ck803efhr1: CpuModel = .{
741 .name = "ck803efhr1",
742 .llvm_name = "ck803efhr1",
743 .features = featureSet(&[_]Feature{
744 .@"3e3r1",
745 .btst16,
746 .ck803,
747 .dsp1e2,
748 .dspe60,
749 .dspv2,
750 .edsp,
751 .float1e3,
752 .floate1,
753 .fpuv2_sf,
754 .high_registers,
755 .hwdiv,
756 .mp,
757 .nvic,
758 .trust,
759 }),
760 };
761 pub const ck803efhr2: CpuModel = .{
762 .name = "ck803efhr2",
763 .llvm_name = "ck803efhr2",
764 .features = featureSet(&[_]Feature{
765 .@"3e3r2",
766 .@"3e3r3",
767 .btst16,
768 .ck803,
769 .dsp1e2,
770 .dspe60,
771 .dspv2,
772 .edsp,
773 .float1e3,
774 .floate1,
775 .fpuv2_sf,
776 .high_registers,
777 .hwdiv,
778 .mp,
779 .nvic,
780 .trust,
781 }),
782 };
783 pub const ck803efhr3: CpuModel = .{
784 .name = "ck803efhr3",
785 .llvm_name = "ck803efhr3",
786 .features = featureSet(&[_]Feature{
787 .@"3e3r2",
788 .@"3e3r3",
789 .btst16,
790 .ck803,
791 .dsp1e2,
792 .dspe60,
793 .dspv2,
794 .edsp,
795 .float1e3,
796 .floate1,
797 .fpuv2_sf,
798 .high_registers,
799 .hwdiv,
800 .mp,
801 .nvic,
802 .trust,
803 }),
804 };
805 pub const ck803efht: CpuModel = .{
806 .name = "ck803efht",
807 .llvm_name = "ck803efht",
808 .features = featureSet(&[_]Feature{
809 .btst16,
810 .ck803,
811 .dsp1e2,
812 .dspe60,
813 .edsp,
814 .float1e3,
815 .floate1,
816 .fpuv2_sf,
817 .hwdiv,
818 .mp,
819 .nvic,
820 .trust,
821 }),
822 };
823 pub const ck803efhtr1: CpuModel = .{
824 .name = "ck803efhtr1",
825 .llvm_name = "ck803efhtr1",
826 .features = featureSet(&[_]Feature{
827 .@"3e3r1",
828 .btst16,
829 .ck803,
830 .dsp1e2,
831 .dspe60,
832 .dspv2,
833 .edsp,
834 .float1e3,
835 .floate1,
836 .fpuv2_sf,
837 .high_registers,
838 .hwdiv,
839 .mp,
840 .nvic,
841 .trust,
842 }),
843 };
844 pub const ck803efhtr2: CpuModel = .{
845 .name = "ck803efhtr2",
846 .llvm_name = "ck803efhtr2",
847 .features = featureSet(&[_]Feature{
848 .@"3e3r2",
849 .@"3e3r3",
850 .btst16,
851 .ck803,
852 .dsp1e2,
853 .dspe60,
854 .dspv2,
855 .edsp,
856 .float1e3,
857 .floate1,
858 .fpuv2_sf,
859 .high_registers,
860 .hwdiv,
861 .mp,
862 .nvic,
863 .trust,
864 }),
865 };
866 pub const ck803efhtr3: CpuModel = .{
867 .name = "ck803efhtr3",
868 .llvm_name = "ck803efhtr3",
869 .features = featureSet(&[_]Feature{
870 .@"3e3r2",
871 .@"3e3r3",
872 .btst16,
873 .ck803,
874 .dsp1e2,
875 .dspe60,
876 .dspv2,
877 .edsp,
878 .float1e3,
879 .floate1,
880 .fpuv2_sf,
881 .high_registers,
882 .hwdiv,
883 .mp,
884 .nvic,
885 .trust,
886 }),
887 };
888 pub const ck803efr1: CpuModel = .{
889 .name = "ck803efr1",
890 .llvm_name = "ck803efr1",
891 .features = featureSet(&[_]Feature{
892 .@"3e3r1",
893 .btst16,
894 .ck803,
895 .dsp1e2,
896 .dspe60,
897 .dspv2,
898 .edsp,
899 .float1e3,
900 .floate1,
901 .fpuv2_sf,
902 .high_registers,
903 .hwdiv,
904 .mp,
905 .nvic,
906 .trust,
907 }),
908 };
909 pub const ck803efr2: CpuModel = .{
910 .name = "ck803efr2",
911 .llvm_name = "ck803efr2",
912 .features = featureSet(&[_]Feature{
913 .@"3e3r2",
914 .@"3e3r3",
915 .btst16,
916 .ck803,
917 .dsp1e2,
918 .dspe60,
919 .dspv2,
920 .edsp,
921 .float1e3,
922 .floate1,
923 .fpuv2_sf,
924 .high_registers,
925 .hwdiv,
926 .mp,
927 .nvic,
928 .trust,
929 }),
930 };
931 pub const ck803efr3: CpuModel = .{
932 .name = "ck803efr3",
933 .llvm_name = "ck803efr3",
934 .features = featureSet(&[_]Feature{
935 .@"3e3r2",
936 .@"3e3r3",
937 .btst16,
938 .ck803,
939 .dsp1e2,
940 .dspe60,
941 .dspv2,
942 .edsp,
943 .float1e3,
944 .floate1,
945 .fpuv2_sf,
946 .high_registers,
947 .hwdiv,
948 .mp,
949 .nvic,
950 .trust,
951 }),
952 };
953 pub const ck803eft: CpuModel = .{
954 .name = "ck803eft",
955 .llvm_name = "ck803eft",
956 .features = featureSet(&[_]Feature{
957 .btst16,
958 .ck803,
959 .dsp1e2,
960 .dspe60,
961 .edsp,
962 .float1e3,
963 .floate1,
964 .fpuv2_sf,
965 .hwdiv,
966 .mp,
967 .nvic,
968 .trust,
969 }),
970 };
971 pub const ck803eftr1: CpuModel = .{
972 .name = "ck803eftr1",
973 .llvm_name = "ck803eftr1",
974 .features = featureSet(&[_]Feature{
975 .@"3e3r1",
976 .btst16,
977 .ck803,
978 .dsp1e2,
979 .dspe60,
980 .dspv2,
981 .edsp,
982 .float1e3,
983 .floate1,
984 .fpuv2_sf,
985 .high_registers,
986 .hwdiv,
987 .mp,
988 .nvic,
989 .trust,
990 }),
991 };
992 pub const ck803eftr2: CpuModel = .{
993 .name = "ck803eftr2",
994 .llvm_name = "ck803eftr2",
995 .features = featureSet(&[_]Feature{
996 .@"3e3r2",
997 .@"3e3r3",
998 .btst16,
999 .ck803,
1000 .dsp1e2,
1001 .dspe60,
1002 .dspv2,
1003 .edsp,
1004 .float1e3,
1005 .floate1,
1006 .fpuv2_sf,
1007 .high_registers,
1008 .hwdiv,
1009 .mp,
1010 .nvic,
1011 .trust,
1012 }),
1013 };
1014 pub const ck803eftr3: CpuModel = .{
1015 .name = "ck803eftr3",
1016 .llvm_name = "ck803eftr3",
1017 .features = featureSet(&[_]Feature{
1018 .@"3e3r2",
1019 .@"3e3r3",
1020 .btst16,
1021 .ck803,
1022 .dsp1e2,
1023 .dspe60,
1024 .dspv2,
1025 .edsp,
1026 .float1e3,
1027 .floate1,
1028 .fpuv2_sf,
1029 .high_registers,
1030 .hwdiv,
1031 .mp,
1032 .nvic,
1033 .trust,
1034 }),
1035 };
1036 pub const ck803eh: CpuModel = .{
1037 .name = "ck803eh",
1038 .llvm_name = "ck803eh",
1039 .features = featureSet(&[_]Feature{
1040 .btst16,
1041 .ck803,
1042 .dsp1e2,
1043 .dspe60,
1044 .edsp,
1045 .hwdiv,
1046 .mp,
1047 .nvic,
1048 .trust,
1049 }),
1050 };
1051 pub const ck803ehr1: CpuModel = .{
1052 .name = "ck803ehr1",
1053 .llvm_name = "ck803ehr1",
1054 .features = featureSet(&[_]Feature{
1055 .@"3e3r1",
1056 .@"3e3r3",
1057 .btst16,
1058 .ck803,
1059 .dsp1e2,
1060 .dspe60,
1061 .dspv2,
1062 .edsp,
1063 .high_registers,
1064 .hwdiv,
1065 .mp,
1066 .nvic,
1067 .trust,
1068 }),
1069 };
1070 pub const ck803ehr2: CpuModel = .{
1071 .name = "ck803ehr2",
1072 .llvm_name = "ck803ehr2",
1073 .features = featureSet(&[_]Feature{
1074 .@"3e3r2",
1075 .@"3e3r3",
1076 .btst16,
1077 .ck803,
1078 .dsp1e2,
1079 .dspe60,
1080 .dspv2,
1081 .edsp,
1082 .high_registers,
1083 .hwdiv,
1084 .mp,
1085 .nvic,
1086 .trust,
1087 }),
1088 };
1089 pub const ck803ehr3: CpuModel = .{
1090 .name = "ck803ehr3",
1091 .llvm_name = "ck803ehr3",
1092 .features = featureSet(&[_]Feature{
1093 .@"3e3r2",
1094 .@"3e3r3",
1095 .btst16,
1096 .ck803,
1097 .dsp1e2,
1098 .dspe60,
1099 .dspv2,
1100 .edsp,
1101 .high_registers,
1102 .hwdiv,
1103 .mp,
1104 .nvic,
1105 .trust,
1106 }),
1107 };
1108 pub const ck803eht: CpuModel = .{
1109 .name = "ck803eht",
1110 .llvm_name = "ck803eht",
1111 .features = featureSet(&[_]Feature{
1112 .btst16,
1113 .ck803,
1114 .dsp1e2,
1115 .dspe60,
1116 .edsp,
1117 .hwdiv,
1118 .mp,
1119 .nvic,
1120 .trust,
1121 }),
1122 };
1123 pub const ck803ehtr1: CpuModel = .{
1124 .name = "ck803ehtr1",
1125 .llvm_name = "ck803ehtr1",
1126 .features = featureSet(&[_]Feature{
1127 .@"3e3r1",
1128 .@"3e3r3",
1129 .btst16,
1130 .ck803,
1131 .dsp1e2,
1132 .dspe60,
1133 .dspv2,
1134 .edsp,
1135 .high_registers,
1136 .hwdiv,
1137 .mp,
1138 .nvic,
1139 .trust,
1140 }),
1141 };
1142 pub const ck803ehtr2: CpuModel = .{
1143 .name = "ck803ehtr2",
1144 .llvm_name = "ck803ehtr2",
1145 .features = featureSet(&[_]Feature{
1146 .@"3e3r2",
1147 .@"3e3r3",
1148 .btst16,
1149 .ck803,
1150 .dsp1e2,
1151 .dspe60,
1152 .dspv2,
1153 .edsp,
1154 .high_registers,
1155 .hwdiv,
1156 .mp,
1157 .nvic,
1158 .trust,
1159 }),
1160 };
1161 pub const ck803ehtr3: CpuModel = .{
1162 .name = "ck803ehtr3",
1163 .llvm_name = "ck803ehtr3",
1164 .features = featureSet(&[_]Feature{
1165 .@"3e3r2",
1166 .@"3e3r3",
1167 .btst16,
1168 .ck803,
1169 .dsp1e2,
1170 .dspe60,
1171 .dspv2,
1172 .edsp,
1173 .high_registers,
1174 .hwdiv,
1175 .mp,
1176 .nvic,
1177 .trust,
1178 }),
1179 };
1180 pub const ck803er1: CpuModel = .{
1181 .name = "ck803er1",
1182 .llvm_name = "ck803er1",
1183 .features = featureSet(&[_]Feature{
1184 .@"3e3r1",
1185 .@"3e3r3",
1186 .btst16,
1187 .ck803,
1188 .dsp1e2,
1189 .dspe60,
1190 .dspv2,
1191 .edsp,
1192 .high_registers,
1193 .hwdiv,
1194 .mp,
1195 .nvic,
1196 .trust,
1197 }),
1198 };
1199 pub const ck803er2: CpuModel = .{
1200 .name = "ck803er2",
1201 .llvm_name = "ck803er2",
1202 .features = featureSet(&[_]Feature{
1203 .@"3e3r2",
1204 .@"3e3r3",
1205 .btst16,
1206 .ck803,
1207 .dsp1e2,
1208 .dspe60,
1209 .dspv2,
1210 .edsp,
1211 .high_registers,
1212 .hwdiv,
1213 .mp,
1214 .nvic,
1215 .trust,
1216 }),
1217 };
1218 pub const ck803er3: CpuModel = .{
1219 .name = "ck803er3",
1220 .llvm_name = "ck803er3",
1221 .features = featureSet(&[_]Feature{
1222 .@"3e3r2",
1223 .@"3e3r3",
1224 .btst16,
1225 .ck803,
1226 .dsp1e2,
1227 .dspe60,
1228 .dspv2,
1229 .edsp,
1230 .high_registers,
1231 .hwdiv,
1232 .mp,
1233 .nvic,
1234 .trust,
1235 }),
1236 };
1237 pub const ck803et: CpuModel = .{
1238 .name = "ck803et",
1239 .llvm_name = "ck803et",
1240 .features = featureSet(&[_]Feature{
1241 .btst16,
1242 .ck803,
1243 .dsp1e2,
1244 .dspe60,
1245 .edsp,
1246 .hwdiv,
1247 .mp,
1248 .nvic,
1249 .trust,
1250 }),
1251 };
1252 pub const ck803etr1: CpuModel = .{
1253 .name = "ck803etr1",
1254 .llvm_name = "ck803etr1",
1255 .features = featureSet(&[_]Feature{
1256 .@"3e3r1",
1257 .@"3e3r3",
1258 .btst16,
1259 .ck803,
1260 .dsp1e2,
1261 .dspe60,
1262 .dspv2,
1263 .edsp,
1264 .high_registers,
1265 .hwdiv,
1266 .mp,
1267 .nvic,
1268 .trust,
1269 }),
1270 };
1271 pub const ck803etr2: CpuModel = .{
1272 .name = "ck803etr2",
1273 .llvm_name = "ck803etr2",
1274 .features = featureSet(&[_]Feature{
1275 .@"3e3r2",
1276 .@"3e3r3",
1277 .btst16,
1278 .ck803,
1279 .dsp1e2,
1280 .dspe60,
1281 .dspv2,
1282 .edsp,
1283 .high_registers,
1284 .hwdiv,
1285 .mp,
1286 .nvic,
1287 .trust,
1288 }),
1289 };
1290 pub const ck803etr3: CpuModel = .{
1291 .name = "ck803etr3",
1292 .llvm_name = "ck803etr3",
1293 .features = featureSet(&[_]Feature{
1294 .@"3e3r2",
1295 .@"3e3r3",
1296 .btst16,
1297 .ck803,
1298 .dsp1e2,
1299 .dspe60,
1300 .dspv2,
1301 .edsp,
1302 .high_registers,
1303 .hwdiv,
1304 .mp,
1305 .nvic,
1306 .trust,
1307 }),
1308 };
1309 pub const ck803f: CpuModel = .{
1310 .name = "ck803f",
1311 .llvm_name = "ck803f",
1312 .features = featureSet(&[_]Feature{
1313 .btst16,
1314 .ck803,
1315 .float1e3,
1316 .floate1,
1317 .fpuv2_sf,
1318 .hwdiv,
1319 .mp,
1320 .nvic,
1321 .trust,
1322 }),
1323 };
1324 pub const ck803fh: CpuModel = .{
1325 .name = "ck803fh",
1326 .llvm_name = "ck803fh",
1327 .features = featureSet(&[_]Feature{
1328 .btst16,
1329 .ck803,
1330 .float1e3,
1331 .floate1,
1332 .fpuv2_sf,
1333 .hwdiv,
1334 .mp,
1335 .nvic,
1336 .trust,
1337 }),
1338 };
1339 pub const ck803fhr1: CpuModel = .{
1340 .name = "ck803fhr1",
1341 .llvm_name = "ck803fhr1",
1342 .features = featureSet(&[_]Feature{
1343 .@"3e3r1",
1344 .@"3e3r3",
1345 .btst16,
1346 .ck803,
1347 .dspv2,
1348 .float1e3,
1349 .floate1,
1350 .fpuv2_sf,
1351 .hwdiv,
1352 .mp,
1353 .nvic,
1354 .trust,
1355 }),
1356 };
1357 pub const ck803fhr2: CpuModel = .{
1358 .name = "ck803fhr2",
1359 .llvm_name = "ck803fhr2",
1360 .features = featureSet(&[_]Feature{
1361 .@"3e3r2",
1362 .@"3e3r3",
1363 .btst16,
1364 .ck803,
1365 .dspv2,
1366 .float1e3,
1367 .floate1,
1368 .fpuv2_sf,
1369 .hwdiv,
1370 .mp,
1371 .nvic,
1372 .trust,
1373 }),
1374 };
1375 pub const ck803fhr3: CpuModel = .{
1376 .name = "ck803fhr3",
1377 .llvm_name = "ck803fhr3",
1378 .features = featureSet(&[_]Feature{
1379 .@"3e3r2",
1380 .@"3e3r3",
1381 .btst16,
1382 .ck803,
1383 .dspv2,
1384 .float1e3,
1385 .floate1,
1386 .fpuv2_sf,
1387 .hwdiv,
1388 .mp,
1389 .nvic,
1390 .trust,
1391 }),
1392 };
1393 pub const ck803fr1: CpuModel = .{
1394 .name = "ck803fr1",
1395 .llvm_name = "ck803fr1",
1396 .features = featureSet(&[_]Feature{
1397 .@"3e3r1",
1398 .@"3e3r3",
1399 .btst16,
1400 .ck803,
1401 .dspv2,
1402 .float1e3,
1403 .floate1,
1404 .fpuv2_sf,
1405 .hwdiv,
1406 .mp,
1407 .nvic,
1408 .trust,
1409 }),
1410 };
1411 pub const ck803fr2: CpuModel = .{
1412 .name = "ck803fr2",
1413 .llvm_name = "ck803fr2",
1414 .features = featureSet(&[_]Feature{
1415 .@"3e3r2",
1416 .@"3e3r3",
1417 .btst16,
1418 .ck803,
1419 .dspv2,
1420 .float1e3,
1421 .floate1,
1422 .fpuv2_sf,
1423 .hwdiv,
1424 .mp,
1425 .nvic,
1426 .trust,
1427 }),
1428 };
1429 pub const ck803fr3: CpuModel = .{
1430 .name = "ck803fr3",
1431 .llvm_name = "ck803fr3",
1432 .features = featureSet(&[_]Feature{
1433 .@"3e3r2",
1434 .@"3e3r3",
1435 .btst16,
1436 .ck803,
1437 .dspv2,
1438 .float1e3,
1439 .floate1,
1440 .fpuv2_sf,
1441 .hwdiv,
1442 .mp,
1443 .nvic,
1444 .trust,
1445 }),
1446 };
1447 pub const ck803ft: CpuModel = .{
1448 .name = "ck803ft",
1449 .llvm_name = "ck803ft",
1450 .features = featureSet(&[_]Feature{
1451 .btst16,
1452 .ck803,
1453 .float1e3,
1454 .floate1,
1455 .fpuv2_sf,
1456 .hwdiv,
1457 .mp,
1458 .nvic,
1459 .trust,
1460 }),
1461 };
1462 pub const ck803ftr1: CpuModel = .{
1463 .name = "ck803ftr1",
1464 .llvm_name = "ck803ftr1",
1465 .features = featureSet(&[_]Feature{
1466 .@"3e3r1",
1467 .btst16,
1468 .ck803,
1469 .dspv2,
1470 .float1e3,
1471 .floate1,
1472 .fpuv2_sf,
1473 .hwdiv,
1474 .mp,
1475 .nvic,
1476 .trust,
1477 }),
1478 };
1479 pub const ck803ftr2: CpuModel = .{
1480 .name = "ck803ftr2",
1481 .llvm_name = "ck803ftr2",
1482 .features = featureSet(&[_]Feature{
1483 .@"3e3r2",
1484 .@"3e3r3",
1485 .btst16,
1486 .ck803,
1487 .dspv2,
1488 .float1e3,
1489 .floate1,
1490 .fpuv2_sf,
1491 .hwdiv,
1492 .mp,
1493 .nvic,
1494 .trust,
1495 }),
1496 };
1497 pub const ck803ftr3: CpuModel = .{
1498 .name = "ck803ftr3",
1499 .llvm_name = "ck803ftr3",
1500 .features = featureSet(&[_]Feature{
1501 .@"3e3r2",
1502 .@"3e3r3",
1503 .btst16,
1504 .ck803,
1505 .dspv2,
1506 .float1e3,
1507 .floate1,
1508 .fpuv2_sf,
1509 .hwdiv,
1510 .mp,
1511 .nvic,
1512 .trust,
1513 }),
1514 };
1515 pub const ck803h: CpuModel = .{
1516 .name = "ck803h",
1517 .llvm_name = "ck803h",
1518 .features = featureSet(&[_]Feature{
1519 .btst16,
1520 .ck803,
1521 .hwdiv,
1522 .mp,
1523 .nvic,
1524 .trust,
1525 }),
1526 };
1527 pub const ck803hr1: CpuModel = .{
1528 .name = "ck803hr1",
1529 .llvm_name = "ck803hr1",
1530 .features = featureSet(&[_]Feature{
1531 .@"3e3r1",
1532 .@"3e3r3",
1533 .btst16,
1534 .ck803,
1535 .dspv2,
1536 .hwdiv,
1537 .mp,
1538 .nvic,
1539 .trust,
1540 }),
1541 };
1542 pub const ck803hr2: CpuModel = .{
1543 .name = "ck803hr2",
1544 .llvm_name = "ck803hr2",
1545 .features = featureSet(&[_]Feature{
1546 .@"3e3r2",
1547 .@"3e3r3",
1548 .btst16,
1549 .ck803,
1550 .dspv2,
1551 .hwdiv,
1552 .mp,
1553 .nvic,
1554 .trust,
1555 }),
1556 };
1557 pub const ck803hr3: CpuModel = .{
1558 .name = "ck803hr3",
1559 .llvm_name = "ck803hr3",
1560 .features = featureSet(&[_]Feature{
1561 .@"3e3r2",
1562 .@"3e3r3",
1563 .btst16,
1564 .ck803,
1565 .dspv2,
1566 .hwdiv,
1567 .mp,
1568 .nvic,
1569 .trust,
1570 }),
1571 };
1572 pub const ck803ht: CpuModel = .{
1573 .name = "ck803ht",
1574 .llvm_name = "ck803ht",
1575 .features = featureSet(&[_]Feature{
1576 .btst16,
1577 .ck803,
1578 .hwdiv,
1579 .mp,
1580 .nvic,
1581 .trust,
1582 }),
1583 };
1584 pub const ck803htr1: CpuModel = .{
1585 .name = "ck803htr1",
1586 .llvm_name = "ck803htr1",
1587 .features = featureSet(&[_]Feature{
1588 .@"3e3r1",
1589 .@"3e3r3",
1590 .btst16,
1591 .ck803,
1592 .dspv2,
1593 .hwdiv,
1594 .mp,
1595 .nvic,
1596 .trust,
1597 }),
1598 };
1599 pub const ck803htr2: CpuModel = .{
1600 .name = "ck803htr2",
1601 .llvm_name = "ck803htr2",
1602 .features = featureSet(&[_]Feature{
1603 .@"3e3r2",
1604 .@"3e3r3",
1605 .btst16,
1606 .ck803,
1607 .dspv2,
1608 .hwdiv,
1609 .mp,
1610 .nvic,
1611 .trust,
1612 }),
1613 };
1614 pub const ck803htr3: CpuModel = .{
1615 .name = "ck803htr3",
1616 .llvm_name = "ck803htr3",
1617 .features = featureSet(&[_]Feature{
1618 .@"3e3r2",
1619 .@"3e3r3",
1620 .btst16,
1621 .ck803,
1622 .dspv2,
1623 .hwdiv,
1624 .mp,
1625 .nvic,
1626 .trust,
1627 }),
1628 };
1629 pub const ck803r1: CpuModel = .{
1630 .name = "ck803r1",
1631 .llvm_name = "ck803r1",
1632 .features = featureSet(&[_]Feature{
1633 .@"3e3r1",
1634 .@"3e3r3",
1635 .btst16,
1636 .ck803,
1637 .dspv2,
1638 .hwdiv,
1639 .mp,
1640 .nvic,
1641 .trust,
1642 }),
1643 };
1644 pub const ck803r2: CpuModel = .{
1645 .name = "ck803r2",
1646 .llvm_name = "ck803r2",
1647 .features = featureSet(&[_]Feature{
1648 .@"3e3r2",
1649 .@"3e3r3",
1650 .btst16,
1651 .ck803,
1652 .dspv2,
1653 .hwdiv,
1654 .mp,
1655 .nvic,
1656 .trust,
1657 }),
1658 };
1659 pub const ck803r3: CpuModel = .{
1660 .name = "ck803r3",
1661 .llvm_name = "ck803r3",
1662 .features = featureSet(&[_]Feature{
1663 .@"3e3r2",
1664 .@"3e3r3",
1665 .btst16,
1666 .ck803,
1667 .dspv2,
1668 .hwdiv,
1669 .mp,
1670 .nvic,
1671 .trust,
1672 }),
1673 };
1674 pub const ck803s: CpuModel = .{
1675 .name = "ck803s",
1676 .llvm_name = "ck803s",
1677 .features = featureSet(&[_]Feature{
1678 .@"3e3r1",
1679 .btst16,
1680 .ck803,
1681 .ck803s,
1682 .hwdiv,
1683 .mp,
1684 .nvic,
1685 .trust,
1686 }),
1687 };
1688 pub const ck803se: CpuModel = .{
1689 .name = "ck803se",
1690 .llvm_name = "ck803se",
1691 .features = featureSet(&[_]Feature{
1692 .@"3e3r1",
1693 .btst16,
1694 .ck803,
1695 .ck803s,
1696 .dsp1e2,
1697 .dspe60,
1698 .edsp,
1699 .hwdiv,
1700 .mp,
1701 .nvic,
1702 .trust,
1703 }),
1704 };
1705 pub const ck803sef: CpuModel = .{
1706 .name = "ck803sef",
1707 .llvm_name = "ck803sef",
1708 .features = featureSet(&[_]Feature{
1709 .@"3e3r1",
1710 .btst16,
1711 .ck803,
1712 .ck803s,
1713 .dsp1e2,
1714 .dspe60,
1715 .edsp,
1716 .float1e3,
1717 .floate1,
1718 .fpuv2_sf,
1719 .hwdiv,
1720 .mp,
1721 .nvic,
1722 .trust,
1723 }),
1724 };
1725 pub const ck803sefn: CpuModel = .{
1726 .name = "ck803sefn",
1727 .llvm_name = "ck803sefn",
1728 .features = featureSet(&[_]Feature{
1729 .@"3e3r1",
1730 .btst16,
1731 .ck803,
1732 .ck803s,
1733 .dsp1e2,
1734 .dsp_silan,
1735 .dspe60,
1736 .edsp,
1737 .float1e3,
1738 .floate1,
1739 .fpuv2_sf,
1740 .hwdiv,
1741 .mp,
1742 .nvic,
1743 .trust,
1744 }),
1745 };
1746 pub const ck803sefnt: CpuModel = .{
1747 .name = "ck803sefnt",
1748 .llvm_name = "ck803sefnt",
1749 .features = featureSet(&[_]Feature{
1750 .@"3e3r1",
1751 .btst16,
1752 .ck803,
1753 .ck803s,
1754 .dsp1e2,
1755 .dsp_silan,
1756 .dspe60,
1757 .edsp,
1758 .float1e3,
1759 .floate1,
1760 .fpuv2_sf,
1761 .hwdiv,
1762 .mp,
1763 .nvic,
1764 .trust,
1765 }),
1766 };
1767 pub const ck803seft: CpuModel = .{
1768 .name = "ck803seft",
1769 .llvm_name = "ck803seft",
1770 .features = featureSet(&[_]Feature{
1771 .@"3e3r1",
1772 .btst16,
1773 .ck803,
1774 .ck803s,
1775 .dsp1e2,
1776 .dspe60,
1777 .edsp,
1778 .float1e3,
1779 .floate1,
1780 .fpuv2_sf,
1781 .hwdiv,
1782 .mp,
1783 .nvic,
1784 .trust,
1785 }),
1786 };
1787 pub const ck803sen: CpuModel = .{
1788 .name = "ck803sen",
1789 .llvm_name = "ck803sen",
1790 .features = featureSet(&[_]Feature{
1791 .@"3e3r1",
1792 .btst16,
1793 .ck803,
1794 .ck803s,
1795 .dsp1e2,
1796 .dsp_silan,
1797 .dspe60,
1798 .edsp,
1799 .hwdiv,
1800 .mp,
1801 .nvic,
1802 .trust,
1803 }),
1804 };
1805 pub const ck803sf: CpuModel = .{
1806 .name = "ck803sf",
1807 .llvm_name = "ck803sf",
1808 .features = featureSet(&[_]Feature{
1809 .@"3e3r1",
1810 .btst16,
1811 .ck803,
1812 .ck803s,
1813 .float1e3,
1814 .floate1,
1815 .fpuv2_sf,
1816 .hwdiv,
1817 .mp,
1818 .nvic,
1819 .trust,
1820 }),
1821 };
1822 pub const ck803sfn: CpuModel = .{
1823 .name = "ck803sfn",
1824 .llvm_name = "ck803sfn",
1825 .features = featureSet(&[_]Feature{
1826 .@"3e3r1",
1827 .btst16,
1828 .ck803,
1829 .ck803s,
1830 .dsp_silan,
1831 .float1e3,
1832 .floate1,
1833 .fpuv2_sf,
1834 .hwdiv,
1835 .mp,
1836 .nvic,
1837 .trust,
1838 }),
1839 };
1840 pub const ck803sn: CpuModel = .{
1841 .name = "ck803sn",
1842 .llvm_name = "ck803sn",
1843 .features = featureSet(&[_]Feature{
1844 .@"3e3r1",
1845 .btst16,
1846 .ck803,
1847 .ck803s,
1848 .dsp_silan,
1849 .hwdiv,
1850 .mp,
1851 .nvic,
1852 .trust,
1853 }),
1854 };
1855 pub const ck803snt: CpuModel = .{
1856 .name = "ck803snt",
1857 .llvm_name = "ck803snt",
1858 .features = featureSet(&[_]Feature{
1859 .@"3e3r1",
1860 .btst16,
1861 .ck803,
1862 .ck803s,
1863 .dsp_silan,
1864 .hwdiv,
1865 .mp,
1866 .nvic,
1867 .trust,
1868 }),
1869 };
1870 pub const ck803st: CpuModel = .{
1871 .name = "ck803st",
1872 .llvm_name = "ck803st",
1873 .features = featureSet(&[_]Feature{
1874 .@"3e3r1",
1875 .btst16,
1876 .ck803,
1877 .ck803s,
1878 .hwdiv,
1879 .mp,
1880 .nvic,
1881 .trust,
1882 }),
1883 };
1884 pub const ck803t: CpuModel = .{
1885 .name = "ck803t",
1886 .llvm_name = "ck803t",
1887 .features = featureSet(&[_]Feature{
1888 .btst16,
1889 .ck803,
1890 .hwdiv,
1891 .mp,
1892 .nvic,
1893 .trust,
1894 }),
1895 };
1896 pub const ck803tr1: CpuModel = .{
1897 .name = "ck803tr1",
1898 .llvm_name = "ck803tr1",
1899 .features = featureSet(&[_]Feature{
1900 .@"3e3r1",
1901 .@"3e3r3",
1902 .btst16,
1903 .ck803,
1904 .dspv2,
1905 .hwdiv,
1906 .mp,
1907 .nvic,
1908 .trust,
1909 }),
1910 };
1911 pub const ck803tr2: CpuModel = .{
1912 .name = "ck803tr2",
1913 .llvm_name = "ck803tr2",
1914 .features = featureSet(&[_]Feature{
1915 .@"3e3r2",
1916 .@"3e3r3",
1917 .btst16,
1918 .ck803,
1919 .dspv2,
1920 .hwdiv,
1921 .mp,
1922 .nvic,
1923 .trust,
1924 }),
1925 };
1926 pub const ck803tr3: CpuModel = .{
1927 .name = "ck803tr3",
1928 .llvm_name = "ck803tr3",
1929 .features = featureSet(&[_]Feature{
1930 .@"3e3r2",
1931 .@"3e3r3",
1932 .btst16,
1933 .ck803,
1934 .dspv2,
1935 .hwdiv,
1936 .mp,
1937 .nvic,
1938 .trust,
1939 }),
1940 };
1941 pub const ck804: CpuModel = .{
1942 .name = "ck804",
1943 .llvm_name = "ck804",
1944 .features = featureSet(&[_]Feature{
1945 .@"3e3r2",
1946 .@"3e3r3",
1947 .btst16,
1948 .ck803,
1949 .ck804,
1950 .hwdiv,
1951 .mp,
1952 .nvic,
1953 .trust,
1954 }),
1955 };
1956 pub const ck804e: CpuModel = .{
1957 .name = "ck804e",
1958 .llvm_name = "ck804e",
1959 .features = featureSet(&[_]Feature{
1960 .@"3e3r2",
1961 .@"3e3r3",
1962 .btst16,
1963 .ck803,
1964 .ck804,
1965 .dspv2,
1966 .high_registers,
1967 .hwdiv,
1968 .mp,
1969 .nvic,
1970 .trust,
1971 }),
1972 };
1973 pub const ck804ef: CpuModel = .{
1974 .name = "ck804ef",
1975 .llvm_name = "ck804ef",
1976 .features = featureSet(&[_]Feature{
1977 .@"3e3r2",
1978 .@"3e3r3",
1979 .btst16,
1980 .ck803,
1981 .ck804,
1982 .dspv2,
1983 .float1e3,
1984 .floate1,
1985 .fpuv2_sf,
1986 .high_registers,
1987 .hwdiv,
1988 .mp,
1989 .nvic,
1990 .trust,
1991 }),
1992 };
1993 pub const ck804efh: CpuModel = .{
1994 .name = "ck804efh",
1995 .llvm_name = "ck804efh",
1996 .features = featureSet(&[_]Feature{
1997 .@"3e3r2",
1998 .@"3e3r3",
1999 .btst16,
2000 .ck803,
2001 .ck804,
2002 .dspv2,
2003 .float1e3,
2004 .floate1,
2005 .fpuv2_sf,
2006 .high_registers,
2007 .hwdiv,
2008 .mp,
2009 .nvic,
2010 .trust,
2011 }),
2012 };
2013 pub const ck804efht: CpuModel = .{
2014 .name = "ck804efht",
2015 .llvm_name = "ck804efht",
2016 .features = featureSet(&[_]Feature{
2017 .@"3e3r2",
2018 .@"3e3r3",
2019 .btst16,
2020 .ck803,
2021 .ck804,
2022 .dspv2,
2023 .float1e3,
2024 .floate1,
2025 .fpuv2_sf,
2026 .high_registers,
2027 .hwdiv,
2028 .mp,
2029 .nvic,
2030 .trust,
2031 }),
2032 };
2033 pub const ck804eft: CpuModel = .{
2034 .name = "ck804eft",
2035 .llvm_name = "ck804eft",
2036 .features = featureSet(&[_]Feature{
2037 .@"3e3r2",
2038 .@"3e3r3",
2039 .btst16,
2040 .ck803,
2041 .ck804,
2042 .dspv2,
2043 .float1e3,
2044 .floate1,
2045 .fpuv2_sf,
2046 .high_registers,
2047 .hwdiv,
2048 .mp,
2049 .nvic,
2050 .trust,
2051 }),
2052 };
2053 pub const ck804eh: CpuModel = .{
2054 .name = "ck804eh",
2055 .llvm_name = "ck804eh",
2056 .features = featureSet(&[_]Feature{
2057 .@"3e3r2",
2058 .@"3e3r3",
2059 .btst16,
2060 .ck803,
2061 .ck804,
2062 .dspv2,
2063 .high_registers,
2064 .hwdiv,
2065 .mp,
2066 .nvic,
2067 .trust,
2068 }),
2069 };
2070 pub const ck804eht: CpuModel = .{
2071 .name = "ck804eht",
2072 .llvm_name = "ck804eht",
2073 .features = featureSet(&[_]Feature{
2074 .@"3e3r2",
2075 .@"3e3r3",
2076 .btst16,
2077 .ck803,
2078 .ck804,
2079 .dspv2,
2080 .high_registers,
2081 .hwdiv,
2082 .mp,
2083 .nvic,
2084 .trust,
2085 }),
2086 };
2087 pub const ck804et: CpuModel = .{
2088 .name = "ck804et",
2089 .llvm_name = "ck804et",
2090 .features = featureSet(&[_]Feature{
2091 .@"3e3r2",
2092 .@"3e3r3",
2093 .btst16,
2094 .ck803,
2095 .ck804,
2096 .dspv2,
2097 .high_registers,
2098 .hwdiv,
2099 .mp,
2100 .nvic,
2101 .trust,
2102 }),
2103 };
2104 pub const ck804f: CpuModel = .{
2105 .name = "ck804f",
2106 .llvm_name = "ck804f",
2107 .features = featureSet(&[_]Feature{
2108 .@"3e3r2",
2109 .@"3e3r3",
2110 .btst16,
2111 .ck803,
2112 .ck804,
2113 .float1e3,
2114 .floate1,
2115 .fpuv2_sf,
2116 .hwdiv,
2117 .mp,
2118 .nvic,
2119 .trust,
2120 }),
2121 };
2122 pub const ck804fh: CpuModel = .{
2123 .name = "ck804fh",
2124 .llvm_name = "ck804fh",
2125 .features = featureSet(&[_]Feature{
2126 .@"3e3r2",
2127 .@"3e3r3",
2128 .btst16,
2129 .ck803,
2130 .ck804,
2131 .float1e3,
2132 .floate1,
2133 .fpuv2_sf,
2134 .hwdiv,
2135 .mp,
2136 .nvic,
2137 .trust,
2138 }),
2139 };
2140 pub const ck804ft: CpuModel = .{
2141 .name = "ck804ft",
2142 .llvm_name = "ck804ft",
2143 .features = featureSet(&[_]Feature{
2144 .@"3e3r2",
2145 .@"3e3r3",
2146 .btst16,
2147 .ck803,
2148 .ck804,
2149 .float1e3,
2150 .floate1,
2151 .fpuv2_sf,
2152 .hwdiv,
2153 .mp,
2154 .nvic,
2155 .trust,
2156 }),
2157 };
2158 pub const ck804h: CpuModel = .{
2159 .name = "ck804h",
2160 .llvm_name = "ck804h",
2161 .features = featureSet(&[_]Feature{
2162 .@"3e3r2",
2163 .@"3e3r3",
2164 .btst16,
2165 .ck803,
2166 .ck804,
2167 .hwdiv,
2168 .mp,
2169 .nvic,
2170 .trust,
2171 }),
2172 };
2173 pub const ck804ht: CpuModel = .{
2174 .name = "ck804ht",
2175 .llvm_name = "ck804ht",
2176 .features = featureSet(&[_]Feature{
2177 .@"3e3r2",
2178 .@"3e3r3",
2179 .btst16,
2180 .ck803,
2181 .ck804,
2182 .hwdiv,
2183 .mp,
2184 .nvic,
2185 .trust,
2186 }),
2187 };
2188 pub const ck804t: CpuModel = .{
2189 .name = "ck804t",
2190 .llvm_name = "ck804t",
2191 .features = featureSet(&[_]Feature{
2192 .@"3e3r2",
2193 .@"3e3r3",
2194 .btst16,
2195 .ck803,
2196 .ck804,
2197 .hwdiv,
2198 .mp,
2199 .nvic,
2200 .trust,
2201 }),
2202 };
2203 pub const ck805: CpuModel = .{
2204 .name = "ck805",
2205 .llvm_name = "ck805",
2206 .features = featureSet(&[_]Feature{
2207 .@"3e3r2",
2208 .@"3e3r3",
2209 .btst16,
2210 .ck803,
2211 .ck805,
2212 .high_registers,
2213 .hwdiv,
2214 .mp,
2215 .nvic,
2216 .trust,
2217 .vdsp2e3,
2218 .vdspv2,
2219 }),
2220 };
2221 pub const ck805e: CpuModel = .{
2222 .name = "ck805e",
2223 .llvm_name = "ck805e",
2224 .features = featureSet(&[_]Feature{
2225 .@"3e3r2",
2226 .@"3e3r3",
2227 .btst16,
2228 .ck803,
2229 .ck805,
2230 .dspv2,
2231 .high_registers,
2232 .hwdiv,
2233 .mp,
2234 .nvic,
2235 .trust,
2236 .vdsp2e3,
2237 .vdspv2,
2238 }),
2239 };
2240 pub const ck805ef: CpuModel = .{
2241 .name = "ck805ef",
2242 .llvm_name = "ck805ef",
2243 .features = featureSet(&[_]Feature{
2244 .@"3e3r2",
2245 .@"3e3r3",
2246 .btst16,
2247 .ck803,
2248 .ck805,
2249 .dspv2,
2250 .float1e3,
2251 .floate1,
2252 .fpuv2_sf,
2253 .high_registers,
2254 .hwdiv,
2255 .mp,
2256 .nvic,
2257 .trust,
2258 .vdsp2e3,
2259 .vdspv2,
2260 }),
2261 };
2262 pub const ck805eft: CpuModel = .{
2263 .name = "ck805eft",
2264 .llvm_name = "ck805eft",
2265 .features = featureSet(&[_]Feature{
2266 .@"3e3r2",
2267 .@"3e3r3",
2268 .btst16,
2269 .ck803,
2270 .ck805,
2271 .dspv2,
2272 .float1e3,
2273 .floate1,
2274 .fpuv2_sf,
2275 .high_registers,
2276 .hwdiv,
2277 .mp,
2278 .nvic,
2279 .trust,
2280 .vdsp2e3,
2281 .vdspv2,
2282 }),
2283 };
2284 pub const ck805et: CpuModel = .{
2285 .name = "ck805et",
2286 .llvm_name = "ck805et",
2287 .features = featureSet(&[_]Feature{
2288 .@"3e3r2",
2289 .@"3e3r3",
2290 .btst16,
2291 .ck803,
2292 .ck805,
2293 .dspv2,
2294 .high_registers,
2295 .hwdiv,
2296 .mp,
2297 .nvic,
2298 .trust,
2299 .vdsp2e3,
2300 .vdspv2,
2301 }),
2302 };
2303 pub const ck805f: CpuModel = .{
2304 .name = "ck805f",
2305 .llvm_name = "ck805f",
2306 .features = featureSet(&[_]Feature{
2307 .@"3e3r2",
2308 .@"3e3r3",
2309 .btst16,
2310 .ck803,
2311 .ck805,
2312 .float1e3,
2313 .floate1,
2314 .fpuv2_sf,
2315 .high_registers,
2316 .hwdiv,
2317 .mp,
2318 .nvic,
2319 .trust,
2320 .vdsp2e3,
2321 .vdspv2,
2322 }),
2323 };
2324 pub const ck805ft: CpuModel = .{
2325 .name = "ck805ft",
2326 .llvm_name = "ck805ft",
2327 .features = featureSet(&[_]Feature{
2328 .@"3e3r2",
2329 .@"3e3r3",
2330 .btst16,
2331 .ck803,
2332 .ck805,
2333 .float1e3,
2334 .floate1,
2335 .fpuv2_sf,
2336 .high_registers,
2337 .hwdiv,
2338 .mp,
2339 .nvic,
2340 .trust,
2341 .vdsp2e3,
2342 .vdspv2,
2343 }),
2344 };
2345 pub const ck805t: CpuModel = .{
2346 .name = "ck805t",
2347 .llvm_name = "ck805t",
2348 .features = featureSet(&[_]Feature{
2349 .@"3e3r2",
2350 .@"3e3r3",
2351 .btst16,
2352 .ck803,
2353 .ck805,
2354 .high_registers,
2355 .hwdiv,
2356 .mp,
2357 .nvic,
2358 .trust,
2359 .vdsp2e3,
2360 .vdspv2,
2361 }),
2362 };
2363 pub const ck807: CpuModel = .{
2364 .name = "ck807",
2365 .llvm_name = "ck807",
2366 .features = featureSet(&[_]Feature{
2367 .cache,
2368 .ck807,
2369 .dsp1e2,
2370 .dspe60,
2371 .edsp,
2372 .hard_tp,
2373 .high_registers,
2374 .hwdiv,
2375 .mp,
2376 .mp1e2,
2377 .nvic,
2378 .trust,
2379 }),
2380 };
2381 pub const ck807e: CpuModel = .{
2382 .name = "ck807e",
2383 .llvm_name = "ck807e",
2384 .features = featureSet(&[_]Feature{
2385 .cache,
2386 .ck807,
2387 .dsp1e2,
2388 .dspe60,
2389 .edsp,
2390 .hard_tp,
2391 .high_registers,
2392 .hwdiv,
2393 .mp,
2394 .mp1e2,
2395 .nvic,
2396 .trust,
2397 }),
2398 };
2399 pub const ck807ef: CpuModel = .{
2400 .name = "ck807ef",
2401 .llvm_name = "ck807ef",
2402 .features = featureSet(&[_]Feature{
2403 .cache,
2404 .ck807,
2405 .dsp1e2,
2406 .dspe60,
2407 .edsp,
2408 .fdivdu,
2409 .float1e2,
2410 .float1e3,
2411 .float3e4,
2412 .floate1,
2413 .fpuv2_df,
2414 .fpuv2_sf,
2415 .hard_tp,
2416 .high_registers,
2417 .hwdiv,
2418 .mp,
2419 .mp1e2,
2420 .nvic,
2421 .trust,
2422 }),
2423 };
2424 pub const ck807f: CpuModel = .{
2425 .name = "ck807f",
2426 .llvm_name = "ck807f",
2427 .features = featureSet(&[_]Feature{
2428 .cache,
2429 .ck807,
2430 .dsp1e2,
2431 .dspe60,
2432 .edsp,
2433 .fdivdu,
2434 .float1e2,
2435 .float1e3,
2436 .float3e4,
2437 .floate1,
2438 .fpuv2_df,
2439 .fpuv2_sf,
2440 .hard_tp,
2441 .high_registers,
2442 .hwdiv,
2443 .mp,
2444 .mp1e2,
2445 .nvic,
2446 .trust,
2447 }),
2448 };
2449 pub const ck810: CpuModel = .{
2450 .name = "ck810",
2451 .llvm_name = "ck810",
2452 .features = featureSet(&[_]Feature{
2453 .@"7e10",
2454 .cache,
2455 .ck810,
2456 .dsp1e2,
2457 .dspe60,
2458 .edsp,
2459 .hard_tp,
2460 .high_registers,
2461 .hwdiv,
2462 .mp,
2463 .mp1e2,
2464 .nvic,
2465 .trust,
2466 }),
2467 };
2468 pub const ck810e: CpuModel = .{
2469 .name = "ck810e",
2470 .llvm_name = "ck810e",
2471 .features = featureSet(&[_]Feature{
2472 .@"7e10",
2473 .cache,
2474 .ck810,
2475 .dsp1e2,
2476 .dspe60,
2477 .edsp,
2478 .hard_tp,
2479 .high_registers,
2480 .hwdiv,
2481 .mp,
2482 .mp1e2,
2483 .nvic,
2484 .trust,
2485 }),
2486 };
2487 pub const ck810ef: CpuModel = .{
2488 .name = "ck810ef",
2489 .llvm_name = "ck810ef",
2490 .features = featureSet(&[_]Feature{
2491 .@"7e10",
2492 .cache,
2493 .ck810,
2494 .dsp1e2,
2495 .dspe60,
2496 .edsp,
2497 .fdivdu,
2498 .float1e2,
2499 .floate1,
2500 .fpuv2_df,
2501 .fpuv2_sf,
2502 .hard_tp,
2503 .high_registers,
2504 .hwdiv,
2505 .mp,
2506 .mp1e2,
2507 .nvic,
2508 .trust,
2509 }),
2510 };
2511 pub const ck810eft: CpuModel = .{
2512 .name = "ck810eft",
2513 .llvm_name = "ck810eft",
2514 .features = featureSet(&[_]Feature{
2515 .@"7e10",
2516 .cache,
2517 .ck810,
2518 .dsp1e2,
2519 .dspe60,
2520 .edsp,
2521 .fdivdu,
2522 .float1e2,
2523 .floate1,
2524 .fpuv2_df,
2525 .fpuv2_sf,
2526 .hard_tp,
2527 .high_registers,
2528 .hwdiv,
2529 .mp,
2530 .mp1e2,
2531 .nvic,
2532 .trust,
2533 }),
2534 };
2535 pub const ck810eftv: CpuModel = .{
2536 .name = "ck810eftv",
2537 .llvm_name = "ck810eftv",
2538 .features = featureSet(&[_]Feature{
2539 .@"7e10",
2540 .cache,
2541 .ck810,
2542 .ck810v,
2543 .dsp1e2,
2544 .dspe60,
2545 .edsp,
2546 .fdivdu,
2547 .float1e2,
2548 .floate1,
2549 .fpuv2_df,
2550 .fpuv2_sf,
2551 .hard_tp,
2552 .high_registers,
2553 .hwdiv,
2554 .mp,
2555 .mp1e2,
2556 .nvic,
2557 .trust,
2558 .vdspv1,
2559 }),
2560 };
2561 pub const ck810efv: CpuModel = .{
2562 .name = "ck810efv",
2563 .llvm_name = "ck810efv",
2564 .features = featureSet(&[_]Feature{
2565 .@"7e10",
2566 .cache,
2567 .ck810,
2568 .ck810v,
2569 .dsp1e2,
2570 .dspe60,
2571 .edsp,
2572 .fdivdu,
2573 .float1e2,
2574 .floate1,
2575 .fpuv2_df,
2576 .fpuv2_sf,
2577 .hard_tp,
2578 .high_registers,
2579 .hwdiv,
2580 .mp,
2581 .mp1e2,
2582 .nvic,
2583 .trust,
2584 .vdspv1,
2585 }),
2586 };
2587 pub const ck810et: CpuModel = .{
2588 .name = "ck810et",
2589 .llvm_name = "ck810et",
2590 .features = featureSet(&[_]Feature{
2591 .@"7e10",
2592 .cache,
2593 .ck810,
2594 .dsp1e2,
2595 .dspe60,
2596 .edsp,
2597 .hard_tp,
2598 .high_registers,
2599 .hwdiv,
2600 .mp,
2601 .mp1e2,
2602 .nvic,
2603 .trust,
2604 }),
2605 };
2606 pub const ck810etv: CpuModel = .{
2607 .name = "ck810etv",
2608 .llvm_name = "ck810etv",
2609 .features = featureSet(&[_]Feature{
2610 .@"7e10",
2611 .cache,
2612 .ck810,
2613 .ck810v,
2614 .dsp1e2,
2615 .dspe60,
2616 .edsp,
2617 .hard_tp,
2618 .high_registers,
2619 .hwdiv,
2620 .mp,
2621 .mp1e2,
2622 .nvic,
2623 .trust,
2624 .vdspv1,
2625 }),
2626 };
2627 pub const ck810ev: CpuModel = .{
2628 .name = "ck810ev",
2629 .llvm_name = "ck810ev",
2630 .features = featureSet(&[_]Feature{
2631 .@"7e10",
2632 .cache,
2633 .ck810,
2634 .ck810v,
2635 .dsp1e2,
2636 .dspe60,
2637 .edsp,
2638 .hard_tp,
2639 .high_registers,
2640 .hwdiv,
2641 .mp,
2642 .mp1e2,
2643 .nvic,
2644 .trust,
2645 .vdspv1,
2646 }),
2647 };
2648 pub const ck810f: CpuModel = .{
2649 .name = "ck810f",
2650 .llvm_name = "ck810f",
2651 .features = featureSet(&[_]Feature{
2652 .@"7e10",
2653 .cache,
2654 .ck810,
2655 .dsp1e2,
2656 .dspe60,
2657 .edsp,
2658 .fdivdu,
2659 .float1e2,
2660 .floate1,
2661 .fpuv2_df,
2662 .fpuv2_sf,
2663 .hard_tp,
2664 .high_registers,
2665 .hwdiv,
2666 .mp,
2667 .mp1e2,
2668 .nvic,
2669 .trust,
2670 }),
2671 };
2672 pub const ck810ft: CpuModel = .{
2673 .name = "ck810ft",
2674 .llvm_name = "ck810ft",
2675 .features = featureSet(&[_]Feature{
2676 .@"7e10",
2677 .cache,
2678 .ck810,
2679 .dsp1e2,
2680 .dspe60,
2681 .edsp,
2682 .fdivdu,
2683 .float1e2,
2684 .floate1,
2685 .fpuv2_df,
2686 .fpuv2_sf,
2687 .hard_tp,
2688 .high_registers,
2689 .hwdiv,
2690 .mp,
2691 .mp1e2,
2692 .nvic,
2693 .trust,
2694 }),
2695 };
2696 pub const ck810ftv: CpuModel = .{
2697 .name = "ck810ftv",
2698 .llvm_name = "ck810ftv",
2699 .features = featureSet(&[_]Feature{
2700 .@"7e10",
2701 .cache,
2702 .ck810,
2703 .ck810v,
2704 .dsp1e2,
2705 .dspe60,
2706 .edsp,
2707 .fdivdu,
2708 .float1e2,
2709 .floate1,
2710 .fpuv2_df,
2711 .fpuv2_sf,
2712 .hard_tp,
2713 .high_registers,
2714 .hwdiv,
2715 .mp,
2716 .mp1e2,
2717 .nvic,
2718 .trust,
2719 .vdspv1,
2720 }),
2721 };
2722 pub const ck810fv: CpuModel = .{
2723 .name = "ck810fv",
2724 .llvm_name = "ck810fv",
2725 .features = featureSet(&[_]Feature{
2726 .@"7e10",
2727 .cache,
2728 .ck810,
2729 .ck810v,
2730 .dsp1e2,
2731 .dspe60,
2732 .edsp,
2733 .fdivdu,
2734 .float1e2,
2735 .floate1,
2736 .fpuv2_df,
2737 .fpuv2_sf,
2738 .hard_tp,
2739 .high_registers,
2740 .hwdiv,
2741 .mp,
2742 .mp1e2,
2743 .nvic,
2744 .trust,
2745 .vdspv1,
2746 }),
2747 };
2748 pub const ck810t: CpuModel = .{
2749 .name = "ck810t",
2750 .llvm_name = "ck810t",
2751 .features = featureSet(&[_]Feature{
2752 .@"7e10",
2753 .cache,
2754 .ck810,
2755 .dsp1e2,
2756 .dspe60,
2757 .edsp,
2758 .hard_tp,
2759 .high_registers,
2760 .hwdiv,
2761 .mp,
2762 .mp1e2,
2763 .nvic,
2764 .trust,
2765 }),
2766 };
2767 pub const ck810tv: CpuModel = .{
2768 .name = "ck810tv",
2769 .llvm_name = "ck810tv",
2770 .features = featureSet(&[_]Feature{
2771 .@"7e10",
2772 .cache,
2773 .ck810,
2774 .ck810v,
2775 .dsp1e2,
2776 .dspe60,
2777 .edsp,
2778 .hard_tp,
2779 .high_registers,
2780 .hwdiv,
2781 .mp,
2782 .mp1e2,
2783 .nvic,
2784 .trust,
2785 .vdspv1,
2786 }),
2787 };
2788 pub const ck810v: CpuModel = .{
2789 .name = "ck810v",
2790 .llvm_name = "ck810v",
2791 .features = featureSet(&[_]Feature{
2792 .@"7e10",
2793 .cache,
2794 .ck810,
2795 .ck810v,
2796 .dsp1e2,
2797 .dspe60,
2798 .edsp,
2799 .hard_tp,
2800 .high_registers,
2801 .hwdiv,
2802 .mp,
2803 .mp1e2,
2804 .nvic,
2805 .trust,
2806 .vdspv1,
2807 }),
2808 };
2809 pub const ck860: CpuModel = .{
2810 .name = "ck860",
2811 .llvm_name = "ck860",
2812 .features = featureSet(&[_]Feature{
2813 .@"10e60",
2814 .@"3e3r2",
2815 .@"3e3r3",
2816 .btst16,
2817 .cache,
2818 .ck860,
2819 .dspe60,
2820 .hard_tp,
2821 .high_registers,
2822 .hwdiv,
2823 .mp,
2824 .mp1e2,
2825 .nvic,
2826 .trust,
2827 }),
2828 };
2829 pub const ck860f: CpuModel = .{
2830 .name = "ck860f",
2831 .llvm_name = "ck860f",
2832 .features = featureSet(&[_]Feature{
2833 .@"10e60",
2834 .@"3e3r2",
2835 .@"3e3r3",
2836 .btst16,
2837 .cache,
2838 .ck860,
2839 .dspe60,
2840 .float7e60,
2841 .fpuv3_df,
2842 .fpuv3_hf,
2843 .fpuv3_hi,
2844 .fpuv3_sf,
2845 .hard_tp,
2846 .high_registers,
2847 .hwdiv,
2848 .mp,
2849 .mp1e2,
2850 .nvic,
2851 .trust,
2852 }),
2853 };
2854 pub const ck860fv: CpuModel = .{
2855 .name = "ck860fv",
2856 .llvm_name = "ck860fv",
2857 .features = featureSet(&[_]Feature{
2858 .@"10e60",
2859 .@"3e3r2",
2860 .@"3e3r3",
2861 .btst16,
2862 .cache,
2863 .ck860,
2864 .ck860v,
2865 .dspe60,
2866 .float7e60,
2867 .fpuv3_df,
2868 .fpuv3_hf,
2869 .fpuv3_hi,
2870 .fpuv3_sf,
2871 .hard_tp,
2872 .high_registers,
2873 .hwdiv,
2874 .mp,
2875 .mp1e2,
2876 .nvic,
2877 .trust,
2878 .vdsp2e60f,
2879 .vdspv2,
2880 }),
2881 };
2882 pub const ck860v: CpuModel = .{
2883 .name = "ck860v",
2884 .llvm_name = "ck860v",
2885 .features = featureSet(&[_]Feature{
2886 .@"10e60",
2887 .@"3e3r2",
2888 .@"3e3r3",
2889 .btst16,
2890 .cache,
2891 .ck860,
2892 .ck860v,
2893 .dspe60,
2894 .hard_tp,
2895 .high_registers,
2896 .hwdiv,
2897 .mp,
2898 .mp1e2,
2899 .nvic,
2900 .trust,
2901 .vdsp2e60f,
2902 .vdspv2,
2903 }),
2904 };
2905 pub const e801: CpuModel = .{
2906 .name = "e801",
2907 .llvm_name = "e801",
2908 .features = featureSet(&[_]Feature{
2909 .btst16,
2910 .ck801,
2911 .e1,
2912 .trust,
2913 }),
2914 };
2915 pub const e802: CpuModel = .{
2916 .name = "e802",
2917 .llvm_name = "e802",
2918 .features = featureSet(&[_]Feature{
2919 .btst16,
2920 .ck802,
2921 .e2,
2922 .nvic,
2923 .trust,
2924 }),
2925 };
2926 pub const e802t: CpuModel = .{
2927 .name = "e802t",
2928 .llvm_name = "e802t",
2929 .features = featureSet(&[_]Feature{
2930 .btst16,
2931 .ck802,
2932 .e2,
2933 .nvic,
2934 .trust,
2935 }),
2936 };
2937 pub const e803: CpuModel = .{
2938 .name = "e803",
2939 .llvm_name = "e803",
2940 .features = featureSet(&[_]Feature{
2941 .@"3e3r2",
2942 .@"3e3r3",
2943 .btst16,
2944 .ck803,
2945 .hwdiv,
2946 .mp,
2947 .nvic,
2948 .trust,
2949 }),
2950 };
2951 pub const e803t: CpuModel = .{
2952 .name = "e803t",
2953 .llvm_name = "e803t",
2954 .features = featureSet(&[_]Feature{
2955 .@"3e3r2",
2956 .@"3e3r3",
2957 .btst16,
2958 .ck803,
2959 .hwdiv,
2960 .mp,
2961 .nvic,
2962 .trust,
2963 }),
2964 };
2965 pub const e804d: CpuModel = .{
2966 .name = "e804d",
2967 .llvm_name = "e804d",
2968 .features = featureSet(&[_]Feature{
2969 .@"3e3r2",
2970 .@"3e3r3",
2971 .btst16,
2972 .ck803,
2973 .ck804,
2974 .dspv2,
2975 .high_registers,
2976 .hwdiv,
2977 .mp,
2978 .nvic,
2979 .trust,
2980 }),
2981 };
2982 pub const e804df: CpuModel = .{
2983 .name = "e804df",
2984 .llvm_name = "e804df",
2985 .features = featureSet(&[_]Feature{
2986 .@"3e3r2",
2987 .@"3e3r3",
2988 .btst16,
2989 .ck803,
2990 .ck804,
2991 .dspv2,
2992 .float1e3,
2993 .floate1,
2994 .fpuv2_sf,
2995 .high_registers,
2996 .hwdiv,
2997 .mp,
2998 .nvic,
2999 .trust,
3000 }),
3001 };
3002 pub const e804dft: CpuModel = .{
3003 .name = "e804dft",
3004 .llvm_name = "e804dft",
3005 .features = featureSet(&[_]Feature{
3006 .@"3e3r2",
3007 .@"3e3r3",
3008 .btst16,
3009 .ck803,
3010 .ck804,
3011 .dspv2,
3012 .float1e3,
3013 .floate1,
3014 .fpuv2_sf,
3015 .high_registers,
3016 .hwdiv,
3017 .mp,
3018 .nvic,
3019 .trust,
3020 }),
3021 };
3022 pub const e804dt: CpuModel = .{
3023 .name = "e804dt",
3024 .llvm_name = "e804dt",
3025 .features = featureSet(&[_]Feature{
3026 .@"3e3r2",
3027 .@"3e3r3",
3028 .btst16,
3029 .ck803,
3030 .ck804,
3031 .dspv2,
3032 .high_registers,
3033 .hwdiv,
3034 .mp,
3035 .nvic,
3036 .trust,
3037 }),
3038 };
3039 pub const e804f: CpuModel = .{
3040 .name = "e804f",
3041 .llvm_name = "e804f",
3042 .features = featureSet(&[_]Feature{
3043 .@"3e3r2",
3044 .@"3e3r3",
3045 .btst16,
3046 .ck803,
3047 .ck804,
3048 .float1e3,
3049 .floate1,
3050 .fpuv2_sf,
3051 .hwdiv,
3052 .mp,
3053 .nvic,
3054 .trust,
3055 }),
3056 };
3057 pub const e804ft: CpuModel = .{
3058 .name = "e804ft",
3059 .llvm_name = "e804ft",
3060 .features = featureSet(&[_]Feature{
3061 .@"3e3r2",
3062 .@"3e3r3",
3063 .btst16,
3064 .ck803,
3065 .ck804,
3066 .float1e3,
3067 .floate1,
3068 .fpuv2_sf,
3069 .hwdiv,
3070 .mp,
3071 .nvic,
3072 .trust,
3073 }),
3074 };
3075 pub const generic: CpuModel = .{
3076 .name = "generic",
3077 .llvm_name = "generic",
3078 .features = featureSet(&[_]Feature{
3079 .btst16,
3080 }),
3081 };
3082 pub const @"i805": CpuModel = .{
3083 .name = "i805",
3084 .llvm_name = "i805",
3085 .features = featureSet(&[_]Feature{
3086 .@"3e3r2",
3087 .@"3e3r3",
3088 .btst16,
3089 .ck803,
3090 .ck805,
3091 .high_registers,
3092 .hwdiv,
3093 .mp,
3094 .nvic,
3095 .trust,
3096 .vdsp2e3,
3097 .vdspv2,
3098 }),
3099 };
3100 pub const i805f: CpuModel = .{
3101 .name = "i805f",
3102 .llvm_name = "i805f",
3103 .features = featureSet(&[_]Feature{
3104 .@"3e3r2",
3105 .@"3e3r3",
3106 .btst16,
3107 .ck803,
3108 .ck805,
3109 .float1e3,
3110 .floate1,
3111 .fpuv2_sf,
3112 .high_registers,
3113 .hwdiv,
3114 .mp,
3115 .nvic,
3116 .trust,
3117 .vdsp2e3,
3118 .vdspv2,
3119 }),
3120 };
3121 pub const r807: CpuModel = .{
3122 .name = "r807",
3123 .llvm_name = "r807",
3124 .features = featureSet(&[_]Feature{
3125 .cache,
3126 .ck807,
3127 .dsp1e2,
3128 .dspe60,
3129 .edsp,
3130 .hard_tp,
3131 .high_registers,
3132 .hwdiv,
3133 .mp,
3134 .mp1e2,
3135 .nvic,
3136 .trust,
3137 }),
3138 };
3139 pub const r807f: CpuModel = .{
3140 .name = "r807f",
3141 .llvm_name = "r807f",
3142 .features = featureSet(&[_]Feature{
3143 .cache,
3144 .ck807,
3145 .dsp1e2,
3146 .dspe60,
3147 .edsp,
3148 .fdivdu,
3149 .float1e2,
3150 .float1e3,
3151 .float3e4,
3152 .floate1,
3153 .fpuv2_df,
3154 .fpuv2_sf,
3155 .hard_tp,
3156 .high_registers,
3157 .hwdiv,
3158 .mp,
3159 .mp1e2,
3160 .nvic,
3161 .trust,
3162 }),
3163 };
3164 pub const s802: CpuModel = .{
3165 .name = "s802",
3166 .llvm_name = "s802",
3167 .features = featureSet(&[_]Feature{
3168 .btst16,
3169 .ck802,
3170 .e2,
3171 .nvic,
3172 .trust,
3173 }),
3174 };
3175 pub const s802t: CpuModel = .{
3176 .name = "s802t",
3177 .llvm_name = "s802t",
3178 .features = featureSet(&[_]Feature{
3179 .btst16,
3180 .ck802,
3181 .e2,
3182 .nvic,
3183 .trust,
3184 }),
3185 };
3186 pub const s803: CpuModel = .{
3187 .name = "s803",
3188 .llvm_name = "s803",
3189 .features = featureSet(&[_]Feature{
3190 .@"3e3r2",
3191 .@"3e3r3",
3192 .btst16,
3193 .ck803,
3194 .hwdiv,
3195 .mp,
3196 .nvic,
3197 .trust,
3198 }),
3199 };
3200 pub const s803t: CpuModel = .{
3201 .name = "s803t",
3202 .llvm_name = "s803t",
3203 .features = featureSet(&[_]Feature{
3204 .@"3e3r2",
3205 .@"3e3r3",
3206 .btst16,
3207 .ck803,
3208 .hwdiv,
3209 .mp,
3210 .nvic,
3211 .trust,
3212 }),
3213 };
3214};