1pub const Clobbers = switch (@import("builtin").cpu.arch) {
2 .x86_16, .x86, .x86_64 => packed struct {
3 /// Whether the inline assembly code may perform stores to memory
4 /// addresses other than those derived from input pointer provenance.
5 memory: bool = false,
6
7 /// Condition codes. Subset of the bits in `eflags` and `rflags`.
8 cc: bool = false,
9 dirflag: bool = false,
10 eflags: bool = false,
11 flags: bool = false,
12 fpcr: bool = false,
13 fpsr: bool = false,
14 mxcsr: bool = false,
15 rflags: bool = false,
16
17 rax: bool = false,
18 rcx: bool = false,
19 rdx: bool = false,
20 rbx: bool = false,
21 rsp: bool = false,
22 rbp: bool = false,
23 rsi: bool = false,
24 rdi: bool = false,
25 r8: bool = false,
26 r9: bool = false,
27 r10: bool = false,
28 r11: bool = false,
29 r12: bool = false,
30 r13: bool = false,
31 r14: bool = false,
32 r15: bool = false,
33 eax: bool = false,
34 ecx: bool = false,
35 edx: bool = false,
36 ebx: bool = false,
37 esp: bool = false,
38 ebp: bool = false,
39 esi: bool = false,
40 edi: bool = false,
41 r8d: bool = false,
42 r9d: bool = false,
43 r10d: bool = false,
44 r11d: bool = false,
45 r12d: bool = false,
46 r13d: bool = false,
47 r14d: bool = false,
48 r15d: bool = false,
49 ax: bool = false,
50 cx: bool = false,
51 dx: bool = false,
52 bx: bool = false,
53 sp: bool = false,
54 bp: bool = false,
55 si: bool = false,
56 di: bool = false,
57 r8w: bool = false,
58 r9w: bool = false,
59 r10w: bool = false,
60 r11w: bool = false,
61 r12w: bool = false,
62 r13w: bool = false,
63 r14w: bool = false,
64 r15w: bool = false,
65 al: bool = false,
66 cl: bool = false,
67 dl: bool = false,
68 bl: bool = false,
69 spl: bool = false,
70 bpl: bool = false,
71 sil: bool = false,
72 dil: bool = false,
73 r8b: bool = false,
74 r9b: bool = false,
75 r10b: bool = false,
76 r11b: bool = false,
77 r12b: bool = false,
78 r13b: bool = false,
79 r14b: bool = false,
80 r15b: bool = false,
81 ah: bool = false,
82 ch: bool = false,
83 dh: bool = false,
84 bh: bool = false,
85 zmm0: bool = false,
86 zmm1: bool = false,
87 zmm2: bool = false,
88 zmm3: bool = false,
89 zmm4: bool = false,
90 zmm5: bool = false,
91 zmm6: bool = false,
92 zmm7: bool = false,
93 zmm8: bool = false,
94 zmm9: bool = false,
95 zmm10: bool = false,
96 zmm11: bool = false,
97 zmm12: bool = false,
98 zmm13: bool = false,
99 zmm14: bool = false,
100 zmm15: bool = false,
101 zmm16: bool = false,
102 zmm17: bool = false,
103 zmm18: bool = false,
104 zmm19: bool = false,
105 zmm20: bool = false,
106 zmm21: bool = false,
107 zmm22: bool = false,
108 zmm23: bool = false,
109 zmm24: bool = false,
110 zmm25: bool = false,
111 zmm26: bool = false,
112 zmm27: bool = false,
113 zmm28: bool = false,
114 zmm29: bool = false,
115 zmm30: bool = false,
116 zmm31: bool = false,
117 ymm0: bool = false,
118 ymm1: bool = false,
119 ymm2: bool = false,
120 ymm3: bool = false,
121 ymm4: bool = false,
122 ymm5: bool = false,
123 ymm6: bool = false,
124 ymm7: bool = false,
125 ymm8: bool = false,
126 ymm9: bool = false,
127 ymm10: bool = false,
128 ymm11: bool = false,
129 ymm12: bool = false,
130 ymm13: bool = false,
131 ymm14: bool = false,
132 ymm15: bool = false,
133 ymm16: bool = false,
134 ymm17: bool = false,
135 ymm18: bool = false,
136 ymm19: bool = false,
137 ymm20: bool = false,
138 ymm21: bool = false,
139 ymm22: bool = false,
140 ymm23: bool = false,
141 ymm24: bool = false,
142 ymm25: bool = false,
143 ymm26: bool = false,
144 ymm27: bool = false,
145 ymm28: bool = false,
146 ymm29: bool = false,
147 ymm30: bool = false,
148 ymm31: bool = false,
149 xmm0: bool = false,
150 xmm1: bool = false,
151 xmm2: bool = false,
152 xmm3: bool = false,
153 xmm4: bool = false,
154 xmm5: bool = false,
155 xmm6: bool = false,
156 xmm7: bool = false,
157 xmm8: bool = false,
158 xmm9: bool = false,
159 xmm10: bool = false,
160 xmm11: bool = false,
161 xmm12: bool = false,
162 xmm13: bool = false,
163 xmm14: bool = false,
164 xmm15: bool = false,
165 xmm16: bool = false,
166 xmm17: bool = false,
167 xmm18: bool = false,
168 xmm19: bool = false,
169 xmm20: bool = false,
170 xmm21: bool = false,
171 xmm22: bool = false,
172 xmm23: bool = false,
173 xmm24: bool = false,
174 xmm25: bool = false,
175 xmm26: bool = false,
176 xmm27: bool = false,
177 xmm28: bool = false,
178 xmm29: bool = false,
179 xmm30: bool = false,
180 xmm31: bool = false,
181 mm0: bool = false,
182 mm1: bool = false,
183 mm2: bool = false,
184 mm3: bool = false,
185 mm4: bool = false,
186 mm5: bool = false,
187 mm6: bool = false,
188 mm7: bool = false,
189 st0: bool = false,
190 st1: bool = false,
191 st2: bool = false,
192 st3: bool = false,
193 st4: bool = false,
194 st5: bool = false,
195 st6: bool = false,
196 st7: bool = false,
197 es: bool = false,
198 cs: bool = false,
199 ss: bool = false,
200 ds: bool = false,
201 fs: bool = false,
202 gs: bool = false,
203 },
204 .aarch64, .aarch64_be => packed struct {
205 /// Whether the inline assembly code may perform stores to memory
206 /// addresses other than those derived from input pointer provenance.
207 memory: bool = false,
208
209 nzcv: bool = false,
210
211 x0: bool = false,
212 x1: bool = false,
213 x2: bool = false,
214 x3: bool = false,
215 x4: bool = false,
216 x5: bool = false,
217 x6: bool = false,
218 x7: bool = false,
219 x8: bool = false,
220 x9: bool = false,
221 x10: bool = false,
222 x11: bool = false,
223 x12: bool = false,
224 x13: bool = false,
225 x14: bool = false,
226 x15: bool = false,
227 x16: bool = false,
228 x17: bool = false,
229 x18: bool = false,
230 x19: bool = false,
231 x20: bool = false,
232 x21: bool = false,
233 x22: bool = false,
234 x23: bool = false,
235 x24: bool = false,
236 x25: bool = false,
237 x26: bool = false,
238 x27: bool = false,
239 x28: bool = false,
240 x29: bool = false,
241 x30: bool = false,
242
243 w0: bool = false,
244 w1: bool = false,
245 w2: bool = false,
246 w3: bool = false,
247 w4: bool = false,
248 w5: bool = false,
249 w6: bool = false,
250 w7: bool = false,
251 w8: bool = false,
252 w9: bool = false,
253 w10: bool = false,
254 w11: bool = false,
255 w12: bool = false,
256 w13: bool = false,
257 w14: bool = false,
258 w15: bool = false,
259 w16: bool = false,
260 w17: bool = false,
261 w18: bool = false,
262 w19: bool = false,
263 w20: bool = false,
264 w21: bool = false,
265 w22: bool = false,
266 w23: bool = false,
267 w24: bool = false,
268 w25: bool = false,
269 w26: bool = false,
270 w27: bool = false,
271 w28: bool = false,
272 w29: bool = false,
273
274 lr: bool = false,
275 sp: bool = false,
276 wsp: bool = false,
277 fpcr: bool = false,
278 fpmr: bool = false,
279 fpsr: bool = false,
280 ffr: bool = false,
281
282 p0: bool = false,
283 p1: bool = false,
284 p2: bool = false,
285 p3: bool = false,
286 p4: bool = false,
287 p5: bool = false,
288 p6: bool = false,
289 p7: bool = false,
290 p8: bool = false,
291 p9: bool = false,
292 p10: bool = false,
293 p11: bool = false,
294 p12: bool = false,
295 p13: bool = false,
296 p14: bool = false,
297 p15: bool = false,
298
299 z0: bool = false,
300 z1: bool = false,
301 z2: bool = false,
302 z3: bool = false,
303 z4: bool = false,
304 z5: bool = false,
305 z6: bool = false,
306 z7: bool = false,
307 z8: bool = false,
308 z9: bool = false,
309 z10: bool = false,
310 z11: bool = false,
311 z12: bool = false,
312 z13: bool = false,
313 z14: bool = false,
314 z15: bool = false,
315 z16: bool = false,
316 z17: bool = false,
317 z18: bool = false,
318 z19: bool = false,
319 z20: bool = false,
320 z21: bool = false,
321 z22: bool = false,
322 z23: bool = false,
323 z24: bool = false,
324 z25: bool = false,
325 z26: bool = false,
326 z27: bool = false,
327 z28: bool = false,
328 z29: bool = false,
329 z30: bool = false,
330 z31: bool = false,
331
332 v0: bool = false,
333 v1: bool = false,
334 v2: bool = false,
335 v3: bool = false,
336 v4: bool = false,
337 v5: bool = false,
338 v6: bool = false,
339 v7: bool = false,
340 v8: bool = false,
341 v9: bool = false,
342 v10: bool = false,
343 v11: bool = false,
344 v12: bool = false,
345 v13: bool = false,
346 v14: bool = false,
347 v15: bool = false,
348 v16: bool = false,
349 v17: bool = false,
350 v18: bool = false,
351 v19: bool = false,
352 v20: bool = false,
353 v21: bool = false,
354 v22: bool = false,
355 v23: bool = false,
356 v24: bool = false,
357 v25: bool = false,
358 v26: bool = false,
359 v27: bool = false,
360 v28: bool = false,
361 v29: bool = false,
362 v30: bool = false,
363 v31: bool = false,
364
365 d0: bool = false,
366 d1: bool = false,
367 d2: bool = false,
368 d3: bool = false,
369 d4: bool = false,
370 d5: bool = false,
371 d6: bool = false,
372 d7: bool = false,
373 d8: bool = false,
374 d9: bool = false,
375 d10: bool = false,
376 d11: bool = false,
377 d12: bool = false,
378 d13: bool = false,
379 d14: bool = false,
380 d15: bool = false,
381 d16: bool = false,
382 d17: bool = false,
383 d18: bool = false,
384 d19: bool = false,
385 d20: bool = false,
386 d21: bool = false,
387 d22: bool = false,
388 d23: bool = false,
389 d24: bool = false,
390 d25: bool = false,
391 d26: bool = false,
392 d27: bool = false,
393 d28: bool = false,
394 d29: bool = false,
395 d30: bool = false,
396 d31: bool = false,
397
398 s0: bool = false,
399 s1: bool = false,
400 s2: bool = false,
401 s3: bool = false,
402 s4: bool = false,
403 s5: bool = false,
404 s6: bool = false,
405 s7: bool = false,
406 s8: bool = false,
407 s9: bool = false,
408 s10: bool = false,
409 s11: bool = false,
410 s12: bool = false,
411 s13: bool = false,
412 s14: bool = false,
413 s15: bool = false,
414 s16: bool = false,
415 s17: bool = false,
416 s18: bool = false,
417 s19: bool = false,
418 s20: bool = false,
419 s21: bool = false,
420 s22: bool = false,
421 s23: bool = false,
422 s24: bool = false,
423 s25: bool = false,
424 s26: bool = false,
425 s27: bool = false,
426 s28: bool = false,
427 s29: bool = false,
428 s30: bool = false,
429 s31: bool = false,
430
431 h0: bool = false,
432 h1: bool = false,
433 h2: bool = false,
434 h3: bool = false,
435 h4: bool = false,
436 h5: bool = false,
437 h6: bool = false,
438 h7: bool = false,
439 h8: bool = false,
440 h9: bool = false,
441 h10: bool = false,
442 h11: bool = false,
443 h12: bool = false,
444 h13: bool = false,
445 h14: bool = false,
446 h15: bool = false,
447 h16: bool = false,
448 h17: bool = false,
449 h18: bool = false,
450 h19: bool = false,
451 h20: bool = false,
452 h21: bool = false,
453 h22: bool = false,
454 h23: bool = false,
455 h24: bool = false,
456 h25: bool = false,
457 h26: bool = false,
458 h27: bool = false,
459 h28: bool = false,
460 h29: bool = false,
461 h30: bool = false,
462 h31: bool = false,
463
464 b0: bool = false,
465 b1: bool = false,
466 b2: bool = false,
467 b3: bool = false,
468 b4: bool = false,
469 b5: bool = false,
470 b6: bool = false,
471 b7: bool = false,
472 b8: bool = false,
473 b9: bool = false,
474 b10: bool = false,
475 b11: bool = false,
476 b12: bool = false,
477 b13: bool = false,
478 b14: bool = false,
479 b15: bool = false,
480 b16: bool = false,
481 b17: bool = false,
482 b18: bool = false,
483 b19: bool = false,
484 b20: bool = false,
485 b21: bool = false,
486 b22: bool = false,
487 b23: bool = false,
488 b24: bool = false,
489 b25: bool = false,
490 b26: bool = false,
491 b27: bool = false,
492 b28: bool = false,
493 b29: bool = false,
494 b30: bool = false,
495 b31: bool = false,
496
497 za0q: bool = false,
498 za1q: bool = false,
499 za2q: bool = false,
500 za3q: bool = false,
501 za4q: bool = false,
502 za5q: bool = false,
503 za6q: bool = false,
504 za7q: bool = false,
505 za8q: bool = false,
506 za9q: bool = false,
507 za10q: bool = false,
508 za11q: bool = false,
509 za12q: bool = false,
510 za13q: bool = false,
511 za14q: bool = false,
512 za15q: bool = false,
513
514 za0d: bool = false,
515 za1d: bool = false,
516 za2d: bool = false,
517 za3d: bool = false,
518 za4d: bool = false,
519 za5d: bool = false,
520 za6d: bool = false,
521 za7d: bool = false,
522
523 za0s: bool = false,
524 za1s: bool = false,
525 za2s: bool = false,
526 za3s: bool = false,
527
528 za0h: bool = false,
529 za1h: bool = false,
530 za0b: bool = false,
531
532 zt0: bool = false,
533 },
534 .arm, .armeb, .thumb, .thumbeb => packed struct {
535 /// Whether the inline assembly code may perform stores to memory
536 /// addresses other than those derived from input pointer provenance.
537 memory: bool = false,
538
539 apsr: bool = false,
540 cpsr: bool = false,
541 spsr: bool = false,
542 r0: bool = false,
543 r1: bool = false,
544 r2: bool = false,
545 r3: bool = false,
546 r4: bool = false,
547 r5: bool = false,
548 r6: bool = false,
549 r7: bool = false,
550 r8: bool = false,
551 r9: bool = false,
552 r10: bool = false,
553 r11: bool = false,
554 r12: bool = false,
555 r13: bool = false,
556 r14: bool = false,
557
558 lr: bool = false,
559 sp: bool = false,
560 fpscr: bool = false,
561 vpr: bool = false,
562
563 d0: bool = false,
564 d1: bool = false,
565 d2: bool = false,
566 d3: bool = false,
567 d4: bool = false,
568 d5: bool = false,
569 d6: bool = false,
570 d7: bool = false,
571 d8: bool = false,
572 d9: bool = false,
573 d10: bool = false,
574 d11: bool = false,
575 d12: bool = false,
576 d13: bool = false,
577 d14: bool = false,
578 d15: bool = false,
579 d16: bool = false,
580 d17: bool = false,
581 d18: bool = false,
582 d19: bool = false,
583 d20: bool = false,
584 d21: bool = false,
585 d22: bool = false,
586 d23: bool = false,
587 d24: bool = false,
588 d25: bool = false,
589 d26: bool = false,
590 d27: bool = false,
591 d28: bool = false,
592 d29: bool = false,
593 d30: bool = false,
594 d31: bool = false,
595
596 s0: bool = false,
597 s1: bool = false,
598 s2: bool = false,
599 s3: bool = false,
600 s4: bool = false,
601 s5: bool = false,
602 s6: bool = false,
603 s7: bool = false,
604 s8: bool = false,
605 s9: bool = false,
606 s10: bool = false,
607 s11: bool = false,
608 s12: bool = false,
609 s13: bool = false,
610 s14: bool = false,
611 s15: bool = false,
612 s16: bool = false,
613 s17: bool = false,
614 s18: bool = false,
615 s19: bool = false,
616 s20: bool = false,
617 s21: bool = false,
618 s22: bool = false,
619 s23: bool = false,
620 s24: bool = false,
621 s25: bool = false,
622 s26: bool = false,
623 s27: bool = false,
624 s28: bool = false,
625 s29: bool = false,
626 s30: bool = false,
627 s31: bool = false,
628
629 q0: bool = false,
630 q1: bool = false,
631 q2: bool = false,
632 q3: bool = false,
633 q4: bool = false,
634 q5: bool = false,
635 q6: bool = false,
636 q7: bool = false,
637 q8: bool = false,
638 q9: bool = false,
639 q10: bool = false,
640 q11: bool = false,
641 q12: bool = false,
642 q13: bool = false,
643 q14: bool = false,
644 q15: bool = false,
645 },
646 .riscv32, .riscv32be, .riscv64, .riscv64be => packed struct {
647 /// Whether the inline assembly code may perform stores to memory
648 /// addresses other than those derived from input pointer provenance.
649 memory: bool = false,
650
651 ssp: bool = false,
652
653 x1: bool = false,
654 x2: bool = false,
655 x3: bool = false,
656 x4: bool = false,
657 x5: bool = false,
658 x6: bool = false,
659 x7: bool = false,
660 x8: bool = false,
661 x9: bool = false,
662 x10: bool = false,
663 x11: bool = false,
664 x12: bool = false,
665 x13: bool = false,
666 x14: bool = false,
667 x15: bool = false,
668 x16: bool = false,
669 x17: bool = false,
670 x18: bool = false,
671 x19: bool = false,
672 x20: bool = false,
673 x21: bool = false,
674 x22: bool = false,
675 x23: bool = false,
676 x24: bool = false,
677 x25: bool = false,
678 x26: bool = false,
679 x27: bool = false,
680 x28: bool = false,
681 x29: bool = false,
682 x30: bool = false,
683 x31: bool = false,
684
685 // ABI aliases for integer registers
686 ra: bool = false,
687 sp: bool = false,
688 gp: bool = false,
689 tp: bool = false,
690 t0: bool = false,
691 t1: bool = false,
692 t2: bool = false,
693 s0: bool = false,
694 fp: bool = false,
695 s1: bool = false,
696 a0: bool = false,
697 a1: bool = false,
698 a2: bool = false,
699 a3: bool = false,
700 a4: bool = false,
701 a5: bool = false,
702 a6: bool = false,
703 a7: bool = false,
704 s2: bool = false,
705 s3: bool = false,
706 s4: bool = false,
707 s5: bool = false,
708 s6: bool = false,
709 s7: bool = false,
710 s8: bool = false,
711 s9: bool = false,
712 s10: bool = false,
713 s11: bool = false,
714 t3: bool = false,
715 t4: bool = false,
716 t5: bool = false,
717 t6: bool = false,
718
719 fflags: bool = false,
720 frm: bool = false,
721
722 f0: bool = false,
723 f1: bool = false,
724 f2: bool = false,
725 f3: bool = false,
726 f4: bool = false,
727 f5: bool = false,
728 f6: bool = false,
729 f7: bool = false,
730 f8: bool = false,
731 f9: bool = false,
732 f10: bool = false,
733 f11: bool = false,
734 f12: bool = false,
735 f13: bool = false,
736 f14: bool = false,
737 f15: bool = false,
738 f16: bool = false,
739 f17: bool = false,
740 f18: bool = false,
741 f19: bool = false,
742 f20: bool = false,
743 f21: bool = false,
744 f22: bool = false,
745 f23: bool = false,
746 f24: bool = false,
747 f25: bool = false,
748 f26: bool = false,
749 f27: bool = false,
750 f28: bool = false,
751 f29: bool = false,
752 f30: bool = false,
753 f31: bool = false,
754
755 // ABI aliases for float registers
756 ft0: bool = false,
757 ft1: bool = false,
758 ft2: bool = false,
759 ft3: bool = false,
760 ft4: bool = false,
761 ft5: bool = false,
762 ft6: bool = false,
763 ft7: bool = false,
764 fs0: bool = false,
765 fs1: bool = false,
766 fa0: bool = false,
767 fa1: bool = false,
768 fa2: bool = false,
769 fa3: bool = false,
770 fa4: bool = false,
771 fa5: bool = false,
772 fa6: bool = false,
773 fa7: bool = false,
774 fs2: bool = false,
775 fs3: bool = false,
776 fs4: bool = false,
777 fs5: bool = false,
778 fs6: bool = false,
779 fs7: bool = false,
780 fs8: bool = false,
781 fs9: bool = false,
782 fs10: bool = false,
783 fs11: bool = false,
784 ft8: bool = false,
785 ft9: bool = false,
786 ft10: bool = false,
787 ft11: bool = false,
788
789 vtype: bool = false,
790 vl: bool = false,
791 vxsat: bool = false,
792 vxrm: bool = false,
793 vcsr: bool = false,
794
795 v0: bool = false,
796 v1: bool = false,
797 v2: bool = false,
798 v3: bool = false,
799 v4: bool = false,
800 v5: bool = false,
801 v6: bool = false,
802 v7: bool = false,
803 v8: bool = false,
804 v9: bool = false,
805 v10: bool = false,
806 v11: bool = false,
807 v12: bool = false,
808 v13: bool = false,
809 v14: bool = false,
810 v15: bool = false,
811 v16: bool = false,
812 v17: bool = false,
813 v18: bool = false,
814 v19: bool = false,
815 v20: bool = false,
816 v21: bool = false,
817 v22: bool = false,
818 v23: bool = false,
819 v24: bool = false,
820 v25: bool = false,
821 v26: bool = false,
822 v27: bool = false,
823 v28: bool = false,
824 v29: bool = false,
825 v30: bool = false,
826 v31: bool = false,
827 },
828 .xcore => packed struct {
829 /// Whether the inline assembly code may perform stores to memory
830 /// addresses other than those derived from input pointer provenance.
831 memory: bool = false,
832
833 r0: bool = false,
834 r1: bool = false,
835 r2: bool = false,
836 r3: bool = false,
837 r4: bool = false,
838 r5: bool = false,
839 r6: bool = false,
840 r7: bool = false,
841 r8: bool = false,
842 r9: bool = false,
843 r10: bool = false,
844 r11: bool = false,
845
846 cp: bool = false,
847 dp: bool = false,
848 sp: bool = false,
849 lr: bool = false,
850 sr: bool = false,
851 },
852 .xtensa, .xtensaeb => packed struct {
853 /// Whether the inline assembly code may perform stores to memory
854 /// addresses other than those derived from input pointer provenance.
855 memory: bool = false,
856
857 sar: bool = false,
858 lbeg: bool = false,
859 lend: bool = false,
860 lcount: bool = false,
861 atomctl: bool = false,
862 scompare1: bool = false,
863 threadptr: bool = false,
864 litbase: bool = false,
865 windowbase: bool = false,
866 windowstart: bool = false,
867 ps: bool = false,
868
869 a0: bool = false,
870 a1: bool = false,
871 a2: bool = false,
872 a3: bool = false,
873 a4: bool = false,
874 a5: bool = false,
875 a6: bool = false,
876 a7: bool = false,
877 a8: bool = false,
878 a9: bool = false,
879 a10: bool = false,
880 a11: bool = false,
881 a12: bool = false,
882 a13: bool = false,
883 a14: bool = false,
884 a15: bool = false,
885
886 br: bool = false,
887 b0: bool = false,
888 b1: bool = false,
889 b2: bool = false,
890 b3: bool = false,
891 b4: bool = false,
892 b5: bool = false,
893 b6: bool = false,
894 b7: bool = false,
895 b8: bool = false,
896 b9: bool = false,
897 b10: bool = false,
898 b11: bool = false,
899 b12: bool = false,
900 b13: bool = false,
901 b14: bool = false,
902 b15: bool = false,
903
904 acchi: bool = false,
905 acclo: bool = false,
906 m0: bool = false,
907 m1: bool = false,
908 m2: bool = false,
909 m3: bool = false,
910 fcr: bool = false,
911 fsr: bool = false,
912
913 f0: bool = false,
914 f1: bool = false,
915 f2: bool = false,
916 f3: bool = false,
917 f4: bool = false,
918 f5: bool = false,
919 f6: bool = false,
920 f7: bool = false,
921 f8: bool = false,
922 f9: bool = false,
923 f10: bool = false,
924 f11: bool = false,
925 f12: bool = false,
926 f13: bool = false,
927 f14: bool = false,
928 f15: bool = false,
929 },
930 .kvx => packed struct {
931 /// Whether the inline assembly code may perform stores to memory
932 /// addresses other than those derived from input pointer provenance.
933 memory: bool = false,
934
935 cs: bool = false,
936
937 ra: bool = false,
938
939 ls: bool = false,
940 le: bool = false,
941 lc: bool = false,
942
943 r0: bool = false,
944 r1: bool = false,
945 r2: bool = false,
946 r3: bool = false,
947 r4: bool = false,
948 r5: bool = false,
949 r6: bool = false,
950 r7: bool = false,
951 r8: bool = false,
952 r9: bool = false,
953 r10: bool = false,
954 r11: bool = false,
955 r12: bool = false,
956 r13: bool = false,
957 r14: bool = false,
958 r15: bool = false,
959 r16: bool = false,
960 r17: bool = false,
961 r18: bool = false,
962 r19: bool = false,
963 r20: bool = false,
964 r21: bool = false,
965 r22: bool = false,
966 r23: bool = false,
967 r24: bool = false,
968 r25: bool = false,
969 r26: bool = false,
970 r27: bool = false,
971 r28: bool = false,
972 r29: bool = false,
973 r30: bool = false,
974 r31: bool = false,
975 r32: bool = false,
976 r33: bool = false,
977 r34: bool = false,
978 r35: bool = false,
979 r36: bool = false,
980 r37: bool = false,
981 r38: bool = false,
982 r39: bool = false,
983 r40: bool = false,
984 r41: bool = false,
985 r42: bool = false,
986 r43: bool = false,
987 r44: bool = false,
988 r45: bool = false,
989 r46: bool = false,
990 r47: bool = false,
991 r48: bool = false,
992 r49: bool = false,
993 r50: bool = false,
994 r51: bool = false,
995 r52: bool = false,
996 r53: bool = false,
997 r54: bool = false,
998 r55: bool = false,
999 r56: bool = false,
1000 r57: bool = false,
1001 r58: bool = false,
1002 r59: bool = false,
1003 r60: bool = false,
1004 r61: bool = false,
1005 r62: bool = false,
1006 r63: bool = false,
1007
1008 a0: bool = false,
1009 a1: bool = false,
1010 a2: bool = false,
1011 a3: bool = false,
1012 a4: bool = false,
1013 a5: bool = false,
1014 a6: bool = false,
1015 a7: bool = false,
1016 a8: bool = false,
1017 a9: bool = false,
1018 a10: bool = false,
1019 a11: bool = false,
1020 a12: bool = false,
1021 a13: bool = false,
1022 a14: bool = false,
1023 a15: bool = false,
1024 a16: bool = false,
1025 a17: bool = false,
1026 a18: bool = false,
1027 a19: bool = false,
1028 a20: bool = false,
1029 a21: bool = false,
1030 a22: bool = false,
1031 a23: bool = false,
1032 a24: bool = false,
1033 a25: bool = false,
1034 a26: bool = false,
1035 a27: bool = false,
1036 a28: bool = false,
1037 a29: bool = false,
1038 a30: bool = false,
1039 a31: bool = false,
1040 a32: bool = false,
1041 a33: bool = false,
1042 a34: bool = false,
1043 a35: bool = false,
1044 a36: bool = false,
1045 a37: bool = false,
1046 a38: bool = false,
1047 a39: bool = false,
1048 a40: bool = false,
1049 a41: bool = false,
1050 a42: bool = false,
1051 a43: bool = false,
1052 a44: bool = false,
1053 a45: bool = false,
1054 a46: bool = false,
1055 a47: bool = false,
1056 a48: bool = false,
1057 a49: bool = false,
1058 a50: bool = false,
1059 a51: bool = false,
1060 a52: bool = false,
1061 a53: bool = false,
1062 a54: bool = false,
1063 a55: bool = false,
1064 a56: bool = false,
1065 a57: bool = false,
1066 a58: bool = false,
1067 a59: bool = false,
1068 a60: bool = false,
1069 a61: bool = false,
1070 a62: bool = false,
1071 a63: bool = false,
1072
1073 a0_lo: bool = false,
1074 a0_hi: bool = false,
1075 a1_lo: bool = false,
1076 a1_hi: bool = false,
1077 a2_lo: bool = false,
1078 a2_hi: bool = false,
1079 a3_lo: bool = false,
1080 a3_hi: bool = false,
1081 a4_lo: bool = false,
1082 a4_hi: bool = false,
1083 a5_lo: bool = false,
1084 a5_hi: bool = false,
1085 a6_lo: bool = false,
1086 a6_hi: bool = false,
1087 a7_lo: bool = false,
1088 a7_hi: bool = false,
1089 a8_lo: bool = false,
1090 a8_hi: bool = false,
1091 a9_lo: bool = false,
1092 a9_hi: bool = false,
1093 a10_lo: bool = false,
1094 a10_hi: bool = false,
1095 a11_lo: bool = false,
1096 a11_hi: bool = false,
1097 a12_lo: bool = false,
1098 a12_hi: bool = false,
1099 a13_lo: bool = false,
1100 a13_hi: bool = false,
1101 a14_lo: bool = false,
1102 a14_hi: bool = false,
1103 a15_lo: bool = false,
1104 a15_hi: bool = false,
1105 a16_lo: bool = false,
1106 a16_hi: bool = false,
1107 a17_lo: bool = false,
1108 a17_hi: bool = false,
1109 a18_lo: bool = false,
1110 a18_hi: bool = false,
1111 a19_lo: bool = false,
1112 a19_hi: bool = false,
1113 a20_lo: bool = false,
1114 a20_hi: bool = false,
1115 a21_lo: bool = false,
1116 a21_hi: bool = false,
1117 a22_lo: bool = false,
1118 a22_hi: bool = false,
1119 a23_lo: bool = false,
1120 a23_hi: bool = false,
1121 a24_lo: bool = false,
1122 a24_hi: bool = false,
1123 a25_lo: bool = false,
1124 a25_hi: bool = false,
1125 a26_lo: bool = false,
1126 a26_hi: bool = false,
1127 a27_lo: bool = false,
1128 a27_hi: bool = false,
1129 a28_lo: bool = false,
1130 a28_hi: bool = false,
1131 a29_lo: bool = false,
1132 a29_hi: bool = false,
1133 a30_lo: bool = false,
1134 a30_hi: bool = false,
1135 a31_lo: bool = false,
1136 a31_hi: bool = false,
1137 a32_lo: bool = false,
1138 a32_hi: bool = false,
1139 a33_lo: bool = false,
1140 a33_hi: bool = false,
1141 a34_lo: bool = false,
1142 a34_hi: bool = false,
1143 a35_lo: bool = false,
1144 a35_hi: bool = false,
1145 a36_lo: bool = false,
1146 a36_hi: bool = false,
1147 a37_lo: bool = false,
1148 a37_hi: bool = false,
1149 a38_lo: bool = false,
1150 a38_hi: bool = false,
1151 a39_lo: bool = false,
1152 a39_hi: bool = false,
1153 a40_lo: bool = false,
1154 a40_hi: bool = false,
1155 a41_lo: bool = false,
1156 a41_hi: bool = false,
1157 a42_lo: bool = false,
1158 a42_hi: bool = false,
1159 a43_lo: bool = false,
1160 a43_hi: bool = false,
1161 a44_lo: bool = false,
1162 a44_hi: bool = false,
1163 a45_lo: bool = false,
1164 a45_hi: bool = false,
1165 a46_lo: bool = false,
1166 a46_hi: bool = false,
1167 a47_lo: bool = false,
1168 a47_hi: bool = false,
1169 a48_lo: bool = false,
1170 a48_hi: bool = false,
1171 a49_lo: bool = false,
1172 a49_hi: bool = false,
1173 a50_lo: bool = false,
1174 a50_hi: bool = false,
1175 a51_lo: bool = false,
1176 a51_hi: bool = false,
1177 a52_lo: bool = false,
1178 a52_hi: bool = false,
1179 a53_lo: bool = false,
1180 a53_hi: bool = false,
1181 a54_lo: bool = false,
1182 a54_hi: bool = false,
1183 a55_lo: bool = false,
1184 a55_hi: bool = false,
1185 a56_lo: bool = false,
1186 a56_hi: bool = false,
1187 a57_lo: bool = false,
1188 a57_hi: bool = false,
1189 a58_lo: bool = false,
1190 a58_hi: bool = false,
1191 a59_lo: bool = false,
1192 a59_hi: bool = false,
1193 a60_lo: bool = false,
1194 a60_hi: bool = false,
1195 a61_lo: bool = false,
1196 a61_hi: bool = false,
1197 a62_lo: bool = false,
1198 a62_hi: bool = false,
1199 a63_lo: bool = false,
1200 a63_hi: bool = false,
1201
1202 a0_x: bool = false,
1203 a0_y: bool = false,
1204 a0_z: bool = false,
1205 a0_t: bool = false,
1206 a1_x: bool = false,
1207 a1_y: bool = false,
1208 a1_z: bool = false,
1209 a1_t: bool = false,
1210 a2_x: bool = false,
1211 a2_y: bool = false,
1212 a2_z: bool = false,
1213 a2_t: bool = false,
1214 a3_x: bool = false,
1215 a3_y: bool = false,
1216 a3_z: bool = false,
1217 a3_t: bool = false,
1218 a4_x: bool = false,
1219 a4_y: bool = false,
1220 a4_z: bool = false,
1221 a4_t: bool = false,
1222 a5_x: bool = false,
1223 a5_y: bool = false,
1224 a5_z: bool = false,
1225 a5_t: bool = false,
1226 a6_x: bool = false,
1227 a6_y: bool = false,
1228 a6_z: bool = false,
1229 a6_t: bool = false,
1230 a7_x: bool = false,
1231 a7_y: bool = false,
1232 a7_z: bool = false,
1233 a7_t: bool = false,
1234 a8_x: bool = false,
1235 a8_y: bool = false,
1236 a8_z: bool = false,
1237 a8_t: bool = false,
1238 a9_x: bool = false,
1239 a9_y: bool = false,
1240 a9_z: bool = false,
1241 a9_t: bool = false,
1242 a10_x: bool = false,
1243 a10_y: bool = false,
1244 a10_z: bool = false,
1245 a10_t: bool = false,
1246 a11_x: bool = false,
1247 a11_y: bool = false,
1248 a11_z: bool = false,
1249 a11_t: bool = false,
1250 a12_x: bool = false,
1251 a12_y: bool = false,
1252 a12_z: bool = false,
1253 a12_t: bool = false,
1254 a13_x: bool = false,
1255 a13_y: bool = false,
1256 a13_z: bool = false,
1257 a13_t: bool = false,
1258 a14_x: bool = false,
1259 a14_y: bool = false,
1260 a14_z: bool = false,
1261 a14_t: bool = false,
1262 a15_x: bool = false,
1263 a15_y: bool = false,
1264 a15_z: bool = false,
1265 a15_t: bool = false,
1266 a16_x: bool = false,
1267 a16_y: bool = false,
1268 a16_z: bool = false,
1269 a16_t: bool = false,
1270 a17_x: bool = false,
1271 a17_y: bool = false,
1272 a17_z: bool = false,
1273 a17_t: bool = false,
1274 a18_x: bool = false,
1275 a18_y: bool = false,
1276 a18_z: bool = false,
1277 a18_t: bool = false,
1278 a19_x: bool = false,
1279 a19_y: bool = false,
1280 a19_z: bool = false,
1281 a19_t: bool = false,
1282 a20_x: bool = false,
1283 a20_y: bool = false,
1284 a20_z: bool = false,
1285 a20_t: bool = false,
1286 a21_x: bool = false,
1287 a21_y: bool = false,
1288 a21_z: bool = false,
1289 a21_t: bool = false,
1290 a22_x: bool = false,
1291 a22_y: bool = false,
1292 a22_z: bool = false,
1293 a22_t: bool = false,
1294 a23_x: bool = false,
1295 a23_y: bool = false,
1296 a23_z: bool = false,
1297 a23_t: bool = false,
1298 a24_x: bool = false,
1299 a24_y: bool = false,
1300 a24_z: bool = false,
1301 a24_t: bool = false,
1302 a25_x: bool = false,
1303 a25_y: bool = false,
1304 a25_z: bool = false,
1305 a25_t: bool = false,
1306 a26_x: bool = false,
1307 a26_y: bool = false,
1308 a26_z: bool = false,
1309 a26_t: bool = false,
1310 a27_x: bool = false,
1311 a27_y: bool = false,
1312 a27_z: bool = false,
1313 a27_t: bool = false,
1314 a28_x: bool = false,
1315 a28_y: bool = false,
1316 a28_z: bool = false,
1317 a28_t: bool = false,
1318 a29_x: bool = false,
1319 a29_y: bool = false,
1320 a29_z: bool = false,
1321 a29_t: bool = false,
1322 a30_x: bool = false,
1323 a30_y: bool = false,
1324 a30_z: bool = false,
1325 a30_t: bool = false,
1326 a31_x: bool = false,
1327 a31_y: bool = false,
1328 a31_z: bool = false,
1329 a31_t: bool = false,
1330 a32_x: bool = false,
1331 a32_y: bool = false,
1332 a32_z: bool = false,
1333 a32_t: bool = false,
1334 a33_x: bool = false,
1335 a33_y: bool = false,
1336 a33_z: bool = false,
1337 a33_t: bool = false,
1338 a34_x: bool = false,
1339 a34_y: bool = false,
1340 a34_z: bool = false,
1341 a34_t: bool = false,
1342 a35_x: bool = false,
1343 a35_y: bool = false,
1344 a35_z: bool = false,
1345 a35_t: bool = false,
1346 a36_x: bool = false,
1347 a36_y: bool = false,
1348 a36_z: bool = false,
1349 a36_t: bool = false,
1350 a37_x: bool = false,
1351 a37_y: bool = false,
1352 a37_z: bool = false,
1353 a37_t: bool = false,
1354 a38_x: bool = false,
1355 a38_y: bool = false,
1356 a38_z: bool = false,
1357 a38_t: bool = false,
1358 a39_x: bool = false,
1359 a39_y: bool = false,
1360 a39_z: bool = false,
1361 a39_t: bool = false,
1362 a40_x: bool = false,
1363 a40_y: bool = false,
1364 a40_z: bool = false,
1365 a40_t: bool = false,
1366 a41_x: bool = false,
1367 a41_y: bool = false,
1368 a41_z: bool = false,
1369 a41_t: bool = false,
1370 a42_x: bool = false,
1371 a42_y: bool = false,
1372 a42_z: bool = false,
1373 a42_t: bool = false,
1374 a43_x: bool = false,
1375 a43_y: bool = false,
1376 a43_z: bool = false,
1377 a43_t: bool = false,
1378 a44_x: bool = false,
1379 a44_y: bool = false,
1380 a44_z: bool = false,
1381 a44_t: bool = false,
1382 a45_x: bool = false,
1383 a45_y: bool = false,
1384 a45_z: bool = false,
1385 a45_t: bool = false,
1386 a46_x: bool = false,
1387 a46_y: bool = false,
1388 a46_z: bool = false,
1389 a46_t: bool = false,
1390 a47_x: bool = false,
1391 a47_y: bool = false,
1392 a47_z: bool = false,
1393 a47_t: bool = false,
1394 a48_x: bool = false,
1395 a48_y: bool = false,
1396 a48_z: bool = false,
1397 a48_t: bool = false,
1398 a49_x: bool = false,
1399 a49_y: bool = false,
1400 a49_z: bool = false,
1401 a49_t: bool = false,
1402 a50_x: bool = false,
1403 a50_y: bool = false,
1404 a50_z: bool = false,
1405 a50_t: bool = false,
1406 a51_x: bool = false,
1407 a51_y: bool = false,
1408 a51_z: bool = false,
1409 a51_t: bool = false,
1410 a52_x: bool = false,
1411 a52_y: bool = false,
1412 a52_z: bool = false,
1413 a52_t: bool = false,
1414 a53_x: bool = false,
1415 a53_y: bool = false,
1416 a53_z: bool = false,
1417 a53_t: bool = false,
1418 a54_x: bool = false,
1419 a54_y: bool = false,
1420 a54_z: bool = false,
1421 a54_t: bool = false,
1422 a55_x: bool = false,
1423 a55_y: bool = false,
1424 a55_z: bool = false,
1425 a55_t: bool = false,
1426 a56_x: bool = false,
1427 a56_y: bool = false,
1428 a56_z: bool = false,
1429 a56_t: bool = false,
1430 a57_x: bool = false,
1431 a57_y: bool = false,
1432 a57_z: bool = false,
1433 a57_t: bool = false,
1434 a58_x: bool = false,
1435 a58_y: bool = false,
1436 a58_z: bool = false,
1437 a58_t: bool = false,
1438 a59_x: bool = false,
1439 a59_y: bool = false,
1440 a59_z: bool = false,
1441 a59_t: bool = false,
1442 a60_x: bool = false,
1443 a60_y: bool = false,
1444 a60_z: bool = false,
1445 a60_t: bool = false,
1446 a61_x: bool = false,
1447 a61_y: bool = false,
1448 a61_z: bool = false,
1449 a61_t: bool = false,
1450 a62_x: bool = false,
1451 a62_y: bool = false,
1452 a62_z: bool = false,
1453 a62_t: bool = false,
1454 a63_x: bool = false,
1455 a63_y: bool = false,
1456 a63_z: bool = false,
1457 a63_t: bool = false,
1458 },
1459 .lanai => packed struct {
1460 /// Whether the inline assembly code may perform stores to memory
1461 /// addresses other than those derived from input pointer provenance.
1462 memory: bool = false,
1463 /// Condition flags which aren't accessible outside of conditional execution.
1464 sw: bool = false,
1465
1466 r3: bool = false,
1467 r4: bool = false,
1468 r5: bool = false,
1469 r6: bool = false,
1470 r7: bool = false,
1471 r8: bool = false,
1472 r9: bool = false,
1473 r10: bool = false,
1474 r11: bool = false,
1475 r12: bool = false,
1476 r13: bool = false,
1477 r14: bool = false,
1478 r15: bool = false,
1479 r16: bool = false,
1480 r17: bool = false,
1481 r18: bool = false,
1482 r19: bool = false,
1483 r20: bool = false,
1484 r21: bool = false,
1485 r22: bool = false,
1486 r23: bool = false,
1487 r24: bool = false,
1488 r25: bool = false,
1489 r26: bool = false,
1490 r27: bool = false,
1491 r28: bool = false,
1492 r29: bool = false,
1493 r30: bool = false,
1494 r31: bool = false,
1495 },
1496 .avr => packed struct {
1497 /// Whether the inline assembly code may perform stores to memory
1498 /// addresses other than those derived from input pointer provenance.
1499 memory: bool = false,
1500 flags: bool = false,
1501 r0: bool = false,
1502 r1: bool = false,
1503 r2: bool = false,
1504 r3: bool = false,
1505 r4: bool = false,
1506 r5: bool = false,
1507 r6: bool = false,
1508 r7: bool = false,
1509 r8: bool = false,
1510 r9: bool = false,
1511 r10: bool = false,
1512 r11: bool = false,
1513 r12: bool = false,
1514 r13: bool = false,
1515 r14: bool = false,
1516 r15: bool = false,
1517 r16: bool = false,
1518 r17: bool = false,
1519 r18: bool = false,
1520 r19: bool = false,
1521 r20: bool = false,
1522 r21: bool = false,
1523 r22: bool = false,
1524 r23: bool = false,
1525 r24: bool = false,
1526 r25: bool = false,
1527 r26: bool = false,
1528 r27: bool = false,
1529 r28: bool = false,
1530 r29: bool = false,
1531 r30: bool = false,
1532 r31: bool = false,
1533 },
1534 .msp430 => packed struct {
1535 /// Whether the inline assembly code may perform stores to memory
1536 /// addresses other than those derived from input pointer provenance.
1537 memory: bool = false,
1538
1539 r0: bool = false,
1540 r1: bool = false,
1541 r2: bool = false,
1542
1543 r4: bool = false,
1544 r5: bool = false,
1545 r6: bool = false,
1546 r7: bool = false,
1547 r8: bool = false,
1548 r9: bool = false,
1549 r10: bool = false,
1550 r11: bool = false,
1551 r12: bool = false,
1552 r13: bool = false,
1553 r14: bool = false,
1554 r15: bool = false,
1555 },
1556 .m88k => packed struct {
1557 /// Whether the inline assembly code may perform stores to memory
1558 /// addresses other than those derived from input pointer provenance.
1559 memory: bool = false,
1560
1561 r0: bool = false,
1562 r1: bool = false,
1563 r2: bool = false,
1564 r3: bool = false,
1565 r4: bool = false,
1566 r5: bool = false,
1567 r6: bool = false,
1568 r7: bool = false,
1569 r8: bool = false,
1570 r9: bool = false,
1571 r10: bool = false,
1572 r11: bool = false,
1573 r12: bool = false,
1574 r13: bool = false,
1575 r14: bool = false,
1576 r15: bool = false,
1577 r16: bool = false,
1578 r17: bool = false,
1579 r18: bool = false,
1580 r19: bool = false,
1581 r20: bool = false,
1582 r21: bool = false,
1583 r22: bool = false,
1584 r23: bool = false,
1585 r24: bool = false,
1586 r25: bool = false,
1587 r26: bool = false,
1588 r27: bool = false,
1589 r28: bool = false,
1590 r29: bool = false,
1591 r30: bool = false,
1592 r31: bool = false,
1593
1594 x0: bool = false,
1595 x1: bool = false,
1596 x2: bool = false,
1597 x3: bool = false,
1598 x4: bool = false,
1599 x5: bool = false,
1600 x6: bool = false,
1601 x7: bool = false,
1602 x8: bool = false,
1603 x9: bool = false,
1604 x10: bool = false,
1605 x11: bool = false,
1606 x12: bool = false,
1607 x13: bool = false,
1608 x14: bool = false,
1609 x15: bool = false,
1610 x16: bool = false,
1611 x17: bool = false,
1612 x18: bool = false,
1613 x19: bool = false,
1614 x20: bool = false,
1615 x21: bool = false,
1616 x22: bool = false,
1617 x23: bool = false,
1618 x24: bool = false,
1619 x25: bool = false,
1620 x26: bool = false,
1621 x27: bool = false,
1622 x28: bool = false,
1623 x29: bool = false,
1624 x30: bool = false,
1625 x31: bool = false,
1626 },
1627 .m68k => packed struct {
1628 /// Whether the inline assembly code may perform stores to memory
1629 /// addresses other than those derived from input pointer provenance.
1630 memory: bool = false,
1631
1632 ccr: bool = false,
1633
1634 d0: bool = false,
1635 d1: bool = false,
1636 d2: bool = false,
1637 d3: bool = false,
1638 d4: bool = false,
1639 d5: bool = false,
1640 d6: bool = false,
1641 d7: bool = false,
1642
1643 a0: bool = false,
1644 a1: bool = false,
1645 a2: bool = false,
1646 a3: bool = false,
1647 a4: bool = false,
1648 a5: bool = false,
1649 a6: bool = false,
1650 a7: bool = false,
1651
1652 macsr: bool = false,
1653 acc: bool = false,
1654 acc0: bool = false,
1655 acc1: bool = false,
1656 acc2: bool = false,
1657 acc3: bool = false,
1658
1659 mask: bool = false,
1660 fpcr: bool = false,
1661 fpsr: bool = false,
1662
1663 fp0: bool = false,
1664 fp1: bool = false,
1665 fp2: bool = false,
1666 fp3: bool = false,
1667 fp4: bool = false,
1668 fp5: bool = false,
1669 fp6: bool = false,
1670 fp7: bool = false,
1671 },
1672 .sparc, .sparc64 => packed struct {
1673 /// Whether the inline assembly code may perform stores to memory
1674 /// addresses other than those derived from input pointer provenance.
1675 memory: bool = false,
1676
1677 psr: bool = false,
1678 gsr: bool = false,
1679 y: bool = false,
1680
1681 /// asr2; v9+
1682 ccr: bool = false,
1683 /// Lower bits of `ccr`.
1684 icc: bool = false,
1685 /// Upper bits of `ccr`.
1686 xcc: bool = false,
1687
1688 g1: bool = false,
1689 g2: bool = false,
1690 g3: bool = false,
1691 g4: bool = false,
1692 g5: bool = false,
1693 g6: bool = false,
1694 g7: bool = false,
1695
1696 o0: bool = false,
1697 o1: bool = false,
1698 o2: bool = false,
1699 o3: bool = false,
1700 o4: bool = false,
1701 o5: bool = false,
1702 o6: bool = false,
1703 o7: bool = false,
1704
1705 l0: bool = false,
1706 l1: bool = false,
1707 l2: bool = false,
1708 l3: bool = false,
1709 l4: bool = false,
1710 l5: bool = false,
1711 l6: bool = false,
1712 l7: bool = false,
1713
1714 i0: bool = false,
1715 i1: bool = false,
1716 i2: bool = false,
1717 i3: bool = false,
1718 i4: bool = false,
1719 i5: bool = false,
1720 i6: bool = false,
1721 i7: bool = false,
1722
1723 fsr: bool = false,
1724 fprs: bool = false,
1725
1726 q0: bool = false,
1727 q1: bool = false,
1728 q2: bool = false,
1729 q3: bool = false,
1730 q4: bool = false,
1731 q5: bool = false,
1732 q6: bool = false,
1733 q7: bool = false,
1734 q8: bool = false,
1735 q9: bool = false,
1736 q10: bool = false,
1737 q11: bool = false,
1738 q12: bool = false,
1739 q13: bool = false,
1740 q14: bool = false,
1741 q15: bool = false,
1742 },
1743 .bpfel, .bpfeb => packed struct {
1744 /// Whether the inline assembly code may perform stores to memory
1745 /// addresses other than those derived from input pointer provenance.
1746 memory: bool = false,
1747
1748 r0: bool = false,
1749 r1: bool = false,
1750 r2: bool = false,
1751 r3: bool = false,
1752 r4: bool = false,
1753 r5: bool = false,
1754 r6: bool = false,
1755 r7: bool = false,
1756 r8: bool = false,
1757 r9: bool = false,
1758
1759 w0: bool = false,
1760 w1: bool = false,
1761 w2: bool = false,
1762 w3: bool = false,
1763 w4: bool = false,
1764 w5: bool = false,
1765 w6: bool = false,
1766 w7: bool = false,
1767 w8: bool = false,
1768 w9: bool = false,
1769 },
1770 .hexagon => packed struct {
1771 /// Whether the inline assembly code may perform stores to memory
1772 /// addresses other than those derived from input pointer provenance.
1773 memory: bool = false,
1774
1775 sa0: bool = false,
1776 sa1: bool = false,
1777 lc0: bool = false,
1778 lc1: bool = false,
1779 m0: bool = false,
1780 m1: bool = false,
1781 usr: bool = false,
1782 ugp: bool = false,
1783 gp: bool = false,
1784 cs0: bool = false,
1785 cs1: bool = false,
1786 framelimit: bool = false,
1787 framekey: bool = false,
1788
1789 p0: bool = false,
1790 p1: bool = false,
1791 p2: bool = false,
1792 p3: bool = false,
1793
1794 r0: bool = false,
1795 r1: bool = false,
1796 r2: bool = false,
1797 r3: bool = false,
1798 r4: bool = false,
1799 r5: bool = false,
1800 r6: bool = false,
1801 r7: bool = false,
1802 r8: bool = false,
1803 r9: bool = false,
1804 r10: bool = false,
1805 r11: bool = false,
1806 r12: bool = false,
1807 r13: bool = false,
1808 r14: bool = false,
1809 r15: bool = false,
1810 r16: bool = false,
1811 r17: bool = false,
1812 r18: bool = false,
1813 r19: bool = false,
1814 r20: bool = false,
1815 r21: bool = false,
1816 r22: bool = false,
1817 r23: bool = false,
1818 r24: bool = false,
1819 r25: bool = false,
1820 r26: bool = false,
1821 r27: bool = false,
1822 r28: bool = false,
1823 r29: bool = false,
1824 r30: bool = false,
1825 r31: bool = false,
1826
1827 q0: bool = false,
1828 q1: bool = false,
1829 q2: bool = false,
1830 q3: bool = false,
1831
1832 v0: bool = false,
1833 v1: bool = false,
1834 v2: bool = false,
1835 v3: bool = false,
1836 v4: bool = false,
1837 v5: bool = false,
1838 v6: bool = false,
1839 v7: bool = false,
1840 v8: bool = false,
1841 v9: bool = false,
1842 v10: bool = false,
1843 v11: bool = false,
1844 v12: bool = false,
1845 v13: bool = false,
1846 v14: bool = false,
1847 v15: bool = false,
1848 v16: bool = false,
1849 v17: bool = false,
1850 v18: bool = false,
1851 v19: bool = false,
1852 v20: bool = false,
1853 v21: bool = false,
1854 v22: bool = false,
1855 v23: bool = false,
1856 v24: bool = false,
1857 v25: bool = false,
1858 v26: bool = false,
1859 v27: bool = false,
1860 v28: bool = false,
1861 v29: bool = false,
1862 v30: bool = false,
1863 v31: bool = false,
1864 },
1865 .s390x => packed struct {
1866 /// Whether the inline assembly code may perform stores to memory
1867 /// addresses other than those derived from input pointer provenance.
1868 memory: bool = false,
1869
1870 ps: bool = false,
1871 r0: bool = false,
1872 r1: bool = false,
1873 r2: bool = false,
1874 r3: bool = false,
1875 r4: bool = false,
1876 r5: bool = false,
1877 r6: bool = false,
1878 r7: bool = false,
1879 r8: bool = false,
1880 r9: bool = false,
1881 r10: bool = false,
1882 r11: bool = false,
1883 r12: bool = false,
1884 r13: bool = false,
1885 r14: bool = false,
1886 r15: bool = false,
1887
1888 fpc: bool = false,
1889
1890 v0: bool = false,
1891 v1: bool = false,
1892 v2: bool = false,
1893 v3: bool = false,
1894 v4: bool = false,
1895 v5: bool = false,
1896 v6: bool = false,
1897 v7: bool = false,
1898 v8: bool = false,
1899 v9: bool = false,
1900 v10: bool = false,
1901 v11: bool = false,
1902 v12: bool = false,
1903 v13: bool = false,
1904 v14: bool = false,
1905 v15: bool = false,
1906 v16: bool = false,
1907 v17: bool = false,
1908 v18: bool = false,
1909 v19: bool = false,
1910 v20: bool = false,
1911 v21: bool = false,
1912 v22: bool = false,
1913 v23: bool = false,
1914 v24: bool = false,
1915 v25: bool = false,
1916 v26: bool = false,
1917 v27: bool = false,
1918 v28: bool = false,
1919 v29: bool = false,
1920 v30: bool = false,
1921 v31: bool = false,
1922
1923 f0: bool = false,
1924 f1: bool = false,
1925 f2: bool = false,
1926 f3: bool = false,
1927 f4: bool = false,
1928 f5: bool = false,
1929 f6: bool = false,
1930 f7: bool = false,
1931 f8: bool = false,
1932 f9: bool = false,
1933 f10: bool = false,
1934 f11: bool = false,
1935 f12: bool = false,
1936 f13: bool = false,
1937 f14: bool = false,
1938 f15: bool = false,
1939 },
1940 .ve => packed struct {
1941 /// Whether the inline assembly code may perform stores to memory
1942 /// addresses other than those derived from input pointer provenance.
1943 memory: bool = false,
1944
1945 psw: bool = false,
1946
1947 s0: bool = false,
1948 s1: bool = false,
1949 s2: bool = false,
1950 s3: bool = false,
1951 s4: bool = false,
1952 s5: bool = false,
1953 s6: bool = false,
1954 s7: bool = false,
1955 s8: bool = false,
1956 s9: bool = false,
1957 s10: bool = false,
1958 s11: bool = false,
1959 s12: bool = false,
1960 s13: bool = false,
1961 s14: bool = false,
1962 s15: bool = false,
1963 s16: bool = false,
1964 s17: bool = false,
1965 s18: bool = false,
1966 s19: bool = false,
1967 s20: bool = false,
1968 s21: bool = false,
1969 s22: bool = false,
1970 s23: bool = false,
1971 s24: bool = false,
1972 s25: bool = false,
1973 s26: bool = false,
1974 s27: bool = false,
1975 s28: bool = false,
1976 s29: bool = false,
1977 s30: bool = false,
1978 s31: bool = false,
1979 s32: bool = false,
1980 s33: bool = false,
1981 s34: bool = false,
1982 s35: bool = false,
1983 s36: bool = false,
1984 s37: bool = false,
1985 s38: bool = false,
1986 s39: bool = false,
1987 s40: bool = false,
1988 s41: bool = false,
1989 s42: bool = false,
1990 s43: bool = false,
1991 s44: bool = false,
1992 s45: bool = false,
1993 s46: bool = false,
1994 s47: bool = false,
1995 s48: bool = false,
1996 s49: bool = false,
1997 s50: bool = false,
1998 s51: bool = false,
1999 s52: bool = false,
2000 s53: bool = false,
2001 s54: bool = false,
2002 s55: bool = false,
2003 s56: bool = false,
2004 s57: bool = false,
2005 s58: bool = false,
2006 s59: bool = false,
2007 s60: bool = false,
2008 s61: bool = false,
2009 s62: bool = false,
2010 s63: bool = false,
2011
2012 vixr: bool = false,
2013 vl: bool = false,
2014
2015 vm0: bool = false,
2016 vm1: bool = false,
2017 vm2: bool = false,
2018 vm3: bool = false,
2019 vm4: bool = false,
2020 vm5: bool = false,
2021 vm6: bool = false,
2022 vm7: bool = false,
2023 vm8: bool = false,
2024 vm9: bool = false,
2025 vm10: bool = false,
2026 vm11: bool = false,
2027 vm12: bool = false,
2028 vm13: bool = false,
2029 vm14: bool = false,
2030 vm15: bool = false,
2031
2032 v0: bool = false,
2033 v1: bool = false,
2034 v2: bool = false,
2035 v3: bool = false,
2036 v4: bool = false,
2037 v5: bool = false,
2038 v6: bool = false,
2039 v7: bool = false,
2040 v8: bool = false,
2041 v9: bool = false,
2042 v10: bool = false,
2043 v11: bool = false,
2044 v12: bool = false,
2045 v13: bool = false,
2046 v14: bool = false,
2047 v15: bool = false,
2048 v16: bool = false,
2049 v17: bool = false,
2050 v18: bool = false,
2051 v19: bool = false,
2052 v20: bool = false,
2053 v21: bool = false,
2054 v22: bool = false,
2055 v23: bool = false,
2056 v24: bool = false,
2057 v25: bool = false,
2058 v26: bool = false,
2059 v27: bool = false,
2060 v28: bool = false,
2061 v29: bool = false,
2062 v30: bool = false,
2063 v31: bool = false,
2064 v32: bool = false,
2065 v33: bool = false,
2066 v34: bool = false,
2067 v35: bool = false,
2068 v36: bool = false,
2069 v37: bool = false,
2070 v38: bool = false,
2071 v39: bool = false,
2072 v40: bool = false,
2073 v41: bool = false,
2074 v42: bool = false,
2075 v43: bool = false,
2076 v44: bool = false,
2077 v45: bool = false,
2078 v46: bool = false,
2079 v47: bool = false,
2080 v48: bool = false,
2081 v49: bool = false,
2082 v50: bool = false,
2083 v51: bool = false,
2084 v52: bool = false,
2085 v53: bool = false,
2086 v54: bool = false,
2087 v55: bool = false,
2088 v56: bool = false,
2089 v57: bool = false,
2090 v58: bool = false,
2091 v59: bool = false,
2092 v60: bool = false,
2093 v61: bool = false,
2094 v62: bool = false,
2095 v63: bool = false,
2096 },
2097 .kalimba => packed struct {
2098 /// Whether the inline assembly code may perform stores to memory
2099 /// addresses other than those derived from input pointer provenance.
2100 memory: bool = false,
2101
2102 i0: bool = false,
2103 i1: bool = false,
2104 i2: bool = false,
2105 i3: bool = false,
2106 i4: bool = false,
2107 i5: bool = false,
2108 i6: bool = false,
2109 i7: bool = false,
2110
2111 m0: bool = false,
2112 m1: bool = false,
2113 m2: bool = false,
2114 m3: bool = false,
2115 l0: bool = false,
2116 l1: bool = false,
2117 l2: bool = false,
2118 l3: bool = false,
2119 l4: bool = false,
2120 l5: bool = false,
2121 doloopstart: bool = false,
2122 doloopend: bool = false,
2123 divresult: bool = false,
2124 divremainder: bool = false,
2125 rmac: bool = false,
2126 rmac0: bool = false,
2127 rmac1: bool = false,
2128 rmac2: bool = false,
2129 rlink: bool = false,
2130 rflags: bool = false,
2131 r0: bool = false,
2132 r1: bool = false,
2133 r2: bool = false,
2134 r3: bool = false,
2135 r4: bool = false,
2136 r5: bool = false,
2137 r6: bool = false,
2138 r7: bool = false,
2139 r8: bool = false,
2140 r9: bool = false,
2141 r10: bool = false,
2142 },
2143 .or1k => packed struct {
2144 /// Whether the inline assembly code may perform stores to memory
2145 /// addresses other than those derived from input pointer provenance.
2146 memory: bool = false,
2147
2148 maclo: bool = false,
2149 machi: bool = false,
2150 fpcsr: bool = false,
2151 fpmaddlo: bool = false,
2152 fpmaddhi: bool = false,
2153 vmaclo: bool = false,
2154 vmachi: bool = false,
2155
2156 r0: bool = false,
2157 r1: bool = false,
2158 r2: bool = false,
2159 r3: bool = false,
2160 r4: bool = false,
2161 r5: bool = false,
2162 r6: bool = false,
2163 r7: bool = false,
2164 r8: bool = false,
2165 r9: bool = false,
2166 r10: bool = false,
2167 r11: bool = false,
2168 r12: bool = false,
2169 r13: bool = false,
2170 r14: bool = false,
2171 r15: bool = false,
2172 r16: bool = false,
2173 r17: bool = false,
2174 r18: bool = false,
2175 r19: bool = false,
2176 r20: bool = false,
2177 r21: bool = false,
2178 r22: bool = false,
2179 r23: bool = false,
2180 r24: bool = false,
2181 r25: bool = false,
2182 r26: bool = false,
2183 r27: bool = false,
2184 r28: bool = false,
2185 r29: bool = false,
2186 r30: bool = false,
2187 r31: bool = false,
2188 },
2189 .csky => packed struct {
2190 /// Whether the inline assembly code may perform stores to memory
2191 /// addresses other than those derived from input pointer provenance.
2192 memory: bool = false,
2193
2194 psr: bool = false,
2195 hi: bool = false,
2196 lo: bool = false,
2197
2198 r0: bool = false,
2199 r1: bool = false,
2200 r2: bool = false,
2201 r3: bool = false,
2202 r4: bool = false,
2203 r5: bool = false,
2204 r6: bool = false,
2205 r7: bool = false,
2206 r8: bool = false,
2207 r9: bool = false,
2208 r10: bool = false,
2209 r11: bool = false,
2210 r12: bool = false,
2211 r13: bool = false,
2212 r14: bool = false,
2213 r15: bool = false,
2214 r16: bool = false,
2215 r17: bool = false,
2216 r18: bool = false,
2217 r19: bool = false,
2218 r20: bool = false,
2219 r21: bool = false,
2220 r22: bool = false,
2221 r23: bool = false,
2222 r24: bool = false,
2223 r25: bool = false,
2224 r26: bool = false,
2225 r27: bool = false,
2226 r28: bool = false,
2227 r29: bool = false,
2228 r30: bool = false,
2229 r31: bool = false,
2230
2231 vr0: bool = false,
2232 vr1: bool = false,
2233 vr2: bool = false,
2234 vr3: bool = false,
2235 vr4: bool = false,
2236 vr5: bool = false,
2237 vr6: bool = false,
2238 vr7: bool = false,
2239 vr8: bool = false,
2240 vr9: bool = false,
2241 vr10: bool = false,
2242 vr11: bool = false,
2243 vr12: bool = false,
2244 vr13: bool = false,
2245 vr14: bool = false,
2246 vr15: bool = false,
2247 vr16: bool = false,
2248 vr17: bool = false,
2249 vr18: bool = false,
2250 vr19: bool = false,
2251 vr20: bool = false,
2252 vr21: bool = false,
2253 vr22: bool = false,
2254 vr23: bool = false,
2255 vr24: bool = false,
2256 vr25: bool = false,
2257 vr26: bool = false,
2258 vr27: bool = false,
2259 vr28: bool = false,
2260 vr29: bool = false,
2261 vr30: bool = false,
2262 vr31: bool = false,
2263 },
2264 .arc, .arceb => packed struct {
2265 /// Whether the inline assembly code may perform stores to memory
2266 /// addresses other than those derived from input pointer provenance.
2267 memory: bool = false,
2268
2269 status32: bool = false,
2270 aux_macmode: bool = false,
2271 mulhi: bool = false,
2272 lp_start: bool = false,
2273 lp_end: bool = false,
2274 jli_base: bool = false,
2275 ldi_base: bool = false,
2276 ei_base: bool = false,
2277
2278 r0: bool = false,
2279 r1: bool = false,
2280 r2: bool = false,
2281 r3: bool = false,
2282 r4: bool = false,
2283 r5: bool = false,
2284 r6: bool = false,
2285 r7: bool = false,
2286 r8: bool = false,
2287 r9: bool = false,
2288 r10: bool = false,
2289 r11: bool = false,
2290 r12: bool = false,
2291 r13: bool = false,
2292 r14: bool = false,
2293 r15: bool = false,
2294 r16: bool = false,
2295 r17: bool = false,
2296 r18: bool = false,
2297 r19: bool = false,
2298 r20: bool = false,
2299 r21: bool = false,
2300 r22: bool = false,
2301 r23: bool = false,
2302 r24: bool = false,
2303 r25: bool = false,
2304 r26: bool = false,
2305 r27: bool = false,
2306 r28: bool = false,
2307 r29: bool = false,
2308 r30: bool = false,
2309 r31: bool = false,
2310 r32: bool = false,
2311 r33: bool = false,
2312 r34: bool = false,
2313 r35: bool = false,
2314 r36: bool = false,
2315 r37: bool = false,
2316 r38: bool = false,
2317 r39: bool = false,
2318 r40: bool = false,
2319 r41: bool = false,
2320 r42: bool = false,
2321 r43: bool = false,
2322 r44: bool = false,
2323 r45: bool = false,
2324 r46: bool = false,
2325 r47: bool = false,
2326 r48: bool = false,
2327 r49: bool = false,
2328 r50: bool = false,
2329 r51: bool = false,
2330 r52: bool = false,
2331 r53: bool = false,
2332 r54: bool = false,
2333 r55: bool = false,
2334 r56: bool = false,
2335 r57: bool = false,
2336 r58: bool = false,
2337 r59: bool = false,
2338 r60: bool = false,
2339
2340 fmp_ctrl: bool = false,
2341 dsp_ctrl: bool = false,
2342 acc0_lo: bool = false,
2343 acc0_glo: bool = false,
2344 acc0_hi: bool = false,
2345 acc0_ghi: bool = false,
2346 fp_ctrl: bool = false,
2347 fpu_status: bool = false,
2348 vfpu_status: bool = false,
2349
2350 f0: bool = false,
2351 f1: bool = false,
2352 f2: bool = false,
2353 f3: bool = false,
2354 f4: bool = false,
2355 f5: bool = false,
2356 f6: bool = false,
2357 f7: bool = false,
2358 f8: bool = false,
2359 f9: bool = false,
2360 f10: bool = false,
2361 f11: bool = false,
2362 f12: bool = false,
2363 f13: bool = false,
2364 f14: bool = false,
2365 f15: bool = false,
2366 f16: bool = false,
2367 f17: bool = false,
2368 f18: bool = false,
2369 f19: bool = false,
2370 f20: bool = false,
2371 f21: bool = false,
2372 f22: bool = false,
2373 f23: bool = false,
2374 f24: bool = false,
2375 f25: bool = false,
2376 f26: bool = false,
2377 f27: bool = false,
2378 f28: bool = false,
2379 f29: bool = false,
2380 f30: bool = false,
2381 f31: bool = false,
2382 },
2383 .loongarch32, .loongarch64 => packed struct {
2384 /// Whether the inline assembly code may perform stores to memory
2385 /// addresses other than those derived from input pointer provenance.
2386 memory: bool = false,
2387
2388 r1: bool = false,
2389 r2: bool = false,
2390 r3: bool = false,
2391 r4: bool = false,
2392 r5: bool = false,
2393 r6: bool = false,
2394 r7: bool = false,
2395 r8: bool = false,
2396 r9: bool = false,
2397 r10: bool = false,
2398 r11: bool = false,
2399 r12: bool = false,
2400 r13: bool = false,
2401 r14: bool = false,
2402 r15: bool = false,
2403 r16: bool = false,
2404 r17: bool = false,
2405 r18: bool = false,
2406 r19: bool = false,
2407 r20: bool = false,
2408 r21: bool = false,
2409 r22: bool = false,
2410 r23: bool = false,
2411 r24: bool = false,
2412 r25: bool = false,
2413 r26: bool = false,
2414 r27: bool = false,
2415 r28: bool = false,
2416 r29: bool = false,
2417 r30: bool = false,
2418 r31: bool = false,
2419
2420 fcc0: bool = false,
2421 fcc1: bool = false,
2422 fcc2: bool = false,
2423 fcc3: bool = false,
2424 fcc4: bool = false,
2425 fcc5: bool = false,
2426 fcc6: bool = false,
2427 fcc7: bool = false,
2428
2429 fcsr0: bool = false,
2430 fcsr1: bool = false,
2431 fcsr2: bool = false,
2432 fcsr3: bool = false,
2433
2434 xr0: bool = false,
2435 xr1: bool = false,
2436 xr2: bool = false,
2437 xr3: bool = false,
2438 xr4: bool = false,
2439 xr5: bool = false,
2440 xr6: bool = false,
2441 xr7: bool = false,
2442 xr8: bool = false,
2443 xr9: bool = false,
2444 xr10: bool = false,
2445 xr11: bool = false,
2446 xr12: bool = false,
2447 xr13: bool = false,
2448 xr14: bool = false,
2449 xr15: bool = false,
2450 xr16: bool = false,
2451 xr17: bool = false,
2452 xr18: bool = false,
2453 xr19: bool = false,
2454 xr20: bool = false,
2455 xr21: bool = false,
2456 xr22: bool = false,
2457 xr23: bool = false,
2458 xr24: bool = false,
2459 xr25: bool = false,
2460 xr26: bool = false,
2461 xr27: bool = false,
2462 xr28: bool = false,
2463 xr29: bool = false,
2464 xr30: bool = false,
2465 xr31: bool = false,
2466
2467 vr0: bool = false,
2468 vr1: bool = false,
2469 vr2: bool = false,
2470 vr3: bool = false,
2471 vr4: bool = false,
2472 vr5: bool = false,
2473 vr6: bool = false,
2474 vr7: bool = false,
2475 vr8: bool = false,
2476 vr9: bool = false,
2477 vr10: bool = false,
2478 vr11: bool = false,
2479 vr12: bool = false,
2480 vr13: bool = false,
2481 vr14: bool = false,
2482 vr15: bool = false,
2483 vr16: bool = false,
2484 vr17: bool = false,
2485 vr18: bool = false,
2486 vr19: bool = false,
2487 vr20: bool = false,
2488 vr21: bool = false,
2489 vr22: bool = false,
2490 vr23: bool = false,
2491 vr24: bool = false,
2492 vr25: bool = false,
2493 vr26: bool = false,
2494 vr27: bool = false,
2495 vr28: bool = false,
2496 vr29: bool = false,
2497 vr30: bool = false,
2498 vr31: bool = false,
2499
2500 f0: bool = false,
2501 f1: bool = false,
2502 f2: bool = false,
2503 f3: bool = false,
2504 f4: bool = false,
2505 f5: bool = false,
2506 f6: bool = false,
2507 f7: bool = false,
2508 f8: bool = false,
2509 f9: bool = false,
2510 f10: bool = false,
2511 f11: bool = false,
2512 f12: bool = false,
2513 f13: bool = false,
2514 f14: bool = false,
2515 f15: bool = false,
2516 f16: bool = false,
2517 f17: bool = false,
2518 f18: bool = false,
2519 f19: bool = false,
2520 f20: bool = false,
2521 f21: bool = false,
2522 f22: bool = false,
2523 f23: bool = false,
2524 f24: bool = false,
2525 f25: bool = false,
2526 f26: bool = false,
2527 f27: bool = false,
2528 f28: bool = false,
2529 f29: bool = false,
2530 f30: bool = false,
2531 f31: bool = false,
2532 },
2533 .powerpc, .powerpcle, .powerpc64, .powerpc64le => packed struct {
2534 /// Whether the inline assembly code may perform stores to memory
2535 /// addresses other than those derived from input pointer provenance.
2536 memory: bool = false,
2537
2538 cr0: bool = false,
2539 cr1: bool = false,
2540 cr2: bool = false,
2541 cr3: bool = false,
2542 cr4: bool = false,
2543 cr5: bool = false,
2544 cr6: bool = false,
2545 cr7: bool = false,
2546
2547 xer: bool = false,
2548 ctr: bool = false,
2549 lr: bool = false,
2550
2551 r0: bool = false,
2552 r1: bool = false,
2553 r2: bool = false,
2554 r3: bool = false,
2555 r4: bool = false,
2556 r5: bool = false,
2557 r6: bool = false,
2558 r7: bool = false,
2559 r8: bool = false,
2560 r9: bool = false,
2561 r10: bool = false,
2562 r11: bool = false,
2563 r12: bool = false,
2564 r13: bool = false,
2565 r14: bool = false,
2566 r15: bool = false,
2567 r16: bool = false,
2568 r17: bool = false,
2569 r18: bool = false,
2570 r19: bool = false,
2571 r20: bool = false,
2572 r21: bool = false,
2573 r22: bool = false,
2574 r23: bool = false,
2575 r24: bool = false,
2576 r25: bool = false,
2577 r26: bool = false,
2578 r27: bool = false,
2579 r28: bool = false,
2580 r29: bool = false,
2581 r30: bool = false,
2582 r31: bool = false,
2583
2584 fpscr: bool = false,
2585 vscr: bool = false,
2586
2587 vs0: bool = false,
2588 vs1: bool = false,
2589 vs2: bool = false,
2590 vs3: bool = false,
2591 vs4: bool = false,
2592 vs5: bool = false,
2593 vs6: bool = false,
2594 vs7: bool = false,
2595 vs8: bool = false,
2596 vs9: bool = false,
2597 vs10: bool = false,
2598 vs11: bool = false,
2599 vs12: bool = false,
2600 vs13: bool = false,
2601 vs14: bool = false,
2602 vs15: bool = false,
2603 vs16: bool = false,
2604 vs17: bool = false,
2605 vs18: bool = false,
2606 vs19: bool = false,
2607 vs20: bool = false,
2608 vs21: bool = false,
2609 vs22: bool = false,
2610 vs23: bool = false,
2611 vs24: bool = false,
2612 vs25: bool = false,
2613 vs26: bool = false,
2614 vs27: bool = false,
2615 vs28: bool = false,
2616 vs29: bool = false,
2617 vs30: bool = false,
2618 vs31: bool = false,
2619 vs32: bool = false,
2620 vs33: bool = false,
2621 vs34: bool = false,
2622 vs35: bool = false,
2623 vs36: bool = false,
2624 vs37: bool = false,
2625 vs38: bool = false,
2626 vs39: bool = false,
2627 vs40: bool = false,
2628 vs41: bool = false,
2629 vs42: bool = false,
2630 vs43: bool = false,
2631 vs44: bool = false,
2632 vs45: bool = false,
2633 vs46: bool = false,
2634 vs47: bool = false,
2635 vs48: bool = false,
2636 vs49: bool = false,
2637 vs50: bool = false,
2638 vs51: bool = false,
2639 vs52: bool = false,
2640 vs53: bool = false,
2641 vs54: bool = false,
2642 vs55: bool = false,
2643 vs56: bool = false,
2644 vs57: bool = false,
2645 vs58: bool = false,
2646 vs59: bool = false,
2647 vs60: bool = false,
2648 vs61: bool = false,
2649 vs62: bool = false,
2650 vs63: bool = false,
2651
2652 f0: bool = false,
2653 f1: bool = false,
2654 f2: bool = false,
2655 f3: bool = false,
2656 f4: bool = false,
2657 f5: bool = false,
2658 f6: bool = false,
2659 f7: bool = false,
2660 f8: bool = false,
2661 f9: bool = false,
2662 f10: bool = false,
2663 f11: bool = false,
2664 f12: bool = false,
2665 f13: bool = false,
2666 f14: bool = false,
2667 f15: bool = false,
2668 f16: bool = false,
2669 f17: bool = false,
2670 f18: bool = false,
2671 f19: bool = false,
2672 f20: bool = false,
2673 f21: bool = false,
2674 f22: bool = false,
2675 f23: bool = false,
2676 f24: bool = false,
2677 f25: bool = false,
2678 f26: bool = false,
2679 f27: bool = false,
2680 f28: bool = false,
2681 f29: bool = false,
2682 f30: bool = false,
2683 f31: bool = false,
2684
2685 v0: bool = false,
2686 v1: bool = false,
2687 v2: bool = false,
2688 v3: bool = false,
2689 v4: bool = false,
2690 v5: bool = false,
2691 v6: bool = false,
2692 v7: bool = false,
2693 v8: bool = false,
2694 v9: bool = false,
2695 v10: bool = false,
2696 v11: bool = false,
2697 v12: bool = false,
2698 v13: bool = false,
2699 v14: bool = false,
2700 v15: bool = false,
2701 v16: bool = false,
2702 v17: bool = false,
2703 v18: bool = false,
2704 v19: bool = false,
2705 v20: bool = false,
2706 v21: bool = false,
2707 v22: bool = false,
2708 v23: bool = false,
2709 v24: bool = false,
2710 v25: bool = false,
2711 v26: bool = false,
2712 v27: bool = false,
2713 v28: bool = false,
2714 v29: bool = false,
2715 v30: bool = false,
2716 v31: bool = false,
2717
2718 acc0: bool = false,
2719 acc1: bool = false,
2720 acc2: bool = false,
2721 acc3: bool = false,
2722 acc4: bool = false,
2723 acc5: bool = false,
2724 acc6: bool = false,
2725 acc7: bool = false,
2726
2727 acc: bool = false,
2728 spefsc: bool = false,
2729 },
2730 .mips, .mipsel, .mips64, .mips64el => packed struct {
2731 /// Whether the inline assembly code may perform stores to memory
2732 /// addresses other than those derived from input pointer provenance.
2733 memory: bool = false,
2734
2735 lr: bool = false,
2736
2737 hi: bool = false,
2738 lo: bool = false,
2739 ac0: bool = false,
2740 ac1: bool = false,
2741 ac2: bool = false,
2742 ac3: bool = false,
2743 acx: bool = false,
2744
2745 r1: bool = false,
2746 r2: bool = false,
2747 r3: bool = false,
2748 r4: bool = false,
2749 r5: bool = false,
2750 r6: bool = false,
2751 r7: bool = false,
2752 r8: bool = false,
2753 r9: bool = false,
2754 r10: bool = false,
2755 r11: bool = false,
2756 r12: bool = false,
2757 r13: bool = false,
2758 r14: bool = false,
2759 r15: bool = false,
2760 r16: bool = false,
2761 r17: bool = false,
2762 r18: bool = false,
2763 r19: bool = false,
2764 r20: bool = false,
2765 r21: bool = false,
2766 r22: bool = false,
2767 r23: bool = false,
2768 r24: bool = false,
2769 r25: bool = false,
2770 r26: bool = false,
2771 r27: bool = false,
2772 r28: bool = false,
2773 r29: bool = false,
2774 r30: bool = false,
2775 r31: bool = false,
2776
2777 fcsr: bool = false,
2778 fcc0: bool = false,
2779 fcc1: bool = false,
2780 fcc2: bool = false,
2781 fcc3: bool = false,
2782 fcc4: bool = false,
2783 fcc5: bool = false,
2784 fcc6: bool = false,
2785 fcc7: bool = false,
2786
2787 w0: bool = false,
2788 w1: bool = false,
2789 w2: bool = false,
2790 w3: bool = false,
2791 w4: bool = false,
2792 w5: bool = false,
2793 w6: bool = false,
2794 w7: bool = false,
2795 w8: bool = false,
2796 w9: bool = false,
2797 w10: bool = false,
2798 w11: bool = false,
2799 w12: bool = false,
2800 w13: bool = false,
2801 w14: bool = false,
2802 w15: bool = false,
2803 w16: bool = false,
2804 w17: bool = false,
2805 w18: bool = false,
2806 w19: bool = false,
2807 w20: bool = false,
2808 w21: bool = false,
2809 w22: bool = false,
2810 w23: bool = false,
2811 w24: bool = false,
2812 w25: bool = false,
2813 w26: bool = false,
2814 w27: bool = false,
2815 w28: bool = false,
2816 w29: bool = false,
2817 w30: bool = false,
2818 w31: bool = false,
2819
2820 f0: bool = false,
2821 f1: bool = false,
2822 f2: bool = false,
2823 f3: bool = false,
2824 f4: bool = false,
2825 f5: bool = false,
2826 f6: bool = false,
2827 f7: bool = false,
2828 f8: bool = false,
2829 f9: bool = false,
2830 f10: bool = false,
2831 f11: bool = false,
2832 f12: bool = false,
2833 f13: bool = false,
2834 f14: bool = false,
2835 f15: bool = false,
2836 f16: bool = false,
2837 f17: bool = false,
2838 f18: bool = false,
2839 f19: bool = false,
2840 f20: bool = false,
2841 f21: bool = false,
2842 f22: bool = false,
2843 f23: bool = false,
2844 f24: bool = false,
2845 f25: bool = false,
2846 f26: bool = false,
2847 f27: bool = false,
2848 f28: bool = false,
2849 f29: bool = false,
2850 f30: bool = false,
2851 f31: bool = false,
2852
2853 mpl0: bool = false,
2854 mpl1: bool = false,
2855 mpl2: bool = false,
2856
2857 p0: bool = false,
2858 p1: bool = false,
2859 p2: bool = false,
2860
2861 msa_ir: bool = false,
2862 msa_csr: bool = false,
2863 msa_access: bool = false,
2864 msa_save: bool = false,
2865 msa_modify: bool = false,
2866 msa_request: bool = false,
2867 msa_map: bool = false,
2868 msa_unmap: bool = false,
2869 },
2870 .alpha => packed struct {
2871 /// Whether the inline assembly code may perform stores to memory
2872 /// addresses other than those derived from input pointer provenance.
2873 memory: bool = false,
2874
2875 r0: bool = false,
2876 r1: bool = false,
2877 r2: bool = false,
2878 r3: bool = false,
2879 r4: bool = false,
2880 r5: bool = false,
2881 r6: bool = false,
2882 r7: bool = false,
2883 r8: bool = false,
2884 r9: bool = false,
2885 r10: bool = false,
2886 r11: bool = false,
2887 r12: bool = false,
2888 r13: bool = false,
2889 r14: bool = false,
2890 r15: bool = false,
2891 r16: bool = false,
2892 r17: bool = false,
2893 r18: bool = false,
2894 r19: bool = false,
2895 r20: bool = false,
2896 r21: bool = false,
2897 r22: bool = false,
2898 r23: bool = false,
2899 r24: bool = false,
2900 r25: bool = false,
2901 r26: bool = false,
2902 r27: bool = false,
2903 r28: bool = false,
2904 r29: bool = false,
2905 r30: bool = false,
2906
2907 f0: bool = false,
2908 f1: bool = false,
2909 f2: bool = false,
2910 f3: bool = false,
2911 f4: bool = false,
2912 f5: bool = false,
2913 f6: bool = false,
2914 f7: bool = false,
2915 f8: bool = false,
2916 f9: bool = false,
2917 f10: bool = false,
2918 f11: bool = false,
2919 f12: bool = false,
2920 f13: bool = false,
2921 f14: bool = false,
2922 f15: bool = false,
2923 f16: bool = false,
2924 f17: bool = false,
2925 f18: bool = false,
2926 f19: bool = false,
2927 f20: bool = false,
2928 f21: bool = false,
2929 f22: bool = false,
2930 f23: bool = false,
2931 f24: bool = false,
2932 f25: bool = false,
2933 f26: bool = false,
2934 f27: bool = false,
2935 f28: bool = false,
2936 f29: bool = false,
2937 f30: bool = false,
2938 },
2939 .hppa, .hppa64 => packed struct {
2940 /// Whether the inline assembly code may perform stores to memory
2941 /// addresses other than those derived from input pointer provenance.
2942 memory: bool = false,
2943
2944 sar: bool = false,
2945
2946 r1: bool = false,
2947 r2: bool = false,
2948 r3: bool = false,
2949 r4: bool = false,
2950 r5: bool = false,
2951 r6: bool = false,
2952 r7: bool = false,
2953 r8: bool = false,
2954 r9: bool = false,
2955 r10: bool = false,
2956 r11: bool = false,
2957 r12: bool = false,
2958 r13: bool = false,
2959 r14: bool = false,
2960 r15: bool = false,
2961 r16: bool = false,
2962 r17: bool = false,
2963 r18: bool = false,
2964 r19: bool = false,
2965 r20: bool = false,
2966 r21: bool = false,
2967 r22: bool = false,
2968 r23: bool = false,
2969 r24: bool = false,
2970 r25: bool = false,
2971 r26: bool = false,
2972 r27: bool = false,
2973 r28: bool = false,
2974 r29: bool = false,
2975 r30: bool = false,
2976 r31: bool = false,
2977
2978 fr4: bool = false,
2979 fr5: bool = false,
2980 fr6: bool = false,
2981 fr7: bool = false,
2982 fr8: bool = false,
2983 fr9: bool = false,
2984 fr10: bool = false,
2985 fr11: bool = false,
2986 fr12: bool = false,
2987 fr13: bool = false,
2988 fr14: bool = false,
2989 fr15: bool = false,
2990 fr16: bool = false,
2991 fr17: bool = false,
2992 fr18: bool = false,
2993 fr19: bool = false,
2994 fr20: bool = false,
2995 fr21: bool = false,
2996 fr22: bool = false,
2997 fr23: bool = false,
2998 fr24: bool = false,
2999 fr25: bool = false,
3000 fr26: bool = false,
3001 fr27: bool = false,
3002 fr28: bool = false,
3003 fr29: bool = false,
3004 fr30: bool = false,
3005 fr31: bool = false,
3006
3007 fr4r: bool = false,
3008 fr5r: bool = false,
3009 fr6r: bool = false,
3010 fr7r: bool = false,
3011 fr8r: bool = false,
3012 fr9r: bool = false,
3013 fr10r: bool = false,
3014 fr11r: bool = false,
3015 fr12r: bool = false,
3016 fr13r: bool = false,
3017 fr14r: bool = false,
3018 fr15r: bool = false,
3019 fr16r: bool = false,
3020 fr17r: bool = false,
3021 fr18r: bool = false,
3022 fr19r: bool = false,
3023 fr20r: bool = false,
3024 fr21r: bool = false,
3025 fr22r: bool = false,
3026 fr23r: bool = false,
3027 fr24r: bool = false,
3028 fr25r: bool = false,
3029 fr26r: bool = false,
3030 fr27r: bool = false,
3031 fr28r: bool = false,
3032 fr29r: bool = false,
3033 fr30r: bool = false,
3034 fr31r: bool = false,
3035 },
3036 .microblaze, .microblazeel => packed struct {
3037 /// Whether the inline assembly code may perform stores to memory
3038 /// addresses other than those derived from input pointer provenance.
3039 memory: bool = false,
3040
3041 rmsr: bool = false,
3042
3043 r1: bool = false,
3044 r2: bool = false,
3045 r3: bool = false,
3046 r4: bool = false,
3047 r5: bool = false,
3048 r6: bool = false,
3049 r7: bool = false,
3050 r8: bool = false,
3051 r9: bool = false,
3052 r10: bool = false,
3053 r11: bool = false,
3054 r12: bool = false,
3055 r13: bool = false,
3056 r14: bool = false,
3057 r15: bool = false,
3058 r16: bool = false,
3059 r17: bool = false,
3060 r18: bool = false,
3061 r19: bool = false,
3062 r20: bool = false,
3063 r21: bool = false,
3064 r22: bool = false,
3065 r23: bool = false,
3066 r24: bool = false,
3067 r25: bool = false,
3068 r26: bool = false,
3069 r27: bool = false,
3070 r28: bool = false,
3071 r29: bool = false,
3072 r30: bool = false,
3073 r31: bool = false,
3074 },
3075 .sh, .sheb => packed struct {
3076 /// Whether the inline assembly code may perform stores to memory
3077 /// addresses other than those derived from input pointer provenance.
3078 memory: bool = false,
3079
3080 sr: bool = false,
3081 gbr: bool = false,
3082 pr: bool = false,
3083
3084 r0: bool = false,
3085 r1: bool = false,
3086 r2: bool = false,
3087 r3: bool = false,
3088 r4: bool = false,
3089 r5: bool = false,
3090 r6: bool = false,
3091 r7: bool = false,
3092 r8: bool = false,
3093 r9: bool = false,
3094 r10: bool = false,
3095 r11: bool = false,
3096 r12: bool = false,
3097 r13: bool = false,
3098 r14: bool = false,
3099 r15: bool = false,
3100
3101 mach: bool = false,
3102 macl: bool = false,
3103
3104 fr0: bool = false,
3105 fr1: bool = false,
3106 fr2: bool = false,
3107 fr3: bool = false,
3108 fr4: bool = false,
3109 fr5: bool = false,
3110 fr6: bool = false,
3111 fr7: bool = false,
3112 fr8: bool = false,
3113 fr9: bool = false,
3114 fr10: bool = false,
3115 fr11: bool = false,
3116 fr12: bool = false,
3117 fr13: bool = false,
3118 fr14: bool = false,
3119 fr15: bool = false,
3120
3121 dr0: bool = false,
3122 dr2: bool = false,
3123 dr4: bool = false,
3124 dr6: bool = false,
3125 dr8: bool = false,
3126 dr10: bool = false,
3127 dr12: bool = false,
3128 dr14: bool = false,
3129
3130 fv0: bool = false,
3131 fv4: bool = false,
3132 fv8: bool = false,
3133 fv12: bool = false,
3134
3135 xf0: bool = false,
3136 xf1: bool = false,
3137 xf2: bool = false,
3138 xf3: bool = false,
3139 xf4: bool = false,
3140 xf5: bool = false,
3141 xf6: bool = false,
3142 xf7: bool = false,
3143 xf8: bool = false,
3144 xf9: bool = false,
3145 xf10: bool = false,
3146 xf11: bool = false,
3147 xf12: bool = false,
3148 xf13: bool = false,
3149 xf14: bool = false,
3150 xf15: bool = false,
3151
3152 xd0: bool = false,
3153 xd2: bool = false,
3154 xd4: bool = false,
3155 xd6: bool = false,
3156 xd8: bool = false,
3157 xd10: bool = false,
3158 xd12: bool = false,
3159 xd14: bool = false,
3160
3161 xmtrx: bool = false,
3162
3163 fpul: bool = false,
3164 fpscr: bool = false,
3165
3166 ms: bool = false,
3167 me: bool = false,
3168
3169 rs: bool = false,
3170 re: bool = false,
3171
3172 a0: bool = false,
3173 a0g: bool = false,
3174 a1: bool = false,
3175 a1g: bool = false,
3176 m0: bool = false,
3177 m1: bool = false,
3178 x0: bool = false,
3179 x1: bool = false,
3180 y0: bool = false,
3181 y1: bool = false,
3182
3183 dsr: bool = false,
3184 },
3185 else => packed struct {
3186 /// Whether the inline assembly code may perform stores to memory
3187 /// addresses other than those derived from input pointer provenance.
3188 memory: bool = false,
3189 },
3190};