diff --git a/lib/std/builtin/assembly.zig b/lib/std/builtin/assembly.zig index c368ae45d5..b77d0f383b 100644 --- a/lib/std/builtin/assembly.zig +++ b/lib/std/builtin/assembly.zig @@ -999,6 +999,1187 @@ pub const Clobbers = switch (@import("builtin").cpu.arch) { fp6: bool = false, fp7: bool = false, }, + .sparc, .sparc64 => packed struct { + /// Whether the inline assembly code may perform stores to memory + /// addresses other than those derived from input pointer provenance. + memory: bool = false, + + psr: bool = false, + ccr: bool = false, + gsr: bool = false, + y: bool = false, + + g1: bool = false, + g2: bool = false, + g3: bool = false, + g4: bool = false, + g5: bool = false, + g6: bool = false, + g7: bool = false, + + o0: bool = false, + o1: bool = false, + o2: bool = false, + o3: bool = false, + o4: bool = false, + o5: bool = false, + o6: bool = false, + o7: bool = false, + + l0: bool = false, + l1: bool = false, + l2: bool = false, + l3: bool = false, + l4: bool = false, + l5: bool = false, + l6: bool = false, + l7: bool = false, + + i0: bool = false, + i1: bool = false, + i2: bool = false, + i3: bool = false, + i4: bool = false, + i5: bool = false, + i6: bool = false, + i7: bool = false, + + fsr: bool = false, + fprs: bool = false, + + q0: bool = false, + q1: bool = false, + q2: bool = false, + q3: bool = false, + q4: bool = false, + q5: bool = false, + q6: bool = false, + q7: bool = false, + q8: bool = false, + q9: bool = false, + q10: bool = false, + q11: bool = false, + q12: bool = false, + q13: bool = false, + q14: bool = false, + q15: bool = false, + }, + .bpfel, .bpfeb => packed struct { + /// Whether the inline assembly code may perform stores to memory + /// addresses other than those derived from input pointer provenance. + memory: bool = false, + + r0: bool = false, + r1: bool = false, + r2: bool = false, + r3: bool = false, + r4: bool = false, + r5: bool = false, + r6: bool = false, + r7: bool = false, + r8: bool = false, + r9: bool = false, + + w0: bool = false, + w1: bool = false, + w2: bool = false, + w3: bool = false, + w4: bool = false, + w5: bool = false, + w6: bool = false, + w7: bool = false, + w8: bool = false, + w9: bool = false, + }, + .hexagon => packed struct { + /// Whether the inline assembly code may perform stores to memory + /// addresses other than those derived from input pointer provenance. + memory: bool = false, + + sa0: bool = false, + sa1: bool = false, + lc0: bool = false, + lc1: bool = false, + m0: bool = false, + m1: bool = false, + usr: bool = false, + ugp: bool = false, + gp: bool = false, + cs0: bool = false, + cs1: bool = false, + framelimit: bool = false, + framekey: bool = false, + + p0: bool = false, + p1: bool = false, + p2: bool = false, + p3: bool = false, + + r0: bool = false, + r1: bool = false, + r2: bool = false, + r3: bool = false, + r4: bool = false, + r5: bool = false, + r6: bool = false, + r7: bool = false, + r8: bool = false, + r9: bool = false, + r10: bool = false, + r11: bool = false, + r12: bool = false, + r13: bool = false, + r14: bool = false, + r15: bool = false, + r16: bool = false, + r17: bool = false, + r18: bool = false, + r19: bool = false, + r20: bool = false, + r21: bool = false, + r22: bool = false, + r23: bool = false, + r24: bool = false, + r25: bool = false, + r26: bool = false, + r27: bool = false, + r28: bool = false, + r29: bool = false, + r30: bool = false, + r31: bool = false, + + q0: bool = false, + q1: bool = false, + q2: bool = false, + q3: bool = false, + + v0: bool = false, + v1: bool = false, + v2: bool = false, + v3: bool = false, + v4: bool = false, + v5: bool = false, + v6: bool = false, + v7: bool = false, + v8: bool = false, + v9: bool = false, + v10: bool = false, + v11: bool = false, + v12: bool = false, + v13: bool = false, + v14: bool = false, + v15: bool = false, + v16: bool = false, + v17: bool = false, + v18: bool = false, + v19: bool = false, + v20: bool = false, + v21: bool = false, + v22: bool = false, + v23: bool = false, + v24: bool = false, + v25: bool = false, + v26: bool = false, + v27: bool = false, + v28: bool = false, + v29: bool = false, + v30: bool = false, + v31: bool = false, + }, + .s390x => packed struct { + /// Whether the inline assembly code may perform stores to memory + /// addresses other than those derived from input pointer provenance. + memory: bool = false, + + ps: bool = false, + r0: bool = false, + r1: bool = false, + r2: bool = false, + r3: bool = false, + r4: bool = false, + r5: bool = false, + r6: bool = false, + r7: bool = false, + r8: bool = false, + r9: bool = false, + r10: bool = false, + r11: bool = false, + r12: bool = false, + r13: bool = false, + r14: bool = false, + r15: bool = false, + + fpc: bool = false, + + v0: bool = false, + v1: bool = false, + v2: bool = false, + v3: bool = false, + v4: bool = false, + v5: bool = false, + v6: bool = false, + v7: bool = false, + v8: bool = false, + v9: bool = false, + v10: bool = false, + v11: bool = false, + v12: bool = false, + v13: bool = false, + v14: bool = false, + v15: bool = false, + v16: bool = false, + v17: bool = false, + v18: bool = false, + v19: bool = false, + v20: bool = false, + v21: bool = false, + v22: bool = false, + v23: bool = false, + v24: bool = false, + v25: bool = false, + v26: bool = false, + v27: bool = false, + v28: bool = false, + v29: bool = false, + v30: bool = false, + v31: bool = false, + + f0: bool = false, + f1: bool = false, + f2: bool = false, + f3: bool = false, + f4: bool = false, + f5: bool = false, + f6: bool = false, + f7: bool = false, + f8: bool = false, + f9: bool = false, + f10: bool = false, + f11: bool = false, + f12: bool = false, + f13: bool = false, + f14: bool = false, + f15: bool = false, + }, + .ve => packed struct { + /// Whether the inline assembly code may perform stores to memory + /// addresses other than those derived from input pointer provenance. + memory: bool = false, + + psw: bool = false, + + s0: bool = false, + s1: bool = false, + s2: bool = false, + s3: bool = false, + s4: bool = false, + s5: bool = false, + s6: bool = false, + s7: bool = false, + s8: bool = false, + s9: bool = false, + s10: bool = false, + s11: bool = false, + s12: bool = false, + s13: bool = false, + s14: bool = false, + s15: bool = false, + s16: bool = false, + s17: bool = false, + s18: bool = false, + s19: bool = false, + s20: bool = false, + s21: bool = false, + s22: bool = false, + s23: bool = false, + s24: bool = false, + s25: bool = false, + s26: bool = false, + s27: bool = false, + s28: bool = false, + s29: bool = false, + s30: bool = false, + s31: bool = false, + s32: bool = false, + s33: bool = false, + s34: bool = false, + s35: bool = false, + s36: bool = false, + s37: bool = false, + s38: bool = false, + s39: bool = false, + s40: bool = false, + s41: bool = false, + s42: bool = false, + s43: bool = false, + s44: bool = false, + s45: bool = false, + s46: bool = false, + s47: bool = false, + s48: bool = false, + s49: bool = false, + s50: bool = false, + s51: bool = false, + s52: bool = false, + s53: bool = false, + s54: bool = false, + s55: bool = false, + s56: bool = false, + s57: bool = false, + s58: bool = false, + s59: bool = false, + s60: bool = false, + s61: bool = false, + s62: bool = false, + s63: bool = false, + + vixr: bool = false, + vl: bool = false, + + vm0: bool = false, + vm1: bool = false, + vm2: bool = false, + vm3: bool = false, + vm4: bool = false, + vm5: bool = false, + vm6: bool = false, + vm7: bool = false, + vm8: bool = false, + vm9: bool = false, + vm10: bool = false, + vm11: bool = false, + vm12: bool = false, + vm13: bool = false, + vm14: bool = false, + vm15: bool = false, + + v0: bool = false, + v1: bool = false, + v2: bool = false, + v3: bool = false, + v4: bool = false, + v5: bool = false, + v6: bool = false, + v7: bool = false, + v8: bool = false, + v9: bool = false, + v10: bool = false, + v11: bool = false, + v12: bool = false, + v13: bool = false, + v14: bool = false, + v15: bool = false, + v16: bool = false, + v17: bool = false, + v18: bool = false, + v19: bool = false, + v20: bool = false, + v21: bool = false, + v22: bool = false, + v23: bool = false, + v24: bool = false, + v25: bool = false, + v26: bool = false, + v27: bool = false, + v28: bool = false, + v29: bool = false, + v30: bool = false, + v31: bool = false, + v32: bool = false, + v33: bool = false, + v34: bool = false, + v35: bool = false, + v36: bool = false, + v37: bool = false, + v38: bool = false, + v39: bool = false, + v40: bool = false, + v41: bool = false, + v42: bool = false, + v43: bool = false, + v44: bool = false, + v45: bool = false, + v46: bool = false, + v47: bool = false, + v48: bool = false, + v49: bool = false, + v50: bool = false, + v51: bool = false, + v52: bool = false, + v53: bool = false, + v54: bool = false, + v55: bool = false, + v56: bool = false, + v57: bool = false, + v58: bool = false, + v59: bool = false, + v60: bool = false, + v61: bool = false, + v62: bool = false, + v63: bool = false, + }, + .kalimba => packed struct { + /// Whether the inline assembly code may perform stores to memory + /// addresses other than those derived from input pointer provenance. + memory: bool = false, + + i0: bool = false, + i1: bool = false, + i2: bool = false, + i3: bool = false, + i4: bool = false, + i5: bool = false, + i6: bool = false, + i7: bool = false, + + m0: bool = false, + m1: bool = false, + m2: bool = false, + m3: bool = false, + l0: bool = false, + l1: bool = false, + l2: bool = false, + l3: bool = false, + l4: bool = false, + l5: bool = false, + doloopstart: bool = false, + doloopend: bool = false, + divresult: bool = false, + divremainder: bool = false, + rmac: bool = false, + rmac0: bool = false, + rmac1: bool = false, + rmac2: bool = false, + rlink: bool = false, + rflags: bool = false, + r0: bool = false, + r1: bool = false, + r2: bool = false, + r3: bool = false, + r4: bool = false, + r5: bool = false, + r6: bool = false, + r7: bool = false, + r8: bool = false, + r9: bool = false, + r10: bool = false, + }, + .or1k => packed struct { + /// Whether the inline assembly code may perform stores to memory + /// addresses other than those derived from input pointer provenance. + memory: bool = false, + + maclo: bool = false, + machi: bool = false, + fpcsr: bool = false, + fpmaddlo: bool = false, + fpmaddhi: bool = false, + vmaclo: bool = false, + vmachi: bool = false, + + r0: bool = false, + r1: bool = false, + r2: bool = false, + r3: bool = false, + r4: bool = false, + r5: bool = false, + r6: bool = false, + r7: bool = false, + r8: bool = false, + r9: bool = false, + r10: bool = false, + r11: bool = false, + r12: bool = false, + r13: bool = false, + r14: bool = false, + r15: bool = false, + r16: bool = false, + r17: bool = false, + r18: bool = false, + r19: bool = false, + r20: bool = false, + r21: bool = false, + r22: bool = false, + r23: bool = false, + r24: bool = false, + r25: bool = false, + r26: bool = false, + r27: bool = false, + r28: bool = false, + r29: bool = false, + r30: bool = false, + r31: bool = false, + }, + .csky => packed struct { + /// Whether the inline assembly code may perform stores to memory + /// addresses other than those derived from input pointer provenance. + memory: bool = false, + + psr: bool = false, + hi: bool = false, + lo: bool = false, + + r0: bool = false, + r1: bool = false, + r2: bool = false, + r3: bool = false, + r4: bool = false, + r5: bool = false, + r6: bool = false, + r7: bool = false, + r8: bool = false, + r9: bool = false, + r10: bool = false, + r11: bool = false, + r12: bool = false, + r13: bool = false, + r14: bool = false, + r15: bool = false, + r16: bool = false, + r17: bool = false, + r18: bool = false, + r19: bool = false, + r20: bool = false, + r21: bool = false, + r22: bool = false, + r23: bool = false, + r24: bool = false, + r25: bool = false, + r26: bool = false, + r27: bool = false, + r28: bool = false, + r29: bool = false, + r30: bool = false, + r31: bool = false, + + vr0: bool = false, + vr1: bool = false, + vr2: bool = false, + vr3: bool = false, + vr4: bool = false, + vr5: bool = false, + vr6: bool = false, + vr7: bool = false, + vr8: bool = false, + vr9: bool = false, + vr10: bool = false, + vr11: bool = false, + vr12: bool = false, + vr13: bool = false, + vr14: bool = false, + vr15: bool = false, + vr16: bool = false, + vr17: bool = false, + vr18: bool = false, + vr19: bool = false, + vr20: bool = false, + vr21: bool = false, + vr22: bool = false, + vr23: bool = false, + vr24: bool = false, + vr25: bool = false, + vr26: bool = false, + vr27: bool = false, + vr28: bool = false, + vr29: bool = false, + vr30: bool = false, + vr31: bool = false, + }, + .arc => packed struct { + /// Whether the inline assembly code may perform stores to memory + /// addresses other than those derived from input pointer provenance. + memory: bool = false, + + status32: bool = false, + aux_macmode: bool = false, + mulhi: bool = false, + lp_start: bool = false, + lp_end: bool = false, + jli_base: bool = false, + ldi_base: bool = false, + ei_base: bool = false, + + r0: bool = false, + r1: bool = false, + r2: bool = false, + r3: bool = false, + r4: bool = false, + r5: bool = false, + r6: bool = false, + r7: bool = false, + r8: bool = false, + r9: bool = false, + r10: bool = false, + r11: bool = false, + r12: bool = false, + r13: bool = false, + r14: bool = false, + r15: bool = false, + r16: bool = false, + r17: bool = false, + r18: bool = false, + r19: bool = false, + r20: bool = false, + r21: bool = false, + r22: bool = false, + r23: bool = false, + r24: bool = false, + r25: bool = false, + r26: bool = false, + r27: bool = false, + r28: bool = false, + r29: bool = false, + r30: bool = false, + r31: bool = false, + r32: bool = false, + r33: bool = false, + r34: bool = false, + r35: bool = false, + r36: bool = false, + r37: bool = false, + r38: bool = false, + r39: bool = false, + r40: bool = false, + r41: bool = false, + r42: bool = false, + r43: bool = false, + r44: bool = false, + r45: bool = false, + r46: bool = false, + r47: bool = false, + r48: bool = false, + r49: bool = false, + r50: bool = false, + r51: bool = false, + r52: bool = false, + r53: bool = false, + r54: bool = false, + r55: bool = false, + r56: bool = false, + r57: bool = false, + r58: bool = false, + r59: bool = false, + r60: bool = false, + + fmp_ctrl: bool = false, + dsp_ctrl: bool = false, + acc0_lo: bool = false, + acc0_glo: bool = false, + acc0_hi: bool = false, + acc0_ghi: bool = false, + fp_ctrl: bool = false, + fpu_status: bool = false, + vfpu_status: bool = false, + + f0: bool = false, + f1: bool = false, + f2: bool = false, + f3: bool = false, + f4: bool = false, + f5: bool = false, + f6: bool = false, + f7: bool = false, + f8: bool = false, + f9: bool = false, + f10: bool = false, + f11: bool = false, + f12: bool = false, + f13: bool = false, + f14: bool = false, + f15: bool = false, + f16: bool = false, + f17: bool = false, + f18: bool = false, + f19: bool = false, + f20: bool = false, + f21: bool = false, + f22: bool = false, + f23: bool = false, + f24: bool = false, + f25: bool = false, + f26: bool = false, + f27: bool = false, + f28: bool = false, + f29: bool = false, + f30: bool = false, + f31: bool = false, + }, + .loongarch32, .loongarch64 => packed struct { + /// Whether the inline assembly code may perform stores to memory + /// addresses other than those derived from input pointer provenance. + memory: bool = false, + + r1: bool = false, + r2: bool = false, + r3: bool = false, + r4: bool = false, + r5: bool = false, + r6: bool = false, + r7: bool = false, + r8: bool = false, + r9: bool = false, + r10: bool = false, + r11: bool = false, + r12: bool = false, + r13: bool = false, + r14: bool = false, + r15: bool = false, + r16: bool = false, + r17: bool = false, + r18: bool = false, + r19: bool = false, + r20: bool = false, + r21: bool = false, + r22: bool = false, + r23: bool = false, + r24: bool = false, + r25: bool = false, + r26: bool = false, + r27: bool = false, + r28: bool = false, + r29: bool = false, + r30: bool = false, + r31: bool = false, + + fcc0: bool = false, + fcc1: bool = false, + fcc2: bool = false, + fcc3: bool = false, + fcc4: bool = false, + fcc5: bool = false, + fcc6: bool = false, + fcc7: bool = false, + + fcsr0: bool = false, + fcsr1: bool = false, + fcsr2: bool = false, + fcsr3: bool = false, + + xr0: bool = false, + xr1: bool = false, + xr2: bool = false, + xr3: bool = false, + xr4: bool = false, + xr5: bool = false, + xr6: bool = false, + xr7: bool = false, + xr8: bool = false, + xr9: bool = false, + xr10: bool = false, + xr11: bool = false, + xr12: bool = false, + xr13: bool = false, + xr14: bool = false, + xr15: bool = false, + xr16: bool = false, + xr17: bool = false, + xr18: bool = false, + xr19: bool = false, + xr20: bool = false, + xr21: bool = false, + xr22: bool = false, + xr23: bool = false, + xr24: bool = false, + xr25: bool = false, + xr26: bool = false, + xr27: bool = false, + xr28: bool = false, + xr29: bool = false, + xr30: bool = false, + xr31: bool = false, + + vr0: bool = false, + vr1: bool = false, + vr2: bool = false, + vr3: bool = false, + vr4: bool = false, + vr5: bool = false, + vr6: bool = false, + vr7: bool = false, + vr8: bool = false, + vr9: bool = false, + vr10: bool = false, + vr11: bool = false, + vr12: bool = false, + vr13: bool = false, + vr14: bool = false, + vr15: bool = false, + vr16: bool = false, + vr17: bool = false, + vr18: bool = false, + vr19: bool = false, + vr20: bool = false, + vr21: bool = false, + vr22: bool = false, + vr23: bool = false, + vr24: bool = false, + vr25: bool = false, + vr26: bool = false, + vr27: bool = false, + vr28: bool = false, + vr29: bool = false, + vr30: bool = false, + vr31: bool = false, + + f0: bool = false, + f1: bool = false, + f2: bool = false, + f3: bool = false, + f4: bool = false, + f5: bool = false, + f6: bool = false, + f7: bool = false, + f8: bool = false, + f9: bool = false, + f10: bool = false, + f11: bool = false, + f12: bool = false, + f13: bool = false, + f14: bool = false, + f15: bool = false, + f16: bool = false, + f17: bool = false, + f18: bool = false, + f19: bool = false, + f20: bool = false, + f21: bool = false, + f22: bool = false, + f23: bool = false, + f24: bool = false, + f25: bool = false, + f26: bool = false, + f27: bool = false, + f28: bool = false, + f29: bool = false, + f30: bool = false, + f31: bool = false, + }, + .powerpc, .powerpcle, .powerpc64, .powerpc64le => packed struct { + /// Whether the inline assembly code may perform stores to memory + /// addresses other than those derived from input pointer provenance. + memory: bool = false, + + cr0: bool = false, + cr1: bool = false, + cr2: bool = false, + cr3: bool = false, + cr4: bool = false, + cr5: bool = false, + cr6: bool = false, + cr7: bool = false, + + xer: bool = false, + ctr: bool = false, + lr: bool = false, + + r0: bool = false, + r1: bool = false, + r2: bool = false, + r3: bool = false, + r4: bool = false, + r5: bool = false, + r6: bool = false, + r7: bool = false, + r8: bool = false, + r9: bool = false, + r10: bool = false, + r11: bool = false, + r12: bool = false, + r13: bool = false, + r14: bool = false, + r15: bool = false, + r16: bool = false, + r17: bool = false, + r18: bool = false, + r19: bool = false, + r20: bool = false, + r21: bool = false, + r22: bool = false, + r23: bool = false, + r24: bool = false, + r25: bool = false, + r26: bool = false, + r27: bool = false, + r28: bool = false, + r29: bool = false, + r30: bool = false, + r31: bool = false, + + fpscr: bool = false, + vscr: bool = false, + + vs0: bool = false, + vs1: bool = false, + vs2: bool = false, + vs3: bool = false, + vs4: bool = false, + vs5: bool = false, + vs6: bool = false, + vs7: bool = false, + vs8: bool = false, + vs9: bool = false, + vs10: bool = false, + vs11: bool = false, + vs12: bool = false, + vs13: bool = false, + vs14: bool = false, + vs15: bool = false, + vs16: bool = false, + vs17: bool = false, + vs18: bool = false, + vs19: bool = false, + vs20: bool = false, + vs21: bool = false, + vs22: bool = false, + vs23: bool = false, + vs24: bool = false, + vs25: bool = false, + vs26: bool = false, + vs27: bool = false, + vs28: bool = false, + vs29: bool = false, + vs30: bool = false, + vs31: bool = false, + vs32: bool = false, + vs33: bool = false, + vs34: bool = false, + vs35: bool = false, + vs36: bool = false, + vs37: bool = false, + vs38: bool = false, + vs39: bool = false, + vs40: bool = false, + vs41: bool = false, + vs42: bool = false, + vs43: bool = false, + vs44: bool = false, + vs45: bool = false, + vs46: bool = false, + vs47: bool = false, + vs48: bool = false, + vs49: bool = false, + vs50: bool = false, + vs51: bool = false, + vs52: bool = false, + vs53: bool = false, + vs54: bool = false, + vs55: bool = false, + vs56: bool = false, + vs57: bool = false, + vs58: bool = false, + vs59: bool = false, + vs60: bool = false, + vs61: bool = false, + vs62: bool = false, + vs63: bool = false, + + f0: bool = false, + f1: bool = false, + f2: bool = false, + f3: bool = false, + f4: bool = false, + f5: bool = false, + f6: bool = false, + f7: bool = false, + f8: bool = false, + f9: bool = false, + f10: bool = false, + f11: bool = false, + f12: bool = false, + f13: bool = false, + f14: bool = false, + f15: bool = false, + f16: bool = false, + f17: bool = false, + f18: bool = false, + f19: bool = false, + f20: bool = false, + f21: bool = false, + f22: bool = false, + f23: bool = false, + f24: bool = false, + f25: bool = false, + f26: bool = false, + f27: bool = false, + f28: bool = false, + f29: bool = false, + f30: bool = false, + f31: bool = false, + + v0: bool = false, + v1: bool = false, + v2: bool = false, + v3: bool = false, + v4: bool = false, + v5: bool = false, + v6: bool = false, + v7: bool = false, + v8: bool = false, + v9: bool = false, + v10: bool = false, + v11: bool = false, + v12: bool = false, + v13: bool = false, + v14: bool = false, + v15: bool = false, + v16: bool = false, + v17: bool = false, + v18: bool = false, + v19: bool = false, + v20: bool = false, + v21: bool = false, + v22: bool = false, + v23: bool = false, + v24: bool = false, + v25: bool = false, + v26: bool = false, + v27: bool = false, + v28: bool = false, + v29: bool = false, + v30: bool = false, + v31: bool = false, + + acc0: bool = false, + acc1: bool = false, + acc2: bool = false, + acc3: bool = false, + acc4: bool = false, + acc5: bool = false, + acc6: bool = false, + acc7: bool = false, + + acc: bool = false, + spefsc: bool = false, + }, + .mips, .mipsel, .mips64, .mips64el => packed struct { + /// Whether the inline assembly code may perform stores to memory + /// addresses other than those derived from input pointer provenance. + memory: bool = false, + + hi: bool = false, + lo: bool = false, + ac0: bool = false, + ac1: bool = false, + ac2: bool = false, + ac3: bool = false, + acx: bool = false, + + r1: bool = false, + r2: bool = false, + r3: bool = false, + r4: bool = false, + r5: bool = false, + r6: bool = false, + r7: bool = false, + r8: bool = false, + r9: bool = false, + r10: bool = false, + r11: bool = false, + r12: bool = false, + r13: bool = false, + r14: bool = false, + r15: bool = false, + r16: bool = false, + r17: bool = false, + r18: bool = false, + r19: bool = false, + r20: bool = false, + r21: bool = false, + r22: bool = false, + r23: bool = false, + r24: bool = false, + r25: bool = false, + r26: bool = false, + r27: bool = false, + r28: bool = false, + r29: bool = false, + r30: bool = false, + r31: bool = false, + + fcsr: bool = false, + fcc0: bool = false, + fcc1: bool = false, + fcc2: bool = false, + fcc3: bool = false, + fcc4: bool = false, + fcc5: bool = false, + fcc6: bool = false, + fcc7: bool = false, + + w0: bool = false, + w1: bool = false, + w2: bool = false, + w3: bool = false, + w4: bool = false, + w5: bool = false, + w6: bool = false, + w7: bool = false, + w8: bool = false, + w9: bool = false, + w10: bool = false, + w11: bool = false, + w12: bool = false, + w13: bool = false, + w14: bool = false, + w15: bool = false, + w16: bool = false, + w17: bool = false, + w18: bool = false, + w19: bool = false, + w20: bool = false, + w21: bool = false, + w22: bool = false, + w23: bool = false, + w24: bool = false, + w25: bool = false, + w26: bool = false, + w27: bool = false, + w28: bool = false, + w29: bool = false, + w30: bool = false, + w31: bool = false, + + f0: bool = false, + f1: bool = false, + f2: bool = false, + f3: bool = false, + f4: bool = false, + f5: bool = false, + f6: bool = false, + f7: bool = false, + f8: bool = false, + f9: bool = false, + f10: bool = false, + f11: bool = false, + f12: bool = false, + f13: bool = false, + f14: bool = false, + f15: bool = false, + f16: bool = false, + f17: bool = false, + f18: bool = false, + f19: bool = false, + f20: bool = false, + f21: bool = false, + f22: bool = false, + f23: bool = false, + f24: bool = false, + f25: bool = false, + f26: bool = false, + f27: bool = false, + f28: bool = false, + f29: bool = false, + f30: bool = false, + f31: bool = false, + + mpl0: bool = false, + mpl1: bool = false, + mpl2: bool = false, + + p0: bool = false, + p1: bool = false, + p2: bool = false, + }, else => packed struct { /// Whether the inline assembly code may perform stores to memory /// addresses other than those derived from input pointer provenance.