Commit 350eaa5bac

Alex Rønne Petersen <alex@alexrp.com>
2025-11-10 06:48:35
std.builtin.assembly: add Clobbers for kvx
1 parent 1e2c216
Changed files (1)
lib
std
builtin
lib/std/builtin/assembly.zig
@@ -857,6 +857,535 @@ pub const Clobbers = switch (@import("builtin").cpu.arch) {
         f14: bool = false,
         f15: bool = false,
     },
+    .kvx => packed struct {
+        /// Whether the inline assembly code may perform stores to memory
+        /// addresses other than those derived from input pointer provenance.
+        memory: bool = false,
+
+        cs: bool = false,
+
+        ra: bool = false,
+
+        ls: bool = false,
+        le: bool = false,
+        lc: 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,
+        r61: bool = false,
+        r62: bool = false,
+        r63: bool = false,
+
+        a0: bool = false,
+        a1: bool = false,
+        a2: bool = false,
+        a3: bool = false,
+        a4: bool = false,
+        a5: bool = false,
+        a6: bool = false,
+        a7: bool = false,
+        a8: bool = false,
+        a9: bool = false,
+        a10: bool = false,
+        a11: bool = false,
+        a12: bool = false,
+        a13: bool = false,
+        a14: bool = false,
+        a15: bool = false,
+        a16: bool = false,
+        a17: bool = false,
+        a18: bool = false,
+        a19: bool = false,
+        a20: bool = false,
+        a21: bool = false,
+        a22: bool = false,
+        a23: bool = false,
+        a24: bool = false,
+        a25: bool = false,
+        a26: bool = false,
+        a27: bool = false,
+        a28: bool = false,
+        a29: bool = false,
+        a30: bool = false,
+        a31: bool = false,
+        a32: bool = false,
+        a33: bool = false,
+        a34: bool = false,
+        a35: bool = false,
+        a36: bool = false,
+        a37: bool = false,
+        a38: bool = false,
+        a39: bool = false,
+        a40: bool = false,
+        a41: bool = false,
+        a42: bool = false,
+        a43: bool = false,
+        a44: bool = false,
+        a45: bool = false,
+        a46: bool = false,
+        a47: bool = false,
+        a48: bool = false,
+        a49: bool = false,
+        a50: bool = false,
+        a51: bool = false,
+        a52: bool = false,
+        a53: bool = false,
+        a54: bool = false,
+        a55: bool = false,
+        a56: bool = false,
+        a57: bool = false,
+        a58: bool = false,
+        a59: bool = false,
+        a60: bool = false,
+        a61: bool = false,
+        a62: bool = false,
+        a63: bool = false,
+
+        a0_lo: bool = false,
+        a0_hi: bool = false,
+        a1_lo: bool = false,
+        a1_hi: bool = false,
+        a2_lo: bool = false,
+        a2_hi: bool = false,
+        a3_lo: bool = false,
+        a3_hi: bool = false,
+        a4_lo: bool = false,
+        a4_hi: bool = false,
+        a5_lo: bool = false,
+        a5_hi: bool = false,
+        a6_lo: bool = false,
+        a6_hi: bool = false,
+        a7_lo: bool = false,
+        a7_hi: bool = false,
+        a8_lo: bool = false,
+        a8_hi: bool = false,
+        a9_lo: bool = false,
+        a9_hi: bool = false,
+        a10_lo: bool = false,
+        a10_hi: bool = false,
+        a11_lo: bool = false,
+        a11_hi: bool = false,
+        a12_lo: bool = false,
+        a12_hi: bool = false,
+        a13_lo: bool = false,
+        a13_hi: bool = false,
+        a14_lo: bool = false,
+        a14_hi: bool = false,
+        a15_lo: bool = false,
+        a15_hi: bool = false,
+        a16_lo: bool = false,
+        a16_hi: bool = false,
+        a17_lo: bool = false,
+        a17_hi: bool = false,
+        a18_lo: bool = false,
+        a18_hi: bool = false,
+        a19_lo: bool = false,
+        a19_hi: bool = false,
+        a20_lo: bool = false,
+        a20_hi: bool = false,
+        a21_lo: bool = false,
+        a21_hi: bool = false,
+        a22_lo: bool = false,
+        a22_hi: bool = false,
+        a23_lo: bool = false,
+        a23_hi: bool = false,
+        a24_lo: bool = false,
+        a24_hi: bool = false,
+        a25_lo: bool = false,
+        a25_hi: bool = false,
+        a26_lo: bool = false,
+        a26_hi: bool = false,
+        a27_lo: bool = false,
+        a27_hi: bool = false,
+        a28_lo: bool = false,
+        a28_hi: bool = false,
+        a29_lo: bool = false,
+        a29_hi: bool = false,
+        a30_lo: bool = false,
+        a30_hi: bool = false,
+        a31_lo: bool = false,
+        a31_hi: bool = false,
+        a32_lo: bool = false,
+        a32_hi: bool = false,
+        a33_lo: bool = false,
+        a33_hi: bool = false,
+        a34_lo: bool = false,
+        a34_hi: bool = false,
+        a35_lo: bool = false,
+        a35_hi: bool = false,
+        a36_lo: bool = false,
+        a36_hi: bool = false,
+        a37_lo: bool = false,
+        a37_hi: bool = false,
+        a38_lo: bool = false,
+        a38_hi: bool = false,
+        a39_lo: bool = false,
+        a39_hi: bool = false,
+        a40_lo: bool = false,
+        a40_hi: bool = false,
+        a41_lo: bool = false,
+        a41_hi: bool = false,
+        a42_lo: bool = false,
+        a42_hi: bool = false,
+        a43_lo: bool = false,
+        a43_hi: bool = false,
+        a44_lo: bool = false,
+        a44_hi: bool = false,
+        a45_lo: bool = false,
+        a45_hi: bool = false,
+        a46_lo: bool = false,
+        a46_hi: bool = false,
+        a47_lo: bool = false,
+        a47_hi: bool = false,
+        a48_lo: bool = false,
+        a48_hi: bool = false,
+        a49_lo: bool = false,
+        a49_hi: bool = false,
+        a50_lo: bool = false,
+        a50_hi: bool = false,
+        a51_lo: bool = false,
+        a51_hi: bool = false,
+        a52_lo: bool = false,
+        a52_hi: bool = false,
+        a53_lo: bool = false,
+        a53_hi: bool = false,
+        a54_lo: bool = false,
+        a54_hi: bool = false,
+        a55_lo: bool = false,
+        a55_hi: bool = false,
+        a56_lo: bool = false,
+        a56_hi: bool = false,
+        a57_lo: bool = false,
+        a57_hi: bool = false,
+        a58_lo: bool = false,
+        a58_hi: bool = false,
+        a59_lo: bool = false,
+        a59_hi: bool = false,
+        a60_lo: bool = false,
+        a60_hi: bool = false,
+        a61_lo: bool = false,
+        a61_hi: bool = false,
+        a62_lo: bool = false,
+        a62_hi: bool = false,
+        a63_lo: bool = false,
+        a63_hi: bool = false,
+
+        a0_x: bool = false,
+        a0_y: bool = false,
+        a0_z: bool = false,
+        a0_t: bool = false,
+        a1_x: bool = false,
+        a1_y: bool = false,
+        a1_z: bool = false,
+        a1_t: bool = false,
+        a2_x: bool = false,
+        a2_y: bool = false,
+        a2_z: bool = false,
+        a2_t: bool = false,
+        a3_x: bool = false,
+        a3_y: bool = false,
+        a3_z: bool = false,
+        a3_t: bool = false,
+        a4_x: bool = false,
+        a4_y: bool = false,
+        a4_z: bool = false,
+        a4_t: bool = false,
+        a5_x: bool = false,
+        a5_y: bool = false,
+        a5_z: bool = false,
+        a5_t: bool = false,
+        a6_x: bool = false,
+        a6_y: bool = false,
+        a6_z: bool = false,
+        a6_t: bool = false,
+        a7_x: bool = false,
+        a7_y: bool = false,
+        a7_z: bool = false,
+        a7_t: bool = false,
+        a8_x: bool = false,
+        a8_y: bool = false,
+        a8_z: bool = false,
+        a8_t: bool = false,
+        a9_x: bool = false,
+        a9_y: bool = false,
+        a9_z: bool = false,
+        a9_t: bool = false,
+        a10_x: bool = false,
+        a10_y: bool = false,
+        a10_z: bool = false,
+        a10_t: bool = false,
+        a11_x: bool = false,
+        a11_y: bool = false,
+        a11_z: bool = false,
+        a11_t: bool = false,
+        a12_x: bool = false,
+        a12_y: bool = false,
+        a12_z: bool = false,
+        a12_t: bool = false,
+        a13_x: bool = false,
+        a13_y: bool = false,
+        a13_z: bool = false,
+        a13_t: bool = false,
+        a14_x: bool = false,
+        a14_y: bool = false,
+        a14_z: bool = false,
+        a14_t: bool = false,
+        a15_x: bool = false,
+        a15_y: bool = false,
+        a15_z: bool = false,
+        a15_t: bool = false,
+        a16_x: bool = false,
+        a16_y: bool = false,
+        a16_z: bool = false,
+        a16_t: bool = false,
+        a17_x: bool = false,
+        a17_y: bool = false,
+        a17_z: bool = false,
+        a17_t: bool = false,
+        a18_x: bool = false,
+        a18_y: bool = false,
+        a18_z: bool = false,
+        a18_t: bool = false,
+        a19_x: bool = false,
+        a19_y: bool = false,
+        a19_z: bool = false,
+        a19_t: bool = false,
+        a20_x: bool = false,
+        a20_y: bool = false,
+        a20_z: bool = false,
+        a20_t: bool = false,
+        a21_x: bool = false,
+        a21_y: bool = false,
+        a21_z: bool = false,
+        a21_t: bool = false,
+        a22_x: bool = false,
+        a22_y: bool = false,
+        a22_z: bool = false,
+        a22_t: bool = false,
+        a23_x: bool = false,
+        a23_y: bool = false,
+        a23_z: bool = false,
+        a23_t: bool = false,
+        a24_x: bool = false,
+        a24_y: bool = false,
+        a24_z: bool = false,
+        a24_t: bool = false,
+        a25_x: bool = false,
+        a25_y: bool = false,
+        a25_z: bool = false,
+        a25_t: bool = false,
+        a26_x: bool = false,
+        a26_y: bool = false,
+        a26_z: bool = false,
+        a26_t: bool = false,
+        a27_x: bool = false,
+        a27_y: bool = false,
+        a27_z: bool = false,
+        a27_t: bool = false,
+        a28_x: bool = false,
+        a28_y: bool = false,
+        a28_z: bool = false,
+        a28_t: bool = false,
+        a29_x: bool = false,
+        a29_y: bool = false,
+        a29_z: bool = false,
+        a29_t: bool = false,
+        a30_x: bool = false,
+        a30_y: bool = false,
+        a30_z: bool = false,
+        a30_t: bool = false,
+        a31_x: bool = false,
+        a31_y: bool = false,
+        a31_z: bool = false,
+        a31_t: bool = false,
+        a32_x: bool = false,
+        a32_y: bool = false,
+        a32_z: bool = false,
+        a32_t: bool = false,
+        a33_x: bool = false,
+        a33_y: bool = false,
+        a33_z: bool = false,
+        a33_t: bool = false,
+        a34_x: bool = false,
+        a34_y: bool = false,
+        a34_z: bool = false,
+        a34_t: bool = false,
+        a35_x: bool = false,
+        a35_y: bool = false,
+        a35_z: bool = false,
+        a35_t: bool = false,
+        a36_x: bool = false,
+        a36_y: bool = false,
+        a36_z: bool = false,
+        a36_t: bool = false,
+        a37_x: bool = false,
+        a37_y: bool = false,
+        a37_z: bool = false,
+        a37_t: bool = false,
+        a38_x: bool = false,
+        a38_y: bool = false,
+        a38_z: bool = false,
+        a38_t: bool = false,
+        a39_x: bool = false,
+        a39_y: bool = false,
+        a39_z: bool = false,
+        a39_t: bool = false,
+        a40_x: bool = false,
+        a40_y: bool = false,
+        a40_z: bool = false,
+        a40_t: bool = false,
+        a41_x: bool = false,
+        a41_y: bool = false,
+        a41_z: bool = false,
+        a41_t: bool = false,
+        a42_x: bool = false,
+        a42_y: bool = false,
+        a42_z: bool = false,
+        a42_t: bool = false,
+        a43_x: bool = false,
+        a43_y: bool = false,
+        a43_z: bool = false,
+        a43_t: bool = false,
+        a44_x: bool = false,
+        a44_y: bool = false,
+        a44_z: bool = false,
+        a44_t: bool = false,
+        a45_x: bool = false,
+        a45_y: bool = false,
+        a45_z: bool = false,
+        a45_t: bool = false,
+        a46_x: bool = false,
+        a46_y: bool = false,
+        a46_z: bool = false,
+        a46_t: bool = false,
+        a47_x: bool = false,
+        a47_y: bool = false,
+        a47_z: bool = false,
+        a47_t: bool = false,
+        a48_x: bool = false,
+        a48_y: bool = false,
+        a48_z: bool = false,
+        a48_t: bool = false,
+        a49_x: bool = false,
+        a49_y: bool = false,
+        a49_z: bool = false,
+        a49_t: bool = false,
+        a50_x: bool = false,
+        a50_y: bool = false,
+        a50_z: bool = false,
+        a50_t: bool = false,
+        a51_x: bool = false,
+        a51_y: bool = false,
+        a51_z: bool = false,
+        a51_t: bool = false,
+        a52_x: bool = false,
+        a52_y: bool = false,
+        a52_z: bool = false,
+        a52_t: bool = false,
+        a53_x: bool = false,
+        a53_y: bool = false,
+        a53_z: bool = false,
+        a53_t: bool = false,
+        a54_x: bool = false,
+        a54_y: bool = false,
+        a54_z: bool = false,
+        a54_t: bool = false,
+        a55_x: bool = false,
+        a55_y: bool = false,
+        a55_z: bool = false,
+        a55_t: bool = false,
+        a56_x: bool = false,
+        a56_y: bool = false,
+        a56_z: bool = false,
+        a56_t: bool = false,
+        a57_x: bool = false,
+        a57_y: bool = false,
+        a57_z: bool = false,
+        a57_t: bool = false,
+        a58_x: bool = false,
+        a58_y: bool = false,
+        a58_z: bool = false,
+        a58_t: bool = false,
+        a59_x: bool = false,
+        a59_y: bool = false,
+        a59_z: bool = false,
+        a59_t: bool = false,
+        a60_x: bool = false,
+        a60_y: bool = false,
+        a60_z: bool = false,
+        a60_t: bool = false,
+        a61_x: bool = false,
+        a61_y: bool = false,
+        a61_z: bool = false,
+        a61_t: bool = false,
+        a62_x: bool = false,
+        a62_y: bool = false,
+        a62_z: bool = false,
+        a62_t: bool = false,
+        a63_x: bool = false,
+        a63_y: bool = false,
+        a63_z: bool = false,
+        a63_t: bool = false,
+    },
     .lanai => packed struct {
         /// Whether the inline assembly code may perform stores to memory
         /// addresses other than those derived from input pointer provenance.