authorgravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2024-03-07 20:10:13+01:00
committergravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2024-03-18 19:13:47+01:00
log028f532dc0ef1d544d6fcb9074cef92a11d6d25b
tree9bb32475c3e997af0a53411df73cccd4ac2295b9
parent3d5721da239502a23cb7b3629111f40b54455ddf
signaturebadge-check Signed by SSH key SHA256:ZS52FNyUv2WUXvO4njmVaFVO46RHojFuOrxRc4LuKzg

spirv: update spec to SPIRV-Headers/8b246ff

We need this "unstable" version to get the Zig identifiers.

1 files changed, 12548 insertions(+), 2718 deletions(-)

src/codegen/spirv/spec.zig+12548-2718
...@@ -22,6 +22,7 @@ pub const IdMemorySemantics = IdRef;...@@ -22,6 +22,7 @@ pub const IdMemorySemantics = IdRef;
22pub const IdScope = IdRef;22pub const IdScope = IdRef;
2323
24pub const LiteralInteger = Word;24pub const LiteralInteger = Word;
25pub const LiteralFloat = Word;
25pub const LiteralString = []const u8;26pub const LiteralString = []const u8;
26pub const LiteralContextDependentNumber = union(enum) {27pub const LiteralContextDependentNumber = union(enum) {
27 int32: i32,28 int32: i32,
...@@ -62,6 +63,12 @@ pub const Enumerant = struct {...@@ -62,6 +63,12 @@ pub const Enumerant = struct {
62 parameters: []const OperandKind,63 parameters: []const OperandKind,
63};64};
6465
66pub const Instruction = struct {
67 name: []const u8,
68 opcode: Word,
69 operands: []const Operand,
70};
71
65pub const version = Version{ .major = 1, .minor = 6, .patch = 1 };72pub const version = Version{ .major = 1, .minor = 6, .patch = 1 };
66pub const magic_number: Word = 0x07230203;73pub const magic_number: Word = 0x07230203;
6774
...@@ -92,6 +99,7 @@ pub const Class = enum {...@@ -92,6 +99,7 @@ pub const Class = enum {
92 NonUniform,99 NonUniform,
93 Reserved,100 Reserved,
94};101};
102
95pub const OperandKind = enum {103pub const OperandKind = enum {
96 ImageOperands,104 ImageOperands,
97 FPFastMathMode,105 FPFastMathMode,
...@@ -103,6 +111,7 @@ pub const OperandKind = enum {...@@ -103,6 +111,7 @@ pub const OperandKind = enum {
103 KernelProfilingInfo,111 KernelProfilingInfo,
104 RayFlags,112 RayFlags,
105 FragmentShadingRate,113 FragmentShadingRate,
114 RawAccessChainOperands,
106 SourceLanguage,115 SourceLanguage,
107 ExecutionModel,116 ExecutionModel,
108 AddressingModel,117 AddressingModel,
...@@ -122,6 +131,7 @@ pub const OperandKind = enum {...@@ -122,6 +131,7 @@ pub const OperandKind = enum {
122 OverflowModes,131 OverflowModes,
123 LinkageType,132 LinkageType,
124 AccessQualifier,133 AccessQualifier,
134 HostAccessQualifier,
125 FunctionParameterAttribute,135 FunctionParameterAttribute,
126 Decoration,136 Decoration,
127 BuiltIn,137 BuiltIn,
...@@ -133,6 +143,13 @@ pub const OperandKind = enum {...@@ -133,6 +143,13 @@ pub const OperandKind = enum {
133 RayQueryCommittedIntersectionType,143 RayQueryCommittedIntersectionType,
134 RayQueryCandidateIntersectionType,144 RayQueryCandidateIntersectionType,
135 PackedVectorFormat,145 PackedVectorFormat,
146 CooperativeMatrixOperands,
147 CooperativeMatrixLayout,
148 CooperativeMatrixUse,
149 InitializationModeQualifier,
150 LoadCacheControl,
151 StoreCacheControl,
152 NamedMaximumNumberOfRegisters,
136 IdResultType,153 IdResultType,
137 IdResult,154 IdResult,
138 IdMemorySemantics,155 IdMemorySemantics,
...@@ -140,12 +157,32 @@ pub const OperandKind = enum {...@@ -140,12 +157,32 @@ pub const OperandKind = enum {
140 IdRef,157 IdRef,
141 LiteralInteger,158 LiteralInteger,
142 LiteralString,159 LiteralString,
160 LiteralFloat,
143 LiteralContextDependentNumber,161 LiteralContextDependentNumber,
144 LiteralExtInstInteger,162 LiteralExtInstInteger,
145 LiteralSpecConstantOpInteger,163 LiteralSpecConstantOpInteger,
146 PairLiteralIntegerIdRef,164 PairLiteralIntegerIdRef,
147 PairIdRefLiteralInteger,165 PairIdRefLiteralInteger,
148 PairIdRefIdRef,166 PairIdRefIdRef,
167 @"opencl.debuginfo.100.DebugInfoFlags",
168 @"opencl.debuginfo.100.DebugBaseTypeAttributeEncoding",
169 @"opencl.debuginfo.100.DebugCompositeType",
170 @"opencl.debuginfo.100.DebugTypeQualifier",
171 @"opencl.debuginfo.100.DebugOperation",
172 @"opencl.debuginfo.100.DebugImportedEntity",
173 @"nonsemantic.shader.debuginfo.100.DebugInfoFlags",
174 @"nonsemantic.shader.debuginfo.100.BuildIdentifierFlags",
175 @"nonsemantic.shader.debuginfo.100.DebugBaseTypeAttributeEncoding",
176 @"nonsemantic.shader.debuginfo.100.DebugCompositeType",
177 @"nonsemantic.shader.debuginfo.100.DebugTypeQualifier",
178 @"nonsemantic.shader.debuginfo.100.DebugOperation",
179 @"nonsemantic.shader.debuginfo.100.DebugImportedEntity",
180 @"nonsemantic.clspvreflection.KernelPropertyFlags",
181 @"debuginfo.DebugInfoFlags",
182 @"debuginfo.DebugBaseTypeAttributeEncoding",
183 @"debuginfo.DebugCompositeType",
184 @"debuginfo.DebugTypeQualifier",
185 @"debuginfo.DebugOperation",
149186
150 pub fn category(self: OperandKind) OperandCategory {187 pub fn category(self: OperandKind) OperandCategory {
151 return switch (self) {188 return switch (self) {
...@@ -159,6 +196,7 @@ pub const OperandKind = enum {...@@ -159,6 +196,7 @@ pub const OperandKind = enum {
159 .KernelProfilingInfo => .bit_enum,196 .KernelProfilingInfo => .bit_enum,
160 .RayFlags => .bit_enum,197 .RayFlags => .bit_enum,
161 .FragmentShadingRate => .bit_enum,198 .FragmentShadingRate => .bit_enum,
199 .RawAccessChainOperands => .bit_enum,
162 .SourceLanguage => .value_enum,200 .SourceLanguage => .value_enum,
163 .ExecutionModel => .value_enum,201 .ExecutionModel => .value_enum,
164 .AddressingModel => .value_enum,202 .AddressingModel => .value_enum,
...@@ -178,6 +216,7 @@ pub const OperandKind = enum {...@@ -178,6 +216,7 @@ pub const OperandKind = enum {
178 .OverflowModes => .value_enum,216 .OverflowModes => .value_enum,
179 .LinkageType => .value_enum,217 .LinkageType => .value_enum,
180 .AccessQualifier => .value_enum,218 .AccessQualifier => .value_enum,
219 .HostAccessQualifier => .value_enum,
181 .FunctionParameterAttribute => .value_enum,220 .FunctionParameterAttribute => .value_enum,
182 .Decoration => .value_enum,221 .Decoration => .value_enum,
183 .BuiltIn => .value_enum,222 .BuiltIn => .value_enum,
...@@ -189,6 +228,13 @@ pub const OperandKind = enum {...@@ -189,6 +228,13 @@ pub const OperandKind = enum {
189 .RayQueryCommittedIntersectionType => .value_enum,228 .RayQueryCommittedIntersectionType => .value_enum,
190 .RayQueryCandidateIntersectionType => .value_enum,229 .RayQueryCandidateIntersectionType => .value_enum,
191 .PackedVectorFormat => .value_enum,230 .PackedVectorFormat => .value_enum,
231 .CooperativeMatrixOperands => .bit_enum,
232 .CooperativeMatrixLayout => .value_enum,
233 .CooperativeMatrixUse => .value_enum,
234 .InitializationModeQualifier => .value_enum,
235 .LoadCacheControl => .value_enum,
236 .StoreCacheControl => .value_enum,
237 .NamedMaximumNumberOfRegisters => .value_enum,
192 .IdResultType => .id,238 .IdResultType => .id,
193 .IdResult => .id,239 .IdResult => .id,
194 .IdMemorySemantics => .id,240 .IdMemorySemantics => .id,
...@@ -196,12 +242,32 @@ pub const OperandKind = enum {...@@ -196,12 +242,32 @@ pub const OperandKind = enum {
196 .IdRef => .id,242 .IdRef => .id,
197 .LiteralInteger => .literal,243 .LiteralInteger => .literal,
198 .LiteralString => .literal,244 .LiteralString => .literal,
245 .LiteralFloat => .literal,
199 .LiteralContextDependentNumber => .literal,246 .LiteralContextDependentNumber => .literal,
200 .LiteralExtInstInteger => .literal,247 .LiteralExtInstInteger => .literal,
201 .LiteralSpecConstantOpInteger => .literal,248 .LiteralSpecConstantOpInteger => .literal,
202 .PairLiteralIntegerIdRef => .composite,249 .PairLiteralIntegerIdRef => .composite,
203 .PairIdRefLiteralInteger => .composite,250 .PairIdRefLiteralInteger => .composite,
204 .PairIdRefIdRef => .composite,251 .PairIdRefIdRef => .composite,
252 .@"opencl.debuginfo.100.DebugInfoFlags" => .bit_enum,
253 .@"opencl.debuginfo.100.DebugBaseTypeAttributeEncoding" => .value_enum,
254 .@"opencl.debuginfo.100.DebugCompositeType" => .value_enum,
255 .@"opencl.debuginfo.100.DebugTypeQualifier" => .value_enum,
256 .@"opencl.debuginfo.100.DebugOperation" => .value_enum,
257 .@"opencl.debuginfo.100.DebugImportedEntity" => .value_enum,
258 .@"nonsemantic.shader.debuginfo.100.DebugInfoFlags" => .bit_enum,
259 .@"nonsemantic.shader.debuginfo.100.BuildIdentifierFlags" => .bit_enum,
260 .@"nonsemantic.shader.debuginfo.100.DebugBaseTypeAttributeEncoding" => .value_enum,
261 .@"nonsemantic.shader.debuginfo.100.DebugCompositeType" => .value_enum,
262 .@"nonsemantic.shader.debuginfo.100.DebugTypeQualifier" => .value_enum,
263 .@"nonsemantic.shader.debuginfo.100.DebugOperation" => .value_enum,
264 .@"nonsemantic.shader.debuginfo.100.DebugImportedEntity" => .value_enum,
265 .@"nonsemantic.clspvreflection.KernelPropertyFlags" => .bit_enum,
266 .@"debuginfo.DebugInfoFlags" => .bit_enum,
267 .@"debuginfo.DebugBaseTypeAttributeEncoding" => .value_enum,
268 .@"debuginfo.DebugCompositeType" => .value_enum,
269 .@"debuginfo.DebugTypeQualifier" => .value_enum,
270 .@"debuginfo.DebugOperation" => .value_enum,
205 };271 };
206 }272 }
207 pub fn enumerants(self: OperandKind) []const Enumerant {273 pub fn enumerants(self: OperandKind) []const Enumerant {
...@@ -234,8 +300,11 @@ pub const OperandKind = enum {...@@ -234,8 +300,11 @@ pub const OperandKind = enum {
234 .{ .name = "NSZ", .value = 0x0004, .parameters = &[_]OperandKind{} },300 .{ .name = "NSZ", .value = 0x0004, .parameters = &[_]OperandKind{} },
235 .{ .name = "AllowRecip", .value = 0x0008, .parameters = &[_]OperandKind{} },301 .{ .name = "AllowRecip", .value = 0x0008, .parameters = &[_]OperandKind{} },
236 .{ .name = "Fast", .value = 0x0010, .parameters = &[_]OperandKind{} },302 .{ .name = "Fast", .value = 0x0010, .parameters = &[_]OperandKind{} },
303 .{ .name = "AllowContract", .value = 0x10000, .parameters = &[_]OperandKind{} },
237 .{ .name = "AllowContractFastINTEL", .value = 0x10000, .parameters = &[_]OperandKind{} },304 .{ .name = "AllowContractFastINTEL", .value = 0x10000, .parameters = &[_]OperandKind{} },
305 .{ .name = "AllowReassoc", .value = 0x20000, .parameters = &[_]OperandKind{} },
238 .{ .name = "AllowReassocINTEL", .value = 0x20000, .parameters = &[_]OperandKind{} },306 .{ .name = "AllowReassocINTEL", .value = 0x20000, .parameters = &[_]OperandKind{} },
307 .{ .name = "AllowTransform", .value = 0x40000, .parameters = &[_]OperandKind{} },
239 },308 },
240 .SelectionControl => &[_]Enumerant{309 .SelectionControl => &[_]Enumerant{
241 .{ .name = "Flatten", .value = 0x0001, .parameters = &[_]OperandKind{} },310 .{ .name = "Flatten", .value = 0x0001, .parameters = &[_]OperandKind{} },
...@@ -258,7 +327,9 @@ pub const OperandKind = enum {...@@ -258,7 +327,9 @@ pub const OperandKind = enum {
258 .{ .name = "LoopCoalesceINTEL", .value = 0x100000, .parameters = &[_]OperandKind{.LiteralInteger} },327 .{ .name = "LoopCoalesceINTEL", .value = 0x100000, .parameters = &[_]OperandKind{.LiteralInteger} },
259 .{ .name = "MaxInterleavingINTEL", .value = 0x200000, .parameters = &[_]OperandKind{.LiteralInteger} },328 .{ .name = "MaxInterleavingINTEL", .value = 0x200000, .parameters = &[_]OperandKind{.LiteralInteger} },
260 .{ .name = "SpeculatedIterationsINTEL", .value = 0x400000, .parameters = &[_]OperandKind{.LiteralInteger} },329 .{ .name = "SpeculatedIterationsINTEL", .value = 0x400000, .parameters = &[_]OperandKind{.LiteralInteger} },
261 .{ .name = "NoFusionINTEL", .value = 0x800000, .parameters = &[_]OperandKind{.LiteralInteger} },330 .{ .name = "NoFusionINTEL", .value = 0x800000, .parameters = &[_]OperandKind{} },
331 .{ .name = "LoopCountINTEL", .value = 0x1000000, .parameters = &[_]OperandKind{.LiteralInteger} },
332 .{ .name = "MaxReinvocationDelayINTEL", .value = 0x2000000, .parameters = &[_]OperandKind{.LiteralInteger} },
262 },333 },
263 .FunctionControl => &[_]Enumerant{334 .FunctionControl => &[_]Enumerant{
264 .{ .name = "Inline", .value = 0x0001, .parameters = &[_]OperandKind{} },335 .{ .name = "Inline", .value = 0x0001, .parameters = &[_]OperandKind{} },
...@@ -297,6 +368,8 @@ pub const OperandKind = enum {...@@ -297,6 +368,8 @@ pub const OperandKind = enum {
297 .{ .name = "MakePointerVisibleKHR", .value = 0x0010, .parameters = &[_]OperandKind{.IdScope} },368 .{ .name = "MakePointerVisibleKHR", .value = 0x0010, .parameters = &[_]OperandKind{.IdScope} },
298 .{ .name = "NonPrivatePointer", .value = 0x0020, .parameters = &[_]OperandKind{} },369 .{ .name = "NonPrivatePointer", .value = 0x0020, .parameters = &[_]OperandKind{} },
299 .{ .name = "NonPrivatePointerKHR", .value = 0x0020, .parameters = &[_]OperandKind{} },370 .{ .name = "NonPrivatePointerKHR", .value = 0x0020, .parameters = &[_]OperandKind{} },
371 .{ .name = "AliasScopeINTELMask", .value = 0x10000, .parameters = &[_]OperandKind{.IdRef} },
372 .{ .name = "NoAliasINTELMask", .value = 0x20000, .parameters = &[_]OperandKind{.IdRef} },
300 },373 },
301 .KernelProfilingInfo => &[_]Enumerant{374 .KernelProfilingInfo => &[_]Enumerant{
302 .{ .name = "CmdExecTime", .value = 0x0001, .parameters = &[_]OperandKind{} },375 .{ .name = "CmdExecTime", .value = 0x0001, .parameters = &[_]OperandKind{} },
...@@ -313,6 +386,7 @@ pub const OperandKind = enum {...@@ -313,6 +386,7 @@ pub const OperandKind = enum {
313 .{ .name = "CullNoOpaqueKHR", .value = 0x0080, .parameters = &[_]OperandKind{} },386 .{ .name = "CullNoOpaqueKHR", .value = 0x0080, .parameters = &[_]OperandKind{} },
314 .{ .name = "SkipTrianglesKHR", .value = 0x0100, .parameters = &[_]OperandKind{} },387 .{ .name = "SkipTrianglesKHR", .value = 0x0100, .parameters = &[_]OperandKind{} },
315 .{ .name = "SkipAABBsKHR", .value = 0x0200, .parameters = &[_]OperandKind{} },388 .{ .name = "SkipAABBsKHR", .value = 0x0200, .parameters = &[_]OperandKind{} },
389 .{ .name = "ForceOpacityMicromap2StateEXT", .value = 0x0400, .parameters = &[_]OperandKind{} },
316 },390 },
317 .FragmentShadingRate => &[_]Enumerant{391 .FragmentShadingRate => &[_]Enumerant{
318 .{ .name = "Vertical2Pixels", .value = 0x0001, .parameters = &[_]OperandKind{} },392 .{ .name = "Vertical2Pixels", .value = 0x0001, .parameters = &[_]OperandKind{} },
...@@ -320,6 +394,10 @@ pub const OperandKind = enum {...@@ -320,6 +394,10 @@ pub const OperandKind = enum {
320 .{ .name = "Horizontal2Pixels", .value = 0x0004, .parameters = &[_]OperandKind{} },394 .{ .name = "Horizontal2Pixels", .value = 0x0004, .parameters = &[_]OperandKind{} },
321 .{ .name = "Horizontal4Pixels", .value = 0x0008, .parameters = &[_]OperandKind{} },395 .{ .name = "Horizontal4Pixels", .value = 0x0008, .parameters = &[_]OperandKind{} },
322 },396 },
397 .RawAccessChainOperands => &[_]Enumerant{
398 .{ .name = "RobustnessPerComponentNV", .value = 0x0001, .parameters = &[_]OperandKind{} },
399 .{ .name = "RobustnessPerElementNV", .value = 0x0002, .parameters = &[_]OperandKind{} },
400 },
323 .SourceLanguage => &[_]Enumerant{401 .SourceLanguage => &[_]Enumerant{
324 .{ .name = "Unknown", .value = 0, .parameters = &[_]OperandKind{} },402 .{ .name = "Unknown", .value = 0, .parameters = &[_]OperandKind{} },
325 .{ .name = "ESSL", .value = 1, .parameters = &[_]OperandKind{} },403 .{ .name = "ESSL", .value = 1, .parameters = &[_]OperandKind{} },
...@@ -328,6 +406,12 @@ pub const OperandKind = enum {...@@ -328,6 +406,12 @@ pub const OperandKind = enum {
328 .{ .name = "OpenCL_CPP", .value = 4, .parameters = &[_]OperandKind{} },406 .{ .name = "OpenCL_CPP", .value = 4, .parameters = &[_]OperandKind{} },
329 .{ .name = "HLSL", .value = 5, .parameters = &[_]OperandKind{} },407 .{ .name = "HLSL", .value = 5, .parameters = &[_]OperandKind{} },
330 .{ .name = "CPP_for_OpenCL", .value = 6, .parameters = &[_]OperandKind{} },408 .{ .name = "CPP_for_OpenCL", .value = 6, .parameters = &[_]OperandKind{} },
409 .{ .name = "SYCL", .value = 7, .parameters = &[_]OperandKind{} },
410 .{ .name = "HERO_C", .value = 8, .parameters = &[_]OperandKind{} },
411 .{ .name = "NZSL", .value = 9, .parameters = &[_]OperandKind{} },
412 .{ .name = "WGSL", .value = 10, .parameters = &[_]OperandKind{} },
413 .{ .name = "Slang", .value = 11, .parameters = &[_]OperandKind{} },
414 .{ .name = "Zig", .value = 12, .parameters = &[_]OperandKind{} },
331 },415 },
332 .ExecutionModel => &[_]Enumerant{416 .ExecutionModel => &[_]Enumerant{
333 .{ .name = "Vertex", .value = 0, .parameters = &[_]OperandKind{} },417 .{ .name = "Vertex", .value = 0, .parameters = &[_]OperandKind{} },
...@@ -351,6 +435,8 @@ pub const OperandKind = enum {...@@ -351,6 +435,8 @@ pub const OperandKind = enum {
351 .{ .name = "MissKHR", .value = 5317, .parameters = &[_]OperandKind{} },435 .{ .name = "MissKHR", .value = 5317, .parameters = &[_]OperandKind{} },
352 .{ .name = "CallableNV", .value = 5318, .parameters = &[_]OperandKind{} },436 .{ .name = "CallableNV", .value = 5318, .parameters = &[_]OperandKind{} },
353 .{ .name = "CallableKHR", .value = 5318, .parameters = &[_]OperandKind{} },437 .{ .name = "CallableKHR", .value = 5318, .parameters = &[_]OperandKind{} },
438 .{ .name = "TaskEXT", .value = 5364, .parameters = &[_]OperandKind{} },
439 .{ .name = "MeshEXT", .value = 5365, .parameters = &[_]OperandKind{} },
354 },440 },
355 .AddressingModel => &[_]Enumerant{441 .AddressingModel => &[_]Enumerant{
356 .{ .name = "Logical", .value = 0, .parameters = &[_]OperandKind{} },442 .{ .name = "Logical", .value = 0, .parameters = &[_]OperandKind{} },
...@@ -405,6 +491,9 @@ pub const OperandKind = enum {...@@ -405,6 +491,9 @@ pub const OperandKind = enum {
405 .{ .name = "SubgroupsPerWorkgroupId", .value = 37, .parameters = &[_]OperandKind{.IdRef} },491 .{ .name = "SubgroupsPerWorkgroupId", .value = 37, .parameters = &[_]OperandKind{.IdRef} },
406 .{ .name = "LocalSizeId", .value = 38, .parameters = &[_]OperandKind{ .IdRef, .IdRef, .IdRef } },492 .{ .name = "LocalSizeId", .value = 38, .parameters = &[_]OperandKind{ .IdRef, .IdRef, .IdRef } },
407 .{ .name = "LocalSizeHintId", .value = 39, .parameters = &[_]OperandKind{ .IdRef, .IdRef, .IdRef } },493 .{ .name = "LocalSizeHintId", .value = 39, .parameters = &[_]OperandKind{ .IdRef, .IdRef, .IdRef } },
494 .{ .name = "NonCoherentColorAttachmentReadEXT", .value = 4169, .parameters = &[_]OperandKind{} },
495 .{ .name = "NonCoherentDepthAttachmentReadEXT", .value = 4170, .parameters = &[_]OperandKind{} },
496 .{ .name = "NonCoherentStencilAttachmentReadEXT", .value = 4171, .parameters = &[_]OperandKind{} },
408 .{ .name = "SubgroupUniformControlFlowKHR", .value = 4421, .parameters = &[_]OperandKind{} },497 .{ .name = "SubgroupUniformControlFlowKHR", .value = 4421, .parameters = &[_]OperandKind{} },
409 .{ .name = "PostDepthCoverage", .value = 4446, .parameters = &[_]OperandKind{} },498 .{ .name = "PostDepthCoverage", .value = 4446, .parameters = &[_]OperandKind{} },
410 .{ .name = "DenormPreserve", .value = 4459, .parameters = &[_]OperandKind{.LiteralInteger} },499 .{ .name = "DenormPreserve", .value = 4459, .parameters = &[_]OperandKind{.LiteralInteger} },
...@@ -412,12 +501,29 @@ pub const OperandKind = enum {...@@ -412,12 +501,29 @@ pub const OperandKind = enum {
412 .{ .name = "SignedZeroInfNanPreserve", .value = 4461, .parameters = &[_]OperandKind{.LiteralInteger} },501 .{ .name = "SignedZeroInfNanPreserve", .value = 4461, .parameters = &[_]OperandKind{.LiteralInteger} },
413 .{ .name = "RoundingModeRTE", .value = 4462, .parameters = &[_]OperandKind{.LiteralInteger} },502 .{ .name = "RoundingModeRTE", .value = 4462, .parameters = &[_]OperandKind{.LiteralInteger} },
414 .{ .name = "RoundingModeRTZ", .value = 4463, .parameters = &[_]OperandKind{.LiteralInteger} },503 .{ .name = "RoundingModeRTZ", .value = 4463, .parameters = &[_]OperandKind{.LiteralInteger} },
504 .{ .name = "EarlyAndLateFragmentTestsAMD", .value = 5017, .parameters = &[_]OperandKind{} },
415 .{ .name = "StencilRefReplacingEXT", .value = 5027, .parameters = &[_]OperandKind{} },505 .{ .name = "StencilRefReplacingEXT", .value = 5027, .parameters = &[_]OperandKind{} },
506 .{ .name = "CoalescingAMDX", .value = 5069, .parameters = &[_]OperandKind{} },
507 .{ .name = "MaxNodeRecursionAMDX", .value = 5071, .parameters = &[_]OperandKind{.IdRef} },
508 .{ .name = "StaticNumWorkgroupsAMDX", .value = 5072, .parameters = &[_]OperandKind{ .IdRef, .IdRef, .IdRef } },
509 .{ .name = "ShaderIndexAMDX", .value = 5073, .parameters = &[_]OperandKind{.IdRef} },
510 .{ .name = "MaxNumWorkgroupsAMDX", .value = 5077, .parameters = &[_]OperandKind{ .IdRef, .IdRef, .IdRef } },
511 .{ .name = "StencilRefUnchangedFrontAMD", .value = 5079, .parameters = &[_]OperandKind{} },
512 .{ .name = "StencilRefGreaterFrontAMD", .value = 5080, .parameters = &[_]OperandKind{} },
513 .{ .name = "StencilRefLessFrontAMD", .value = 5081, .parameters = &[_]OperandKind{} },
514 .{ .name = "StencilRefUnchangedBackAMD", .value = 5082, .parameters = &[_]OperandKind{} },
515 .{ .name = "StencilRefGreaterBackAMD", .value = 5083, .parameters = &[_]OperandKind{} },
516 .{ .name = "StencilRefLessBackAMD", .value = 5084, .parameters = &[_]OperandKind{} },
517 .{ .name = "QuadDerivativesKHR", .value = 5088, .parameters = &[_]OperandKind{} },
518 .{ .name = "RequireFullQuadsKHR", .value = 5089, .parameters = &[_]OperandKind{} },
416 .{ .name = "OutputLinesNV", .value = 5269, .parameters = &[_]OperandKind{} },519 .{ .name = "OutputLinesNV", .value = 5269, .parameters = &[_]OperandKind{} },
520 .{ .name = "OutputLinesEXT", .value = 5269, .parameters = &[_]OperandKind{} },
417 .{ .name = "OutputPrimitivesNV", .value = 5270, .parameters = &[_]OperandKind{.LiteralInteger} },521 .{ .name = "OutputPrimitivesNV", .value = 5270, .parameters = &[_]OperandKind{.LiteralInteger} },
522 .{ .name = "OutputPrimitivesEXT", .value = 5270, .parameters = &[_]OperandKind{.LiteralInteger} },
418 .{ .name = "DerivativeGroupQuadsNV", .value = 5289, .parameters = &[_]OperandKind{} },523 .{ .name = "DerivativeGroupQuadsNV", .value = 5289, .parameters = &[_]OperandKind{} },
419 .{ .name = "DerivativeGroupLinearNV", .value = 5290, .parameters = &[_]OperandKind{} },524 .{ .name = "DerivativeGroupLinearNV", .value = 5290, .parameters = &[_]OperandKind{} },
420 .{ .name = "OutputTrianglesNV", .value = 5298, .parameters = &[_]OperandKind{} },525 .{ .name = "OutputTrianglesNV", .value = 5298, .parameters = &[_]OperandKind{} },
526 .{ .name = "OutputTrianglesEXT", .value = 5298, .parameters = &[_]OperandKind{} },
421 .{ .name = "PixelInterlockOrderedEXT", .value = 5366, .parameters = &[_]OperandKind{} },527 .{ .name = "PixelInterlockOrderedEXT", .value = 5366, .parameters = &[_]OperandKind{} },
422 .{ .name = "PixelInterlockUnorderedEXT", .value = 5367, .parameters = &[_]OperandKind{} },528 .{ .name = "PixelInterlockUnorderedEXT", .value = 5367, .parameters = &[_]OperandKind{} },
423 .{ .name = "SampleInterlockOrderedEXT", .value = 5368, .parameters = &[_]OperandKind{} },529 .{ .name = "SampleInterlockOrderedEXT", .value = 5368, .parameters = &[_]OperandKind{} },
...@@ -434,6 +540,14 @@ pub const OperandKind = enum {...@@ -434,6 +540,14 @@ pub const OperandKind = enum {
434 .{ .name = "NoGlobalOffsetINTEL", .value = 5895, .parameters = &[_]OperandKind{} },540 .{ .name = "NoGlobalOffsetINTEL", .value = 5895, .parameters = &[_]OperandKind{} },
435 .{ .name = "NumSIMDWorkitemsINTEL", .value = 5896, .parameters = &[_]OperandKind{.LiteralInteger} },541 .{ .name = "NumSIMDWorkitemsINTEL", .value = 5896, .parameters = &[_]OperandKind{.LiteralInteger} },
436 .{ .name = "SchedulerTargetFmaxMhzINTEL", .value = 5903, .parameters = &[_]OperandKind{.LiteralInteger} },542 .{ .name = "SchedulerTargetFmaxMhzINTEL", .value = 5903, .parameters = &[_]OperandKind{.LiteralInteger} },
543 .{ .name = "MaximallyReconvergesKHR", .value = 6023, .parameters = &[_]OperandKind{} },
544 .{ .name = "FPFastMathDefault", .value = 6028, .parameters = &[_]OperandKind{ .IdRef, .IdRef } },
545 .{ .name = "StreamingInterfaceINTEL", .value = 6154, .parameters = &[_]OperandKind{.LiteralInteger} },
546 .{ .name = "RegisterMapInterfaceINTEL", .value = 6160, .parameters = &[_]OperandKind{.LiteralInteger} },
547 .{ .name = "NamedBarrierCountINTEL", .value = 6417, .parameters = &[_]OperandKind{.LiteralInteger} },
548 .{ .name = "MaximumRegistersINTEL", .value = 6461, .parameters = &[_]OperandKind{.LiteralInteger} },
549 .{ .name = "MaximumRegistersIdINTEL", .value = 6462, .parameters = &[_]OperandKind{.IdRef} },
550 .{ .name = "NamedMaximumRegistersINTEL", .value = 6463, .parameters = &[_]OperandKind{.NamedMaximumNumberOfRegisters} },
437 },551 },
438 .StorageClass => &[_]Enumerant{552 .StorageClass => &[_]Enumerant{
439 .{ .name = "UniformConstant", .value = 0, .parameters = &[_]OperandKind{} },553 .{ .name = "UniformConstant", .value = 0, .parameters = &[_]OperandKind{} },
...@@ -449,6 +563,9 @@ pub const OperandKind = enum {...@@ -449,6 +563,9 @@ pub const OperandKind = enum {
449 .{ .name = "AtomicCounter", .value = 10, .parameters = &[_]OperandKind{} },563 .{ .name = "AtomicCounter", .value = 10, .parameters = &[_]OperandKind{} },
450 .{ .name = "Image", .value = 11, .parameters = &[_]OperandKind{} },564 .{ .name = "Image", .value = 11, .parameters = &[_]OperandKind{} },
451 .{ .name = "StorageBuffer", .value = 12, .parameters = &[_]OperandKind{} },565 .{ .name = "StorageBuffer", .value = 12, .parameters = &[_]OperandKind{} },
566 .{ .name = "TileImageEXT", .value = 4172, .parameters = &[_]OperandKind{} },
567 .{ .name = "NodePayloadAMDX", .value = 5068, .parameters = &[_]OperandKind{} },
568 .{ .name = "NodeOutputPayloadAMDX", .value = 5076, .parameters = &[_]OperandKind{} },
452 .{ .name = "CallableDataNV", .value = 5328, .parameters = &[_]OperandKind{} },569 .{ .name = "CallableDataNV", .value = 5328, .parameters = &[_]OperandKind{} },
453 .{ .name = "CallableDataKHR", .value = 5328, .parameters = &[_]OperandKind{} },570 .{ .name = "CallableDataKHR", .value = 5328, .parameters = &[_]OperandKind{} },
454 .{ .name = "IncomingCallableDataNV", .value = 5329, .parameters = &[_]OperandKind{} },571 .{ .name = "IncomingCallableDataNV", .value = 5329, .parameters = &[_]OperandKind{} },
...@@ -463,6 +580,8 @@ pub const OperandKind = enum {...@@ -463,6 +580,8 @@ pub const OperandKind = enum {
463 .{ .name = "ShaderRecordBufferKHR", .value = 5343, .parameters = &[_]OperandKind{} },580 .{ .name = "ShaderRecordBufferKHR", .value = 5343, .parameters = &[_]OperandKind{} },
464 .{ .name = "PhysicalStorageBuffer", .value = 5349, .parameters = &[_]OperandKind{} },581 .{ .name = "PhysicalStorageBuffer", .value = 5349, .parameters = &[_]OperandKind{} },
465 .{ .name = "PhysicalStorageBufferEXT", .value = 5349, .parameters = &[_]OperandKind{} },582 .{ .name = "PhysicalStorageBufferEXT", .value = 5349, .parameters = &[_]OperandKind{} },
583 .{ .name = "HitObjectAttributeNV", .value = 5385, .parameters = &[_]OperandKind{} },
584 .{ .name = "TaskPayloadWorkgroupEXT", .value = 5402, .parameters = &[_]OperandKind{} },
466 .{ .name = "CodeSectionINTEL", .value = 5605, .parameters = &[_]OperandKind{} },585 .{ .name = "CodeSectionINTEL", .value = 5605, .parameters = &[_]OperandKind{} },
467 .{ .name = "DeviceOnlyINTEL", .value = 5936, .parameters = &[_]OperandKind{} },586 .{ .name = "DeviceOnlyINTEL", .value = 5936, .parameters = &[_]OperandKind{} },
468 .{ .name = "HostOnlyINTEL", .value = 5937, .parameters = &[_]OperandKind{} },587 .{ .name = "HostOnlyINTEL", .value = 5937, .parameters = &[_]OperandKind{} },
...@@ -475,6 +594,7 @@ pub const OperandKind = enum {...@@ -475,6 +594,7 @@ pub const OperandKind = enum {
475 .{ .name = "Rect", .value = 4, .parameters = &[_]OperandKind{} },594 .{ .name = "Rect", .value = 4, .parameters = &[_]OperandKind{} },
476 .{ .name = "Buffer", .value = 5, .parameters = &[_]OperandKind{} },595 .{ .name = "Buffer", .value = 5, .parameters = &[_]OperandKind{} },
477 .{ .name = "SubpassData", .value = 6, .parameters = &[_]OperandKind{} },596 .{ .name = "SubpassData", .value = 6, .parameters = &[_]OperandKind{} },
597 .{ .name = "TileImageDataEXT", .value = 4173, .parameters = &[_]OperandKind{} },
478 },598 },
479 .SamplerAddressingMode => &[_]Enumerant{599 .SamplerAddressingMode => &[_]Enumerant{
480 .{ .name = "None", .value = 0, .parameters = &[_]OperandKind{} },600 .{ .name = "None", .value = 0, .parameters = &[_]OperandKind{} },
...@@ -571,6 +691,8 @@ pub const OperandKind = enum {...@@ -571,6 +691,8 @@ pub const OperandKind = enum {
571 .{ .name = "Float", .value = 14, .parameters = &[_]OperandKind{} },691 .{ .name = "Float", .value = 14, .parameters = &[_]OperandKind{} },
572 .{ .name = "UnormInt24", .value = 15, .parameters = &[_]OperandKind{} },692 .{ .name = "UnormInt24", .value = 15, .parameters = &[_]OperandKind{} },
573 .{ .name = "UnormInt101010_2", .value = 16, .parameters = &[_]OperandKind{} },693 .{ .name = "UnormInt101010_2", .value = 16, .parameters = &[_]OperandKind{} },
694 .{ .name = "UnsignedIntRaw10EXT", .value = 19, .parameters = &[_]OperandKind{} },
695 .{ .name = "UnsignedIntRaw12EXT", .value = 20, .parameters = &[_]OperandKind{} },
574 },696 },
575 .FPRoundingMode => &[_]Enumerant{697 .FPRoundingMode => &[_]Enumerant{
576 .{ .name = "RTE", .value = 0, .parameters = &[_]OperandKind{} },698 .{ .name = "RTE", .value = 0, .parameters = &[_]OperandKind{} },
...@@ -612,6 +734,12 @@ pub const OperandKind = enum {...@@ -612,6 +734,12 @@ pub const OperandKind = enum {
612 .{ .name = "WriteOnly", .value = 1, .parameters = &[_]OperandKind{} },734 .{ .name = "WriteOnly", .value = 1, .parameters = &[_]OperandKind{} },
613 .{ .name = "ReadWrite", .value = 2, .parameters = &[_]OperandKind{} },735 .{ .name = "ReadWrite", .value = 2, .parameters = &[_]OperandKind{} },
614 },736 },
737 .HostAccessQualifier => &[_]Enumerant{
738 .{ .name = "NoneINTEL", .value = 0, .parameters = &[_]OperandKind{} },
739 .{ .name = "ReadINTEL", .value = 1, .parameters = &[_]OperandKind{} },
740 .{ .name = "WriteINTEL", .value = 2, .parameters = &[_]OperandKind{} },
741 .{ .name = "ReadWriteINTEL", .value = 3, .parameters = &[_]OperandKind{} },
742 },
615 .FunctionParameterAttribute => &[_]Enumerant{743 .FunctionParameterAttribute => &[_]Enumerant{
616 .{ .name = "Zext", .value = 0, .parameters = &[_]OperandKind{} },744 .{ .name = "Zext", .value = 0, .parameters = &[_]OperandKind{} },
617 .{ .name = "Sext", .value = 1, .parameters = &[_]OperandKind{} },745 .{ .name = "Sext", .value = 1, .parameters = &[_]OperandKind{} },
...@@ -621,6 +749,7 @@ pub const OperandKind = enum {...@@ -621,6 +749,7 @@ pub const OperandKind = enum {
621 .{ .name = "NoCapture", .value = 5, .parameters = &[_]OperandKind{} },749 .{ .name = "NoCapture", .value = 5, .parameters = &[_]OperandKind{} },
622 .{ .name = "NoWrite", .value = 6, .parameters = &[_]OperandKind{} },750 .{ .name = "NoWrite", .value = 6, .parameters = &[_]OperandKind{} },
623 .{ .name = "NoReadWrite", .value = 7, .parameters = &[_]OperandKind{} },751 .{ .name = "NoReadWrite", .value = 7, .parameters = &[_]OperandKind{} },
752 .{ .name = "RuntimeAlignedINTEL", .value = 5940, .parameters = &[_]OperandKind{} },
624 },753 },
625 .Decoration => &[_]Enumerant{754 .Decoration => &[_]Enumerant{
626 .{ .name = "RelaxedPrecision", .value = 0, .parameters = &[_]OperandKind{} },755 .{ .name = "RelaxedPrecision", .value = 0, .parameters = &[_]OperandKind{} },
...@@ -672,12 +801,20 @@ pub const OperandKind = enum {...@@ -672,12 +801,20 @@ pub const OperandKind = enum {
672 .{ .name = "MaxByteOffsetId", .value = 47, .parameters = &[_]OperandKind{.IdRef} },801 .{ .name = "MaxByteOffsetId", .value = 47, .parameters = &[_]OperandKind{.IdRef} },
673 .{ .name = "NoSignedWrap", .value = 4469, .parameters = &[_]OperandKind{} },802 .{ .name = "NoSignedWrap", .value = 4469, .parameters = &[_]OperandKind{} },
674 .{ .name = "NoUnsignedWrap", .value = 4470, .parameters = &[_]OperandKind{} },803 .{ .name = "NoUnsignedWrap", .value = 4470, .parameters = &[_]OperandKind{} },
804 .{ .name = "WeightTextureQCOM", .value = 4487, .parameters = &[_]OperandKind{} },
805 .{ .name = "BlockMatchTextureQCOM", .value = 4488, .parameters = &[_]OperandKind{} },
806 .{ .name = "BlockMatchSamplerQCOM", .value = 4499, .parameters = &[_]OperandKind{} },
675 .{ .name = "ExplicitInterpAMD", .value = 4999, .parameters = &[_]OperandKind{} },807 .{ .name = "ExplicitInterpAMD", .value = 4999, .parameters = &[_]OperandKind{} },
808 .{ .name = "NodeSharesPayloadLimitsWithAMDX", .value = 5019, .parameters = &[_]OperandKind{.IdRef} },
809 .{ .name = "NodeMaxPayloadsAMDX", .value = 5020, .parameters = &[_]OperandKind{.IdRef} },
810 .{ .name = "TrackFinishWritingAMDX", .value = 5078, .parameters = &[_]OperandKind{} },
811 .{ .name = "PayloadNodeNameAMDX", .value = 5091, .parameters = &[_]OperandKind{.LiteralString} },
676 .{ .name = "OverrideCoverageNV", .value = 5248, .parameters = &[_]OperandKind{} },812 .{ .name = "OverrideCoverageNV", .value = 5248, .parameters = &[_]OperandKind{} },
677 .{ .name = "PassthroughNV", .value = 5250, .parameters = &[_]OperandKind{} },813 .{ .name = "PassthroughNV", .value = 5250, .parameters = &[_]OperandKind{} },
678 .{ .name = "ViewportRelativeNV", .value = 5252, .parameters = &[_]OperandKind{} },814 .{ .name = "ViewportRelativeNV", .value = 5252, .parameters = &[_]OperandKind{} },
679 .{ .name = "SecondaryViewportRelativeNV", .value = 5256, .parameters = &[_]OperandKind{.LiteralInteger} },815 .{ .name = "SecondaryViewportRelativeNV", .value = 5256, .parameters = &[_]OperandKind{.LiteralInteger} },
680 .{ .name = "PerPrimitiveNV", .value = 5271, .parameters = &[_]OperandKind{} },816 .{ .name = "PerPrimitiveNV", .value = 5271, .parameters = &[_]OperandKind{} },
817 .{ .name = "PerPrimitiveEXT", .value = 5271, .parameters = &[_]OperandKind{} },
681 .{ .name = "PerViewNV", .value = 5272, .parameters = &[_]OperandKind{} },818 .{ .name = "PerViewNV", .value = 5272, .parameters = &[_]OperandKind{} },
682 .{ .name = "PerTaskNV", .value = 5273, .parameters = &[_]OperandKind{} },819 .{ .name = "PerTaskNV", .value = 5273, .parameters = &[_]OperandKind{} },
683 .{ .name = "PerVertexKHR", .value = 5285, .parameters = &[_]OperandKind{} },820 .{ .name = "PerVertexKHR", .value = 5285, .parameters = &[_]OperandKind{} },
...@@ -688,6 +825,7 @@ pub const OperandKind = enum {...@@ -688,6 +825,7 @@ pub const OperandKind = enum {
688 .{ .name = "RestrictPointerEXT", .value = 5355, .parameters = &[_]OperandKind{} },825 .{ .name = "RestrictPointerEXT", .value = 5355, .parameters = &[_]OperandKind{} },
689 .{ .name = "AliasedPointer", .value = 5356, .parameters = &[_]OperandKind{} },826 .{ .name = "AliasedPointer", .value = 5356, .parameters = &[_]OperandKind{} },
690 .{ .name = "AliasedPointerEXT", .value = 5356, .parameters = &[_]OperandKind{} },827 .{ .name = "AliasedPointerEXT", .value = 5356, .parameters = &[_]OperandKind{} },
828 .{ .name = "HitObjectShaderRecordBufferNV", .value = 5386, .parameters = &[_]OperandKind{} },
691 .{ .name = "BindlessSamplerNV", .value = 5398, .parameters = &[_]OperandKind{} },829 .{ .name = "BindlessSamplerNV", .value = 5398, .parameters = &[_]OperandKind{} },
692 .{ .name = "BindlessImageNV", .value = 5399, .parameters = &[_]OperandKind{} },830 .{ .name = "BindlessImageNV", .value = 5399, .parameters = &[_]OperandKind{} },
693 .{ .name = "BoundSamplerNV", .value = 5400, .parameters = &[_]OperandKind{} },831 .{ .name = "BoundSamplerNV", .value = 5400, .parameters = &[_]OperandKind{} },
...@@ -720,18 +858,45 @@ pub const OperandKind = enum {...@@ -720,18 +858,45 @@ pub const OperandKind = enum {
720 .{ .name = "MergeINTEL", .value = 5834, .parameters = &[_]OperandKind{ .LiteralString, .LiteralString } },858 .{ .name = "MergeINTEL", .value = 5834, .parameters = &[_]OperandKind{ .LiteralString, .LiteralString } },
721 .{ .name = "BankBitsINTEL", .value = 5835, .parameters = &[_]OperandKind{.LiteralInteger} },859 .{ .name = "BankBitsINTEL", .value = 5835, .parameters = &[_]OperandKind{.LiteralInteger} },
722 .{ .name = "ForcePow2DepthINTEL", .value = 5836, .parameters = &[_]OperandKind{.LiteralInteger} },860 .{ .name = "ForcePow2DepthINTEL", .value = 5836, .parameters = &[_]OperandKind{.LiteralInteger} },
861 .{ .name = "StridesizeINTEL", .value = 5883, .parameters = &[_]OperandKind{.LiteralInteger} },
862 .{ .name = "WordsizeINTEL", .value = 5884, .parameters = &[_]OperandKind{.LiteralInteger} },
863 .{ .name = "TrueDualPortINTEL", .value = 5885, .parameters = &[_]OperandKind{} },
723 .{ .name = "BurstCoalesceINTEL", .value = 5899, .parameters = &[_]OperandKind{} },864 .{ .name = "BurstCoalesceINTEL", .value = 5899, .parameters = &[_]OperandKind{} },
724 .{ .name = "CacheSizeINTEL", .value = 5900, .parameters = &[_]OperandKind{.LiteralInteger} },865 .{ .name = "CacheSizeINTEL", .value = 5900, .parameters = &[_]OperandKind{.LiteralInteger} },
725 .{ .name = "DontStaticallyCoalesceINTEL", .value = 5901, .parameters = &[_]OperandKind{} },866 .{ .name = "DontStaticallyCoalesceINTEL", .value = 5901, .parameters = &[_]OperandKind{} },
726 .{ .name = "PrefetchINTEL", .value = 5902, .parameters = &[_]OperandKind{.LiteralInteger} },867 .{ .name = "PrefetchINTEL", .value = 5902, .parameters = &[_]OperandKind{.LiteralInteger} },
727 .{ .name = "StallEnableINTEL", .value = 5905, .parameters = &[_]OperandKind{} },868 .{ .name = "StallEnableINTEL", .value = 5905, .parameters = &[_]OperandKind{} },
728 .{ .name = "FuseLoopsInFunctionINTEL", .value = 5907, .parameters = &[_]OperandKind{} },869 .{ .name = "FuseLoopsInFunctionINTEL", .value = 5907, .parameters = &[_]OperandKind{} },
870 .{ .name = "MathOpDSPModeINTEL", .value = 5909, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger } },
871 .{ .name = "AliasScopeINTEL", .value = 5914, .parameters = &[_]OperandKind{.IdRef} },
872 .{ .name = "NoAliasINTEL", .value = 5915, .parameters = &[_]OperandKind{.IdRef} },
873 .{ .name = "InitiationIntervalINTEL", .value = 5917, .parameters = &[_]OperandKind{.LiteralInteger} },
874 .{ .name = "MaxConcurrencyINTEL", .value = 5918, .parameters = &[_]OperandKind{.LiteralInteger} },
875 .{ .name = "PipelineEnableINTEL", .value = 5919, .parameters = &[_]OperandKind{.LiteralInteger} },
729 .{ .name = "BufferLocationINTEL", .value = 5921, .parameters = &[_]OperandKind{.LiteralInteger} },876 .{ .name = "BufferLocationINTEL", .value = 5921, .parameters = &[_]OperandKind{.LiteralInteger} },
730 .{ .name = "IOPipeStorageINTEL", .value = 5944, .parameters = &[_]OperandKind{.LiteralInteger} },877 .{ .name = "IOPipeStorageINTEL", .value = 5944, .parameters = &[_]OperandKind{.LiteralInteger} },
731 .{ .name = "FunctionFloatingPointModeINTEL", .value = 6080, .parameters = &[_]OperandKind{ .LiteralInteger, .FPOperationMode } },878 .{ .name = "FunctionFloatingPointModeINTEL", .value = 6080, .parameters = &[_]OperandKind{ .LiteralInteger, .FPOperationMode } },
732 .{ .name = "SingleElementVectorINTEL", .value = 6085, .parameters = &[_]OperandKind{} },879 .{ .name = "SingleElementVectorINTEL", .value = 6085, .parameters = &[_]OperandKind{} },
733 .{ .name = "VectorComputeCallableFunctionINTEL", .value = 6087, .parameters = &[_]OperandKind{} },880 .{ .name = "VectorComputeCallableFunctionINTEL", .value = 6087, .parameters = &[_]OperandKind{} },
734 .{ .name = "MediaBlockIOINTEL", .value = 6140, .parameters = &[_]OperandKind{} },881 .{ .name = "MediaBlockIOINTEL", .value = 6140, .parameters = &[_]OperandKind{} },
882 .{ .name = "StallFreeINTEL", .value = 6151, .parameters = &[_]OperandKind{} },
883 .{ .name = "FPMaxErrorDecorationINTEL", .value = 6170, .parameters = &[_]OperandKind{.LiteralFloat} },
884 .{ .name = "LatencyControlLabelINTEL", .value = 6172, .parameters = &[_]OperandKind{.LiteralInteger} },
885 .{ .name = "LatencyControlConstraintINTEL", .value = 6173, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger, .LiteralInteger } },
886 .{ .name = "ConduitKernelArgumentINTEL", .value = 6175, .parameters = &[_]OperandKind{} },
887 .{ .name = "RegisterMapKernelArgumentINTEL", .value = 6176, .parameters = &[_]OperandKind{} },
888 .{ .name = "MMHostInterfaceAddressWidthINTEL", .value = 6177, .parameters = &[_]OperandKind{.LiteralInteger} },
889 .{ .name = "MMHostInterfaceDataWidthINTEL", .value = 6178, .parameters = &[_]OperandKind{.LiteralInteger} },
890 .{ .name = "MMHostInterfaceLatencyINTEL", .value = 6179, .parameters = &[_]OperandKind{.LiteralInteger} },
891 .{ .name = "MMHostInterfaceReadWriteModeINTEL", .value = 6180, .parameters = &[_]OperandKind{.AccessQualifier} },
892 .{ .name = "MMHostInterfaceMaxBurstINTEL", .value = 6181, .parameters = &[_]OperandKind{.LiteralInteger} },
893 .{ .name = "MMHostInterfaceWaitRequestINTEL", .value = 6182, .parameters = &[_]OperandKind{.LiteralInteger} },
894 .{ .name = "StableKernelArgumentINTEL", .value = 6183, .parameters = &[_]OperandKind{} },
895 .{ .name = "HostAccessINTEL", .value = 6188, .parameters = &[_]OperandKind{ .HostAccessQualifier, .LiteralString } },
896 .{ .name = "InitModeINTEL", .value = 6190, .parameters = &[_]OperandKind{.InitializationModeQualifier} },
897 .{ .name = "ImplementInRegisterMapINTEL", .value = 6191, .parameters = &[_]OperandKind{.LiteralInteger} },
898 .{ .name = "CacheControlLoadINTEL", .value = 6442, .parameters = &[_]OperandKind{ .LiteralInteger, .LoadCacheControl } },
899 .{ .name = "CacheControlStoreINTEL", .value = 6443, .parameters = &[_]OperandKind{ .LiteralInteger, .StoreCacheControl } },
735 },900 },
736 .BuiltIn => &[_]Enumerant{901 .BuiltIn => &[_]Enumerant{
737 .{ .name = "Position", .value = 0, .parameters = &[_]OperandKind{} },902 .{ .name = "Position", .value = 0, .parameters = &[_]OperandKind{} },
...@@ -775,6 +940,11 @@ pub const OperandKind = enum {...@@ -775,6 +940,11 @@ pub const OperandKind = enum {
775 .{ .name = "SubgroupLocalInvocationId", .value = 41, .parameters = &[_]OperandKind{} },940 .{ .name = "SubgroupLocalInvocationId", .value = 41, .parameters = &[_]OperandKind{} },
776 .{ .name = "VertexIndex", .value = 42, .parameters = &[_]OperandKind{} },941 .{ .name = "VertexIndex", .value = 42, .parameters = &[_]OperandKind{} },
777 .{ .name = "InstanceIndex", .value = 43, .parameters = &[_]OperandKind{} },942 .{ .name = "InstanceIndex", .value = 43, .parameters = &[_]OperandKind{} },
943 .{ .name = "CoreIDARM", .value = 4160, .parameters = &[_]OperandKind{} },
944 .{ .name = "CoreCountARM", .value = 4161, .parameters = &[_]OperandKind{} },
945 .{ .name = "CoreMaxIDARM", .value = 4162, .parameters = &[_]OperandKind{} },
946 .{ .name = "WarpIDARM", .value = 4163, .parameters = &[_]OperandKind{} },
947 .{ .name = "WarpMaxIDARM", .value = 4164, .parameters = &[_]OperandKind{} },
778 .{ .name = "SubgroupEqMask", .value = 4416, .parameters = &[_]OperandKind{} },948 .{ .name = "SubgroupEqMask", .value = 4416, .parameters = &[_]OperandKind{} },
779 .{ .name = "SubgroupEqMaskKHR", .value = 4416, .parameters = &[_]OperandKind{} },949 .{ .name = "SubgroupEqMaskKHR", .value = 4416, .parameters = &[_]OperandKind{} },
780 .{ .name = "SubgroupGeMask", .value = 4417, .parameters = &[_]OperandKind{} },950 .{ .name = "SubgroupGeMask", .value = 4417, .parameters = &[_]OperandKind{} },
...@@ -800,6 +970,8 @@ pub const OperandKind = enum {...@@ -800,6 +970,8 @@ pub const OperandKind = enum {
800 .{ .name = "BaryCoordSmoothSampleAMD", .value = 4997, .parameters = &[_]OperandKind{} },970 .{ .name = "BaryCoordSmoothSampleAMD", .value = 4997, .parameters = &[_]OperandKind{} },
801 .{ .name = "BaryCoordPullModelAMD", .value = 4998, .parameters = &[_]OperandKind{} },971 .{ .name = "BaryCoordPullModelAMD", .value = 4998, .parameters = &[_]OperandKind{} },
802 .{ .name = "FragStencilRefEXT", .value = 5014, .parameters = &[_]OperandKind{} },972 .{ .name = "FragStencilRefEXT", .value = 5014, .parameters = &[_]OperandKind{} },
973 .{ .name = "CoalescedInputCountAMDX", .value = 5021, .parameters = &[_]OperandKind{} },
974 .{ .name = "ShaderIndexAMDX", .value = 5073, .parameters = &[_]OperandKind{} },
803 .{ .name = "ViewportMaskNV", .value = 5253, .parameters = &[_]OperandKind{} },975 .{ .name = "ViewportMaskNV", .value = 5253, .parameters = &[_]OperandKind{} },
804 .{ .name = "SecondaryPositionNV", .value = 5257, .parameters = &[_]OperandKind{} },976 .{ .name = "SecondaryPositionNV", .value = 5257, .parameters = &[_]OperandKind{} },
805 .{ .name = "SecondaryViewportMaskNV", .value = 5258, .parameters = &[_]OperandKind{} },977 .{ .name = "SecondaryViewportMaskNV", .value = 5258, .parameters = &[_]OperandKind{} },
...@@ -822,6 +994,10 @@ pub const OperandKind = enum {...@@ -822,6 +994,10 @@ pub const OperandKind = enum {
822 .{ .name = "FragmentSizeNV", .value = 5292, .parameters = &[_]OperandKind{} },994 .{ .name = "FragmentSizeNV", .value = 5292, .parameters = &[_]OperandKind{} },
823 .{ .name = "FragInvocationCountEXT", .value = 5293, .parameters = &[_]OperandKind{} },995 .{ .name = "FragInvocationCountEXT", .value = 5293, .parameters = &[_]OperandKind{} },
824 .{ .name = "InvocationsPerPixelNV", .value = 5293, .parameters = &[_]OperandKind{} },996 .{ .name = "InvocationsPerPixelNV", .value = 5293, .parameters = &[_]OperandKind{} },
997 .{ .name = "PrimitivePointIndicesEXT", .value = 5294, .parameters = &[_]OperandKind{} },
998 .{ .name = "PrimitiveLineIndicesEXT", .value = 5295, .parameters = &[_]OperandKind{} },
999 .{ .name = "PrimitiveTriangleIndicesEXT", .value = 5296, .parameters = &[_]OperandKind{} },
1000 .{ .name = "CullPrimitiveEXT", .value = 5299, .parameters = &[_]OperandKind{} },
825 .{ .name = "LaunchIdNV", .value = 5319, .parameters = &[_]OperandKind{} },1001 .{ .name = "LaunchIdNV", .value = 5319, .parameters = &[_]OperandKind{} },
826 .{ .name = "LaunchIdKHR", .value = 5319, .parameters = &[_]OperandKind{} },1002 .{ .name = "LaunchIdKHR", .value = 5319, .parameters = &[_]OperandKind{} },
827 .{ .name = "LaunchSizeNV", .value = 5320, .parameters = &[_]OperandKind{} },1003 .{ .name = "LaunchSizeNV", .value = 5320, .parameters = &[_]OperandKind{} },
...@@ -848,6 +1024,9 @@ pub const OperandKind = enum {...@@ -848,6 +1024,9 @@ pub const OperandKind = enum {
848 .{ .name = "HitKindNV", .value = 5333, .parameters = &[_]OperandKind{} },1024 .{ .name = "HitKindNV", .value = 5333, .parameters = &[_]OperandKind{} },
849 .{ .name = "HitKindKHR", .value = 5333, .parameters = &[_]OperandKind{} },1025 .{ .name = "HitKindKHR", .value = 5333, .parameters = &[_]OperandKind{} },
850 .{ .name = "CurrentRayTimeNV", .value = 5334, .parameters = &[_]OperandKind{} },1026 .{ .name = "CurrentRayTimeNV", .value = 5334, .parameters = &[_]OperandKind{} },
1027 .{ .name = "HitTriangleVertexPositionsKHR", .value = 5335, .parameters = &[_]OperandKind{} },
1028 .{ .name = "HitMicroTriangleVertexPositionsNV", .value = 5337, .parameters = &[_]OperandKind{} },
1029 .{ .name = "HitMicroTriangleVertexBarycentricsNV", .value = 5344, .parameters = &[_]OperandKind{} },
851 .{ .name = "IncomingRayFlagsNV", .value = 5351, .parameters = &[_]OperandKind{} },1030 .{ .name = "IncomingRayFlagsNV", .value = 5351, .parameters = &[_]OperandKind{} },
852 .{ .name = "IncomingRayFlagsKHR", .value = 5351, .parameters = &[_]OperandKind{} },1031 .{ .name = "IncomingRayFlagsKHR", .value = 5351, .parameters = &[_]OperandKind{} },
853 .{ .name = "RayGeometryIndexKHR", .value = 5352, .parameters = &[_]OperandKind{} },1032 .{ .name = "RayGeometryIndexKHR", .value = 5352, .parameters = &[_]OperandKind{} },
...@@ -855,6 +1034,9 @@ pub const OperandKind = enum {...@@ -855,6 +1034,9 @@ pub const OperandKind = enum {
855 .{ .name = "SMCountNV", .value = 5375, .parameters = &[_]OperandKind{} },1034 .{ .name = "SMCountNV", .value = 5375, .parameters = &[_]OperandKind{} },
856 .{ .name = "WarpIDNV", .value = 5376, .parameters = &[_]OperandKind{} },1035 .{ .name = "WarpIDNV", .value = 5376, .parameters = &[_]OperandKind{} },
857 .{ .name = "SMIDNV", .value = 5377, .parameters = &[_]OperandKind{} },1036 .{ .name = "SMIDNV", .value = 5377, .parameters = &[_]OperandKind{} },
1037 .{ .name = "HitKindFrontFacingMicroTriangleNV", .value = 5405, .parameters = &[_]OperandKind{} },
1038 .{ .name = "HitKindBackFacingMicroTriangleNV", .value = 5406, .parameters = &[_]OperandKind{} },
1039 .{ .name = "CullMaskKHR", .value = 6021, .parameters = &[_]OperandKind{} },
858 },1040 },
859 .Scope => &[_]Enumerant{1041 .Scope => &[_]Enumerant{
860 .{ .name = "CrossDevice", .value = 0, .parameters = &[_]OperandKind{} },1042 .{ .name = "CrossDevice", .value = 0, .parameters = &[_]OperandKind{} },
...@@ -951,6 +1133,10 @@ pub const OperandKind = enum {...@@ -951,6 +1133,10 @@ pub const OperandKind = enum {
951 .{ .name = "ShaderLayer", .value = 69, .parameters = &[_]OperandKind{} },1133 .{ .name = "ShaderLayer", .value = 69, .parameters = &[_]OperandKind{} },
952 .{ .name = "ShaderViewportIndex", .value = 70, .parameters = &[_]OperandKind{} },1134 .{ .name = "ShaderViewportIndex", .value = 70, .parameters = &[_]OperandKind{} },
953 .{ .name = "UniformDecoration", .value = 71, .parameters = &[_]OperandKind{} },1135 .{ .name = "UniformDecoration", .value = 71, .parameters = &[_]OperandKind{} },
1136 .{ .name = "CoreBuiltinsARM", .value = 4165, .parameters = &[_]OperandKind{} },
1137 .{ .name = "TileImageColorReadAccessEXT", .value = 4166, .parameters = &[_]OperandKind{} },
1138 .{ .name = "TileImageDepthReadAccessEXT", .value = 4167, .parameters = &[_]OperandKind{} },
1139 .{ .name = "TileImageStencilReadAccessEXT", .value = 4168, .parameters = &[_]OperandKind{} },
954 .{ .name = "FragmentShadingRateKHR", .value = 4422, .parameters = &[_]OperandKind{} },1140 .{ .name = "FragmentShadingRateKHR", .value = 4422, .parameters = &[_]OperandKind{} },
955 .{ .name = "SubgroupBallotKHR", .value = 4423, .parameters = &[_]OperandKind{} },1141 .{ .name = "SubgroupBallotKHR", .value = 4423, .parameters = &[_]OperandKind{} },
956 .{ .name = "DrawParameters", .value = 4427, .parameters = &[_]OperandKind{} },1142 .{ .name = "DrawParameters", .value = 4427, .parameters = &[_]OperandKind{} },
...@@ -982,6 +1168,10 @@ pub const OperandKind = enum {...@@ -982,6 +1168,10 @@ pub const OperandKind = enum {
982 .{ .name = "RayQueryKHR", .value = 4472, .parameters = &[_]OperandKind{} },1168 .{ .name = "RayQueryKHR", .value = 4472, .parameters = &[_]OperandKind{} },
983 .{ .name = "RayTraversalPrimitiveCullingKHR", .value = 4478, .parameters = &[_]OperandKind{} },1169 .{ .name = "RayTraversalPrimitiveCullingKHR", .value = 4478, .parameters = &[_]OperandKind{} },
984 .{ .name = "RayTracingKHR", .value = 4479, .parameters = &[_]OperandKind{} },1170 .{ .name = "RayTracingKHR", .value = 4479, .parameters = &[_]OperandKind{} },
1171 .{ .name = "TextureSampleWeightedQCOM", .value = 4484, .parameters = &[_]OperandKind{} },
1172 .{ .name = "TextureBoxFilterQCOM", .value = 4485, .parameters = &[_]OperandKind{} },
1173 .{ .name = "TextureBlockMatchQCOM", .value = 4486, .parameters = &[_]OperandKind{} },
1174 .{ .name = "TextureBlockMatch2QCOM", .value = 4498, .parameters = &[_]OperandKind{} },
985 .{ .name = "Float16ImageAMD", .value = 5008, .parameters = &[_]OperandKind{} },1175 .{ .name = "Float16ImageAMD", .value = 5008, .parameters = &[_]OperandKind{} },
986 .{ .name = "ImageGatherBiasLodAMD", .value = 5009, .parameters = &[_]OperandKind{} },1176 .{ .name = "ImageGatherBiasLodAMD", .value = 5009, .parameters = &[_]OperandKind{} },
987 .{ .name = "FragmentMaskAMD", .value = 5010, .parameters = &[_]OperandKind{} },1177 .{ .name = "FragmentMaskAMD", .value = 5010, .parameters = &[_]OperandKind{} },
...@@ -989,6 +1179,8 @@ pub const OperandKind = enum {...@@ -989,6 +1179,8 @@ pub const OperandKind = enum {
989 .{ .name = "ImageReadWriteLodAMD", .value = 5015, .parameters = &[_]OperandKind{} },1179 .{ .name = "ImageReadWriteLodAMD", .value = 5015, .parameters = &[_]OperandKind{} },
990 .{ .name = "Int64ImageEXT", .value = 5016, .parameters = &[_]OperandKind{} },1180 .{ .name = "Int64ImageEXT", .value = 5016, .parameters = &[_]OperandKind{} },
991 .{ .name = "ShaderClockKHR", .value = 5055, .parameters = &[_]OperandKind{} },1181 .{ .name = "ShaderClockKHR", .value = 5055, .parameters = &[_]OperandKind{} },
1182 .{ .name = "ShaderEnqueueAMDX", .value = 5067, .parameters = &[_]OperandKind{} },
1183 .{ .name = "QuadControlKHR", .value = 5087, .parameters = &[_]OperandKind{} },
992 .{ .name = "SampleMaskOverrideCoverageNV", .value = 5249, .parameters = &[_]OperandKind{} },1184 .{ .name = "SampleMaskOverrideCoverageNV", .value = 5249, .parameters = &[_]OperandKind{} },
993 .{ .name = "GeometryShaderPassthroughNV", .value = 5251, .parameters = &[_]OperandKind{} },1185 .{ .name = "GeometryShaderPassthroughNV", .value = 5251, .parameters = &[_]OperandKind{} },
994 .{ .name = "ShaderViewportIndexLayerEXT", .value = 5254, .parameters = &[_]OperandKind{} },1186 .{ .name = "ShaderViewportIndexLayerEXT", .value = 5254, .parameters = &[_]OperandKind{} },
...@@ -999,6 +1191,7 @@ pub const OperandKind = enum {...@@ -999,6 +1191,7 @@ pub const OperandKind = enum {
999 .{ .name = "FragmentFullyCoveredEXT", .value = 5265, .parameters = &[_]OperandKind{} },1191 .{ .name = "FragmentFullyCoveredEXT", .value = 5265, .parameters = &[_]OperandKind{} },
1000 .{ .name = "MeshShadingNV", .value = 5266, .parameters = &[_]OperandKind{} },1192 .{ .name = "MeshShadingNV", .value = 5266, .parameters = &[_]OperandKind{} },
1001 .{ .name = "ImageFootprintNV", .value = 5282, .parameters = &[_]OperandKind{} },1193 .{ .name = "ImageFootprintNV", .value = 5282, .parameters = &[_]OperandKind{} },
1194 .{ .name = "MeshShadingEXT", .value = 5283, .parameters = &[_]OperandKind{} },
1002 .{ .name = "FragmentBarycentricKHR", .value = 5284, .parameters = &[_]OperandKind{} },1195 .{ .name = "FragmentBarycentricKHR", .value = 5284, .parameters = &[_]OperandKind{} },
1003 .{ .name = "FragmentBarycentricNV", .value = 5284, .parameters = &[_]OperandKind{} },1196 .{ .name = "FragmentBarycentricNV", .value = 5284, .parameters = &[_]OperandKind{} },
1004 .{ .name = "ComputeDerivativeGroupQuadsNV", .value = 5288, .parameters = &[_]OperandKind{} },1197 .{ .name = "ComputeDerivativeGroupQuadsNV", .value = 5288, .parameters = &[_]OperandKind{} },
...@@ -1029,6 +1222,7 @@ pub const OperandKind = enum {...@@ -1029,6 +1222,7 @@ pub const OperandKind = enum {
1029 .{ .name = "UniformTexelBufferArrayNonUniformIndexingEXT", .value = 5311, .parameters = &[_]OperandKind{} },1222 .{ .name = "UniformTexelBufferArrayNonUniformIndexingEXT", .value = 5311, .parameters = &[_]OperandKind{} },
1030 .{ .name = "StorageTexelBufferArrayNonUniformIndexing", .value = 5312, .parameters = &[_]OperandKind{} },1223 .{ .name = "StorageTexelBufferArrayNonUniformIndexing", .value = 5312, .parameters = &[_]OperandKind{} },
1031 .{ .name = "StorageTexelBufferArrayNonUniformIndexingEXT", .value = 5312, .parameters = &[_]OperandKind{} },1224 .{ .name = "StorageTexelBufferArrayNonUniformIndexingEXT", .value = 5312, .parameters = &[_]OperandKind{} },
1225 .{ .name = "RayTracingPositionFetchKHR", .value = 5336, .parameters = &[_]OperandKind{} },
1032 .{ .name = "RayTracingNV", .value = 5340, .parameters = &[_]OperandKind{} },1226 .{ .name = "RayTracingNV", .value = 5340, .parameters = &[_]OperandKind{} },
1033 .{ .name = "RayTracingMotionBlurNV", .value = 5341, .parameters = &[_]OperandKind{} },1227 .{ .name = "RayTracingMotionBlurNV", .value = 5341, .parameters = &[_]OperandKind{} },
1034 .{ .name = "VulkanMemoryModel", .value = 5345, .parameters = &[_]OperandKind{} },1228 .{ .name = "VulkanMemoryModel", .value = 5345, .parameters = &[_]OperandKind{} },
...@@ -1046,7 +1240,14 @@ pub const OperandKind = enum {...@@ -1046,7 +1240,14 @@ pub const OperandKind = enum {
1046 .{ .name = "FragmentShaderPixelInterlockEXT", .value = 5378, .parameters = &[_]OperandKind{} },1240 .{ .name = "FragmentShaderPixelInterlockEXT", .value = 5378, .parameters = &[_]OperandKind{} },
1047 .{ .name = "DemoteToHelperInvocation", .value = 5379, .parameters = &[_]OperandKind{} },1241 .{ .name = "DemoteToHelperInvocation", .value = 5379, .parameters = &[_]OperandKind{} },
1048 .{ .name = "DemoteToHelperInvocationEXT", .value = 5379, .parameters = &[_]OperandKind{} },1242 .{ .name = "DemoteToHelperInvocationEXT", .value = 5379, .parameters = &[_]OperandKind{} },
1243 .{ .name = "DisplacementMicromapNV", .value = 5380, .parameters = &[_]OperandKind{} },
1244 .{ .name = "RayTracingOpacityMicromapEXT", .value = 5381, .parameters = &[_]OperandKind{} },
1245 .{ .name = "ShaderInvocationReorderNV", .value = 5383, .parameters = &[_]OperandKind{} },
1049 .{ .name = "BindlessTextureNV", .value = 5390, .parameters = &[_]OperandKind{} },1246 .{ .name = "BindlessTextureNV", .value = 5390, .parameters = &[_]OperandKind{} },
1247 .{ .name = "RayQueryPositionFetchKHR", .value = 5391, .parameters = &[_]OperandKind{} },
1248 .{ .name = "AtomicFloat16VectorNV", .value = 5404, .parameters = &[_]OperandKind{} },
1249 .{ .name = "RayTracingDisplacementMicromapNV", .value = 5409, .parameters = &[_]OperandKind{} },
1250 .{ .name = "RawAccessChainsNV", .value = 5414, .parameters = &[_]OperandKind{} },
1050 .{ .name = "SubgroupShuffleINTEL", .value = 5568, .parameters = &[_]OperandKind{} },1251 .{ .name = "SubgroupShuffleINTEL", .value = 5568, .parameters = &[_]OperandKind{} },
1051 .{ .name = "SubgroupBufferBlockIOINTEL", .value = 5569, .parameters = &[_]OperandKind{} },1252 .{ .name = "SubgroupBufferBlockIOINTEL", .value = 5569, .parameters = &[_]OperandKind{} },
1052 .{ .name = "SubgroupImageBlockIOINTEL", .value = 5570, .parameters = &[_]OperandKind{} },1253 .{ .name = "SubgroupImageBlockIOINTEL", .value = 5570, .parameters = &[_]OperandKind{} },
...@@ -1079,9 +1280,13 @@ pub const OperandKind = enum {...@@ -1079,9 +1280,13 @@ pub const OperandKind = enum {
1079 .{ .name = "FPGAMemoryAccessesINTEL", .value = 5898, .parameters = &[_]OperandKind{} },1280 .{ .name = "FPGAMemoryAccessesINTEL", .value = 5898, .parameters = &[_]OperandKind{} },
1080 .{ .name = "FPGAClusterAttributesINTEL", .value = 5904, .parameters = &[_]OperandKind{} },1281 .{ .name = "FPGAClusterAttributesINTEL", .value = 5904, .parameters = &[_]OperandKind{} },
1081 .{ .name = "LoopFuseINTEL", .value = 5906, .parameters = &[_]OperandKind{} },1282 .{ .name = "LoopFuseINTEL", .value = 5906, .parameters = &[_]OperandKind{} },
1283 .{ .name = "FPGADSPControlINTEL", .value = 5908, .parameters = &[_]OperandKind{} },
1284 .{ .name = "MemoryAccessAliasingINTEL", .value = 5910, .parameters = &[_]OperandKind{} },
1285 .{ .name = "FPGAInvocationPipeliningAttributesINTEL", .value = 5916, .parameters = &[_]OperandKind{} },
1082 .{ .name = "FPGABufferLocationINTEL", .value = 5920, .parameters = &[_]OperandKind{} },1286 .{ .name = "FPGABufferLocationINTEL", .value = 5920, .parameters = &[_]OperandKind{} },
1083 .{ .name = "ArbitraryPrecisionFixedPointINTEL", .value = 5922, .parameters = &[_]OperandKind{} },1287 .{ .name = "ArbitraryPrecisionFixedPointINTEL", .value = 5922, .parameters = &[_]OperandKind{} },
1084 .{ .name = "USMStorageClassesINTEL", .value = 5935, .parameters = &[_]OperandKind{} },1288 .{ .name = "USMStorageClassesINTEL", .value = 5935, .parameters = &[_]OperandKind{} },
1289 .{ .name = "RuntimeAlignedAttributeINTEL", .value = 5939, .parameters = &[_]OperandKind{} },
1085 .{ .name = "IOPipesINTEL", .value = 5943, .parameters = &[_]OperandKind{} },1290 .{ .name = "IOPipesINTEL", .value = 5943, .parameters = &[_]OperandKind{} },
1086 .{ .name = "BlockingPipesINTEL", .value = 5945, .parameters = &[_]OperandKind{} },1291 .{ .name = "BlockingPipesINTEL", .value = 5945, .parameters = &[_]OperandKind{} },
1087 .{ .name = "FPGARegINTEL", .value = 5948, .parameters = &[_]OperandKind{} },1292 .{ .name = "FPGARegINTEL", .value = 5948, .parameters = &[_]OperandKind{} },
...@@ -1093,13 +1298,30 @@ pub const OperandKind = enum {...@@ -1093,13 +1298,30 @@ pub const OperandKind = enum {
1093 .{ .name = "DotProductInput4x8BitPackedKHR", .value = 6018, .parameters = &[_]OperandKind{} },1298 .{ .name = "DotProductInput4x8BitPackedKHR", .value = 6018, .parameters = &[_]OperandKind{} },
1094 .{ .name = "DotProduct", .value = 6019, .parameters = &[_]OperandKind{} },1299 .{ .name = "DotProduct", .value = 6019, .parameters = &[_]OperandKind{} },
1095 .{ .name = "DotProductKHR", .value = 6019, .parameters = &[_]OperandKind{} },1300 .{ .name = "DotProductKHR", .value = 6019, .parameters = &[_]OperandKind{} },
1301 .{ .name = "RayCullMaskKHR", .value = 6020, .parameters = &[_]OperandKind{} },
1302 .{ .name = "CooperativeMatrixKHR", .value = 6022, .parameters = &[_]OperandKind{} },
1096 .{ .name = "BitInstructions", .value = 6025, .parameters = &[_]OperandKind{} },1303 .{ .name = "BitInstructions", .value = 6025, .parameters = &[_]OperandKind{} },
1304 .{ .name = "GroupNonUniformRotateKHR", .value = 6026, .parameters = &[_]OperandKind{} },
1305 .{ .name = "FloatControls2", .value = 6029, .parameters = &[_]OperandKind{} },
1097 .{ .name = "AtomicFloat32AddEXT", .value = 6033, .parameters = &[_]OperandKind{} },1306 .{ .name = "AtomicFloat32AddEXT", .value = 6033, .parameters = &[_]OperandKind{} },
1098 .{ .name = "AtomicFloat64AddEXT", .value = 6034, .parameters = &[_]OperandKind{} },1307 .{ .name = "AtomicFloat64AddEXT", .value = 6034, .parameters = &[_]OperandKind{} },
1099 .{ .name = "LongConstantCompositeINTEL", .value = 6089, .parameters = &[_]OperandKind{} },1308 .{ .name = "LongCompositesINTEL", .value = 6089, .parameters = &[_]OperandKind{} },
1100 .{ .name = "OptNoneINTEL", .value = 6094, .parameters = &[_]OperandKind{} },1309 .{ .name = "OptNoneINTEL", .value = 6094, .parameters = &[_]OperandKind{} },
1101 .{ .name = "AtomicFloat16AddEXT", .value = 6095, .parameters = &[_]OperandKind{} },1310 .{ .name = "AtomicFloat16AddEXT", .value = 6095, .parameters = &[_]OperandKind{} },
1102 .{ .name = "DebugInfoModuleINTEL", .value = 6114, .parameters = &[_]OperandKind{} },1311 .{ .name = "DebugInfoModuleINTEL", .value = 6114, .parameters = &[_]OperandKind{} },
1312 .{ .name = "BFloat16ConversionINTEL", .value = 6115, .parameters = &[_]OperandKind{} },
1313 .{ .name = "SplitBarrierINTEL", .value = 6141, .parameters = &[_]OperandKind{} },
1314 .{ .name = "FPGAClusterAttributesV2INTEL", .value = 6150, .parameters = &[_]OperandKind{} },
1315 .{ .name = "FPGAKernelAttributesv2INTEL", .value = 6161, .parameters = &[_]OperandKind{} },
1316 .{ .name = "FPMaxErrorINTEL", .value = 6169, .parameters = &[_]OperandKind{} },
1317 .{ .name = "FPGALatencyControlINTEL", .value = 6171, .parameters = &[_]OperandKind{} },
1318 .{ .name = "FPGAArgumentInterfacesINTEL", .value = 6174, .parameters = &[_]OperandKind{} },
1319 .{ .name = "GlobalVariableHostAccessINTEL", .value = 6187, .parameters = &[_]OperandKind{} },
1320 .{ .name = "GlobalVariableFPGADecorationsINTEL", .value = 6189, .parameters = &[_]OperandKind{} },
1321 .{ .name = "GroupUniformArithmeticKHR", .value = 6400, .parameters = &[_]OperandKind{} },
1322 .{ .name = "MaskedGatherScatterINTEL", .value = 6427, .parameters = &[_]OperandKind{} },
1323 .{ .name = "CacheControlsINTEL", .value = 6441, .parameters = &[_]OperandKind{} },
1324 .{ .name = "RegisterLimitsINTEL", .value = 6460, .parameters = &[_]OperandKind{} },
1103 },1325 },
1104 .RayQueryIntersection => &[_]Enumerant{1326 .RayQueryIntersection => &[_]Enumerant{
1105 .{ .name = "RayQueryCandidateIntersectionKHR", .value = 0, .parameters = &[_]OperandKind{} },1327 .{ .name = "RayQueryCandidateIntersectionKHR", .value = 0, .parameters = &[_]OperandKind{} },
...@@ -1118,6 +1340,43 @@ pub const OperandKind = enum {...@@ -1118,6 +1340,43 @@ pub const OperandKind = enum {
1118 .{ .name = "PackedVectorFormat4x8Bit", .value = 0, .parameters = &[_]OperandKind{} },1340 .{ .name = "PackedVectorFormat4x8Bit", .value = 0, .parameters = &[_]OperandKind{} },
1119 .{ .name = "PackedVectorFormat4x8BitKHR", .value = 0, .parameters = &[_]OperandKind{} },1341 .{ .name = "PackedVectorFormat4x8BitKHR", .value = 0, .parameters = &[_]OperandKind{} },
1120 },1342 },
1343 .CooperativeMatrixOperands => &[_]Enumerant{
1344 .{ .name = "NoneKHR", .value = 0x0000, .parameters = &[_]OperandKind{} },
1345 .{ .name = "MatrixASignedComponentsKHR", .value = 0x0001, .parameters = &[_]OperandKind{} },
1346 .{ .name = "MatrixBSignedComponentsKHR", .value = 0x0002, .parameters = &[_]OperandKind{} },
1347 .{ .name = "MatrixCSignedComponentsKHR", .value = 0x0004, .parameters = &[_]OperandKind{} },
1348 .{ .name = "MatrixResultSignedComponentsKHR", .value = 0x0008, .parameters = &[_]OperandKind{} },
1349 .{ .name = "SaturatingAccumulationKHR", .value = 0x0010, .parameters = &[_]OperandKind{} },
1350 },
1351 .CooperativeMatrixLayout => &[_]Enumerant{
1352 .{ .name = "RowMajorKHR", .value = 0, .parameters = &[_]OperandKind{} },
1353 .{ .name = "ColumnMajorKHR", .value = 1, .parameters = &[_]OperandKind{} },
1354 },
1355 .CooperativeMatrixUse => &[_]Enumerant{
1356 .{ .name = "MatrixAKHR", .value = 0, .parameters = &[_]OperandKind{} },
1357 .{ .name = "MatrixBKHR", .value = 1, .parameters = &[_]OperandKind{} },
1358 .{ .name = "MatrixAccumulatorKHR", .value = 2, .parameters = &[_]OperandKind{} },
1359 },
1360 .InitializationModeQualifier => &[_]Enumerant{
1361 .{ .name = "InitOnDeviceReprogramINTEL", .value = 0, .parameters = &[_]OperandKind{} },
1362 .{ .name = "InitOnDeviceResetINTEL", .value = 1, .parameters = &[_]OperandKind{} },
1363 },
1364 .LoadCacheControl => &[_]Enumerant{
1365 .{ .name = "UncachedINTEL", .value = 0, .parameters = &[_]OperandKind{} },
1366 .{ .name = "CachedINTEL", .value = 1, .parameters = &[_]OperandKind{} },
1367 .{ .name = "StreamingINTEL", .value = 2, .parameters = &[_]OperandKind{} },
1368 .{ .name = "InvalidateAfterReadINTEL", .value = 3, .parameters = &[_]OperandKind{} },
1369 .{ .name = "ConstCachedINTEL", .value = 4, .parameters = &[_]OperandKind{} },
1370 },
1371 .StoreCacheControl => &[_]Enumerant{
1372 .{ .name = "UncachedINTEL", .value = 0, .parameters = &[_]OperandKind{} },
1373 .{ .name = "WriteThroughINTEL", .value = 1, .parameters = &[_]OperandKind{} },
1374 .{ .name = "WriteBackINTEL", .value = 2, .parameters = &[_]OperandKind{} },
1375 .{ .name = "StreamingINTEL", .value = 3, .parameters = &[_]OperandKind{} },
1376 },
1377 .NamedMaximumNumberOfRegisters => &[_]Enumerant{
1378 .{ .name = "AutoINTEL", .value = 0, .parameters = &[_]OperandKind{} },
1379 },
1121 .IdResultType => unreachable,1380 .IdResultType => unreachable,
1122 .IdResult => unreachable,1381 .IdResult => unreachable,
1123 .IdMemorySemantics => unreachable,1382 .IdMemorySemantics => unreachable,
...@@ -1125,12 +1384,182 @@ pub const OperandKind = enum {...@@ -1125,12 +1384,182 @@ pub const OperandKind = enum {
1125 .IdRef => unreachable,1384 .IdRef => unreachable,
1126 .LiteralInteger => unreachable,1385 .LiteralInteger => unreachable,
1127 .LiteralString => unreachable,1386 .LiteralString => unreachable,
1387 .LiteralFloat => unreachable,
1128 .LiteralContextDependentNumber => unreachable,1388 .LiteralContextDependentNumber => unreachable,
1129 .LiteralExtInstInteger => unreachable,1389 .LiteralExtInstInteger => unreachable,
1130 .LiteralSpecConstantOpInteger => unreachable,1390 .LiteralSpecConstantOpInteger => unreachable,
1131 .PairLiteralIntegerIdRef => unreachable,1391 .PairLiteralIntegerIdRef => unreachable,
1132 .PairIdRefLiteralInteger => unreachable,1392 .PairIdRefLiteralInteger => unreachable,
1133 .PairIdRefIdRef => unreachable,1393 .PairIdRefIdRef => unreachable,
1394 .@"opencl.debuginfo.100.DebugInfoFlags" => &[_]Enumerant{
1395 .{ .name = "FlagIsProtected", .value = 0x01, .parameters = &[_]OperandKind{} },
1396 .{ .name = "FlagIsPrivate", .value = 0x02, .parameters = &[_]OperandKind{} },
1397 .{ .name = "FlagIsPublic", .value = 0x03, .parameters = &[_]OperandKind{} },
1398 .{ .name = "FlagIsLocal", .value = 0x04, .parameters = &[_]OperandKind{} },
1399 .{ .name = "FlagIsDefinition", .value = 0x08, .parameters = &[_]OperandKind{} },
1400 .{ .name = "FlagFwdDecl", .value = 0x10, .parameters = &[_]OperandKind{} },
1401 .{ .name = "FlagArtificial", .value = 0x20, .parameters = &[_]OperandKind{} },
1402 .{ .name = "FlagExplicit", .value = 0x40, .parameters = &[_]OperandKind{} },
1403 .{ .name = "FlagPrototyped", .value = 0x80, .parameters = &[_]OperandKind{} },
1404 .{ .name = "FlagObjectPointer", .value = 0x100, .parameters = &[_]OperandKind{} },
1405 .{ .name = "FlagStaticMember", .value = 0x200, .parameters = &[_]OperandKind{} },
1406 .{ .name = "FlagIndirectVariable", .value = 0x400, .parameters = &[_]OperandKind{} },
1407 .{ .name = "FlagLValueReference", .value = 0x800, .parameters = &[_]OperandKind{} },
1408 .{ .name = "FlagRValueReference", .value = 0x1000, .parameters = &[_]OperandKind{} },
1409 .{ .name = "FlagIsOptimized", .value = 0x2000, .parameters = &[_]OperandKind{} },
1410 .{ .name = "FlagIsEnumClass", .value = 0x4000, .parameters = &[_]OperandKind{} },
1411 .{ .name = "FlagTypePassByValue", .value = 0x8000, .parameters = &[_]OperandKind{} },
1412 .{ .name = "FlagTypePassByReference", .value = 0x10000, .parameters = &[_]OperandKind{} },
1413 },
1414 .@"opencl.debuginfo.100.DebugBaseTypeAttributeEncoding" => &[_]Enumerant{
1415 .{ .name = "Unspecified", .value = 0, .parameters = &[_]OperandKind{} },
1416 .{ .name = "Address", .value = 1, .parameters = &[_]OperandKind{} },
1417 .{ .name = "Boolean", .value = 2, .parameters = &[_]OperandKind{} },
1418 .{ .name = "Float", .value = 3, .parameters = &[_]OperandKind{} },
1419 .{ .name = "Signed", .value = 4, .parameters = &[_]OperandKind{} },
1420 .{ .name = "SignedChar", .value = 5, .parameters = &[_]OperandKind{} },
1421 .{ .name = "Unsigned", .value = 6, .parameters = &[_]OperandKind{} },
1422 .{ .name = "UnsignedChar", .value = 7, .parameters = &[_]OperandKind{} },
1423 },
1424 .@"opencl.debuginfo.100.DebugCompositeType" => &[_]Enumerant{
1425 .{ .name = "Class", .value = 0, .parameters = &[_]OperandKind{} },
1426 .{ .name = "Structure", .value = 1, .parameters = &[_]OperandKind{} },
1427 .{ .name = "Union", .value = 2, .parameters = &[_]OperandKind{} },
1428 },
1429 .@"opencl.debuginfo.100.DebugTypeQualifier" => &[_]Enumerant{
1430 .{ .name = "ConstType", .value = 0, .parameters = &[_]OperandKind{} },
1431 .{ .name = "VolatileType", .value = 1, .parameters = &[_]OperandKind{} },
1432 .{ .name = "RestrictType", .value = 2, .parameters = &[_]OperandKind{} },
1433 .{ .name = "AtomicType", .value = 3, .parameters = &[_]OperandKind{} },
1434 },
1435 .@"opencl.debuginfo.100.DebugOperation" => &[_]Enumerant{
1436 .{ .name = "Deref", .value = 0, .parameters = &[_]OperandKind{} },
1437 .{ .name = "Plus", .value = 1, .parameters = &[_]OperandKind{} },
1438 .{ .name = "Minus", .value = 2, .parameters = &[_]OperandKind{} },
1439 .{ .name = "PlusUconst", .value = 3, .parameters = &[_]OperandKind{.LiteralInteger} },
1440 .{ .name = "BitPiece", .value = 4, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger } },
1441 .{ .name = "Swap", .value = 5, .parameters = &[_]OperandKind{} },
1442 .{ .name = "Xderef", .value = 6, .parameters = &[_]OperandKind{} },
1443 .{ .name = "StackValue", .value = 7, .parameters = &[_]OperandKind{} },
1444 .{ .name = "Constu", .value = 8, .parameters = &[_]OperandKind{.LiteralInteger} },
1445 .{ .name = "Fragment", .value = 9, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger } },
1446 },
1447 .@"opencl.debuginfo.100.DebugImportedEntity" => &[_]Enumerant{
1448 .{ .name = "ImportedModule", .value = 0, .parameters = &[_]OperandKind{} },
1449 .{ .name = "ImportedDeclaration", .value = 1, .parameters = &[_]OperandKind{} },
1450 },
1451 .@"nonsemantic.shader.debuginfo.100.DebugInfoFlags" => &[_]Enumerant{
1452 .{ .name = "FlagIsProtected", .value = 0x01, .parameters = &[_]OperandKind{} },
1453 .{ .name = "FlagIsPrivate", .value = 0x02, .parameters = &[_]OperandKind{} },
1454 .{ .name = "FlagIsPublic", .value = 0x03, .parameters = &[_]OperandKind{} },
1455 .{ .name = "FlagIsLocal", .value = 0x04, .parameters = &[_]OperandKind{} },
1456 .{ .name = "FlagIsDefinition", .value = 0x08, .parameters = &[_]OperandKind{} },
1457 .{ .name = "FlagFwdDecl", .value = 0x10, .parameters = &[_]OperandKind{} },
1458 .{ .name = "FlagArtificial", .value = 0x20, .parameters = &[_]OperandKind{} },
1459 .{ .name = "FlagExplicit", .value = 0x40, .parameters = &[_]OperandKind{} },
1460 .{ .name = "FlagPrototyped", .value = 0x80, .parameters = &[_]OperandKind{} },
1461 .{ .name = "FlagObjectPointer", .value = 0x100, .parameters = &[_]OperandKind{} },
1462 .{ .name = "FlagStaticMember", .value = 0x200, .parameters = &[_]OperandKind{} },
1463 .{ .name = "FlagIndirectVariable", .value = 0x400, .parameters = &[_]OperandKind{} },
1464 .{ .name = "FlagLValueReference", .value = 0x800, .parameters = &[_]OperandKind{} },
1465 .{ .name = "FlagRValueReference", .value = 0x1000, .parameters = &[_]OperandKind{} },
1466 .{ .name = "FlagIsOptimized", .value = 0x2000, .parameters = &[_]OperandKind{} },
1467 .{ .name = "FlagIsEnumClass", .value = 0x4000, .parameters = &[_]OperandKind{} },
1468 .{ .name = "FlagTypePassByValue", .value = 0x8000, .parameters = &[_]OperandKind{} },
1469 .{ .name = "FlagTypePassByReference", .value = 0x10000, .parameters = &[_]OperandKind{} },
1470 .{ .name = "FlagUnknownPhysicalLayout", .value = 0x20000, .parameters = &[_]OperandKind{} },
1471 },
1472 .@"nonsemantic.shader.debuginfo.100.BuildIdentifierFlags" => &[_]Enumerant{
1473 .{ .name = "IdentifierPossibleDuplicates", .value = 0x01, .parameters = &[_]OperandKind{} },
1474 },
1475 .@"nonsemantic.shader.debuginfo.100.DebugBaseTypeAttributeEncoding" => &[_]Enumerant{
1476 .{ .name = "Unspecified", .value = 0, .parameters = &[_]OperandKind{} },
1477 .{ .name = "Address", .value = 1, .parameters = &[_]OperandKind{} },
1478 .{ .name = "Boolean", .value = 2, .parameters = &[_]OperandKind{} },
1479 .{ .name = "Float", .value = 3, .parameters = &[_]OperandKind{} },
1480 .{ .name = "Signed", .value = 4, .parameters = &[_]OperandKind{} },
1481 .{ .name = "SignedChar", .value = 5, .parameters = &[_]OperandKind{} },
1482 .{ .name = "Unsigned", .value = 6, .parameters = &[_]OperandKind{} },
1483 .{ .name = "UnsignedChar", .value = 7, .parameters = &[_]OperandKind{} },
1484 },
1485 .@"nonsemantic.shader.debuginfo.100.DebugCompositeType" => &[_]Enumerant{
1486 .{ .name = "Class", .value = 0, .parameters = &[_]OperandKind{} },
1487 .{ .name = "Structure", .value = 1, .parameters = &[_]OperandKind{} },
1488 .{ .name = "Union", .value = 2, .parameters = &[_]OperandKind{} },
1489 },
1490 .@"nonsemantic.shader.debuginfo.100.DebugTypeQualifier" => &[_]Enumerant{
1491 .{ .name = "ConstType", .value = 0, .parameters = &[_]OperandKind{} },
1492 .{ .name = "VolatileType", .value = 1, .parameters = &[_]OperandKind{} },
1493 .{ .name = "RestrictType", .value = 2, .parameters = &[_]OperandKind{} },
1494 .{ .name = "AtomicType", .value = 3, .parameters = &[_]OperandKind{} },
1495 },
1496 .@"nonsemantic.shader.debuginfo.100.DebugOperation" => &[_]Enumerant{
1497 .{ .name = "Deref", .value = 0, .parameters = &[_]OperandKind{} },
1498 .{ .name = "Plus", .value = 1, .parameters = &[_]OperandKind{} },
1499 .{ .name = "Minus", .value = 2, .parameters = &[_]OperandKind{} },
1500 .{ .name = "PlusUconst", .value = 3, .parameters = &[_]OperandKind{.IdRef} },
1501 .{ .name = "BitPiece", .value = 4, .parameters = &[_]OperandKind{ .IdRef, .IdRef } },
1502 .{ .name = "Swap", .value = 5, .parameters = &[_]OperandKind{} },
1503 .{ .name = "Xderef", .value = 6, .parameters = &[_]OperandKind{} },
1504 .{ .name = "StackValue", .value = 7, .parameters = &[_]OperandKind{} },
1505 .{ .name = "Constu", .value = 8, .parameters = &[_]OperandKind{.IdRef} },
1506 .{ .name = "Fragment", .value = 9, .parameters = &[_]OperandKind{ .IdRef, .IdRef } },
1507 },
1508 .@"nonsemantic.shader.debuginfo.100.DebugImportedEntity" => &[_]Enumerant{
1509 .{ .name = "ImportedModule", .value = 0, .parameters = &[_]OperandKind{} },
1510 .{ .name = "ImportedDeclaration", .value = 1, .parameters = &[_]OperandKind{} },
1511 },
1512 .@"nonsemantic.clspvreflection.KernelPropertyFlags" => &[_]Enumerant{
1513 .{ .name = "MayUsePrintf", .value = 0x1, .parameters = &[_]OperandKind{} },
1514 },
1515 .@"debuginfo.DebugInfoFlags" => &[_]Enumerant{
1516 .{ .name = "FlagIsProtected", .value = 0x01, .parameters = &[_]OperandKind{} },
1517 .{ .name = "FlagIsPrivate", .value = 0x02, .parameters = &[_]OperandKind{} },
1518 .{ .name = "FlagIsPublic", .value = 0x03, .parameters = &[_]OperandKind{} },
1519 .{ .name = "FlagIsLocal", .value = 0x04, .parameters = &[_]OperandKind{} },
1520 .{ .name = "FlagIsDefinition", .value = 0x08, .parameters = &[_]OperandKind{} },
1521 .{ .name = "FlagFwdDecl", .value = 0x10, .parameters = &[_]OperandKind{} },
1522 .{ .name = "FlagArtificial", .value = 0x20, .parameters = &[_]OperandKind{} },
1523 .{ .name = "FlagExplicit", .value = 0x40, .parameters = &[_]OperandKind{} },
1524 .{ .name = "FlagPrototyped", .value = 0x80, .parameters = &[_]OperandKind{} },
1525 .{ .name = "FlagObjectPointer", .value = 0x100, .parameters = &[_]OperandKind{} },
1526 .{ .name = "FlagStaticMember", .value = 0x200, .parameters = &[_]OperandKind{} },
1527 .{ .name = "FlagIndirectVariable", .value = 0x400, .parameters = &[_]OperandKind{} },
1528 .{ .name = "FlagLValueReference", .value = 0x800, .parameters = &[_]OperandKind{} },
1529 .{ .name = "FlagRValueReference", .value = 0x1000, .parameters = &[_]OperandKind{} },
1530 .{ .name = "FlagIsOptimized", .value = 0x2000, .parameters = &[_]OperandKind{} },
1531 },
1532 .@"debuginfo.DebugBaseTypeAttributeEncoding" => &[_]Enumerant{
1533 .{ .name = "Unspecified", .value = 0, .parameters = &[_]OperandKind{} },
1534 .{ .name = "Address", .value = 1, .parameters = &[_]OperandKind{} },
1535 .{ .name = "Boolean", .value = 2, .parameters = &[_]OperandKind{} },
1536 .{ .name = "Float", .value = 4, .parameters = &[_]OperandKind{} },
1537 .{ .name = "Signed", .value = 5, .parameters = &[_]OperandKind{} },
1538 .{ .name = "SignedChar", .value = 6, .parameters = &[_]OperandKind{} },
1539 .{ .name = "Unsigned", .value = 7, .parameters = &[_]OperandKind{} },
1540 .{ .name = "UnsignedChar", .value = 8, .parameters = &[_]OperandKind{} },
1541 },
1542 .@"debuginfo.DebugCompositeType" => &[_]Enumerant{
1543 .{ .name = "Class", .value = 0, .parameters = &[_]OperandKind{} },
1544 .{ .name = "Structure", .value = 1, .parameters = &[_]OperandKind{} },
1545 .{ .name = "Union", .value = 2, .parameters = &[_]OperandKind{} },
1546 },
1547 .@"debuginfo.DebugTypeQualifier" => &[_]Enumerant{
1548 .{ .name = "ConstType", .value = 0, .parameters = &[_]OperandKind{} },
1549 .{ .name = "VolatileType", .value = 1, .parameters = &[_]OperandKind{} },
1550 .{ .name = "RestrictType", .value = 2, .parameters = &[_]OperandKind{} },
1551 },
1552 .@"debuginfo.DebugOperation" => &[_]Enumerant{
1553 .{ .name = "Deref", .value = 0, .parameters = &[_]OperandKind{} },
1554 .{ .name = "Plus", .value = 1, .parameters = &[_]OperandKind{} },
1555 .{ .name = "Minus", .value = 2, .parameters = &[_]OperandKind{} },
1556 .{ .name = "PlusUconst", .value = 3, .parameters = &[_]OperandKind{.LiteralInteger} },
1557 .{ .name = "BitPiece", .value = 4, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger } },
1558 .{ .name = "Swap", .value = 5, .parameters = &[_]OperandKind{} },
1559 .{ .name = "Xderef", .value = 6, .parameters = &[_]OperandKind{} },
1560 .{ .name = "StackValue", .value = 7, .parameters = &[_]OperandKind{} },
1561 .{ .name = "Constu", .value = 8, .parameters = &[_]OperandKind{.LiteralInteger} },
1562 },
1134 };1563 };
1135 }1564 }
1136};1565};
...@@ -1479,12 +1908,16 @@ pub const Opcode = enum(u16) {...@@ -1479,12 +1908,16 @@ pub const Opcode = enum(u16) {
1479 OpPtrEqual = 401,1908 OpPtrEqual = 401,
1480 OpPtrNotEqual = 402,1909 OpPtrNotEqual = 402,
1481 OpPtrDiff = 403,1910 OpPtrDiff = 403,
1911 OpColorAttachmentReadEXT = 4160,
1912 OpDepthAttachmentReadEXT = 4161,
1913 OpStencilAttachmentReadEXT = 4162,
1482 OpTerminateInvocation = 4416,1914 OpTerminateInvocation = 4416,
1483 OpSubgroupBallotKHR = 4421,1915 OpSubgroupBallotKHR = 4421,
1484 OpSubgroupFirstInvocationKHR = 4422,1916 OpSubgroupFirstInvocationKHR = 4422,
1485 OpSubgroupAllKHR = 4428,1917 OpSubgroupAllKHR = 4428,
1486 OpSubgroupAnyKHR = 4429,1918 OpSubgroupAnyKHR = 4429,
1487 OpSubgroupAllEqualKHR = 4430,1919 OpSubgroupAllEqualKHR = 4430,
1920 OpGroupNonUniformRotateKHR = 4431,
1488 OpSubgroupReadInvocationKHR = 4432,1921 OpSubgroupReadInvocationKHR = 4432,
1489 OpTraceRayKHR = 4445,1922 OpTraceRayKHR = 4445,
1490 OpExecuteCallableKHR = 4446,1923 OpExecuteCallableKHR = 4446,
...@@ -1497,6 +1930,11 @@ pub const Opcode = enum(u16) {...@@ -1497,6 +1930,11 @@ pub const Opcode = enum(u16) {
1497 OpSDotAccSat = 4453,1930 OpSDotAccSat = 4453,
1498 OpUDotAccSat = 4454,1931 OpUDotAccSat = 4454,
1499 OpSUDotAccSat = 4455,1932 OpSUDotAccSat = 4455,
1933 OpTypeCooperativeMatrixKHR = 4456,
1934 OpCooperativeMatrixLoadKHR = 4457,
1935 OpCooperativeMatrixStoreKHR = 4458,
1936 OpCooperativeMatrixMulAddKHR = 4459,
1937 OpCooperativeMatrixLengthKHR = 4460,
1500 OpTypeRayQueryKHR = 4472,1938 OpTypeRayQueryKHR = 4472,
1501 OpRayQueryInitializeKHR = 4473,1939 OpRayQueryInitializeKHR = 4473,
1502 OpRayQueryTerminateKHR = 4474,1940 OpRayQueryTerminateKHR = 4474,
...@@ -1504,6 +1942,14 @@ pub const Opcode = enum(u16) {...@@ -1504,6 +1942,14 @@ pub const Opcode = enum(u16) {
1504 OpRayQueryConfirmIntersectionKHR = 4476,1942 OpRayQueryConfirmIntersectionKHR = 4476,
1505 OpRayQueryProceedKHR = 4477,1943 OpRayQueryProceedKHR = 4477,
1506 OpRayQueryGetIntersectionTypeKHR = 4479,1944 OpRayQueryGetIntersectionTypeKHR = 4479,
1945 OpImageSampleWeightedQCOM = 4480,
1946 OpImageBoxFilterQCOM = 4481,
1947 OpImageBlockMatchSSDQCOM = 4482,
1948 OpImageBlockMatchSADQCOM = 4483,
1949 OpImageBlockMatchWindowSSDQCOM = 4500,
1950 OpImageBlockMatchWindowSADQCOM = 4501,
1951 OpImageBlockMatchGatherSSDQCOM = 4502,
1952 OpImageBlockMatchGatherSADQCOM = 4503,
1507 OpGroupIAddNonUniformAMD = 5000,1953 OpGroupIAddNonUniformAMD = 5000,
1508 OpGroupFAddNonUniformAMD = 5001,1954 OpGroupFAddNonUniformAMD = 5001,
1509 OpGroupFMinNonUniformAMD = 5002,1955 OpGroupFMinNonUniformAMD = 5002,
...@@ -1515,15 +1961,58 @@ pub const Opcode = enum(u16) {...@@ -1515,15 +1961,58 @@ pub const Opcode = enum(u16) {
1515 OpFragmentMaskFetchAMD = 5011,1961 OpFragmentMaskFetchAMD = 5011,
1516 OpFragmentFetchAMD = 5012,1962 OpFragmentFetchAMD = 5012,
1517 OpReadClockKHR = 5056,1963 OpReadClockKHR = 5056,
1964 OpFinalizeNodePayloadsAMDX = 5075,
1965 OpFinishWritingNodePayloadAMDX = 5078,
1966 OpInitializeNodePayloadsAMDX = 5090,
1967 OpGroupNonUniformQuadAllKHR = 5110,
1968 OpGroupNonUniformQuadAnyKHR = 5111,
1969 OpHitObjectRecordHitMotionNV = 5249,
1970 OpHitObjectRecordHitWithIndexMotionNV = 5250,
1971 OpHitObjectRecordMissMotionNV = 5251,
1972 OpHitObjectGetWorldToObjectNV = 5252,
1973 OpHitObjectGetObjectToWorldNV = 5253,
1974 OpHitObjectGetObjectRayDirectionNV = 5254,
1975 OpHitObjectGetObjectRayOriginNV = 5255,
1976 OpHitObjectTraceRayMotionNV = 5256,
1977 OpHitObjectGetShaderRecordBufferHandleNV = 5257,
1978 OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
1979 OpHitObjectRecordEmptyNV = 5259,
1980 OpHitObjectTraceRayNV = 5260,
1981 OpHitObjectRecordHitNV = 5261,
1982 OpHitObjectRecordHitWithIndexNV = 5262,
1983 OpHitObjectRecordMissNV = 5263,
1984 OpHitObjectExecuteShaderNV = 5264,
1985 OpHitObjectGetCurrentTimeNV = 5265,
1986 OpHitObjectGetAttributesNV = 5266,
1987 OpHitObjectGetHitKindNV = 5267,
1988 OpHitObjectGetPrimitiveIndexNV = 5268,
1989 OpHitObjectGetGeometryIndexNV = 5269,
1990 OpHitObjectGetInstanceIdNV = 5270,
1991 OpHitObjectGetInstanceCustomIndexNV = 5271,
1992 OpHitObjectGetWorldRayDirectionNV = 5272,
1993 OpHitObjectGetWorldRayOriginNV = 5273,
1994 OpHitObjectGetRayTMaxNV = 5274,
1995 OpHitObjectGetRayTMinNV = 5275,
1996 OpHitObjectIsEmptyNV = 5276,
1997 OpHitObjectIsHitNV = 5277,
1998 OpHitObjectIsMissNV = 5278,
1999 OpReorderThreadWithHitObjectNV = 5279,
2000 OpReorderThreadWithHintNV = 5280,
2001 OpTypeHitObjectNV = 5281,
1518 OpImageSampleFootprintNV = 5283,2002 OpImageSampleFootprintNV = 5283,
2003 OpEmitMeshTasksEXT = 5294,
2004 OpSetMeshOutputsEXT = 5295,
1519 OpGroupNonUniformPartitionNV = 5296,2005 OpGroupNonUniformPartitionNV = 5296,
1520 OpWritePackedPrimitiveIndices4x8NV = 5299,2006 OpWritePackedPrimitiveIndices4x8NV = 5299,
2007 OpFetchMicroTriangleVertexPositionNV = 5300,
2008 OpFetchMicroTriangleVertexBarycentricNV = 5301,
1521 OpReportIntersectionKHR = 5334,2009 OpReportIntersectionKHR = 5334,
1522 OpIgnoreIntersectionNV = 5335,2010 OpIgnoreIntersectionNV = 5335,
1523 OpTerminateRayNV = 5336,2011 OpTerminateRayNV = 5336,
1524 OpTraceNV = 5337,2012 OpTraceNV = 5337,
1525 OpTraceMotionNV = 5338,2013 OpTraceMotionNV = 5338,
1526 OpTraceRayMotionNV = 5339,2014 OpTraceRayMotionNV = 5339,
2015 OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
1527 OpTypeAccelerationStructureKHR = 5341,2016 OpTypeAccelerationStructureKHR = 5341,
1528 OpExecuteCallableNV = 5344,2017 OpExecuteCallableNV = 5344,
1529 OpTypeCooperativeMatrixNV = 5358,2018 OpTypeCooperativeMatrixNV = 5358,
...@@ -1542,6 +2031,7 @@ pub const Opcode = enum(u16) {...@@ -1542,6 +2031,7 @@ pub const Opcode = enum(u16) {
1542 OpConvertUToSampledImageNV = 5395,2031 OpConvertUToSampledImageNV = 5395,
1543 OpConvertSampledImageToUNV = 5396,2032 OpConvertSampledImageToUNV = 5396,
1544 OpSamplerImageAddressingModeNV = 5397,2033 OpSamplerImageAddressingModeNV = 5397,
2034 OpRawAccessChainNV = 5398,
1545 OpSubgroupShuffleINTEL = 5571,2035 OpSubgroupShuffleINTEL = 5571,
1546 OpSubgroupShuffleDownINTEL = 5572,2036 OpSubgroupShuffleDownINTEL = 5572,
1547 OpSubgroupShuffleUpINTEL = 5573,2037 OpSubgroupShuffleUpINTEL = 5573,
...@@ -1598,6 +2088,21 @@ pub const Opcode = enum(u16) {...@@ -1598,6 +2088,21 @@ pub const Opcode = enum(u16) {
1598 OpTypeStructContinuedINTEL = 6090,2088 OpTypeStructContinuedINTEL = 6090,
1599 OpConstantCompositeContinuedINTEL = 6091,2089 OpConstantCompositeContinuedINTEL = 6091,
1600 OpSpecConstantCompositeContinuedINTEL = 6092,2090 OpSpecConstantCompositeContinuedINTEL = 6092,
2091 OpCompositeConstructContinuedINTEL = 6096,
2092 OpConvertFToBF16INTEL = 6116,
2093 OpConvertBF16ToFINTEL = 6117,
2094 OpControlBarrierArriveINTEL = 6142,
2095 OpControlBarrierWaitINTEL = 6143,
2096 OpGroupIMulKHR = 6401,
2097 OpGroupFMulKHR = 6402,
2098 OpGroupBitwiseAndKHR = 6403,
2099 OpGroupBitwiseOrKHR = 6404,
2100 OpGroupBitwiseXorKHR = 6405,
2101 OpGroupLogicalAndKHR = 6406,
2102 OpGroupLogicalOrKHR = 6407,
2103 OpGroupLogicalXorKHR = 6408,
2104 OpMaskedGatherINTEL = 6428,
2105 OpMaskedScatterINTEL = 6429,
16012106
1602 pub const OpSDotKHR = Opcode.OpSDot;2107 pub const OpSDotKHR = Opcode.OpSDot;
1603 pub const OpUDotKHR = Opcode.OpUDot;2108 pub const OpUDotKHR = Opcode.OpUDot;
...@@ -1957,12 +2462,16 @@ pub const Opcode = enum(u16) {...@@ -1957,12 +2462,16 @@ pub const Opcode = enum(u16) {
1957 .OpPtrEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },2462 .OpPtrEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
1958 .OpPtrNotEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },2463 .OpPtrNotEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
1959 .OpPtrDiff => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },2464 .OpPtrDiff => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
2465 .OpColorAttachmentReadEXT => struct { id_result_type: IdResultType, id_result: IdResult, attachment: IdRef, sample: ?IdRef = null },
2466 .OpDepthAttachmentReadEXT => struct { id_result_type: IdResultType, id_result: IdResult, sample: ?IdRef = null },
2467 .OpStencilAttachmentReadEXT => struct { id_result_type: IdResultType, id_result: IdResult, sample: ?IdRef = null },
1960 .OpTerminateInvocation => void,2468 .OpTerminateInvocation => void,
1961 .OpSubgroupBallotKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },2469 .OpSubgroupBallotKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
1962 .OpSubgroupFirstInvocationKHR => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef },2470 .OpSubgroupFirstInvocationKHR => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef },
1963 .OpSubgroupAllKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },2471 .OpSubgroupAllKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
1964 .OpSubgroupAnyKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },2472 .OpSubgroupAnyKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
1965 .OpSubgroupAllEqualKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },2473 .OpSubgroupAllEqualKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
2474 .OpGroupNonUniformRotateKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, delta: IdRef, clustersize: ?IdRef = null },
1966 .OpSubgroupReadInvocationKHR => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef, index: IdRef },2475 .OpSubgroupReadInvocationKHR => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef, index: IdRef },
1967 .OpTraceRayKHR => struct { accel: IdRef, ray_flags: IdRef, cull_mask: IdRef, sbt_offset: IdRef, sbt_stride: IdRef, miss_index: IdRef, ray_origin: IdRef, ray_tmin: IdRef, ray_direction: IdRef, ray_tmax: IdRef, payload: IdRef },2476 .OpTraceRayKHR => struct { accel: IdRef, ray_flags: IdRef, cull_mask: IdRef, sbt_offset: IdRef, sbt_stride: IdRef, miss_index: IdRef, ray_origin: IdRef, ray_tmin: IdRef, ray_direction: IdRef, ray_tmax: IdRef, payload: IdRef },
1968 .OpExecuteCallableKHR => struct { sbt_index: IdRef, callable_data: IdRef },2477 .OpExecuteCallableKHR => struct { sbt_index: IdRef, callable_data: IdRef },
...@@ -1975,6 +2484,11 @@ pub const Opcode = enum(u16) {...@@ -1975,6 +2484,11 @@ pub const Opcode = enum(u16) {
1975 .OpSDotAccSat => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, accumulator: IdRef, packed_vector_format: ?PackedVectorFormat = null },2484 .OpSDotAccSat => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, accumulator: IdRef, packed_vector_format: ?PackedVectorFormat = null },
1976 .OpUDotAccSat => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, accumulator: IdRef, packed_vector_format: ?PackedVectorFormat = null },2485 .OpUDotAccSat => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, accumulator: IdRef, packed_vector_format: ?PackedVectorFormat = null },
1977 .OpSUDotAccSat => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, accumulator: IdRef, packed_vector_format: ?PackedVectorFormat = null },2486 .OpSUDotAccSat => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, accumulator: IdRef, packed_vector_format: ?PackedVectorFormat = null },
2487 .OpTypeCooperativeMatrixKHR => struct { id_result: IdResult, component_type: IdRef, scope: IdScope, rows: IdRef, columns: IdRef, use: IdRef },
2488 .OpCooperativeMatrixLoadKHR => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memorylayout: IdRef, stride: ?IdRef = null, memory_operand: ?MemoryAccess.Extended = null },
2489 .OpCooperativeMatrixStoreKHR => struct { pointer: IdRef, object: IdRef, memorylayout: IdRef, stride: ?IdRef = null, memory_operand: ?MemoryAccess.Extended = null },
2490 .OpCooperativeMatrixMulAddKHR => struct { id_result_type: IdResultType, id_result: IdResult, a: IdRef, b: IdRef, c: IdRef, cooperative_matrix_operands: ?CooperativeMatrixOperands = null },
2491 .OpCooperativeMatrixLengthKHR => struct { id_result_type: IdResultType, id_result: IdResult, type: IdRef },
1978 .OpTypeRayQueryKHR => struct { id_result: IdResult },2492 .OpTypeRayQueryKHR => struct { id_result: IdResult },
1979 .OpRayQueryInitializeKHR => struct { rayquery: IdRef, accel: IdRef, rayflags: IdRef, cullmask: IdRef, rayorigin: IdRef, raytmin: IdRef, raydirection: IdRef, raytmax: IdRef },2493 .OpRayQueryInitializeKHR => struct { rayquery: IdRef, accel: IdRef, rayflags: IdRef, cullmask: IdRef, rayorigin: IdRef, raytmin: IdRef, raydirection: IdRef, raytmax: IdRef },
1980 .OpRayQueryTerminateKHR => struct { rayquery: IdRef },2494 .OpRayQueryTerminateKHR => struct { rayquery: IdRef },
...@@ -1982,6 +2496,14 @@ pub const Opcode = enum(u16) {...@@ -1982,6 +2496,14 @@ pub const Opcode = enum(u16) {
1982 .OpRayQueryConfirmIntersectionKHR => struct { rayquery: IdRef },2496 .OpRayQueryConfirmIntersectionKHR => struct { rayquery: IdRef },
1983 .OpRayQueryProceedKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef },2497 .OpRayQueryProceedKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef },
1984 .OpRayQueryGetIntersectionTypeKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },2498 .OpRayQueryGetIntersectionTypeKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
2499 .OpImageSampleWeightedQCOM => struct { id_result_type: IdResultType, id_result: IdResult, texture: IdRef, coordinates: IdRef, weights: IdRef },
2500 .OpImageBoxFilterQCOM => struct { id_result_type: IdResultType, id_result: IdResult, texture: IdRef, coordinates: IdRef, box_size: IdRef },
2501 .OpImageBlockMatchSSDQCOM => struct { id_result_type: IdResultType, id_result: IdResult, target: IdRef, target_coordinates: IdRef, reference: IdRef, reference_coordinates: IdRef, block_size: IdRef },
2502 .OpImageBlockMatchSADQCOM => struct { id_result_type: IdResultType, id_result: IdResult, target: IdRef, target_coordinates: IdRef, reference: IdRef, reference_coordinates: IdRef, block_size: IdRef },
2503 .OpImageBlockMatchWindowSSDQCOM => struct { id_result_type: IdResultType, id_result: IdResult, target_sampled_image: IdRef, target_coordinates: IdRef, reference_sampled_image: IdRef, reference_coordinates: IdRef, block_size: IdRef },
2504 .OpImageBlockMatchWindowSADQCOM => struct { id_result_type: IdResultType, id_result: IdResult, target_sampled_image: IdRef, target_coordinates: IdRef, reference_sampled_image: IdRef, reference_coordinates: IdRef, block_size: IdRef },
2505 .OpImageBlockMatchGatherSSDQCOM => struct { id_result_type: IdResultType, id_result: IdResult, target_sampled_image: IdRef, target_coordinates: IdRef, reference_sampled_image: IdRef, reference_coordinates: IdRef, block_size: IdRef },
2506 .OpImageBlockMatchGatherSADQCOM => struct { id_result_type: IdResultType, id_result: IdResult, target_sampled_image: IdRef, target_coordinates: IdRef, reference_sampled_image: IdRef, reference_coordinates: IdRef, block_size: IdRef },
1985 .OpGroupIAddNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },2507 .OpGroupIAddNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
1986 .OpGroupFAddNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },2508 .OpGroupFAddNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
1987 .OpGroupFMinNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },2509 .OpGroupFMinNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
...@@ -1993,15 +2515,58 @@ pub const Opcode = enum(u16) {...@@ -1993,15 +2515,58 @@ pub const Opcode = enum(u16) {
1993 .OpFragmentMaskFetchAMD => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef },2515 .OpFragmentMaskFetchAMD => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef },
1994 .OpFragmentFetchAMD => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, fragment_index: IdRef },2516 .OpFragmentFetchAMD => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, fragment_index: IdRef },
1995 .OpReadClockKHR => struct { id_result_type: IdResultType, id_result: IdResult, scope: IdScope },2517 .OpReadClockKHR => struct { id_result_type: IdResultType, id_result: IdResult, scope: IdScope },
2518 .OpFinalizeNodePayloadsAMDX => struct { payload_array: IdRef },
2519 .OpFinishWritingNodePayloadAMDX => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef },
2520 .OpInitializeNodePayloadsAMDX => struct { payload_array: IdRef, visibility: IdScope, payload_count: IdRef, node_index: IdRef },
2521 .OpGroupNonUniformQuadAllKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
2522 .OpGroupNonUniformQuadAnyKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
2523 .OpHitObjectRecordHitMotionNV => struct { hit_object: IdRef, acceleration_structure: IdRef, instanceid: IdRef, primitiveid: IdRef, geometryindex: IdRef, hit_kind: IdRef, sbt_record_offset: IdRef, sbt_record_stride: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef, current_time: IdRef, hitobject_attributes: IdRef },
2524 .OpHitObjectRecordHitWithIndexMotionNV => struct { hit_object: IdRef, acceleration_structure: IdRef, instanceid: IdRef, primitiveid: IdRef, geometryindex: IdRef, hit_kind: IdRef, sbt_record_index: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef, current_time: IdRef, hitobject_attributes: IdRef },
2525 .OpHitObjectRecordMissMotionNV => struct { hit_object: IdRef, sbt_index: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef, current_time: IdRef },
2526 .OpHitObjectGetWorldToObjectNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2527 .OpHitObjectGetObjectToWorldNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2528 .OpHitObjectGetObjectRayDirectionNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2529 .OpHitObjectGetObjectRayOriginNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2530 .OpHitObjectTraceRayMotionNV => struct { hit_object: IdRef, acceleration_structure: IdRef, rayflags: IdRef, cullmask: IdRef, sbt_record_offset: IdRef, sbt_record_stride: IdRef, miss_index: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef, time: IdRef, payload: IdRef },
2531 .OpHitObjectGetShaderRecordBufferHandleNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2532 .OpHitObjectGetShaderBindingTableRecordIndexNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2533 .OpHitObjectRecordEmptyNV => struct { hit_object: IdRef },
2534 .OpHitObjectTraceRayNV => struct { hit_object: IdRef, acceleration_structure: IdRef, rayflags: IdRef, cullmask: IdRef, sbt_record_offset: IdRef, sbt_record_stride: IdRef, miss_index: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef, payload: IdRef },
2535 .OpHitObjectRecordHitNV => struct { hit_object: IdRef, acceleration_structure: IdRef, instanceid: IdRef, primitiveid: IdRef, geometryindex: IdRef, hit_kind: IdRef, sbt_record_offset: IdRef, sbt_record_stride: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef, hitobject_attributes: IdRef },
2536 .OpHitObjectRecordHitWithIndexNV => struct { hit_object: IdRef, acceleration_structure: IdRef, instanceid: IdRef, primitiveid: IdRef, geometryindex: IdRef, hit_kind: IdRef, sbt_record_index: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef, hitobject_attributes: IdRef },
2537 .OpHitObjectRecordMissNV => struct { hit_object: IdRef, sbt_index: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef },
2538 .OpHitObjectExecuteShaderNV => struct { hit_object: IdRef, payload: IdRef },
2539 .OpHitObjectGetCurrentTimeNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2540 .OpHitObjectGetAttributesNV => struct { hit_object: IdRef, hit_object_attribute: IdRef },
2541 .OpHitObjectGetHitKindNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2542 .OpHitObjectGetPrimitiveIndexNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2543 .OpHitObjectGetGeometryIndexNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2544 .OpHitObjectGetInstanceIdNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2545 .OpHitObjectGetInstanceCustomIndexNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2546 .OpHitObjectGetWorldRayDirectionNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2547 .OpHitObjectGetWorldRayOriginNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2548 .OpHitObjectGetRayTMaxNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2549 .OpHitObjectGetRayTMinNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2550 .OpHitObjectIsEmptyNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2551 .OpHitObjectIsHitNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2552 .OpHitObjectIsMissNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
2553 .OpReorderThreadWithHitObjectNV => struct { hit_object: IdRef, hint: ?IdRef = null, bits: ?IdRef = null },
2554 .OpReorderThreadWithHintNV => struct { hint: IdRef, bits: IdRef },
2555 .OpTypeHitObjectNV => struct { id_result: IdResult },
1996 .OpImageSampleFootprintNV => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, granularity: IdRef, coarse: IdRef, image_operands: ?ImageOperands.Extended = null },2556 .OpImageSampleFootprintNV => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, granularity: IdRef, coarse: IdRef, image_operands: ?ImageOperands.Extended = null },
2557 .OpEmitMeshTasksEXT => struct { group_count_x: IdRef, group_count_y: IdRef, group_count_z: IdRef, payload: ?IdRef = null },
2558 .OpSetMeshOutputsEXT => struct { vertex_count: IdRef, primitive_count: IdRef },
1997 .OpGroupNonUniformPartitionNV => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef },2559 .OpGroupNonUniformPartitionNV => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef },
1998 .OpWritePackedPrimitiveIndices4x8NV => struct { index_offset: IdRef, packed_indices: IdRef },2560 .OpWritePackedPrimitiveIndices4x8NV => struct { index_offset: IdRef, packed_indices: IdRef },
2561 .OpFetchMicroTriangleVertexPositionNV => struct { id_result_type: IdResultType, id_result: IdResult, accel: IdRef, instance_id: IdRef, geometry_index: IdRef, primitive_index: IdRef, barycentric: IdRef },
2562 .OpFetchMicroTriangleVertexBarycentricNV => struct { id_result_type: IdResultType, id_result: IdResult, accel: IdRef, instance_id: IdRef, geometry_index: IdRef, primitive_index: IdRef, barycentric: IdRef },
1999 .OpReportIntersectionKHR => struct { id_result_type: IdResultType, id_result: IdResult, hit: IdRef, hitkind: IdRef },2563 .OpReportIntersectionKHR => struct { id_result_type: IdResultType, id_result: IdResult, hit: IdRef, hitkind: IdRef },
2000 .OpIgnoreIntersectionNV => void,2564 .OpIgnoreIntersectionNV => void,
2001 .OpTerminateRayNV => void,2565 .OpTerminateRayNV => void,
2002 .OpTraceNV => struct { accel: IdRef, ray_flags: IdRef, cull_mask: IdRef, sbt_offset: IdRef, sbt_stride: IdRef, miss_index: IdRef, ray_origin: IdRef, ray_tmin: IdRef, ray_direction: IdRef, ray_tmax: IdRef, payloadid: IdRef },2566 .OpTraceNV => struct { accel: IdRef, ray_flags: IdRef, cull_mask: IdRef, sbt_offset: IdRef, sbt_stride: IdRef, miss_index: IdRef, ray_origin: IdRef, ray_tmin: IdRef, ray_direction: IdRef, ray_tmax: IdRef, payloadid: IdRef },
2003 .OpTraceMotionNV => struct { accel: IdRef, ray_flags: IdRef, cull_mask: IdRef, sbt_offset: IdRef, sbt_stride: IdRef, miss_index: IdRef, ray_origin: IdRef, ray_tmin: IdRef, ray_direction: IdRef, ray_tmax: IdRef, time: IdRef, payloadid: IdRef },2567 .OpTraceMotionNV => struct { accel: IdRef, ray_flags: IdRef, cull_mask: IdRef, sbt_offset: IdRef, sbt_stride: IdRef, miss_index: IdRef, ray_origin: IdRef, ray_tmin: IdRef, ray_direction: IdRef, ray_tmax: IdRef, time: IdRef, payloadid: IdRef },
2004 .OpTraceRayMotionNV => struct { accel: IdRef, ray_flags: IdRef, cull_mask: IdRef, sbt_offset: IdRef, sbt_stride: IdRef, miss_index: IdRef, ray_origin: IdRef, ray_tmin: IdRef, ray_direction: IdRef, ray_tmax: IdRef, time: IdRef, payload: IdRef },2568 .OpTraceRayMotionNV => struct { accel: IdRef, ray_flags: IdRef, cull_mask: IdRef, sbt_offset: IdRef, sbt_stride: IdRef, miss_index: IdRef, ray_origin: IdRef, ray_tmin: IdRef, ray_direction: IdRef, ray_tmax: IdRef, time: IdRef, payload: IdRef },
2569 .OpRayQueryGetIntersectionTriangleVertexPositionsKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
2005 .OpTypeAccelerationStructureKHR => struct { id_result: IdResult },2570 .OpTypeAccelerationStructureKHR => struct { id_result: IdResult },
2006 .OpExecuteCallableNV => struct { sbt_index: IdRef, callable_dataid: IdRef },2571 .OpExecuteCallableNV => struct { sbt_index: IdRef, callable_dataid: IdRef },
2007 .OpTypeCooperativeMatrixNV => struct { id_result: IdResult, component_type: IdRef, execution: IdScope, rows: IdRef, columns: IdRef },2572 .OpTypeCooperativeMatrixNV => struct { id_result: IdResult, component_type: IdRef, execution: IdScope, rows: IdRef, columns: IdRef },
...@@ -2020,6 +2585,7 @@ pub const Opcode = enum(u16) {...@@ -2020,6 +2585,7 @@ pub const Opcode = enum(u16) {
2020 .OpConvertUToSampledImageNV => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },2585 .OpConvertUToSampledImageNV => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
2021 .OpConvertSampledImageToUNV => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },2586 .OpConvertSampledImageToUNV => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
2022 .OpSamplerImageAddressingModeNV => struct { bit_width: LiteralInteger },2587 .OpSamplerImageAddressingModeNV => struct { bit_width: LiteralInteger },
2588 .OpRawAccessChainNV => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, byte_stride: IdRef, element_index: IdRef, byte_offset: IdRef, raw_access_chain_operands: ?RawAccessChainOperands = null },
2023 .OpSubgroupShuffleINTEL => struct { id_result_type: IdResultType, id_result: IdResult, data: IdRef, invocationid: IdRef },2589 .OpSubgroupShuffleINTEL => struct { id_result_type: IdResultType, id_result: IdResult, data: IdRef, invocationid: IdRef },
2024 .OpSubgroupShuffleDownINTEL => struct { id_result_type: IdResultType, id_result: IdResult, current: IdRef, next: IdRef, delta: IdRef },2590 .OpSubgroupShuffleDownINTEL => struct { id_result_type: IdResultType, id_result: IdResult, current: IdRef, next: IdRef, delta: IdRef },
2025 .OpSubgroupShuffleUpINTEL => struct { id_result_type: IdResultType, id_result: IdResult, previous: IdRef, current: IdRef, delta: IdRef },2591 .OpSubgroupShuffleUpINTEL => struct { id_result_type: IdResultType, id_result: IdResult, previous: IdRef, current: IdRef, delta: IdRef },
...@@ -2076,2699 +2642,24 @@ pub const Opcode = enum(u16) {...@@ -2076,2699 +2642,24 @@ pub const Opcode = enum(u16) {
2076 .OpTypeStructContinuedINTEL => struct { id_ref: []const IdRef = &.{} },2642 .OpTypeStructContinuedINTEL => struct { id_ref: []const IdRef = &.{} },
2077 .OpConstantCompositeContinuedINTEL => struct { constituents: []const IdRef = &.{} },2643 .OpConstantCompositeContinuedINTEL => struct { constituents: []const IdRef = &.{} },
2078 .OpSpecConstantCompositeContinuedINTEL => struct { constituents: []const IdRef = &.{} },2644 .OpSpecConstantCompositeContinuedINTEL => struct { constituents: []const IdRef = &.{} },
2645 .OpCompositeConstructContinuedINTEL => struct { id_result_type: IdResultType, id_result: IdResult, constituents: []const IdRef = &.{} },
2646 .OpConvertFToBF16INTEL => struct { id_result_type: IdResultType, id_result: IdResult, float_value: IdRef },
2647 .OpConvertBF16ToFINTEL => struct { id_result_type: IdResultType, id_result: IdResult, bfloat16_value: IdRef },
2648 .OpControlBarrierArriveINTEL => struct { execution: IdScope, memory: IdScope, semantics: IdMemorySemantics },
2649 .OpControlBarrierWaitINTEL => struct { execution: IdScope, memory: IdScope, semantics: IdMemorySemantics },
2650 .OpGroupIMulKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
2651 .OpGroupFMulKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
2652 .OpGroupBitwiseAndKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
2653 .OpGroupBitwiseOrKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
2654 .OpGroupBitwiseXorKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
2655 .OpGroupLogicalAndKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
2656 .OpGroupLogicalOrKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
2657 .OpGroupLogicalXorKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
2658 .OpMaskedGatherINTEL => struct { id_result_type: IdResultType, id_result: IdResult, ptrvector: IdRef, alignment: LiteralInteger, mask: IdRef, fillempty: IdRef },
2659 .OpMaskedScatterINTEL => struct { inputvector: IdRef, ptrvector: IdRef, alignment: LiteralInteger, mask: IdRef },
2079 };2660 };
2080 }2661 }
2081 pub fn operands(self: Opcode) []const Operand {2662 pub fn class(self: Opcode) Class {
2082 return switch (self) {
2083 .OpNop => &[_]Operand{},
2084 .OpUndef => &[_]Operand{
2085 .{ .kind = .IdResultType, .quantifier = .required },
2086 .{ .kind = .IdResult, .quantifier = .required },
2087 },
2088 .OpSourceContinued => &[_]Operand{
2089 .{ .kind = .LiteralString, .quantifier = .required },
2090 },
2091 .OpSource => &[_]Operand{
2092 .{ .kind = .SourceLanguage, .quantifier = .required },
2093 .{ .kind = .LiteralInteger, .quantifier = .required },
2094 .{ .kind = .IdRef, .quantifier = .optional },
2095 .{ .kind = .LiteralString, .quantifier = .optional },
2096 },
2097 .OpSourceExtension => &[_]Operand{
2098 .{ .kind = .LiteralString, .quantifier = .required },
2099 },
2100 .OpName => &[_]Operand{
2101 .{ .kind = .IdRef, .quantifier = .required },
2102 .{ .kind = .LiteralString, .quantifier = .required },
2103 },
2104 .OpMemberName => &[_]Operand{
2105 .{ .kind = .IdRef, .quantifier = .required },
2106 .{ .kind = .LiteralInteger, .quantifier = .required },
2107 .{ .kind = .LiteralString, .quantifier = .required },
2108 },
2109 .OpString => &[_]Operand{
2110 .{ .kind = .IdResult, .quantifier = .required },
2111 .{ .kind = .LiteralString, .quantifier = .required },
2112 },
2113 .OpLine => &[_]Operand{
2114 .{ .kind = .IdRef, .quantifier = .required },
2115 .{ .kind = .LiteralInteger, .quantifier = .required },
2116 .{ .kind = .LiteralInteger, .quantifier = .required },
2117 },
2118 .OpExtension => &[_]Operand{
2119 .{ .kind = .LiteralString, .quantifier = .required },
2120 },
2121 .OpExtInstImport => &[_]Operand{
2122 .{ .kind = .IdResult, .quantifier = .required },
2123 .{ .kind = .LiteralString, .quantifier = .required },
2124 },
2125 .OpExtInst => &[_]Operand{
2126 .{ .kind = .IdResultType, .quantifier = .required },
2127 .{ .kind = .IdResult, .quantifier = .required },
2128 .{ .kind = .IdRef, .quantifier = .required },
2129 .{ .kind = .LiteralExtInstInteger, .quantifier = .required },
2130 .{ .kind = .IdRef, .quantifier = .variadic },
2131 },
2132 .OpMemoryModel => &[_]Operand{
2133 .{ .kind = .AddressingModel, .quantifier = .required },
2134 .{ .kind = .MemoryModel, .quantifier = .required },
2135 },
2136 .OpEntryPoint => &[_]Operand{
2137 .{ .kind = .ExecutionModel, .quantifier = .required },
2138 .{ .kind = .IdRef, .quantifier = .required },
2139 .{ .kind = .LiteralString, .quantifier = .required },
2140 .{ .kind = .IdRef, .quantifier = .variadic },
2141 },
2142 .OpExecutionMode => &[_]Operand{
2143 .{ .kind = .IdRef, .quantifier = .required },
2144 .{ .kind = .ExecutionMode, .quantifier = .required },
2145 },
2146 .OpCapability => &[_]Operand{
2147 .{ .kind = .Capability, .quantifier = .required },
2148 },
2149 .OpTypeVoid => &[_]Operand{
2150 .{ .kind = .IdResult, .quantifier = .required },
2151 },
2152 .OpTypeBool => &[_]Operand{
2153 .{ .kind = .IdResult, .quantifier = .required },
2154 },
2155 .OpTypeInt => &[_]Operand{
2156 .{ .kind = .IdResult, .quantifier = .required },
2157 .{ .kind = .LiteralInteger, .quantifier = .required },
2158 .{ .kind = .LiteralInteger, .quantifier = .required },
2159 },
2160 .OpTypeFloat => &[_]Operand{
2161 .{ .kind = .IdResult, .quantifier = .required },
2162 .{ .kind = .LiteralInteger, .quantifier = .required },
2163 },
2164 .OpTypeVector => &[_]Operand{
2165 .{ .kind = .IdResult, .quantifier = .required },
2166 .{ .kind = .IdRef, .quantifier = .required },
2167 .{ .kind = .LiteralInteger, .quantifier = .required },
2168 },
2169 .OpTypeMatrix => &[_]Operand{
2170 .{ .kind = .IdResult, .quantifier = .required },
2171 .{ .kind = .IdRef, .quantifier = .required },
2172 .{ .kind = .LiteralInteger, .quantifier = .required },
2173 },
2174 .OpTypeImage => &[_]Operand{
2175 .{ .kind = .IdResult, .quantifier = .required },
2176 .{ .kind = .IdRef, .quantifier = .required },
2177 .{ .kind = .Dim, .quantifier = .required },
2178 .{ .kind = .LiteralInteger, .quantifier = .required },
2179 .{ .kind = .LiteralInteger, .quantifier = .required },
2180 .{ .kind = .LiteralInteger, .quantifier = .required },
2181 .{ .kind = .LiteralInteger, .quantifier = .required },
2182 .{ .kind = .ImageFormat, .quantifier = .required },
2183 .{ .kind = .AccessQualifier, .quantifier = .optional },
2184 },
2185 .OpTypeSampler => &[_]Operand{
2186 .{ .kind = .IdResult, .quantifier = .required },
2187 },
2188 .OpTypeSampledImage => &[_]Operand{
2189 .{ .kind = .IdResult, .quantifier = .required },
2190 .{ .kind = .IdRef, .quantifier = .required },
2191 },
2192 .OpTypeArray => &[_]Operand{
2193 .{ .kind = .IdResult, .quantifier = .required },
2194 .{ .kind = .IdRef, .quantifier = .required },
2195 .{ .kind = .IdRef, .quantifier = .required },
2196 },
2197 .OpTypeRuntimeArray => &[_]Operand{
2198 .{ .kind = .IdResult, .quantifier = .required },
2199 .{ .kind = .IdRef, .quantifier = .required },
2200 },
2201 .OpTypeStruct => &[_]Operand{
2202 .{ .kind = .IdResult, .quantifier = .required },
2203 .{ .kind = .IdRef, .quantifier = .variadic },
2204 },
2205 .OpTypeOpaque => &[_]Operand{
2206 .{ .kind = .IdResult, .quantifier = .required },
2207 .{ .kind = .LiteralString, .quantifier = .required },
2208 },
2209 .OpTypePointer => &[_]Operand{
2210 .{ .kind = .IdResult, .quantifier = .required },
2211 .{ .kind = .StorageClass, .quantifier = .required },
2212 .{ .kind = .IdRef, .quantifier = .required },
2213 },
2214 .OpTypeFunction => &[_]Operand{
2215 .{ .kind = .IdResult, .quantifier = .required },
2216 .{ .kind = .IdRef, .quantifier = .required },
2217 .{ .kind = .IdRef, .quantifier = .variadic },
2218 },
2219 .OpTypeEvent => &[_]Operand{
2220 .{ .kind = .IdResult, .quantifier = .required },
2221 },
2222 .OpTypeDeviceEvent => &[_]Operand{
2223 .{ .kind = .IdResult, .quantifier = .required },
2224 },
2225 .OpTypeReserveId => &[_]Operand{
2226 .{ .kind = .IdResult, .quantifier = .required },
2227 },
2228 .OpTypeQueue => &[_]Operand{
2229 .{ .kind = .IdResult, .quantifier = .required },
2230 },
2231 .OpTypePipe => &[_]Operand{
2232 .{ .kind = .IdResult, .quantifier = .required },
2233 .{ .kind = .AccessQualifier, .quantifier = .required },
2234 },
2235 .OpTypeForwardPointer => &[_]Operand{
2236 .{ .kind = .IdRef, .quantifier = .required },
2237 .{ .kind = .StorageClass, .quantifier = .required },
2238 },
2239 .OpConstantTrue => &[_]Operand{
2240 .{ .kind = .IdResultType, .quantifier = .required },
2241 .{ .kind = .IdResult, .quantifier = .required },
2242 },
2243 .OpConstantFalse => &[_]Operand{
2244 .{ .kind = .IdResultType, .quantifier = .required },
2245 .{ .kind = .IdResult, .quantifier = .required },
2246 },
2247 .OpConstant => &[_]Operand{
2248 .{ .kind = .IdResultType, .quantifier = .required },
2249 .{ .kind = .IdResult, .quantifier = .required },
2250 .{ .kind = .LiteralContextDependentNumber, .quantifier = .required },
2251 },
2252 .OpConstantComposite => &[_]Operand{
2253 .{ .kind = .IdResultType, .quantifier = .required },
2254 .{ .kind = .IdResult, .quantifier = .required },
2255 .{ .kind = .IdRef, .quantifier = .variadic },
2256 },
2257 .OpConstantSampler => &[_]Operand{
2258 .{ .kind = .IdResultType, .quantifier = .required },
2259 .{ .kind = .IdResult, .quantifier = .required },
2260 .{ .kind = .SamplerAddressingMode, .quantifier = .required },
2261 .{ .kind = .LiteralInteger, .quantifier = .required },
2262 .{ .kind = .SamplerFilterMode, .quantifier = .required },
2263 },
2264 .OpConstantNull => &[_]Operand{
2265 .{ .kind = .IdResultType, .quantifier = .required },
2266 .{ .kind = .IdResult, .quantifier = .required },
2267 },
2268 .OpSpecConstantTrue => &[_]Operand{
2269 .{ .kind = .IdResultType, .quantifier = .required },
2270 .{ .kind = .IdResult, .quantifier = .required },
2271 },
2272 .OpSpecConstantFalse => &[_]Operand{
2273 .{ .kind = .IdResultType, .quantifier = .required },
2274 .{ .kind = .IdResult, .quantifier = .required },
2275 },
2276 .OpSpecConstant => &[_]Operand{
2277 .{ .kind = .IdResultType, .quantifier = .required },
2278 .{ .kind = .IdResult, .quantifier = .required },
2279 .{ .kind = .LiteralContextDependentNumber, .quantifier = .required },
2280 },
2281 .OpSpecConstantComposite => &[_]Operand{
2282 .{ .kind = .IdResultType, .quantifier = .required },
2283 .{ .kind = .IdResult, .quantifier = .required },
2284 .{ .kind = .IdRef, .quantifier = .variadic },
2285 },
2286 .OpSpecConstantOp => &[_]Operand{
2287 .{ .kind = .IdResultType, .quantifier = .required },
2288 .{ .kind = .IdResult, .quantifier = .required },
2289 .{ .kind = .LiteralSpecConstantOpInteger, .quantifier = .required },
2290 },
2291 .OpFunction => &[_]Operand{
2292 .{ .kind = .IdResultType, .quantifier = .required },
2293 .{ .kind = .IdResult, .quantifier = .required },
2294 .{ .kind = .FunctionControl, .quantifier = .required },
2295 .{ .kind = .IdRef, .quantifier = .required },
2296 },
2297 .OpFunctionParameter => &[_]Operand{
2298 .{ .kind = .IdResultType, .quantifier = .required },
2299 .{ .kind = .IdResult, .quantifier = .required },
2300 },
2301 .OpFunctionEnd => &[_]Operand{},
2302 .OpFunctionCall => &[_]Operand{
2303 .{ .kind = .IdResultType, .quantifier = .required },
2304 .{ .kind = .IdResult, .quantifier = .required },
2305 .{ .kind = .IdRef, .quantifier = .required },
2306 .{ .kind = .IdRef, .quantifier = .variadic },
2307 },
2308 .OpVariable => &[_]Operand{
2309 .{ .kind = .IdResultType, .quantifier = .required },
2310 .{ .kind = .IdResult, .quantifier = .required },
2311 .{ .kind = .StorageClass, .quantifier = .required },
2312 .{ .kind = .IdRef, .quantifier = .optional },
2313 },
2314 .OpImageTexelPointer => &[_]Operand{
2315 .{ .kind = .IdResultType, .quantifier = .required },
2316 .{ .kind = .IdResult, .quantifier = .required },
2317 .{ .kind = .IdRef, .quantifier = .required },
2318 .{ .kind = .IdRef, .quantifier = .required },
2319 .{ .kind = .IdRef, .quantifier = .required },
2320 },
2321 .OpLoad => &[_]Operand{
2322 .{ .kind = .IdResultType, .quantifier = .required },
2323 .{ .kind = .IdResult, .quantifier = .required },
2324 .{ .kind = .IdRef, .quantifier = .required },
2325 .{ .kind = .MemoryAccess, .quantifier = .optional },
2326 },
2327 .OpStore => &[_]Operand{
2328 .{ .kind = .IdRef, .quantifier = .required },
2329 .{ .kind = .IdRef, .quantifier = .required },
2330 .{ .kind = .MemoryAccess, .quantifier = .optional },
2331 },
2332 .OpCopyMemory => &[_]Operand{
2333 .{ .kind = .IdRef, .quantifier = .required },
2334 .{ .kind = .IdRef, .quantifier = .required },
2335 .{ .kind = .MemoryAccess, .quantifier = .optional },
2336 .{ .kind = .MemoryAccess, .quantifier = .optional },
2337 },
2338 .OpCopyMemorySized => &[_]Operand{
2339 .{ .kind = .IdRef, .quantifier = .required },
2340 .{ .kind = .IdRef, .quantifier = .required },
2341 .{ .kind = .IdRef, .quantifier = .required },
2342 .{ .kind = .MemoryAccess, .quantifier = .optional },
2343 .{ .kind = .MemoryAccess, .quantifier = .optional },
2344 },
2345 .OpAccessChain => &[_]Operand{
2346 .{ .kind = .IdResultType, .quantifier = .required },
2347 .{ .kind = .IdResult, .quantifier = .required },
2348 .{ .kind = .IdRef, .quantifier = .required },
2349 .{ .kind = .IdRef, .quantifier = .variadic },
2350 },
2351 .OpInBoundsAccessChain => &[_]Operand{
2352 .{ .kind = .IdResultType, .quantifier = .required },
2353 .{ .kind = .IdResult, .quantifier = .required },
2354 .{ .kind = .IdRef, .quantifier = .required },
2355 .{ .kind = .IdRef, .quantifier = .variadic },
2356 },
2357 .OpPtrAccessChain => &[_]Operand{
2358 .{ .kind = .IdResultType, .quantifier = .required },
2359 .{ .kind = .IdResult, .quantifier = .required },
2360 .{ .kind = .IdRef, .quantifier = .required },
2361 .{ .kind = .IdRef, .quantifier = .required },
2362 .{ .kind = .IdRef, .quantifier = .variadic },
2363 },
2364 .OpArrayLength => &[_]Operand{
2365 .{ .kind = .IdResultType, .quantifier = .required },
2366 .{ .kind = .IdResult, .quantifier = .required },
2367 .{ .kind = .IdRef, .quantifier = .required },
2368 .{ .kind = .LiteralInteger, .quantifier = .required },
2369 },
2370 .OpGenericPtrMemSemantics => &[_]Operand{
2371 .{ .kind = .IdResultType, .quantifier = .required },
2372 .{ .kind = .IdResult, .quantifier = .required },
2373 .{ .kind = .IdRef, .quantifier = .required },
2374 },
2375 .OpInBoundsPtrAccessChain => &[_]Operand{
2376 .{ .kind = .IdResultType, .quantifier = .required },
2377 .{ .kind = .IdResult, .quantifier = .required },
2378 .{ .kind = .IdRef, .quantifier = .required },
2379 .{ .kind = .IdRef, .quantifier = .required },
2380 .{ .kind = .IdRef, .quantifier = .variadic },
2381 },
2382 .OpDecorate => &[_]Operand{
2383 .{ .kind = .IdRef, .quantifier = .required },
2384 .{ .kind = .Decoration, .quantifier = .required },
2385 },
2386 .OpMemberDecorate => &[_]Operand{
2387 .{ .kind = .IdRef, .quantifier = .required },
2388 .{ .kind = .LiteralInteger, .quantifier = .required },
2389 .{ .kind = .Decoration, .quantifier = .required },
2390 },
2391 .OpDecorationGroup => &[_]Operand{
2392 .{ .kind = .IdResult, .quantifier = .required },
2393 },
2394 .OpGroupDecorate => &[_]Operand{
2395 .{ .kind = .IdRef, .quantifier = .required },
2396 .{ .kind = .IdRef, .quantifier = .variadic },
2397 },
2398 .OpGroupMemberDecorate => &[_]Operand{
2399 .{ .kind = .IdRef, .quantifier = .required },
2400 .{ .kind = .PairIdRefLiteralInteger, .quantifier = .variadic },
2401 },
2402 .OpVectorExtractDynamic => &[_]Operand{
2403 .{ .kind = .IdResultType, .quantifier = .required },
2404 .{ .kind = .IdResult, .quantifier = .required },
2405 .{ .kind = .IdRef, .quantifier = .required },
2406 .{ .kind = .IdRef, .quantifier = .required },
2407 },
2408 .OpVectorInsertDynamic => &[_]Operand{
2409 .{ .kind = .IdResultType, .quantifier = .required },
2410 .{ .kind = .IdResult, .quantifier = .required },
2411 .{ .kind = .IdRef, .quantifier = .required },
2412 .{ .kind = .IdRef, .quantifier = .required },
2413 .{ .kind = .IdRef, .quantifier = .required },
2414 },
2415 .OpVectorShuffle => &[_]Operand{
2416 .{ .kind = .IdResultType, .quantifier = .required },
2417 .{ .kind = .IdResult, .quantifier = .required },
2418 .{ .kind = .IdRef, .quantifier = .required },
2419 .{ .kind = .IdRef, .quantifier = .required },
2420 .{ .kind = .LiteralInteger, .quantifier = .variadic },
2421 },
2422 .OpCompositeConstruct => &[_]Operand{
2423 .{ .kind = .IdResultType, .quantifier = .required },
2424 .{ .kind = .IdResult, .quantifier = .required },
2425 .{ .kind = .IdRef, .quantifier = .variadic },
2426 },
2427 .OpCompositeExtract => &[_]Operand{
2428 .{ .kind = .IdResultType, .quantifier = .required },
2429 .{ .kind = .IdResult, .quantifier = .required },
2430 .{ .kind = .IdRef, .quantifier = .required },
2431 .{ .kind = .LiteralInteger, .quantifier = .variadic },
2432 },
2433 .OpCompositeInsert => &[_]Operand{
2434 .{ .kind = .IdResultType, .quantifier = .required },
2435 .{ .kind = .IdResult, .quantifier = .required },
2436 .{ .kind = .IdRef, .quantifier = .required },
2437 .{ .kind = .IdRef, .quantifier = .required },
2438 .{ .kind = .LiteralInteger, .quantifier = .variadic },
2439 },
2440 .OpCopyObject => &[_]Operand{
2441 .{ .kind = .IdResultType, .quantifier = .required },
2442 .{ .kind = .IdResult, .quantifier = .required },
2443 .{ .kind = .IdRef, .quantifier = .required },
2444 },
2445 .OpTranspose => &[_]Operand{
2446 .{ .kind = .IdResultType, .quantifier = .required },
2447 .{ .kind = .IdResult, .quantifier = .required },
2448 .{ .kind = .IdRef, .quantifier = .required },
2449 },
2450 .OpSampledImage => &[_]Operand{
2451 .{ .kind = .IdResultType, .quantifier = .required },
2452 .{ .kind = .IdResult, .quantifier = .required },
2453 .{ .kind = .IdRef, .quantifier = .required },
2454 .{ .kind = .IdRef, .quantifier = .required },
2455 },
2456 .OpImageSampleImplicitLod => &[_]Operand{
2457 .{ .kind = .IdResultType, .quantifier = .required },
2458 .{ .kind = .IdResult, .quantifier = .required },
2459 .{ .kind = .IdRef, .quantifier = .required },
2460 .{ .kind = .IdRef, .quantifier = .required },
2461 .{ .kind = .ImageOperands, .quantifier = .optional },
2462 },
2463 .OpImageSampleExplicitLod => &[_]Operand{
2464 .{ .kind = .IdResultType, .quantifier = .required },
2465 .{ .kind = .IdResult, .quantifier = .required },
2466 .{ .kind = .IdRef, .quantifier = .required },
2467 .{ .kind = .IdRef, .quantifier = .required },
2468 .{ .kind = .ImageOperands, .quantifier = .required },
2469 },
2470 .OpImageSampleDrefImplicitLod => &[_]Operand{
2471 .{ .kind = .IdResultType, .quantifier = .required },
2472 .{ .kind = .IdResult, .quantifier = .required },
2473 .{ .kind = .IdRef, .quantifier = .required },
2474 .{ .kind = .IdRef, .quantifier = .required },
2475 .{ .kind = .IdRef, .quantifier = .required },
2476 .{ .kind = .ImageOperands, .quantifier = .optional },
2477 },
2478 .OpImageSampleDrefExplicitLod => &[_]Operand{
2479 .{ .kind = .IdResultType, .quantifier = .required },
2480 .{ .kind = .IdResult, .quantifier = .required },
2481 .{ .kind = .IdRef, .quantifier = .required },
2482 .{ .kind = .IdRef, .quantifier = .required },
2483 .{ .kind = .IdRef, .quantifier = .required },
2484 .{ .kind = .ImageOperands, .quantifier = .required },
2485 },
2486 .OpImageSampleProjImplicitLod => &[_]Operand{
2487 .{ .kind = .IdResultType, .quantifier = .required },
2488 .{ .kind = .IdResult, .quantifier = .required },
2489 .{ .kind = .IdRef, .quantifier = .required },
2490 .{ .kind = .IdRef, .quantifier = .required },
2491 .{ .kind = .ImageOperands, .quantifier = .optional },
2492 },
2493 .OpImageSampleProjExplicitLod => &[_]Operand{
2494 .{ .kind = .IdResultType, .quantifier = .required },
2495 .{ .kind = .IdResult, .quantifier = .required },
2496 .{ .kind = .IdRef, .quantifier = .required },
2497 .{ .kind = .IdRef, .quantifier = .required },
2498 .{ .kind = .ImageOperands, .quantifier = .required },
2499 },
2500 .OpImageSampleProjDrefImplicitLod => &[_]Operand{
2501 .{ .kind = .IdResultType, .quantifier = .required },
2502 .{ .kind = .IdResult, .quantifier = .required },
2503 .{ .kind = .IdRef, .quantifier = .required },
2504 .{ .kind = .IdRef, .quantifier = .required },
2505 .{ .kind = .IdRef, .quantifier = .required },
2506 .{ .kind = .ImageOperands, .quantifier = .optional },
2507 },
2508 .OpImageSampleProjDrefExplicitLod => &[_]Operand{
2509 .{ .kind = .IdResultType, .quantifier = .required },
2510 .{ .kind = .IdResult, .quantifier = .required },
2511 .{ .kind = .IdRef, .quantifier = .required },
2512 .{ .kind = .IdRef, .quantifier = .required },
2513 .{ .kind = .IdRef, .quantifier = .required },
2514 .{ .kind = .ImageOperands, .quantifier = .required },
2515 },
2516 .OpImageFetch => &[_]Operand{
2517 .{ .kind = .IdResultType, .quantifier = .required },
2518 .{ .kind = .IdResult, .quantifier = .required },
2519 .{ .kind = .IdRef, .quantifier = .required },
2520 .{ .kind = .IdRef, .quantifier = .required },
2521 .{ .kind = .ImageOperands, .quantifier = .optional },
2522 },
2523 .OpImageGather => &[_]Operand{
2524 .{ .kind = .IdResultType, .quantifier = .required },
2525 .{ .kind = .IdResult, .quantifier = .required },
2526 .{ .kind = .IdRef, .quantifier = .required },
2527 .{ .kind = .IdRef, .quantifier = .required },
2528 .{ .kind = .IdRef, .quantifier = .required },
2529 .{ .kind = .ImageOperands, .quantifier = .optional },
2530 },
2531 .OpImageDrefGather => &[_]Operand{
2532 .{ .kind = .IdResultType, .quantifier = .required },
2533 .{ .kind = .IdResult, .quantifier = .required },
2534 .{ .kind = .IdRef, .quantifier = .required },
2535 .{ .kind = .IdRef, .quantifier = .required },
2536 .{ .kind = .IdRef, .quantifier = .required },
2537 .{ .kind = .ImageOperands, .quantifier = .optional },
2538 },
2539 .OpImageRead => &[_]Operand{
2540 .{ .kind = .IdResultType, .quantifier = .required },
2541 .{ .kind = .IdResult, .quantifier = .required },
2542 .{ .kind = .IdRef, .quantifier = .required },
2543 .{ .kind = .IdRef, .quantifier = .required },
2544 .{ .kind = .ImageOperands, .quantifier = .optional },
2545 },
2546 .OpImageWrite => &[_]Operand{
2547 .{ .kind = .IdRef, .quantifier = .required },
2548 .{ .kind = .IdRef, .quantifier = .required },
2549 .{ .kind = .IdRef, .quantifier = .required },
2550 .{ .kind = .ImageOperands, .quantifier = .optional },
2551 },
2552 .OpImage => &[_]Operand{
2553 .{ .kind = .IdResultType, .quantifier = .required },
2554 .{ .kind = .IdResult, .quantifier = .required },
2555 .{ .kind = .IdRef, .quantifier = .required },
2556 },
2557 .OpImageQueryFormat => &[_]Operand{
2558 .{ .kind = .IdResultType, .quantifier = .required },
2559 .{ .kind = .IdResult, .quantifier = .required },
2560 .{ .kind = .IdRef, .quantifier = .required },
2561 },
2562 .OpImageQueryOrder => &[_]Operand{
2563 .{ .kind = .IdResultType, .quantifier = .required },
2564 .{ .kind = .IdResult, .quantifier = .required },
2565 .{ .kind = .IdRef, .quantifier = .required },
2566 },
2567 .OpImageQuerySizeLod => &[_]Operand{
2568 .{ .kind = .IdResultType, .quantifier = .required },
2569 .{ .kind = .IdResult, .quantifier = .required },
2570 .{ .kind = .IdRef, .quantifier = .required },
2571 .{ .kind = .IdRef, .quantifier = .required },
2572 },
2573 .OpImageQuerySize => &[_]Operand{
2574 .{ .kind = .IdResultType, .quantifier = .required },
2575 .{ .kind = .IdResult, .quantifier = .required },
2576 .{ .kind = .IdRef, .quantifier = .required },
2577 },
2578 .OpImageQueryLod => &[_]Operand{
2579 .{ .kind = .IdResultType, .quantifier = .required },
2580 .{ .kind = .IdResult, .quantifier = .required },
2581 .{ .kind = .IdRef, .quantifier = .required },
2582 .{ .kind = .IdRef, .quantifier = .required },
2583 },
2584 .OpImageQueryLevels => &[_]Operand{
2585 .{ .kind = .IdResultType, .quantifier = .required },
2586 .{ .kind = .IdResult, .quantifier = .required },
2587 .{ .kind = .IdRef, .quantifier = .required },
2588 },
2589 .OpImageQuerySamples => &[_]Operand{
2590 .{ .kind = .IdResultType, .quantifier = .required },
2591 .{ .kind = .IdResult, .quantifier = .required },
2592 .{ .kind = .IdRef, .quantifier = .required },
2593 },
2594 .OpConvertFToU => &[_]Operand{
2595 .{ .kind = .IdResultType, .quantifier = .required },
2596 .{ .kind = .IdResult, .quantifier = .required },
2597 .{ .kind = .IdRef, .quantifier = .required },
2598 },
2599 .OpConvertFToS => &[_]Operand{
2600 .{ .kind = .IdResultType, .quantifier = .required },
2601 .{ .kind = .IdResult, .quantifier = .required },
2602 .{ .kind = .IdRef, .quantifier = .required },
2603 },
2604 .OpConvertSToF => &[_]Operand{
2605 .{ .kind = .IdResultType, .quantifier = .required },
2606 .{ .kind = .IdResult, .quantifier = .required },
2607 .{ .kind = .IdRef, .quantifier = .required },
2608 },
2609 .OpConvertUToF => &[_]Operand{
2610 .{ .kind = .IdResultType, .quantifier = .required },
2611 .{ .kind = .IdResult, .quantifier = .required },
2612 .{ .kind = .IdRef, .quantifier = .required },
2613 },
2614 .OpUConvert => &[_]Operand{
2615 .{ .kind = .IdResultType, .quantifier = .required },
2616 .{ .kind = .IdResult, .quantifier = .required },
2617 .{ .kind = .IdRef, .quantifier = .required },
2618 },
2619 .OpSConvert => &[_]Operand{
2620 .{ .kind = .IdResultType, .quantifier = .required },
2621 .{ .kind = .IdResult, .quantifier = .required },
2622 .{ .kind = .IdRef, .quantifier = .required },
2623 },
2624 .OpFConvert => &[_]Operand{
2625 .{ .kind = .IdResultType, .quantifier = .required },
2626 .{ .kind = .IdResult, .quantifier = .required },
2627 .{ .kind = .IdRef, .quantifier = .required },
2628 },
2629 .OpQuantizeToF16 => &[_]Operand{
2630 .{ .kind = .IdResultType, .quantifier = .required },
2631 .{ .kind = .IdResult, .quantifier = .required },
2632 .{ .kind = .IdRef, .quantifier = .required },
2633 },
2634 .OpConvertPtrToU => &[_]Operand{
2635 .{ .kind = .IdResultType, .quantifier = .required },
2636 .{ .kind = .IdResult, .quantifier = .required },
2637 .{ .kind = .IdRef, .quantifier = .required },
2638 },
2639 .OpSatConvertSToU => &[_]Operand{
2640 .{ .kind = .IdResultType, .quantifier = .required },
2641 .{ .kind = .IdResult, .quantifier = .required },
2642 .{ .kind = .IdRef, .quantifier = .required },
2643 },
2644 .OpSatConvertUToS => &[_]Operand{
2645 .{ .kind = .IdResultType, .quantifier = .required },
2646 .{ .kind = .IdResult, .quantifier = .required },
2647 .{ .kind = .IdRef, .quantifier = .required },
2648 },
2649 .OpConvertUToPtr => &[_]Operand{
2650 .{ .kind = .IdResultType, .quantifier = .required },
2651 .{ .kind = .IdResult, .quantifier = .required },
2652 .{ .kind = .IdRef, .quantifier = .required },
2653 },
2654 .OpPtrCastToGeneric => &[_]Operand{
2655 .{ .kind = .IdResultType, .quantifier = .required },
2656 .{ .kind = .IdResult, .quantifier = .required },
2657 .{ .kind = .IdRef, .quantifier = .required },
2658 },
2659 .OpGenericCastToPtr => &[_]Operand{
2660 .{ .kind = .IdResultType, .quantifier = .required },
2661 .{ .kind = .IdResult, .quantifier = .required },
2662 .{ .kind = .IdRef, .quantifier = .required },
2663 },
2664 .OpGenericCastToPtrExplicit => &[_]Operand{
2665 .{ .kind = .IdResultType, .quantifier = .required },
2666 .{ .kind = .IdResult, .quantifier = .required },
2667 .{ .kind = .IdRef, .quantifier = .required },
2668 .{ .kind = .StorageClass, .quantifier = .required },
2669 },
2670 .OpBitcast => &[_]Operand{
2671 .{ .kind = .IdResultType, .quantifier = .required },
2672 .{ .kind = .IdResult, .quantifier = .required },
2673 .{ .kind = .IdRef, .quantifier = .required },
2674 },
2675 .OpSNegate => &[_]Operand{
2676 .{ .kind = .IdResultType, .quantifier = .required },
2677 .{ .kind = .IdResult, .quantifier = .required },
2678 .{ .kind = .IdRef, .quantifier = .required },
2679 },
2680 .OpFNegate => &[_]Operand{
2681 .{ .kind = .IdResultType, .quantifier = .required },
2682 .{ .kind = .IdResult, .quantifier = .required },
2683 .{ .kind = .IdRef, .quantifier = .required },
2684 },
2685 .OpIAdd => &[_]Operand{
2686 .{ .kind = .IdResultType, .quantifier = .required },
2687 .{ .kind = .IdResult, .quantifier = .required },
2688 .{ .kind = .IdRef, .quantifier = .required },
2689 .{ .kind = .IdRef, .quantifier = .required },
2690 },
2691 .OpFAdd => &[_]Operand{
2692 .{ .kind = .IdResultType, .quantifier = .required },
2693 .{ .kind = .IdResult, .quantifier = .required },
2694 .{ .kind = .IdRef, .quantifier = .required },
2695 .{ .kind = .IdRef, .quantifier = .required },
2696 },
2697 .OpISub => &[_]Operand{
2698 .{ .kind = .IdResultType, .quantifier = .required },
2699 .{ .kind = .IdResult, .quantifier = .required },
2700 .{ .kind = .IdRef, .quantifier = .required },
2701 .{ .kind = .IdRef, .quantifier = .required },
2702 },
2703 .OpFSub => &[_]Operand{
2704 .{ .kind = .IdResultType, .quantifier = .required },
2705 .{ .kind = .IdResult, .quantifier = .required },
2706 .{ .kind = .IdRef, .quantifier = .required },
2707 .{ .kind = .IdRef, .quantifier = .required },
2708 },
2709 .OpIMul => &[_]Operand{
2710 .{ .kind = .IdResultType, .quantifier = .required },
2711 .{ .kind = .IdResult, .quantifier = .required },
2712 .{ .kind = .IdRef, .quantifier = .required },
2713 .{ .kind = .IdRef, .quantifier = .required },
2714 },
2715 .OpFMul => &[_]Operand{
2716 .{ .kind = .IdResultType, .quantifier = .required },
2717 .{ .kind = .IdResult, .quantifier = .required },
2718 .{ .kind = .IdRef, .quantifier = .required },
2719 .{ .kind = .IdRef, .quantifier = .required },
2720 },
2721 .OpUDiv => &[_]Operand{
2722 .{ .kind = .IdResultType, .quantifier = .required },
2723 .{ .kind = .IdResult, .quantifier = .required },
2724 .{ .kind = .IdRef, .quantifier = .required },
2725 .{ .kind = .IdRef, .quantifier = .required },
2726 },
2727 .OpSDiv => &[_]Operand{
2728 .{ .kind = .IdResultType, .quantifier = .required },
2729 .{ .kind = .IdResult, .quantifier = .required },
2730 .{ .kind = .IdRef, .quantifier = .required },
2731 .{ .kind = .IdRef, .quantifier = .required },
2732 },
2733 .OpFDiv => &[_]Operand{
2734 .{ .kind = .IdResultType, .quantifier = .required },
2735 .{ .kind = .IdResult, .quantifier = .required },
2736 .{ .kind = .IdRef, .quantifier = .required },
2737 .{ .kind = .IdRef, .quantifier = .required },
2738 },
2739 .OpUMod => &[_]Operand{
2740 .{ .kind = .IdResultType, .quantifier = .required },
2741 .{ .kind = .IdResult, .quantifier = .required },
2742 .{ .kind = .IdRef, .quantifier = .required },
2743 .{ .kind = .IdRef, .quantifier = .required },
2744 },
2745 .OpSRem => &[_]Operand{
2746 .{ .kind = .IdResultType, .quantifier = .required },
2747 .{ .kind = .IdResult, .quantifier = .required },
2748 .{ .kind = .IdRef, .quantifier = .required },
2749 .{ .kind = .IdRef, .quantifier = .required },
2750 },
2751 .OpSMod => &[_]Operand{
2752 .{ .kind = .IdResultType, .quantifier = .required },
2753 .{ .kind = .IdResult, .quantifier = .required },
2754 .{ .kind = .IdRef, .quantifier = .required },
2755 .{ .kind = .IdRef, .quantifier = .required },
2756 },
2757 .OpFRem => &[_]Operand{
2758 .{ .kind = .IdResultType, .quantifier = .required },
2759 .{ .kind = .IdResult, .quantifier = .required },
2760 .{ .kind = .IdRef, .quantifier = .required },
2761 .{ .kind = .IdRef, .quantifier = .required },
2762 },
2763 .OpFMod => &[_]Operand{
2764 .{ .kind = .IdResultType, .quantifier = .required },
2765 .{ .kind = .IdResult, .quantifier = .required },
2766 .{ .kind = .IdRef, .quantifier = .required },
2767 .{ .kind = .IdRef, .quantifier = .required },
2768 },
2769 .OpVectorTimesScalar => &[_]Operand{
2770 .{ .kind = .IdResultType, .quantifier = .required },
2771 .{ .kind = .IdResult, .quantifier = .required },
2772 .{ .kind = .IdRef, .quantifier = .required },
2773 .{ .kind = .IdRef, .quantifier = .required },
2774 },
2775 .OpMatrixTimesScalar => &[_]Operand{
2776 .{ .kind = .IdResultType, .quantifier = .required },
2777 .{ .kind = .IdResult, .quantifier = .required },
2778 .{ .kind = .IdRef, .quantifier = .required },
2779 .{ .kind = .IdRef, .quantifier = .required },
2780 },
2781 .OpVectorTimesMatrix => &[_]Operand{
2782 .{ .kind = .IdResultType, .quantifier = .required },
2783 .{ .kind = .IdResult, .quantifier = .required },
2784 .{ .kind = .IdRef, .quantifier = .required },
2785 .{ .kind = .IdRef, .quantifier = .required },
2786 },
2787 .OpMatrixTimesVector => &[_]Operand{
2788 .{ .kind = .IdResultType, .quantifier = .required },
2789 .{ .kind = .IdResult, .quantifier = .required },
2790 .{ .kind = .IdRef, .quantifier = .required },
2791 .{ .kind = .IdRef, .quantifier = .required },
2792 },
2793 .OpMatrixTimesMatrix => &[_]Operand{
2794 .{ .kind = .IdResultType, .quantifier = .required },
2795 .{ .kind = .IdResult, .quantifier = .required },
2796 .{ .kind = .IdRef, .quantifier = .required },
2797 .{ .kind = .IdRef, .quantifier = .required },
2798 },
2799 .OpOuterProduct => &[_]Operand{
2800 .{ .kind = .IdResultType, .quantifier = .required },
2801 .{ .kind = .IdResult, .quantifier = .required },
2802 .{ .kind = .IdRef, .quantifier = .required },
2803 .{ .kind = .IdRef, .quantifier = .required },
2804 },
2805 .OpDot => &[_]Operand{
2806 .{ .kind = .IdResultType, .quantifier = .required },
2807 .{ .kind = .IdResult, .quantifier = .required },
2808 .{ .kind = .IdRef, .quantifier = .required },
2809 .{ .kind = .IdRef, .quantifier = .required },
2810 },
2811 .OpIAddCarry => &[_]Operand{
2812 .{ .kind = .IdResultType, .quantifier = .required },
2813 .{ .kind = .IdResult, .quantifier = .required },
2814 .{ .kind = .IdRef, .quantifier = .required },
2815 .{ .kind = .IdRef, .quantifier = .required },
2816 },
2817 .OpISubBorrow => &[_]Operand{
2818 .{ .kind = .IdResultType, .quantifier = .required },
2819 .{ .kind = .IdResult, .quantifier = .required },
2820 .{ .kind = .IdRef, .quantifier = .required },
2821 .{ .kind = .IdRef, .quantifier = .required },
2822 },
2823 .OpUMulExtended => &[_]Operand{
2824 .{ .kind = .IdResultType, .quantifier = .required },
2825 .{ .kind = .IdResult, .quantifier = .required },
2826 .{ .kind = .IdRef, .quantifier = .required },
2827 .{ .kind = .IdRef, .quantifier = .required },
2828 },
2829 .OpSMulExtended => &[_]Operand{
2830 .{ .kind = .IdResultType, .quantifier = .required },
2831 .{ .kind = .IdResult, .quantifier = .required },
2832 .{ .kind = .IdRef, .quantifier = .required },
2833 .{ .kind = .IdRef, .quantifier = .required },
2834 },
2835 .OpAny => &[_]Operand{
2836 .{ .kind = .IdResultType, .quantifier = .required },
2837 .{ .kind = .IdResult, .quantifier = .required },
2838 .{ .kind = .IdRef, .quantifier = .required },
2839 },
2840 .OpAll => &[_]Operand{
2841 .{ .kind = .IdResultType, .quantifier = .required },
2842 .{ .kind = .IdResult, .quantifier = .required },
2843 .{ .kind = .IdRef, .quantifier = .required },
2844 },
2845 .OpIsNan => &[_]Operand{
2846 .{ .kind = .IdResultType, .quantifier = .required },
2847 .{ .kind = .IdResult, .quantifier = .required },
2848 .{ .kind = .IdRef, .quantifier = .required },
2849 },
2850 .OpIsInf => &[_]Operand{
2851 .{ .kind = .IdResultType, .quantifier = .required },
2852 .{ .kind = .IdResult, .quantifier = .required },
2853 .{ .kind = .IdRef, .quantifier = .required },
2854 },
2855 .OpIsFinite => &[_]Operand{
2856 .{ .kind = .IdResultType, .quantifier = .required },
2857 .{ .kind = .IdResult, .quantifier = .required },
2858 .{ .kind = .IdRef, .quantifier = .required },
2859 },
2860 .OpIsNormal => &[_]Operand{
2861 .{ .kind = .IdResultType, .quantifier = .required },
2862 .{ .kind = .IdResult, .quantifier = .required },
2863 .{ .kind = .IdRef, .quantifier = .required },
2864 },
2865 .OpSignBitSet => &[_]Operand{
2866 .{ .kind = .IdResultType, .quantifier = .required },
2867 .{ .kind = .IdResult, .quantifier = .required },
2868 .{ .kind = .IdRef, .quantifier = .required },
2869 },
2870 .OpLessOrGreater => &[_]Operand{
2871 .{ .kind = .IdResultType, .quantifier = .required },
2872 .{ .kind = .IdResult, .quantifier = .required },
2873 .{ .kind = .IdRef, .quantifier = .required },
2874 .{ .kind = .IdRef, .quantifier = .required },
2875 },
2876 .OpOrdered => &[_]Operand{
2877 .{ .kind = .IdResultType, .quantifier = .required },
2878 .{ .kind = .IdResult, .quantifier = .required },
2879 .{ .kind = .IdRef, .quantifier = .required },
2880 .{ .kind = .IdRef, .quantifier = .required },
2881 },
2882 .OpUnordered => &[_]Operand{
2883 .{ .kind = .IdResultType, .quantifier = .required },
2884 .{ .kind = .IdResult, .quantifier = .required },
2885 .{ .kind = .IdRef, .quantifier = .required },
2886 .{ .kind = .IdRef, .quantifier = .required },
2887 },
2888 .OpLogicalEqual => &[_]Operand{
2889 .{ .kind = .IdResultType, .quantifier = .required },
2890 .{ .kind = .IdResult, .quantifier = .required },
2891 .{ .kind = .IdRef, .quantifier = .required },
2892 .{ .kind = .IdRef, .quantifier = .required },
2893 },
2894 .OpLogicalNotEqual => &[_]Operand{
2895 .{ .kind = .IdResultType, .quantifier = .required },
2896 .{ .kind = .IdResult, .quantifier = .required },
2897 .{ .kind = .IdRef, .quantifier = .required },
2898 .{ .kind = .IdRef, .quantifier = .required },
2899 },
2900 .OpLogicalOr => &[_]Operand{
2901 .{ .kind = .IdResultType, .quantifier = .required },
2902 .{ .kind = .IdResult, .quantifier = .required },
2903 .{ .kind = .IdRef, .quantifier = .required },
2904 .{ .kind = .IdRef, .quantifier = .required },
2905 },
2906 .OpLogicalAnd => &[_]Operand{
2907 .{ .kind = .IdResultType, .quantifier = .required },
2908 .{ .kind = .IdResult, .quantifier = .required },
2909 .{ .kind = .IdRef, .quantifier = .required },
2910 .{ .kind = .IdRef, .quantifier = .required },
2911 },
2912 .OpLogicalNot => &[_]Operand{
2913 .{ .kind = .IdResultType, .quantifier = .required },
2914 .{ .kind = .IdResult, .quantifier = .required },
2915 .{ .kind = .IdRef, .quantifier = .required },
2916 },
2917 .OpSelect => &[_]Operand{
2918 .{ .kind = .IdResultType, .quantifier = .required },
2919 .{ .kind = .IdResult, .quantifier = .required },
2920 .{ .kind = .IdRef, .quantifier = .required },
2921 .{ .kind = .IdRef, .quantifier = .required },
2922 .{ .kind = .IdRef, .quantifier = .required },
2923 },
2924 .OpIEqual => &[_]Operand{
2925 .{ .kind = .IdResultType, .quantifier = .required },
2926 .{ .kind = .IdResult, .quantifier = .required },
2927 .{ .kind = .IdRef, .quantifier = .required },
2928 .{ .kind = .IdRef, .quantifier = .required },
2929 },
2930 .OpINotEqual => &[_]Operand{
2931 .{ .kind = .IdResultType, .quantifier = .required },
2932 .{ .kind = .IdResult, .quantifier = .required },
2933 .{ .kind = .IdRef, .quantifier = .required },
2934 .{ .kind = .IdRef, .quantifier = .required },
2935 },
2936 .OpUGreaterThan => &[_]Operand{
2937 .{ .kind = .IdResultType, .quantifier = .required },
2938 .{ .kind = .IdResult, .quantifier = .required },
2939 .{ .kind = .IdRef, .quantifier = .required },
2940 .{ .kind = .IdRef, .quantifier = .required },
2941 },
2942 .OpSGreaterThan => &[_]Operand{
2943 .{ .kind = .IdResultType, .quantifier = .required },
2944 .{ .kind = .IdResult, .quantifier = .required },
2945 .{ .kind = .IdRef, .quantifier = .required },
2946 .{ .kind = .IdRef, .quantifier = .required },
2947 },
2948 .OpUGreaterThanEqual => &[_]Operand{
2949 .{ .kind = .IdResultType, .quantifier = .required },
2950 .{ .kind = .IdResult, .quantifier = .required },
2951 .{ .kind = .IdRef, .quantifier = .required },
2952 .{ .kind = .IdRef, .quantifier = .required },
2953 },
2954 .OpSGreaterThanEqual => &[_]Operand{
2955 .{ .kind = .IdResultType, .quantifier = .required },
2956 .{ .kind = .IdResult, .quantifier = .required },
2957 .{ .kind = .IdRef, .quantifier = .required },
2958 .{ .kind = .IdRef, .quantifier = .required },
2959 },
2960 .OpULessThan => &[_]Operand{
2961 .{ .kind = .IdResultType, .quantifier = .required },
2962 .{ .kind = .IdResult, .quantifier = .required },
2963 .{ .kind = .IdRef, .quantifier = .required },
2964 .{ .kind = .IdRef, .quantifier = .required },
2965 },
2966 .OpSLessThan => &[_]Operand{
2967 .{ .kind = .IdResultType, .quantifier = .required },
2968 .{ .kind = .IdResult, .quantifier = .required },
2969 .{ .kind = .IdRef, .quantifier = .required },
2970 .{ .kind = .IdRef, .quantifier = .required },
2971 },
2972 .OpULessThanEqual => &[_]Operand{
2973 .{ .kind = .IdResultType, .quantifier = .required },
2974 .{ .kind = .IdResult, .quantifier = .required },
2975 .{ .kind = .IdRef, .quantifier = .required },
2976 .{ .kind = .IdRef, .quantifier = .required },
2977 },
2978 .OpSLessThanEqual => &[_]Operand{
2979 .{ .kind = .IdResultType, .quantifier = .required },
2980 .{ .kind = .IdResult, .quantifier = .required },
2981 .{ .kind = .IdRef, .quantifier = .required },
2982 .{ .kind = .IdRef, .quantifier = .required },
2983 },
2984 .OpFOrdEqual => &[_]Operand{
2985 .{ .kind = .IdResultType, .quantifier = .required },
2986 .{ .kind = .IdResult, .quantifier = .required },
2987 .{ .kind = .IdRef, .quantifier = .required },
2988 .{ .kind = .IdRef, .quantifier = .required },
2989 },
2990 .OpFUnordEqual => &[_]Operand{
2991 .{ .kind = .IdResultType, .quantifier = .required },
2992 .{ .kind = .IdResult, .quantifier = .required },
2993 .{ .kind = .IdRef, .quantifier = .required },
2994 .{ .kind = .IdRef, .quantifier = .required },
2995 },
2996 .OpFOrdNotEqual => &[_]Operand{
2997 .{ .kind = .IdResultType, .quantifier = .required },
2998 .{ .kind = .IdResult, .quantifier = .required },
2999 .{ .kind = .IdRef, .quantifier = .required },
3000 .{ .kind = .IdRef, .quantifier = .required },
3001 },
3002 .OpFUnordNotEqual => &[_]Operand{
3003 .{ .kind = .IdResultType, .quantifier = .required },
3004 .{ .kind = .IdResult, .quantifier = .required },
3005 .{ .kind = .IdRef, .quantifier = .required },
3006 .{ .kind = .IdRef, .quantifier = .required },
3007 },
3008 .OpFOrdLessThan => &[_]Operand{
3009 .{ .kind = .IdResultType, .quantifier = .required },
3010 .{ .kind = .IdResult, .quantifier = .required },
3011 .{ .kind = .IdRef, .quantifier = .required },
3012 .{ .kind = .IdRef, .quantifier = .required },
3013 },
3014 .OpFUnordLessThan => &[_]Operand{
3015 .{ .kind = .IdResultType, .quantifier = .required },
3016 .{ .kind = .IdResult, .quantifier = .required },
3017 .{ .kind = .IdRef, .quantifier = .required },
3018 .{ .kind = .IdRef, .quantifier = .required },
3019 },
3020 .OpFOrdGreaterThan => &[_]Operand{
3021 .{ .kind = .IdResultType, .quantifier = .required },
3022 .{ .kind = .IdResult, .quantifier = .required },
3023 .{ .kind = .IdRef, .quantifier = .required },
3024 .{ .kind = .IdRef, .quantifier = .required },
3025 },
3026 .OpFUnordGreaterThan => &[_]Operand{
3027 .{ .kind = .IdResultType, .quantifier = .required },
3028 .{ .kind = .IdResult, .quantifier = .required },
3029 .{ .kind = .IdRef, .quantifier = .required },
3030 .{ .kind = .IdRef, .quantifier = .required },
3031 },
3032 .OpFOrdLessThanEqual => &[_]Operand{
3033 .{ .kind = .IdResultType, .quantifier = .required },
3034 .{ .kind = .IdResult, .quantifier = .required },
3035 .{ .kind = .IdRef, .quantifier = .required },
3036 .{ .kind = .IdRef, .quantifier = .required },
3037 },
3038 .OpFUnordLessThanEqual => &[_]Operand{
3039 .{ .kind = .IdResultType, .quantifier = .required },
3040 .{ .kind = .IdResult, .quantifier = .required },
3041 .{ .kind = .IdRef, .quantifier = .required },
3042 .{ .kind = .IdRef, .quantifier = .required },
3043 },
3044 .OpFOrdGreaterThanEqual => &[_]Operand{
3045 .{ .kind = .IdResultType, .quantifier = .required },
3046 .{ .kind = .IdResult, .quantifier = .required },
3047 .{ .kind = .IdRef, .quantifier = .required },
3048 .{ .kind = .IdRef, .quantifier = .required },
3049 },
3050 .OpFUnordGreaterThanEqual => &[_]Operand{
3051 .{ .kind = .IdResultType, .quantifier = .required },
3052 .{ .kind = .IdResult, .quantifier = .required },
3053 .{ .kind = .IdRef, .quantifier = .required },
3054 .{ .kind = .IdRef, .quantifier = .required },
3055 },
3056 .OpShiftRightLogical => &[_]Operand{
3057 .{ .kind = .IdResultType, .quantifier = .required },
3058 .{ .kind = .IdResult, .quantifier = .required },
3059 .{ .kind = .IdRef, .quantifier = .required },
3060 .{ .kind = .IdRef, .quantifier = .required },
3061 },
3062 .OpShiftRightArithmetic => &[_]Operand{
3063 .{ .kind = .IdResultType, .quantifier = .required },
3064 .{ .kind = .IdResult, .quantifier = .required },
3065 .{ .kind = .IdRef, .quantifier = .required },
3066 .{ .kind = .IdRef, .quantifier = .required },
3067 },
3068 .OpShiftLeftLogical => &[_]Operand{
3069 .{ .kind = .IdResultType, .quantifier = .required },
3070 .{ .kind = .IdResult, .quantifier = .required },
3071 .{ .kind = .IdRef, .quantifier = .required },
3072 .{ .kind = .IdRef, .quantifier = .required },
3073 },
3074 .OpBitwiseOr => &[_]Operand{
3075 .{ .kind = .IdResultType, .quantifier = .required },
3076 .{ .kind = .IdResult, .quantifier = .required },
3077 .{ .kind = .IdRef, .quantifier = .required },
3078 .{ .kind = .IdRef, .quantifier = .required },
3079 },
3080 .OpBitwiseXor => &[_]Operand{
3081 .{ .kind = .IdResultType, .quantifier = .required },
3082 .{ .kind = .IdResult, .quantifier = .required },
3083 .{ .kind = .IdRef, .quantifier = .required },
3084 .{ .kind = .IdRef, .quantifier = .required },
3085 },
3086 .OpBitwiseAnd => &[_]Operand{
3087 .{ .kind = .IdResultType, .quantifier = .required },
3088 .{ .kind = .IdResult, .quantifier = .required },
3089 .{ .kind = .IdRef, .quantifier = .required },
3090 .{ .kind = .IdRef, .quantifier = .required },
3091 },
3092 .OpNot => &[_]Operand{
3093 .{ .kind = .IdResultType, .quantifier = .required },
3094 .{ .kind = .IdResult, .quantifier = .required },
3095 .{ .kind = .IdRef, .quantifier = .required },
3096 },
3097 .OpBitFieldInsert => &[_]Operand{
3098 .{ .kind = .IdResultType, .quantifier = .required },
3099 .{ .kind = .IdResult, .quantifier = .required },
3100 .{ .kind = .IdRef, .quantifier = .required },
3101 .{ .kind = .IdRef, .quantifier = .required },
3102 .{ .kind = .IdRef, .quantifier = .required },
3103 .{ .kind = .IdRef, .quantifier = .required },
3104 },
3105 .OpBitFieldSExtract => &[_]Operand{
3106 .{ .kind = .IdResultType, .quantifier = .required },
3107 .{ .kind = .IdResult, .quantifier = .required },
3108 .{ .kind = .IdRef, .quantifier = .required },
3109 .{ .kind = .IdRef, .quantifier = .required },
3110 .{ .kind = .IdRef, .quantifier = .required },
3111 },
3112 .OpBitFieldUExtract => &[_]Operand{
3113 .{ .kind = .IdResultType, .quantifier = .required },
3114 .{ .kind = .IdResult, .quantifier = .required },
3115 .{ .kind = .IdRef, .quantifier = .required },
3116 .{ .kind = .IdRef, .quantifier = .required },
3117 .{ .kind = .IdRef, .quantifier = .required },
3118 },
3119 .OpBitReverse => &[_]Operand{
3120 .{ .kind = .IdResultType, .quantifier = .required },
3121 .{ .kind = .IdResult, .quantifier = .required },
3122 .{ .kind = .IdRef, .quantifier = .required },
3123 },
3124 .OpBitCount => &[_]Operand{
3125 .{ .kind = .IdResultType, .quantifier = .required },
3126 .{ .kind = .IdResult, .quantifier = .required },
3127 .{ .kind = .IdRef, .quantifier = .required },
3128 },
3129 .OpDPdx => &[_]Operand{
3130 .{ .kind = .IdResultType, .quantifier = .required },
3131 .{ .kind = .IdResult, .quantifier = .required },
3132 .{ .kind = .IdRef, .quantifier = .required },
3133 },
3134 .OpDPdy => &[_]Operand{
3135 .{ .kind = .IdResultType, .quantifier = .required },
3136 .{ .kind = .IdResult, .quantifier = .required },
3137 .{ .kind = .IdRef, .quantifier = .required },
3138 },
3139 .OpFwidth => &[_]Operand{
3140 .{ .kind = .IdResultType, .quantifier = .required },
3141 .{ .kind = .IdResult, .quantifier = .required },
3142 .{ .kind = .IdRef, .quantifier = .required },
3143 },
3144 .OpDPdxFine => &[_]Operand{
3145 .{ .kind = .IdResultType, .quantifier = .required },
3146 .{ .kind = .IdResult, .quantifier = .required },
3147 .{ .kind = .IdRef, .quantifier = .required },
3148 },
3149 .OpDPdyFine => &[_]Operand{
3150 .{ .kind = .IdResultType, .quantifier = .required },
3151 .{ .kind = .IdResult, .quantifier = .required },
3152 .{ .kind = .IdRef, .quantifier = .required },
3153 },
3154 .OpFwidthFine => &[_]Operand{
3155 .{ .kind = .IdResultType, .quantifier = .required },
3156 .{ .kind = .IdResult, .quantifier = .required },
3157 .{ .kind = .IdRef, .quantifier = .required },
3158 },
3159 .OpDPdxCoarse => &[_]Operand{
3160 .{ .kind = .IdResultType, .quantifier = .required },
3161 .{ .kind = .IdResult, .quantifier = .required },
3162 .{ .kind = .IdRef, .quantifier = .required },
3163 },
3164 .OpDPdyCoarse => &[_]Operand{
3165 .{ .kind = .IdResultType, .quantifier = .required },
3166 .{ .kind = .IdResult, .quantifier = .required },
3167 .{ .kind = .IdRef, .quantifier = .required },
3168 },
3169 .OpFwidthCoarse => &[_]Operand{
3170 .{ .kind = .IdResultType, .quantifier = .required },
3171 .{ .kind = .IdResult, .quantifier = .required },
3172 .{ .kind = .IdRef, .quantifier = .required },
3173 },
3174 .OpEmitVertex => &[_]Operand{},
3175 .OpEndPrimitive => &[_]Operand{},
3176 .OpEmitStreamVertex => &[_]Operand{
3177 .{ .kind = .IdRef, .quantifier = .required },
3178 },
3179 .OpEndStreamPrimitive => &[_]Operand{
3180 .{ .kind = .IdRef, .quantifier = .required },
3181 },
3182 .OpControlBarrier => &[_]Operand{
3183 .{ .kind = .IdScope, .quantifier = .required },
3184 .{ .kind = .IdScope, .quantifier = .required },
3185 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3186 },
3187 .OpMemoryBarrier => &[_]Operand{
3188 .{ .kind = .IdScope, .quantifier = .required },
3189 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3190 },
3191 .OpAtomicLoad => &[_]Operand{
3192 .{ .kind = .IdResultType, .quantifier = .required },
3193 .{ .kind = .IdResult, .quantifier = .required },
3194 .{ .kind = .IdRef, .quantifier = .required },
3195 .{ .kind = .IdScope, .quantifier = .required },
3196 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3197 },
3198 .OpAtomicStore => &[_]Operand{
3199 .{ .kind = .IdRef, .quantifier = .required },
3200 .{ .kind = .IdScope, .quantifier = .required },
3201 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3202 .{ .kind = .IdRef, .quantifier = .required },
3203 },
3204 .OpAtomicExchange => &[_]Operand{
3205 .{ .kind = .IdResultType, .quantifier = .required },
3206 .{ .kind = .IdResult, .quantifier = .required },
3207 .{ .kind = .IdRef, .quantifier = .required },
3208 .{ .kind = .IdScope, .quantifier = .required },
3209 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3210 .{ .kind = .IdRef, .quantifier = .required },
3211 },
3212 .OpAtomicCompareExchange => &[_]Operand{
3213 .{ .kind = .IdResultType, .quantifier = .required },
3214 .{ .kind = .IdResult, .quantifier = .required },
3215 .{ .kind = .IdRef, .quantifier = .required },
3216 .{ .kind = .IdScope, .quantifier = .required },
3217 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3218 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3219 .{ .kind = .IdRef, .quantifier = .required },
3220 .{ .kind = .IdRef, .quantifier = .required },
3221 },
3222 .OpAtomicCompareExchangeWeak => &[_]Operand{
3223 .{ .kind = .IdResultType, .quantifier = .required },
3224 .{ .kind = .IdResult, .quantifier = .required },
3225 .{ .kind = .IdRef, .quantifier = .required },
3226 .{ .kind = .IdScope, .quantifier = .required },
3227 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3228 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3229 .{ .kind = .IdRef, .quantifier = .required },
3230 .{ .kind = .IdRef, .quantifier = .required },
3231 },
3232 .OpAtomicIIncrement => &[_]Operand{
3233 .{ .kind = .IdResultType, .quantifier = .required },
3234 .{ .kind = .IdResult, .quantifier = .required },
3235 .{ .kind = .IdRef, .quantifier = .required },
3236 .{ .kind = .IdScope, .quantifier = .required },
3237 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3238 },
3239 .OpAtomicIDecrement => &[_]Operand{
3240 .{ .kind = .IdResultType, .quantifier = .required },
3241 .{ .kind = .IdResult, .quantifier = .required },
3242 .{ .kind = .IdRef, .quantifier = .required },
3243 .{ .kind = .IdScope, .quantifier = .required },
3244 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3245 },
3246 .OpAtomicIAdd => &[_]Operand{
3247 .{ .kind = .IdResultType, .quantifier = .required },
3248 .{ .kind = .IdResult, .quantifier = .required },
3249 .{ .kind = .IdRef, .quantifier = .required },
3250 .{ .kind = .IdScope, .quantifier = .required },
3251 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3252 .{ .kind = .IdRef, .quantifier = .required },
3253 },
3254 .OpAtomicISub => &[_]Operand{
3255 .{ .kind = .IdResultType, .quantifier = .required },
3256 .{ .kind = .IdResult, .quantifier = .required },
3257 .{ .kind = .IdRef, .quantifier = .required },
3258 .{ .kind = .IdScope, .quantifier = .required },
3259 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3260 .{ .kind = .IdRef, .quantifier = .required },
3261 },
3262 .OpAtomicSMin => &[_]Operand{
3263 .{ .kind = .IdResultType, .quantifier = .required },
3264 .{ .kind = .IdResult, .quantifier = .required },
3265 .{ .kind = .IdRef, .quantifier = .required },
3266 .{ .kind = .IdScope, .quantifier = .required },
3267 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3268 .{ .kind = .IdRef, .quantifier = .required },
3269 },
3270 .OpAtomicUMin => &[_]Operand{
3271 .{ .kind = .IdResultType, .quantifier = .required },
3272 .{ .kind = .IdResult, .quantifier = .required },
3273 .{ .kind = .IdRef, .quantifier = .required },
3274 .{ .kind = .IdScope, .quantifier = .required },
3275 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3276 .{ .kind = .IdRef, .quantifier = .required },
3277 },
3278 .OpAtomicSMax => &[_]Operand{
3279 .{ .kind = .IdResultType, .quantifier = .required },
3280 .{ .kind = .IdResult, .quantifier = .required },
3281 .{ .kind = .IdRef, .quantifier = .required },
3282 .{ .kind = .IdScope, .quantifier = .required },
3283 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3284 .{ .kind = .IdRef, .quantifier = .required },
3285 },
3286 .OpAtomicUMax => &[_]Operand{
3287 .{ .kind = .IdResultType, .quantifier = .required },
3288 .{ .kind = .IdResult, .quantifier = .required },
3289 .{ .kind = .IdRef, .quantifier = .required },
3290 .{ .kind = .IdScope, .quantifier = .required },
3291 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3292 .{ .kind = .IdRef, .quantifier = .required },
3293 },
3294 .OpAtomicAnd => &[_]Operand{
3295 .{ .kind = .IdResultType, .quantifier = .required },
3296 .{ .kind = .IdResult, .quantifier = .required },
3297 .{ .kind = .IdRef, .quantifier = .required },
3298 .{ .kind = .IdScope, .quantifier = .required },
3299 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3300 .{ .kind = .IdRef, .quantifier = .required },
3301 },
3302 .OpAtomicOr => &[_]Operand{
3303 .{ .kind = .IdResultType, .quantifier = .required },
3304 .{ .kind = .IdResult, .quantifier = .required },
3305 .{ .kind = .IdRef, .quantifier = .required },
3306 .{ .kind = .IdScope, .quantifier = .required },
3307 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3308 .{ .kind = .IdRef, .quantifier = .required },
3309 },
3310 .OpAtomicXor => &[_]Operand{
3311 .{ .kind = .IdResultType, .quantifier = .required },
3312 .{ .kind = .IdResult, .quantifier = .required },
3313 .{ .kind = .IdRef, .quantifier = .required },
3314 .{ .kind = .IdScope, .quantifier = .required },
3315 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3316 .{ .kind = .IdRef, .quantifier = .required },
3317 },
3318 .OpPhi => &[_]Operand{
3319 .{ .kind = .IdResultType, .quantifier = .required },
3320 .{ .kind = .IdResult, .quantifier = .required },
3321 .{ .kind = .PairIdRefIdRef, .quantifier = .variadic },
3322 },
3323 .OpLoopMerge => &[_]Operand{
3324 .{ .kind = .IdRef, .quantifier = .required },
3325 .{ .kind = .IdRef, .quantifier = .required },
3326 .{ .kind = .LoopControl, .quantifier = .required },
3327 },
3328 .OpSelectionMerge => &[_]Operand{
3329 .{ .kind = .IdRef, .quantifier = .required },
3330 .{ .kind = .SelectionControl, .quantifier = .required },
3331 },
3332 .OpLabel => &[_]Operand{
3333 .{ .kind = .IdResult, .quantifier = .required },
3334 },
3335 .OpBranch => &[_]Operand{
3336 .{ .kind = .IdRef, .quantifier = .required },
3337 },
3338 .OpBranchConditional => &[_]Operand{
3339 .{ .kind = .IdRef, .quantifier = .required },
3340 .{ .kind = .IdRef, .quantifier = .required },
3341 .{ .kind = .IdRef, .quantifier = .required },
3342 .{ .kind = .LiteralInteger, .quantifier = .variadic },
3343 },
3344 .OpSwitch => &[_]Operand{
3345 .{ .kind = .IdRef, .quantifier = .required },
3346 .{ .kind = .IdRef, .quantifier = .required },
3347 .{ .kind = .PairLiteralIntegerIdRef, .quantifier = .variadic },
3348 },
3349 .OpKill => &[_]Operand{},
3350 .OpReturn => &[_]Operand{},
3351 .OpReturnValue => &[_]Operand{
3352 .{ .kind = .IdRef, .quantifier = .required },
3353 },
3354 .OpUnreachable => &[_]Operand{},
3355 .OpLifetimeStart => &[_]Operand{
3356 .{ .kind = .IdRef, .quantifier = .required },
3357 .{ .kind = .LiteralInteger, .quantifier = .required },
3358 },
3359 .OpLifetimeStop => &[_]Operand{
3360 .{ .kind = .IdRef, .quantifier = .required },
3361 .{ .kind = .LiteralInteger, .quantifier = .required },
3362 },
3363 .OpGroupAsyncCopy => &[_]Operand{
3364 .{ .kind = .IdResultType, .quantifier = .required },
3365 .{ .kind = .IdResult, .quantifier = .required },
3366 .{ .kind = .IdScope, .quantifier = .required },
3367 .{ .kind = .IdRef, .quantifier = .required },
3368 .{ .kind = .IdRef, .quantifier = .required },
3369 .{ .kind = .IdRef, .quantifier = .required },
3370 .{ .kind = .IdRef, .quantifier = .required },
3371 .{ .kind = .IdRef, .quantifier = .required },
3372 },
3373 .OpGroupWaitEvents => &[_]Operand{
3374 .{ .kind = .IdScope, .quantifier = .required },
3375 .{ .kind = .IdRef, .quantifier = .required },
3376 .{ .kind = .IdRef, .quantifier = .required },
3377 },
3378 .OpGroupAll => &[_]Operand{
3379 .{ .kind = .IdResultType, .quantifier = .required },
3380 .{ .kind = .IdResult, .quantifier = .required },
3381 .{ .kind = .IdScope, .quantifier = .required },
3382 .{ .kind = .IdRef, .quantifier = .required },
3383 },
3384 .OpGroupAny => &[_]Operand{
3385 .{ .kind = .IdResultType, .quantifier = .required },
3386 .{ .kind = .IdResult, .quantifier = .required },
3387 .{ .kind = .IdScope, .quantifier = .required },
3388 .{ .kind = .IdRef, .quantifier = .required },
3389 },
3390 .OpGroupBroadcast => &[_]Operand{
3391 .{ .kind = .IdResultType, .quantifier = .required },
3392 .{ .kind = .IdResult, .quantifier = .required },
3393 .{ .kind = .IdScope, .quantifier = .required },
3394 .{ .kind = .IdRef, .quantifier = .required },
3395 .{ .kind = .IdRef, .quantifier = .required },
3396 },
3397 .OpGroupIAdd => &[_]Operand{
3398 .{ .kind = .IdResultType, .quantifier = .required },
3399 .{ .kind = .IdResult, .quantifier = .required },
3400 .{ .kind = .IdScope, .quantifier = .required },
3401 .{ .kind = .GroupOperation, .quantifier = .required },
3402 .{ .kind = .IdRef, .quantifier = .required },
3403 },
3404 .OpGroupFAdd => &[_]Operand{
3405 .{ .kind = .IdResultType, .quantifier = .required },
3406 .{ .kind = .IdResult, .quantifier = .required },
3407 .{ .kind = .IdScope, .quantifier = .required },
3408 .{ .kind = .GroupOperation, .quantifier = .required },
3409 .{ .kind = .IdRef, .quantifier = .required },
3410 },
3411 .OpGroupFMin => &[_]Operand{
3412 .{ .kind = .IdResultType, .quantifier = .required },
3413 .{ .kind = .IdResult, .quantifier = .required },
3414 .{ .kind = .IdScope, .quantifier = .required },
3415 .{ .kind = .GroupOperation, .quantifier = .required },
3416 .{ .kind = .IdRef, .quantifier = .required },
3417 },
3418 .OpGroupUMin => &[_]Operand{
3419 .{ .kind = .IdResultType, .quantifier = .required },
3420 .{ .kind = .IdResult, .quantifier = .required },
3421 .{ .kind = .IdScope, .quantifier = .required },
3422 .{ .kind = .GroupOperation, .quantifier = .required },
3423 .{ .kind = .IdRef, .quantifier = .required },
3424 },
3425 .OpGroupSMin => &[_]Operand{
3426 .{ .kind = .IdResultType, .quantifier = .required },
3427 .{ .kind = .IdResult, .quantifier = .required },
3428 .{ .kind = .IdScope, .quantifier = .required },
3429 .{ .kind = .GroupOperation, .quantifier = .required },
3430 .{ .kind = .IdRef, .quantifier = .required },
3431 },
3432 .OpGroupFMax => &[_]Operand{
3433 .{ .kind = .IdResultType, .quantifier = .required },
3434 .{ .kind = .IdResult, .quantifier = .required },
3435 .{ .kind = .IdScope, .quantifier = .required },
3436 .{ .kind = .GroupOperation, .quantifier = .required },
3437 .{ .kind = .IdRef, .quantifier = .required },
3438 },
3439 .OpGroupUMax => &[_]Operand{
3440 .{ .kind = .IdResultType, .quantifier = .required },
3441 .{ .kind = .IdResult, .quantifier = .required },
3442 .{ .kind = .IdScope, .quantifier = .required },
3443 .{ .kind = .GroupOperation, .quantifier = .required },
3444 .{ .kind = .IdRef, .quantifier = .required },
3445 },
3446 .OpGroupSMax => &[_]Operand{
3447 .{ .kind = .IdResultType, .quantifier = .required },
3448 .{ .kind = .IdResult, .quantifier = .required },
3449 .{ .kind = .IdScope, .quantifier = .required },
3450 .{ .kind = .GroupOperation, .quantifier = .required },
3451 .{ .kind = .IdRef, .quantifier = .required },
3452 },
3453 .OpReadPipe => &[_]Operand{
3454 .{ .kind = .IdResultType, .quantifier = .required },
3455 .{ .kind = .IdResult, .quantifier = .required },
3456 .{ .kind = .IdRef, .quantifier = .required },
3457 .{ .kind = .IdRef, .quantifier = .required },
3458 .{ .kind = .IdRef, .quantifier = .required },
3459 .{ .kind = .IdRef, .quantifier = .required },
3460 },
3461 .OpWritePipe => &[_]Operand{
3462 .{ .kind = .IdResultType, .quantifier = .required },
3463 .{ .kind = .IdResult, .quantifier = .required },
3464 .{ .kind = .IdRef, .quantifier = .required },
3465 .{ .kind = .IdRef, .quantifier = .required },
3466 .{ .kind = .IdRef, .quantifier = .required },
3467 .{ .kind = .IdRef, .quantifier = .required },
3468 },
3469 .OpReservedReadPipe => &[_]Operand{
3470 .{ .kind = .IdResultType, .quantifier = .required },
3471 .{ .kind = .IdResult, .quantifier = .required },
3472 .{ .kind = .IdRef, .quantifier = .required },
3473 .{ .kind = .IdRef, .quantifier = .required },
3474 .{ .kind = .IdRef, .quantifier = .required },
3475 .{ .kind = .IdRef, .quantifier = .required },
3476 .{ .kind = .IdRef, .quantifier = .required },
3477 .{ .kind = .IdRef, .quantifier = .required },
3478 },
3479 .OpReservedWritePipe => &[_]Operand{
3480 .{ .kind = .IdResultType, .quantifier = .required },
3481 .{ .kind = .IdResult, .quantifier = .required },
3482 .{ .kind = .IdRef, .quantifier = .required },
3483 .{ .kind = .IdRef, .quantifier = .required },
3484 .{ .kind = .IdRef, .quantifier = .required },
3485 .{ .kind = .IdRef, .quantifier = .required },
3486 .{ .kind = .IdRef, .quantifier = .required },
3487 .{ .kind = .IdRef, .quantifier = .required },
3488 },
3489 .OpReserveReadPipePackets => &[_]Operand{
3490 .{ .kind = .IdResultType, .quantifier = .required },
3491 .{ .kind = .IdResult, .quantifier = .required },
3492 .{ .kind = .IdRef, .quantifier = .required },
3493 .{ .kind = .IdRef, .quantifier = .required },
3494 .{ .kind = .IdRef, .quantifier = .required },
3495 .{ .kind = .IdRef, .quantifier = .required },
3496 },
3497 .OpReserveWritePipePackets => &[_]Operand{
3498 .{ .kind = .IdResultType, .quantifier = .required },
3499 .{ .kind = .IdResult, .quantifier = .required },
3500 .{ .kind = .IdRef, .quantifier = .required },
3501 .{ .kind = .IdRef, .quantifier = .required },
3502 .{ .kind = .IdRef, .quantifier = .required },
3503 .{ .kind = .IdRef, .quantifier = .required },
3504 },
3505 .OpCommitReadPipe => &[_]Operand{
3506 .{ .kind = .IdRef, .quantifier = .required },
3507 .{ .kind = .IdRef, .quantifier = .required },
3508 .{ .kind = .IdRef, .quantifier = .required },
3509 .{ .kind = .IdRef, .quantifier = .required },
3510 },
3511 .OpCommitWritePipe => &[_]Operand{
3512 .{ .kind = .IdRef, .quantifier = .required },
3513 .{ .kind = .IdRef, .quantifier = .required },
3514 .{ .kind = .IdRef, .quantifier = .required },
3515 .{ .kind = .IdRef, .quantifier = .required },
3516 },
3517 .OpIsValidReserveId => &[_]Operand{
3518 .{ .kind = .IdResultType, .quantifier = .required },
3519 .{ .kind = .IdResult, .quantifier = .required },
3520 .{ .kind = .IdRef, .quantifier = .required },
3521 },
3522 .OpGetNumPipePackets => &[_]Operand{
3523 .{ .kind = .IdResultType, .quantifier = .required },
3524 .{ .kind = .IdResult, .quantifier = .required },
3525 .{ .kind = .IdRef, .quantifier = .required },
3526 .{ .kind = .IdRef, .quantifier = .required },
3527 .{ .kind = .IdRef, .quantifier = .required },
3528 },
3529 .OpGetMaxPipePackets => &[_]Operand{
3530 .{ .kind = .IdResultType, .quantifier = .required },
3531 .{ .kind = .IdResult, .quantifier = .required },
3532 .{ .kind = .IdRef, .quantifier = .required },
3533 .{ .kind = .IdRef, .quantifier = .required },
3534 .{ .kind = .IdRef, .quantifier = .required },
3535 },
3536 .OpGroupReserveReadPipePackets => &[_]Operand{
3537 .{ .kind = .IdResultType, .quantifier = .required },
3538 .{ .kind = .IdResult, .quantifier = .required },
3539 .{ .kind = .IdScope, .quantifier = .required },
3540 .{ .kind = .IdRef, .quantifier = .required },
3541 .{ .kind = .IdRef, .quantifier = .required },
3542 .{ .kind = .IdRef, .quantifier = .required },
3543 .{ .kind = .IdRef, .quantifier = .required },
3544 },
3545 .OpGroupReserveWritePipePackets => &[_]Operand{
3546 .{ .kind = .IdResultType, .quantifier = .required },
3547 .{ .kind = .IdResult, .quantifier = .required },
3548 .{ .kind = .IdScope, .quantifier = .required },
3549 .{ .kind = .IdRef, .quantifier = .required },
3550 .{ .kind = .IdRef, .quantifier = .required },
3551 .{ .kind = .IdRef, .quantifier = .required },
3552 .{ .kind = .IdRef, .quantifier = .required },
3553 },
3554 .OpGroupCommitReadPipe => &[_]Operand{
3555 .{ .kind = .IdScope, .quantifier = .required },
3556 .{ .kind = .IdRef, .quantifier = .required },
3557 .{ .kind = .IdRef, .quantifier = .required },
3558 .{ .kind = .IdRef, .quantifier = .required },
3559 .{ .kind = .IdRef, .quantifier = .required },
3560 },
3561 .OpGroupCommitWritePipe => &[_]Operand{
3562 .{ .kind = .IdScope, .quantifier = .required },
3563 .{ .kind = .IdRef, .quantifier = .required },
3564 .{ .kind = .IdRef, .quantifier = .required },
3565 .{ .kind = .IdRef, .quantifier = .required },
3566 .{ .kind = .IdRef, .quantifier = .required },
3567 },
3568 .OpEnqueueMarker => &[_]Operand{
3569 .{ .kind = .IdResultType, .quantifier = .required },
3570 .{ .kind = .IdResult, .quantifier = .required },
3571 .{ .kind = .IdRef, .quantifier = .required },
3572 .{ .kind = .IdRef, .quantifier = .required },
3573 .{ .kind = .IdRef, .quantifier = .required },
3574 .{ .kind = .IdRef, .quantifier = .required },
3575 },
3576 .OpEnqueueKernel => &[_]Operand{
3577 .{ .kind = .IdResultType, .quantifier = .required },
3578 .{ .kind = .IdResult, .quantifier = .required },
3579 .{ .kind = .IdRef, .quantifier = .required },
3580 .{ .kind = .IdRef, .quantifier = .required },
3581 .{ .kind = .IdRef, .quantifier = .required },
3582 .{ .kind = .IdRef, .quantifier = .required },
3583 .{ .kind = .IdRef, .quantifier = .required },
3584 .{ .kind = .IdRef, .quantifier = .required },
3585 .{ .kind = .IdRef, .quantifier = .required },
3586 .{ .kind = .IdRef, .quantifier = .required },
3587 .{ .kind = .IdRef, .quantifier = .required },
3588 .{ .kind = .IdRef, .quantifier = .required },
3589 .{ .kind = .IdRef, .quantifier = .variadic },
3590 },
3591 .OpGetKernelNDrangeSubGroupCount => &[_]Operand{
3592 .{ .kind = .IdResultType, .quantifier = .required },
3593 .{ .kind = .IdResult, .quantifier = .required },
3594 .{ .kind = .IdRef, .quantifier = .required },
3595 .{ .kind = .IdRef, .quantifier = .required },
3596 .{ .kind = .IdRef, .quantifier = .required },
3597 .{ .kind = .IdRef, .quantifier = .required },
3598 .{ .kind = .IdRef, .quantifier = .required },
3599 },
3600 .OpGetKernelNDrangeMaxSubGroupSize => &[_]Operand{
3601 .{ .kind = .IdResultType, .quantifier = .required },
3602 .{ .kind = .IdResult, .quantifier = .required },
3603 .{ .kind = .IdRef, .quantifier = .required },
3604 .{ .kind = .IdRef, .quantifier = .required },
3605 .{ .kind = .IdRef, .quantifier = .required },
3606 .{ .kind = .IdRef, .quantifier = .required },
3607 .{ .kind = .IdRef, .quantifier = .required },
3608 },
3609 .OpGetKernelWorkGroupSize => &[_]Operand{
3610 .{ .kind = .IdResultType, .quantifier = .required },
3611 .{ .kind = .IdResult, .quantifier = .required },
3612 .{ .kind = .IdRef, .quantifier = .required },
3613 .{ .kind = .IdRef, .quantifier = .required },
3614 .{ .kind = .IdRef, .quantifier = .required },
3615 .{ .kind = .IdRef, .quantifier = .required },
3616 },
3617 .OpGetKernelPreferredWorkGroupSizeMultiple => &[_]Operand{
3618 .{ .kind = .IdResultType, .quantifier = .required },
3619 .{ .kind = .IdResult, .quantifier = .required },
3620 .{ .kind = .IdRef, .quantifier = .required },
3621 .{ .kind = .IdRef, .quantifier = .required },
3622 .{ .kind = .IdRef, .quantifier = .required },
3623 .{ .kind = .IdRef, .quantifier = .required },
3624 },
3625 .OpRetainEvent => &[_]Operand{
3626 .{ .kind = .IdRef, .quantifier = .required },
3627 },
3628 .OpReleaseEvent => &[_]Operand{
3629 .{ .kind = .IdRef, .quantifier = .required },
3630 },
3631 .OpCreateUserEvent => &[_]Operand{
3632 .{ .kind = .IdResultType, .quantifier = .required },
3633 .{ .kind = .IdResult, .quantifier = .required },
3634 },
3635 .OpIsValidEvent => &[_]Operand{
3636 .{ .kind = .IdResultType, .quantifier = .required },
3637 .{ .kind = .IdResult, .quantifier = .required },
3638 .{ .kind = .IdRef, .quantifier = .required },
3639 },
3640 .OpSetUserEventStatus => &[_]Operand{
3641 .{ .kind = .IdRef, .quantifier = .required },
3642 .{ .kind = .IdRef, .quantifier = .required },
3643 },
3644 .OpCaptureEventProfilingInfo => &[_]Operand{
3645 .{ .kind = .IdRef, .quantifier = .required },
3646 .{ .kind = .IdRef, .quantifier = .required },
3647 .{ .kind = .IdRef, .quantifier = .required },
3648 },
3649 .OpGetDefaultQueue => &[_]Operand{
3650 .{ .kind = .IdResultType, .quantifier = .required },
3651 .{ .kind = .IdResult, .quantifier = .required },
3652 },
3653 .OpBuildNDRange => &[_]Operand{
3654 .{ .kind = .IdResultType, .quantifier = .required },
3655 .{ .kind = .IdResult, .quantifier = .required },
3656 .{ .kind = .IdRef, .quantifier = .required },
3657 .{ .kind = .IdRef, .quantifier = .required },
3658 .{ .kind = .IdRef, .quantifier = .required },
3659 },
3660 .OpImageSparseSampleImplicitLod => &[_]Operand{
3661 .{ .kind = .IdResultType, .quantifier = .required },
3662 .{ .kind = .IdResult, .quantifier = .required },
3663 .{ .kind = .IdRef, .quantifier = .required },
3664 .{ .kind = .IdRef, .quantifier = .required },
3665 .{ .kind = .ImageOperands, .quantifier = .optional },
3666 },
3667 .OpImageSparseSampleExplicitLod => &[_]Operand{
3668 .{ .kind = .IdResultType, .quantifier = .required },
3669 .{ .kind = .IdResult, .quantifier = .required },
3670 .{ .kind = .IdRef, .quantifier = .required },
3671 .{ .kind = .IdRef, .quantifier = .required },
3672 .{ .kind = .ImageOperands, .quantifier = .required },
3673 },
3674 .OpImageSparseSampleDrefImplicitLod => &[_]Operand{
3675 .{ .kind = .IdResultType, .quantifier = .required },
3676 .{ .kind = .IdResult, .quantifier = .required },
3677 .{ .kind = .IdRef, .quantifier = .required },
3678 .{ .kind = .IdRef, .quantifier = .required },
3679 .{ .kind = .IdRef, .quantifier = .required },
3680 .{ .kind = .ImageOperands, .quantifier = .optional },
3681 },
3682 .OpImageSparseSampleDrefExplicitLod => &[_]Operand{
3683 .{ .kind = .IdResultType, .quantifier = .required },
3684 .{ .kind = .IdResult, .quantifier = .required },
3685 .{ .kind = .IdRef, .quantifier = .required },
3686 .{ .kind = .IdRef, .quantifier = .required },
3687 .{ .kind = .IdRef, .quantifier = .required },
3688 .{ .kind = .ImageOperands, .quantifier = .required },
3689 },
3690 .OpImageSparseSampleProjImplicitLod => &[_]Operand{
3691 .{ .kind = .IdResultType, .quantifier = .required },
3692 .{ .kind = .IdResult, .quantifier = .required },
3693 .{ .kind = .IdRef, .quantifier = .required },
3694 .{ .kind = .IdRef, .quantifier = .required },
3695 .{ .kind = .ImageOperands, .quantifier = .optional },
3696 },
3697 .OpImageSparseSampleProjExplicitLod => &[_]Operand{
3698 .{ .kind = .IdResultType, .quantifier = .required },
3699 .{ .kind = .IdResult, .quantifier = .required },
3700 .{ .kind = .IdRef, .quantifier = .required },
3701 .{ .kind = .IdRef, .quantifier = .required },
3702 .{ .kind = .ImageOperands, .quantifier = .required },
3703 },
3704 .OpImageSparseSampleProjDrefImplicitLod => &[_]Operand{
3705 .{ .kind = .IdResultType, .quantifier = .required },
3706 .{ .kind = .IdResult, .quantifier = .required },
3707 .{ .kind = .IdRef, .quantifier = .required },
3708 .{ .kind = .IdRef, .quantifier = .required },
3709 .{ .kind = .IdRef, .quantifier = .required },
3710 .{ .kind = .ImageOperands, .quantifier = .optional },
3711 },
3712 .OpImageSparseSampleProjDrefExplicitLod => &[_]Operand{
3713 .{ .kind = .IdResultType, .quantifier = .required },
3714 .{ .kind = .IdResult, .quantifier = .required },
3715 .{ .kind = .IdRef, .quantifier = .required },
3716 .{ .kind = .IdRef, .quantifier = .required },
3717 .{ .kind = .IdRef, .quantifier = .required },
3718 .{ .kind = .ImageOperands, .quantifier = .required },
3719 },
3720 .OpImageSparseFetch => &[_]Operand{
3721 .{ .kind = .IdResultType, .quantifier = .required },
3722 .{ .kind = .IdResult, .quantifier = .required },
3723 .{ .kind = .IdRef, .quantifier = .required },
3724 .{ .kind = .IdRef, .quantifier = .required },
3725 .{ .kind = .ImageOperands, .quantifier = .optional },
3726 },
3727 .OpImageSparseGather => &[_]Operand{
3728 .{ .kind = .IdResultType, .quantifier = .required },
3729 .{ .kind = .IdResult, .quantifier = .required },
3730 .{ .kind = .IdRef, .quantifier = .required },
3731 .{ .kind = .IdRef, .quantifier = .required },
3732 .{ .kind = .IdRef, .quantifier = .required },
3733 .{ .kind = .ImageOperands, .quantifier = .optional },
3734 },
3735 .OpImageSparseDrefGather => &[_]Operand{
3736 .{ .kind = .IdResultType, .quantifier = .required },
3737 .{ .kind = .IdResult, .quantifier = .required },
3738 .{ .kind = .IdRef, .quantifier = .required },
3739 .{ .kind = .IdRef, .quantifier = .required },
3740 .{ .kind = .IdRef, .quantifier = .required },
3741 .{ .kind = .ImageOperands, .quantifier = .optional },
3742 },
3743 .OpImageSparseTexelsResident => &[_]Operand{
3744 .{ .kind = .IdResultType, .quantifier = .required },
3745 .{ .kind = .IdResult, .quantifier = .required },
3746 .{ .kind = .IdRef, .quantifier = .required },
3747 },
3748 .OpNoLine => &[_]Operand{},
3749 .OpAtomicFlagTestAndSet => &[_]Operand{
3750 .{ .kind = .IdResultType, .quantifier = .required },
3751 .{ .kind = .IdResult, .quantifier = .required },
3752 .{ .kind = .IdRef, .quantifier = .required },
3753 .{ .kind = .IdScope, .quantifier = .required },
3754 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3755 },
3756 .OpAtomicFlagClear => &[_]Operand{
3757 .{ .kind = .IdRef, .quantifier = .required },
3758 .{ .kind = .IdScope, .quantifier = .required },
3759 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3760 },
3761 .OpImageSparseRead => &[_]Operand{
3762 .{ .kind = .IdResultType, .quantifier = .required },
3763 .{ .kind = .IdResult, .quantifier = .required },
3764 .{ .kind = .IdRef, .quantifier = .required },
3765 .{ .kind = .IdRef, .quantifier = .required },
3766 .{ .kind = .ImageOperands, .quantifier = .optional },
3767 },
3768 .OpSizeOf => &[_]Operand{
3769 .{ .kind = .IdResultType, .quantifier = .required },
3770 .{ .kind = .IdResult, .quantifier = .required },
3771 .{ .kind = .IdRef, .quantifier = .required },
3772 },
3773 .OpTypePipeStorage => &[_]Operand{
3774 .{ .kind = .IdResult, .quantifier = .required },
3775 },
3776 .OpConstantPipeStorage => &[_]Operand{
3777 .{ .kind = .IdResultType, .quantifier = .required },
3778 .{ .kind = .IdResult, .quantifier = .required },
3779 .{ .kind = .LiteralInteger, .quantifier = .required },
3780 .{ .kind = .LiteralInteger, .quantifier = .required },
3781 .{ .kind = .LiteralInteger, .quantifier = .required },
3782 },
3783 .OpCreatePipeFromPipeStorage => &[_]Operand{
3784 .{ .kind = .IdResultType, .quantifier = .required },
3785 .{ .kind = .IdResult, .quantifier = .required },
3786 .{ .kind = .IdRef, .quantifier = .required },
3787 },
3788 .OpGetKernelLocalSizeForSubgroupCount => &[_]Operand{
3789 .{ .kind = .IdResultType, .quantifier = .required },
3790 .{ .kind = .IdResult, .quantifier = .required },
3791 .{ .kind = .IdRef, .quantifier = .required },
3792 .{ .kind = .IdRef, .quantifier = .required },
3793 .{ .kind = .IdRef, .quantifier = .required },
3794 .{ .kind = .IdRef, .quantifier = .required },
3795 .{ .kind = .IdRef, .quantifier = .required },
3796 },
3797 .OpGetKernelMaxNumSubgroups => &[_]Operand{
3798 .{ .kind = .IdResultType, .quantifier = .required },
3799 .{ .kind = .IdResult, .quantifier = .required },
3800 .{ .kind = .IdRef, .quantifier = .required },
3801 .{ .kind = .IdRef, .quantifier = .required },
3802 .{ .kind = .IdRef, .quantifier = .required },
3803 .{ .kind = .IdRef, .quantifier = .required },
3804 },
3805 .OpTypeNamedBarrier => &[_]Operand{
3806 .{ .kind = .IdResult, .quantifier = .required },
3807 },
3808 .OpNamedBarrierInitialize => &[_]Operand{
3809 .{ .kind = .IdResultType, .quantifier = .required },
3810 .{ .kind = .IdResult, .quantifier = .required },
3811 .{ .kind = .IdRef, .quantifier = .required },
3812 },
3813 .OpMemoryNamedBarrier => &[_]Operand{
3814 .{ .kind = .IdRef, .quantifier = .required },
3815 .{ .kind = .IdScope, .quantifier = .required },
3816 .{ .kind = .IdMemorySemantics, .quantifier = .required },
3817 },
3818 .OpModuleProcessed => &[_]Operand{
3819 .{ .kind = .LiteralString, .quantifier = .required },
3820 },
3821 .OpExecutionModeId => &[_]Operand{
3822 .{ .kind = .IdRef, .quantifier = .required },
3823 .{ .kind = .ExecutionMode, .quantifier = .required },
3824 },
3825 .OpDecorateId => &[_]Operand{
3826 .{ .kind = .IdRef, .quantifier = .required },
3827 .{ .kind = .Decoration, .quantifier = .required },
3828 },
3829 .OpGroupNonUniformElect => &[_]Operand{
3830 .{ .kind = .IdResultType, .quantifier = .required },
3831 .{ .kind = .IdResult, .quantifier = .required },
3832 .{ .kind = .IdScope, .quantifier = .required },
3833 },
3834 .OpGroupNonUniformAll => &[_]Operand{
3835 .{ .kind = .IdResultType, .quantifier = .required },
3836 .{ .kind = .IdResult, .quantifier = .required },
3837 .{ .kind = .IdScope, .quantifier = .required },
3838 .{ .kind = .IdRef, .quantifier = .required },
3839 },
3840 .OpGroupNonUniformAny => &[_]Operand{
3841 .{ .kind = .IdResultType, .quantifier = .required },
3842 .{ .kind = .IdResult, .quantifier = .required },
3843 .{ .kind = .IdScope, .quantifier = .required },
3844 .{ .kind = .IdRef, .quantifier = .required },
3845 },
3846 .OpGroupNonUniformAllEqual => &[_]Operand{
3847 .{ .kind = .IdResultType, .quantifier = .required },
3848 .{ .kind = .IdResult, .quantifier = .required },
3849 .{ .kind = .IdScope, .quantifier = .required },
3850 .{ .kind = .IdRef, .quantifier = .required },
3851 },
3852 .OpGroupNonUniformBroadcast => &[_]Operand{
3853 .{ .kind = .IdResultType, .quantifier = .required },
3854 .{ .kind = .IdResult, .quantifier = .required },
3855 .{ .kind = .IdScope, .quantifier = .required },
3856 .{ .kind = .IdRef, .quantifier = .required },
3857 .{ .kind = .IdRef, .quantifier = .required },
3858 },
3859 .OpGroupNonUniformBroadcastFirst => &[_]Operand{
3860 .{ .kind = .IdResultType, .quantifier = .required },
3861 .{ .kind = .IdResult, .quantifier = .required },
3862 .{ .kind = .IdScope, .quantifier = .required },
3863 .{ .kind = .IdRef, .quantifier = .required },
3864 },
3865 .OpGroupNonUniformBallot => &[_]Operand{
3866 .{ .kind = .IdResultType, .quantifier = .required },
3867 .{ .kind = .IdResult, .quantifier = .required },
3868 .{ .kind = .IdScope, .quantifier = .required },
3869 .{ .kind = .IdRef, .quantifier = .required },
3870 },
3871 .OpGroupNonUniformInverseBallot => &[_]Operand{
3872 .{ .kind = .IdResultType, .quantifier = .required },
3873 .{ .kind = .IdResult, .quantifier = .required },
3874 .{ .kind = .IdScope, .quantifier = .required },
3875 .{ .kind = .IdRef, .quantifier = .required },
3876 },
3877 .OpGroupNonUniformBallotBitExtract => &[_]Operand{
3878 .{ .kind = .IdResultType, .quantifier = .required },
3879 .{ .kind = .IdResult, .quantifier = .required },
3880 .{ .kind = .IdScope, .quantifier = .required },
3881 .{ .kind = .IdRef, .quantifier = .required },
3882 .{ .kind = .IdRef, .quantifier = .required },
3883 },
3884 .OpGroupNonUniformBallotBitCount => &[_]Operand{
3885 .{ .kind = .IdResultType, .quantifier = .required },
3886 .{ .kind = .IdResult, .quantifier = .required },
3887 .{ .kind = .IdScope, .quantifier = .required },
3888 .{ .kind = .GroupOperation, .quantifier = .required },
3889 .{ .kind = .IdRef, .quantifier = .required },
3890 },
3891 .OpGroupNonUniformBallotFindLSB => &[_]Operand{
3892 .{ .kind = .IdResultType, .quantifier = .required },
3893 .{ .kind = .IdResult, .quantifier = .required },
3894 .{ .kind = .IdScope, .quantifier = .required },
3895 .{ .kind = .IdRef, .quantifier = .required },
3896 },
3897 .OpGroupNonUniformBallotFindMSB => &[_]Operand{
3898 .{ .kind = .IdResultType, .quantifier = .required },
3899 .{ .kind = .IdResult, .quantifier = .required },
3900 .{ .kind = .IdScope, .quantifier = .required },
3901 .{ .kind = .IdRef, .quantifier = .required },
3902 },
3903 .OpGroupNonUniformShuffle => &[_]Operand{
3904 .{ .kind = .IdResultType, .quantifier = .required },
3905 .{ .kind = .IdResult, .quantifier = .required },
3906 .{ .kind = .IdScope, .quantifier = .required },
3907 .{ .kind = .IdRef, .quantifier = .required },
3908 .{ .kind = .IdRef, .quantifier = .required },
3909 },
3910 .OpGroupNonUniformShuffleXor => &[_]Operand{
3911 .{ .kind = .IdResultType, .quantifier = .required },
3912 .{ .kind = .IdResult, .quantifier = .required },
3913 .{ .kind = .IdScope, .quantifier = .required },
3914 .{ .kind = .IdRef, .quantifier = .required },
3915 .{ .kind = .IdRef, .quantifier = .required },
3916 },
3917 .OpGroupNonUniformShuffleUp => &[_]Operand{
3918 .{ .kind = .IdResultType, .quantifier = .required },
3919 .{ .kind = .IdResult, .quantifier = .required },
3920 .{ .kind = .IdScope, .quantifier = .required },
3921 .{ .kind = .IdRef, .quantifier = .required },
3922 .{ .kind = .IdRef, .quantifier = .required },
3923 },
3924 .OpGroupNonUniformShuffleDown => &[_]Operand{
3925 .{ .kind = .IdResultType, .quantifier = .required },
3926 .{ .kind = .IdResult, .quantifier = .required },
3927 .{ .kind = .IdScope, .quantifier = .required },
3928 .{ .kind = .IdRef, .quantifier = .required },
3929 .{ .kind = .IdRef, .quantifier = .required },
3930 },
3931 .OpGroupNonUniformIAdd => &[_]Operand{
3932 .{ .kind = .IdResultType, .quantifier = .required },
3933 .{ .kind = .IdResult, .quantifier = .required },
3934 .{ .kind = .IdScope, .quantifier = .required },
3935 .{ .kind = .GroupOperation, .quantifier = .required },
3936 .{ .kind = .IdRef, .quantifier = .required },
3937 .{ .kind = .IdRef, .quantifier = .optional },
3938 },
3939 .OpGroupNonUniformFAdd => &[_]Operand{
3940 .{ .kind = .IdResultType, .quantifier = .required },
3941 .{ .kind = .IdResult, .quantifier = .required },
3942 .{ .kind = .IdScope, .quantifier = .required },
3943 .{ .kind = .GroupOperation, .quantifier = .required },
3944 .{ .kind = .IdRef, .quantifier = .required },
3945 .{ .kind = .IdRef, .quantifier = .optional },
3946 },
3947 .OpGroupNonUniformIMul => &[_]Operand{
3948 .{ .kind = .IdResultType, .quantifier = .required },
3949 .{ .kind = .IdResult, .quantifier = .required },
3950 .{ .kind = .IdScope, .quantifier = .required },
3951 .{ .kind = .GroupOperation, .quantifier = .required },
3952 .{ .kind = .IdRef, .quantifier = .required },
3953 .{ .kind = .IdRef, .quantifier = .optional },
3954 },
3955 .OpGroupNonUniformFMul => &[_]Operand{
3956 .{ .kind = .IdResultType, .quantifier = .required },
3957 .{ .kind = .IdResult, .quantifier = .required },
3958 .{ .kind = .IdScope, .quantifier = .required },
3959 .{ .kind = .GroupOperation, .quantifier = .required },
3960 .{ .kind = .IdRef, .quantifier = .required },
3961 .{ .kind = .IdRef, .quantifier = .optional },
3962 },
3963 .OpGroupNonUniformSMin => &[_]Operand{
3964 .{ .kind = .IdResultType, .quantifier = .required },
3965 .{ .kind = .IdResult, .quantifier = .required },
3966 .{ .kind = .IdScope, .quantifier = .required },
3967 .{ .kind = .GroupOperation, .quantifier = .required },
3968 .{ .kind = .IdRef, .quantifier = .required },
3969 .{ .kind = .IdRef, .quantifier = .optional },
3970 },
3971 .OpGroupNonUniformUMin => &[_]Operand{
3972 .{ .kind = .IdResultType, .quantifier = .required },
3973 .{ .kind = .IdResult, .quantifier = .required },
3974 .{ .kind = .IdScope, .quantifier = .required },
3975 .{ .kind = .GroupOperation, .quantifier = .required },
3976 .{ .kind = .IdRef, .quantifier = .required },
3977 .{ .kind = .IdRef, .quantifier = .optional },
3978 },
3979 .OpGroupNonUniformFMin => &[_]Operand{
3980 .{ .kind = .IdResultType, .quantifier = .required },
3981 .{ .kind = .IdResult, .quantifier = .required },
3982 .{ .kind = .IdScope, .quantifier = .required },
3983 .{ .kind = .GroupOperation, .quantifier = .required },
3984 .{ .kind = .IdRef, .quantifier = .required },
3985 .{ .kind = .IdRef, .quantifier = .optional },
3986 },
3987 .OpGroupNonUniformSMax => &[_]Operand{
3988 .{ .kind = .IdResultType, .quantifier = .required },
3989 .{ .kind = .IdResult, .quantifier = .required },
3990 .{ .kind = .IdScope, .quantifier = .required },
3991 .{ .kind = .GroupOperation, .quantifier = .required },
3992 .{ .kind = .IdRef, .quantifier = .required },
3993 .{ .kind = .IdRef, .quantifier = .optional },
3994 },
3995 .OpGroupNonUniformUMax => &[_]Operand{
3996 .{ .kind = .IdResultType, .quantifier = .required },
3997 .{ .kind = .IdResult, .quantifier = .required },
3998 .{ .kind = .IdScope, .quantifier = .required },
3999 .{ .kind = .GroupOperation, .quantifier = .required },
4000 .{ .kind = .IdRef, .quantifier = .required },
4001 .{ .kind = .IdRef, .quantifier = .optional },
4002 },
4003 .OpGroupNonUniformFMax => &[_]Operand{
4004 .{ .kind = .IdResultType, .quantifier = .required },
4005 .{ .kind = .IdResult, .quantifier = .required },
4006 .{ .kind = .IdScope, .quantifier = .required },
4007 .{ .kind = .GroupOperation, .quantifier = .required },
4008 .{ .kind = .IdRef, .quantifier = .required },
4009 .{ .kind = .IdRef, .quantifier = .optional },
4010 },
4011 .OpGroupNonUniformBitwiseAnd => &[_]Operand{
4012 .{ .kind = .IdResultType, .quantifier = .required },
4013 .{ .kind = .IdResult, .quantifier = .required },
4014 .{ .kind = .IdScope, .quantifier = .required },
4015 .{ .kind = .GroupOperation, .quantifier = .required },
4016 .{ .kind = .IdRef, .quantifier = .required },
4017 .{ .kind = .IdRef, .quantifier = .optional },
4018 },
4019 .OpGroupNonUniformBitwiseOr => &[_]Operand{
4020 .{ .kind = .IdResultType, .quantifier = .required },
4021 .{ .kind = .IdResult, .quantifier = .required },
4022 .{ .kind = .IdScope, .quantifier = .required },
4023 .{ .kind = .GroupOperation, .quantifier = .required },
4024 .{ .kind = .IdRef, .quantifier = .required },
4025 .{ .kind = .IdRef, .quantifier = .optional },
4026 },
4027 .OpGroupNonUniformBitwiseXor => &[_]Operand{
4028 .{ .kind = .IdResultType, .quantifier = .required },
4029 .{ .kind = .IdResult, .quantifier = .required },
4030 .{ .kind = .IdScope, .quantifier = .required },
4031 .{ .kind = .GroupOperation, .quantifier = .required },
4032 .{ .kind = .IdRef, .quantifier = .required },
4033 .{ .kind = .IdRef, .quantifier = .optional },
4034 },
4035 .OpGroupNonUniformLogicalAnd => &[_]Operand{
4036 .{ .kind = .IdResultType, .quantifier = .required },
4037 .{ .kind = .IdResult, .quantifier = .required },
4038 .{ .kind = .IdScope, .quantifier = .required },
4039 .{ .kind = .GroupOperation, .quantifier = .required },
4040 .{ .kind = .IdRef, .quantifier = .required },
4041 .{ .kind = .IdRef, .quantifier = .optional },
4042 },
4043 .OpGroupNonUniformLogicalOr => &[_]Operand{
4044 .{ .kind = .IdResultType, .quantifier = .required },
4045 .{ .kind = .IdResult, .quantifier = .required },
4046 .{ .kind = .IdScope, .quantifier = .required },
4047 .{ .kind = .GroupOperation, .quantifier = .required },
4048 .{ .kind = .IdRef, .quantifier = .required },
4049 .{ .kind = .IdRef, .quantifier = .optional },
4050 },
4051 .OpGroupNonUniformLogicalXor => &[_]Operand{
4052 .{ .kind = .IdResultType, .quantifier = .required },
4053 .{ .kind = .IdResult, .quantifier = .required },
4054 .{ .kind = .IdScope, .quantifier = .required },
4055 .{ .kind = .GroupOperation, .quantifier = .required },
4056 .{ .kind = .IdRef, .quantifier = .required },
4057 .{ .kind = .IdRef, .quantifier = .optional },
4058 },
4059 .OpGroupNonUniformQuadBroadcast => &[_]Operand{
4060 .{ .kind = .IdResultType, .quantifier = .required },
4061 .{ .kind = .IdResult, .quantifier = .required },
4062 .{ .kind = .IdScope, .quantifier = .required },
4063 .{ .kind = .IdRef, .quantifier = .required },
4064 .{ .kind = .IdRef, .quantifier = .required },
4065 },
4066 .OpGroupNonUniformQuadSwap => &[_]Operand{
4067 .{ .kind = .IdResultType, .quantifier = .required },
4068 .{ .kind = .IdResult, .quantifier = .required },
4069 .{ .kind = .IdScope, .quantifier = .required },
4070 .{ .kind = .IdRef, .quantifier = .required },
4071 .{ .kind = .IdRef, .quantifier = .required },
4072 },
4073 .OpCopyLogical => &[_]Operand{
4074 .{ .kind = .IdResultType, .quantifier = .required },
4075 .{ .kind = .IdResult, .quantifier = .required },
4076 .{ .kind = .IdRef, .quantifier = .required },
4077 },
4078 .OpPtrEqual => &[_]Operand{
4079 .{ .kind = .IdResultType, .quantifier = .required },
4080 .{ .kind = .IdResult, .quantifier = .required },
4081 .{ .kind = .IdRef, .quantifier = .required },
4082 .{ .kind = .IdRef, .quantifier = .required },
4083 },
4084 .OpPtrNotEqual => &[_]Operand{
4085 .{ .kind = .IdResultType, .quantifier = .required },
4086 .{ .kind = .IdResult, .quantifier = .required },
4087 .{ .kind = .IdRef, .quantifier = .required },
4088 .{ .kind = .IdRef, .quantifier = .required },
4089 },
4090 .OpPtrDiff => &[_]Operand{
4091 .{ .kind = .IdResultType, .quantifier = .required },
4092 .{ .kind = .IdResult, .quantifier = .required },
4093 .{ .kind = .IdRef, .quantifier = .required },
4094 .{ .kind = .IdRef, .quantifier = .required },
4095 },
4096 .OpTerminateInvocation => &[_]Operand{},
4097 .OpSubgroupBallotKHR => &[_]Operand{
4098 .{ .kind = .IdResultType, .quantifier = .required },
4099 .{ .kind = .IdResult, .quantifier = .required },
4100 .{ .kind = .IdRef, .quantifier = .required },
4101 },
4102 .OpSubgroupFirstInvocationKHR => &[_]Operand{
4103 .{ .kind = .IdResultType, .quantifier = .required },
4104 .{ .kind = .IdResult, .quantifier = .required },
4105 .{ .kind = .IdRef, .quantifier = .required },
4106 },
4107 .OpSubgroupAllKHR => &[_]Operand{
4108 .{ .kind = .IdResultType, .quantifier = .required },
4109 .{ .kind = .IdResult, .quantifier = .required },
4110 .{ .kind = .IdRef, .quantifier = .required },
4111 },
4112 .OpSubgroupAnyKHR => &[_]Operand{
4113 .{ .kind = .IdResultType, .quantifier = .required },
4114 .{ .kind = .IdResult, .quantifier = .required },
4115 .{ .kind = .IdRef, .quantifier = .required },
4116 },
4117 .OpSubgroupAllEqualKHR => &[_]Operand{
4118 .{ .kind = .IdResultType, .quantifier = .required },
4119 .{ .kind = .IdResult, .quantifier = .required },
4120 .{ .kind = .IdRef, .quantifier = .required },
4121 },
4122 .OpSubgroupReadInvocationKHR => &[_]Operand{
4123 .{ .kind = .IdResultType, .quantifier = .required },
4124 .{ .kind = .IdResult, .quantifier = .required },
4125 .{ .kind = .IdRef, .quantifier = .required },
4126 .{ .kind = .IdRef, .quantifier = .required },
4127 },
4128 .OpTraceRayKHR => &[_]Operand{
4129 .{ .kind = .IdRef, .quantifier = .required },
4130 .{ .kind = .IdRef, .quantifier = .required },
4131 .{ .kind = .IdRef, .quantifier = .required },
4132 .{ .kind = .IdRef, .quantifier = .required },
4133 .{ .kind = .IdRef, .quantifier = .required },
4134 .{ .kind = .IdRef, .quantifier = .required },
4135 .{ .kind = .IdRef, .quantifier = .required },
4136 .{ .kind = .IdRef, .quantifier = .required },
4137 .{ .kind = .IdRef, .quantifier = .required },
4138 .{ .kind = .IdRef, .quantifier = .required },
4139 .{ .kind = .IdRef, .quantifier = .required },
4140 },
4141 .OpExecuteCallableKHR => &[_]Operand{
4142 .{ .kind = .IdRef, .quantifier = .required },
4143 .{ .kind = .IdRef, .quantifier = .required },
4144 },
4145 .OpConvertUToAccelerationStructureKHR => &[_]Operand{
4146 .{ .kind = .IdResultType, .quantifier = .required },
4147 .{ .kind = .IdResult, .quantifier = .required },
4148 .{ .kind = .IdRef, .quantifier = .required },
4149 },
4150 .OpIgnoreIntersectionKHR => &[_]Operand{},
4151 .OpTerminateRayKHR => &[_]Operand{},
4152 .OpSDot => &[_]Operand{
4153 .{ .kind = .IdResultType, .quantifier = .required },
4154 .{ .kind = .IdResult, .quantifier = .required },
4155 .{ .kind = .IdRef, .quantifier = .required },
4156 .{ .kind = .IdRef, .quantifier = .required },
4157 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
4158 },
4159 .OpUDot => &[_]Operand{
4160 .{ .kind = .IdResultType, .quantifier = .required },
4161 .{ .kind = .IdResult, .quantifier = .required },
4162 .{ .kind = .IdRef, .quantifier = .required },
4163 .{ .kind = .IdRef, .quantifier = .required },
4164 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
4165 },
4166 .OpSUDot => &[_]Operand{
4167 .{ .kind = .IdResultType, .quantifier = .required },
4168 .{ .kind = .IdResult, .quantifier = .required },
4169 .{ .kind = .IdRef, .quantifier = .required },
4170 .{ .kind = .IdRef, .quantifier = .required },
4171 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
4172 },
4173 .OpSDotAccSat => &[_]Operand{
4174 .{ .kind = .IdResultType, .quantifier = .required },
4175 .{ .kind = .IdResult, .quantifier = .required },
4176 .{ .kind = .IdRef, .quantifier = .required },
4177 .{ .kind = .IdRef, .quantifier = .required },
4178 .{ .kind = .IdRef, .quantifier = .required },
4179 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
4180 },
4181 .OpUDotAccSat => &[_]Operand{
4182 .{ .kind = .IdResultType, .quantifier = .required },
4183 .{ .kind = .IdResult, .quantifier = .required },
4184 .{ .kind = .IdRef, .quantifier = .required },
4185 .{ .kind = .IdRef, .quantifier = .required },
4186 .{ .kind = .IdRef, .quantifier = .required },
4187 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
4188 },
4189 .OpSUDotAccSat => &[_]Operand{
4190 .{ .kind = .IdResultType, .quantifier = .required },
4191 .{ .kind = .IdResult, .quantifier = .required },
4192 .{ .kind = .IdRef, .quantifier = .required },
4193 .{ .kind = .IdRef, .quantifier = .required },
4194 .{ .kind = .IdRef, .quantifier = .required },
4195 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
4196 },
4197 .OpTypeRayQueryKHR => &[_]Operand{
4198 .{ .kind = .IdResult, .quantifier = .required },
4199 },
4200 .OpRayQueryInitializeKHR => &[_]Operand{
4201 .{ .kind = .IdRef, .quantifier = .required },
4202 .{ .kind = .IdRef, .quantifier = .required },
4203 .{ .kind = .IdRef, .quantifier = .required },
4204 .{ .kind = .IdRef, .quantifier = .required },
4205 .{ .kind = .IdRef, .quantifier = .required },
4206 .{ .kind = .IdRef, .quantifier = .required },
4207 .{ .kind = .IdRef, .quantifier = .required },
4208 .{ .kind = .IdRef, .quantifier = .required },
4209 },
4210 .OpRayQueryTerminateKHR => &[_]Operand{
4211 .{ .kind = .IdRef, .quantifier = .required },
4212 },
4213 .OpRayQueryGenerateIntersectionKHR => &[_]Operand{
4214 .{ .kind = .IdRef, .quantifier = .required },
4215 .{ .kind = .IdRef, .quantifier = .required },
4216 },
4217 .OpRayQueryConfirmIntersectionKHR => &[_]Operand{
4218 .{ .kind = .IdRef, .quantifier = .required },
4219 },
4220 .OpRayQueryProceedKHR => &[_]Operand{
4221 .{ .kind = .IdResultType, .quantifier = .required },
4222 .{ .kind = .IdResult, .quantifier = .required },
4223 .{ .kind = .IdRef, .quantifier = .required },
4224 },
4225 .OpRayQueryGetIntersectionTypeKHR => &[_]Operand{
4226 .{ .kind = .IdResultType, .quantifier = .required },
4227 .{ .kind = .IdResult, .quantifier = .required },
4228 .{ .kind = .IdRef, .quantifier = .required },
4229 .{ .kind = .IdRef, .quantifier = .required },
4230 },
4231 .OpGroupIAddNonUniformAMD => &[_]Operand{
4232 .{ .kind = .IdResultType, .quantifier = .required },
4233 .{ .kind = .IdResult, .quantifier = .required },
4234 .{ .kind = .IdScope, .quantifier = .required },
4235 .{ .kind = .GroupOperation, .quantifier = .required },
4236 .{ .kind = .IdRef, .quantifier = .required },
4237 },
4238 .OpGroupFAddNonUniformAMD => &[_]Operand{
4239 .{ .kind = .IdResultType, .quantifier = .required },
4240 .{ .kind = .IdResult, .quantifier = .required },
4241 .{ .kind = .IdScope, .quantifier = .required },
4242 .{ .kind = .GroupOperation, .quantifier = .required },
4243 .{ .kind = .IdRef, .quantifier = .required },
4244 },
4245 .OpGroupFMinNonUniformAMD => &[_]Operand{
4246 .{ .kind = .IdResultType, .quantifier = .required },
4247 .{ .kind = .IdResult, .quantifier = .required },
4248 .{ .kind = .IdScope, .quantifier = .required },
4249 .{ .kind = .GroupOperation, .quantifier = .required },
4250 .{ .kind = .IdRef, .quantifier = .required },
4251 },
4252 .OpGroupUMinNonUniformAMD => &[_]Operand{
4253 .{ .kind = .IdResultType, .quantifier = .required },
4254 .{ .kind = .IdResult, .quantifier = .required },
4255 .{ .kind = .IdScope, .quantifier = .required },
4256 .{ .kind = .GroupOperation, .quantifier = .required },
4257 .{ .kind = .IdRef, .quantifier = .required },
4258 },
4259 .OpGroupSMinNonUniformAMD => &[_]Operand{
4260 .{ .kind = .IdResultType, .quantifier = .required },
4261 .{ .kind = .IdResult, .quantifier = .required },
4262 .{ .kind = .IdScope, .quantifier = .required },
4263 .{ .kind = .GroupOperation, .quantifier = .required },
4264 .{ .kind = .IdRef, .quantifier = .required },
4265 },
4266 .OpGroupFMaxNonUniformAMD => &[_]Operand{
4267 .{ .kind = .IdResultType, .quantifier = .required },
4268 .{ .kind = .IdResult, .quantifier = .required },
4269 .{ .kind = .IdScope, .quantifier = .required },
4270 .{ .kind = .GroupOperation, .quantifier = .required },
4271 .{ .kind = .IdRef, .quantifier = .required },
4272 },
4273 .OpGroupUMaxNonUniformAMD => &[_]Operand{
4274 .{ .kind = .IdResultType, .quantifier = .required },
4275 .{ .kind = .IdResult, .quantifier = .required },
4276 .{ .kind = .IdScope, .quantifier = .required },
4277 .{ .kind = .GroupOperation, .quantifier = .required },
4278 .{ .kind = .IdRef, .quantifier = .required },
4279 },
4280 .OpGroupSMaxNonUniformAMD => &[_]Operand{
4281 .{ .kind = .IdResultType, .quantifier = .required },
4282 .{ .kind = .IdResult, .quantifier = .required },
4283 .{ .kind = .IdScope, .quantifier = .required },
4284 .{ .kind = .GroupOperation, .quantifier = .required },
4285 .{ .kind = .IdRef, .quantifier = .required },
4286 },
4287 .OpFragmentMaskFetchAMD => &[_]Operand{
4288 .{ .kind = .IdResultType, .quantifier = .required },
4289 .{ .kind = .IdResult, .quantifier = .required },
4290 .{ .kind = .IdRef, .quantifier = .required },
4291 .{ .kind = .IdRef, .quantifier = .required },
4292 },
4293 .OpFragmentFetchAMD => &[_]Operand{
4294 .{ .kind = .IdResultType, .quantifier = .required },
4295 .{ .kind = .IdResult, .quantifier = .required },
4296 .{ .kind = .IdRef, .quantifier = .required },
4297 .{ .kind = .IdRef, .quantifier = .required },
4298 .{ .kind = .IdRef, .quantifier = .required },
4299 },
4300 .OpReadClockKHR => &[_]Operand{
4301 .{ .kind = .IdResultType, .quantifier = .required },
4302 .{ .kind = .IdResult, .quantifier = .required },
4303 .{ .kind = .IdScope, .quantifier = .required },
4304 },
4305 .OpImageSampleFootprintNV => &[_]Operand{
4306 .{ .kind = .IdResultType, .quantifier = .required },
4307 .{ .kind = .IdResult, .quantifier = .required },
4308 .{ .kind = .IdRef, .quantifier = .required },
4309 .{ .kind = .IdRef, .quantifier = .required },
4310 .{ .kind = .IdRef, .quantifier = .required },
4311 .{ .kind = .IdRef, .quantifier = .required },
4312 .{ .kind = .ImageOperands, .quantifier = .optional },
4313 },
4314 .OpGroupNonUniformPartitionNV => &[_]Operand{
4315 .{ .kind = .IdResultType, .quantifier = .required },
4316 .{ .kind = .IdResult, .quantifier = .required },
4317 .{ .kind = .IdRef, .quantifier = .required },
4318 },
4319 .OpWritePackedPrimitiveIndices4x8NV => &[_]Operand{
4320 .{ .kind = .IdRef, .quantifier = .required },
4321 .{ .kind = .IdRef, .quantifier = .required },
4322 },
4323 .OpReportIntersectionKHR => &[_]Operand{
4324 .{ .kind = .IdResultType, .quantifier = .required },
4325 .{ .kind = .IdResult, .quantifier = .required },
4326 .{ .kind = .IdRef, .quantifier = .required },
4327 .{ .kind = .IdRef, .quantifier = .required },
4328 },
4329 .OpIgnoreIntersectionNV => &[_]Operand{},
4330 .OpTerminateRayNV => &[_]Operand{},
4331 .OpTraceNV => &[_]Operand{
4332 .{ .kind = .IdRef, .quantifier = .required },
4333 .{ .kind = .IdRef, .quantifier = .required },
4334 .{ .kind = .IdRef, .quantifier = .required },
4335 .{ .kind = .IdRef, .quantifier = .required },
4336 .{ .kind = .IdRef, .quantifier = .required },
4337 .{ .kind = .IdRef, .quantifier = .required },
4338 .{ .kind = .IdRef, .quantifier = .required },
4339 .{ .kind = .IdRef, .quantifier = .required },
4340 .{ .kind = .IdRef, .quantifier = .required },
4341 .{ .kind = .IdRef, .quantifier = .required },
4342 .{ .kind = .IdRef, .quantifier = .required },
4343 },
4344 .OpTraceMotionNV => &[_]Operand{
4345 .{ .kind = .IdRef, .quantifier = .required },
4346 .{ .kind = .IdRef, .quantifier = .required },
4347 .{ .kind = .IdRef, .quantifier = .required },
4348 .{ .kind = .IdRef, .quantifier = .required },
4349 .{ .kind = .IdRef, .quantifier = .required },
4350 .{ .kind = .IdRef, .quantifier = .required },
4351 .{ .kind = .IdRef, .quantifier = .required },
4352 .{ .kind = .IdRef, .quantifier = .required },
4353 .{ .kind = .IdRef, .quantifier = .required },
4354 .{ .kind = .IdRef, .quantifier = .required },
4355 .{ .kind = .IdRef, .quantifier = .required },
4356 .{ .kind = .IdRef, .quantifier = .required },
4357 },
4358 .OpTraceRayMotionNV => &[_]Operand{
4359 .{ .kind = .IdRef, .quantifier = .required },
4360 .{ .kind = .IdRef, .quantifier = .required },
4361 .{ .kind = .IdRef, .quantifier = .required },
4362 .{ .kind = .IdRef, .quantifier = .required },
4363 .{ .kind = .IdRef, .quantifier = .required },
4364 .{ .kind = .IdRef, .quantifier = .required },
4365 .{ .kind = .IdRef, .quantifier = .required },
4366 .{ .kind = .IdRef, .quantifier = .required },
4367 .{ .kind = .IdRef, .quantifier = .required },
4368 .{ .kind = .IdRef, .quantifier = .required },
4369 .{ .kind = .IdRef, .quantifier = .required },
4370 .{ .kind = .IdRef, .quantifier = .required },
4371 },
4372 .OpTypeAccelerationStructureKHR => &[_]Operand{
4373 .{ .kind = .IdResult, .quantifier = .required },
4374 },
4375 .OpExecuteCallableNV => &[_]Operand{
4376 .{ .kind = .IdRef, .quantifier = .required },
4377 .{ .kind = .IdRef, .quantifier = .required },
4378 },
4379 .OpTypeCooperativeMatrixNV => &[_]Operand{
4380 .{ .kind = .IdResult, .quantifier = .required },
4381 .{ .kind = .IdRef, .quantifier = .required },
4382 .{ .kind = .IdScope, .quantifier = .required },
4383 .{ .kind = .IdRef, .quantifier = .required },
4384 .{ .kind = .IdRef, .quantifier = .required },
4385 },
4386 .OpCooperativeMatrixLoadNV => &[_]Operand{
4387 .{ .kind = .IdResultType, .quantifier = .required },
4388 .{ .kind = .IdResult, .quantifier = .required },
4389 .{ .kind = .IdRef, .quantifier = .required },
4390 .{ .kind = .IdRef, .quantifier = .required },
4391 .{ .kind = .IdRef, .quantifier = .required },
4392 .{ .kind = .MemoryAccess, .quantifier = .optional },
4393 },
4394 .OpCooperativeMatrixStoreNV => &[_]Operand{
4395 .{ .kind = .IdRef, .quantifier = .required },
4396 .{ .kind = .IdRef, .quantifier = .required },
4397 .{ .kind = .IdRef, .quantifier = .required },
4398 .{ .kind = .IdRef, .quantifier = .required },
4399 .{ .kind = .MemoryAccess, .quantifier = .optional },
4400 },
4401 .OpCooperativeMatrixMulAddNV => &[_]Operand{
4402 .{ .kind = .IdResultType, .quantifier = .required },
4403 .{ .kind = .IdResult, .quantifier = .required },
4404 .{ .kind = .IdRef, .quantifier = .required },
4405 .{ .kind = .IdRef, .quantifier = .required },
4406 .{ .kind = .IdRef, .quantifier = .required },
4407 },
4408 .OpCooperativeMatrixLengthNV => &[_]Operand{
4409 .{ .kind = .IdResultType, .quantifier = .required },
4410 .{ .kind = .IdResult, .quantifier = .required },
4411 .{ .kind = .IdRef, .quantifier = .required },
4412 },
4413 .OpBeginInvocationInterlockEXT => &[_]Operand{},
4414 .OpEndInvocationInterlockEXT => &[_]Operand{},
4415 .OpDemoteToHelperInvocation => &[_]Operand{},
4416 .OpIsHelperInvocationEXT => &[_]Operand{
4417 .{ .kind = .IdResultType, .quantifier = .required },
4418 .{ .kind = .IdResult, .quantifier = .required },
4419 },
4420 .OpConvertUToImageNV => &[_]Operand{
4421 .{ .kind = .IdResultType, .quantifier = .required },
4422 .{ .kind = .IdResult, .quantifier = .required },
4423 .{ .kind = .IdRef, .quantifier = .required },
4424 },
4425 .OpConvertUToSamplerNV => &[_]Operand{
4426 .{ .kind = .IdResultType, .quantifier = .required },
4427 .{ .kind = .IdResult, .quantifier = .required },
4428 .{ .kind = .IdRef, .quantifier = .required },
4429 },
4430 .OpConvertImageToUNV => &[_]Operand{
4431 .{ .kind = .IdResultType, .quantifier = .required },
4432 .{ .kind = .IdResult, .quantifier = .required },
4433 .{ .kind = .IdRef, .quantifier = .required },
4434 },
4435 .OpConvertSamplerToUNV => &[_]Operand{
4436 .{ .kind = .IdResultType, .quantifier = .required },
4437 .{ .kind = .IdResult, .quantifier = .required },
4438 .{ .kind = .IdRef, .quantifier = .required },
4439 },
4440 .OpConvertUToSampledImageNV => &[_]Operand{
4441 .{ .kind = .IdResultType, .quantifier = .required },
4442 .{ .kind = .IdResult, .quantifier = .required },
4443 .{ .kind = .IdRef, .quantifier = .required },
4444 },
4445 .OpConvertSampledImageToUNV => &[_]Operand{
4446 .{ .kind = .IdResultType, .quantifier = .required },
4447 .{ .kind = .IdResult, .quantifier = .required },
4448 .{ .kind = .IdRef, .quantifier = .required },
4449 },
4450 .OpSamplerImageAddressingModeNV => &[_]Operand{
4451 .{ .kind = .LiteralInteger, .quantifier = .required },
4452 },
4453 .OpSubgroupShuffleINTEL => &[_]Operand{
4454 .{ .kind = .IdResultType, .quantifier = .required },
4455 .{ .kind = .IdResult, .quantifier = .required },
4456 .{ .kind = .IdRef, .quantifier = .required },
4457 .{ .kind = .IdRef, .quantifier = .required },
4458 },
4459 .OpSubgroupShuffleDownINTEL => &[_]Operand{
4460 .{ .kind = .IdResultType, .quantifier = .required },
4461 .{ .kind = .IdResult, .quantifier = .required },
4462 .{ .kind = .IdRef, .quantifier = .required },
4463 .{ .kind = .IdRef, .quantifier = .required },
4464 .{ .kind = .IdRef, .quantifier = .required },
4465 },
4466 .OpSubgroupShuffleUpINTEL => &[_]Operand{
4467 .{ .kind = .IdResultType, .quantifier = .required },
4468 .{ .kind = .IdResult, .quantifier = .required },
4469 .{ .kind = .IdRef, .quantifier = .required },
4470 .{ .kind = .IdRef, .quantifier = .required },
4471 .{ .kind = .IdRef, .quantifier = .required },
4472 },
4473 .OpSubgroupShuffleXorINTEL => &[_]Operand{
4474 .{ .kind = .IdResultType, .quantifier = .required },
4475 .{ .kind = .IdResult, .quantifier = .required },
4476 .{ .kind = .IdRef, .quantifier = .required },
4477 .{ .kind = .IdRef, .quantifier = .required },
4478 },
4479 .OpSubgroupBlockReadINTEL => &[_]Operand{
4480 .{ .kind = .IdResultType, .quantifier = .required },
4481 .{ .kind = .IdResult, .quantifier = .required },
4482 .{ .kind = .IdRef, .quantifier = .required },
4483 },
4484 .OpSubgroupBlockWriteINTEL => &[_]Operand{
4485 .{ .kind = .IdRef, .quantifier = .required },
4486 .{ .kind = .IdRef, .quantifier = .required },
4487 },
4488 .OpSubgroupImageBlockReadINTEL => &[_]Operand{
4489 .{ .kind = .IdResultType, .quantifier = .required },
4490 .{ .kind = .IdResult, .quantifier = .required },
4491 .{ .kind = .IdRef, .quantifier = .required },
4492 .{ .kind = .IdRef, .quantifier = .required },
4493 },
4494 .OpSubgroupImageBlockWriteINTEL => &[_]Operand{
4495 .{ .kind = .IdRef, .quantifier = .required },
4496 .{ .kind = .IdRef, .quantifier = .required },
4497 .{ .kind = .IdRef, .quantifier = .required },
4498 },
4499 .OpSubgroupImageMediaBlockReadINTEL => &[_]Operand{
4500 .{ .kind = .IdResultType, .quantifier = .required },
4501 .{ .kind = .IdResult, .quantifier = .required },
4502 .{ .kind = .IdRef, .quantifier = .required },
4503 .{ .kind = .IdRef, .quantifier = .required },
4504 .{ .kind = .IdRef, .quantifier = .required },
4505 .{ .kind = .IdRef, .quantifier = .required },
4506 },
4507 .OpSubgroupImageMediaBlockWriteINTEL => &[_]Operand{
4508 .{ .kind = .IdRef, .quantifier = .required },
4509 .{ .kind = .IdRef, .quantifier = .required },
4510 .{ .kind = .IdRef, .quantifier = .required },
4511 .{ .kind = .IdRef, .quantifier = .required },
4512 .{ .kind = .IdRef, .quantifier = .required },
4513 },
4514 .OpUCountLeadingZerosINTEL => &[_]Operand{
4515 .{ .kind = .IdResultType, .quantifier = .required },
4516 .{ .kind = .IdResult, .quantifier = .required },
4517 .{ .kind = .IdRef, .quantifier = .required },
4518 },
4519 .OpUCountTrailingZerosINTEL => &[_]Operand{
4520 .{ .kind = .IdResultType, .quantifier = .required },
4521 .{ .kind = .IdResult, .quantifier = .required },
4522 .{ .kind = .IdRef, .quantifier = .required },
4523 },
4524 .OpAbsISubINTEL => &[_]Operand{
4525 .{ .kind = .IdResultType, .quantifier = .required },
4526 .{ .kind = .IdResult, .quantifier = .required },
4527 .{ .kind = .IdRef, .quantifier = .required },
4528 .{ .kind = .IdRef, .quantifier = .required },
4529 },
4530 .OpAbsUSubINTEL => &[_]Operand{
4531 .{ .kind = .IdResultType, .quantifier = .required },
4532 .{ .kind = .IdResult, .quantifier = .required },
4533 .{ .kind = .IdRef, .quantifier = .required },
4534 .{ .kind = .IdRef, .quantifier = .required },
4535 },
4536 .OpIAddSatINTEL => &[_]Operand{
4537 .{ .kind = .IdResultType, .quantifier = .required },
4538 .{ .kind = .IdResult, .quantifier = .required },
4539 .{ .kind = .IdRef, .quantifier = .required },
4540 .{ .kind = .IdRef, .quantifier = .required },
4541 },
4542 .OpUAddSatINTEL => &[_]Operand{
4543 .{ .kind = .IdResultType, .quantifier = .required },
4544 .{ .kind = .IdResult, .quantifier = .required },
4545 .{ .kind = .IdRef, .quantifier = .required },
4546 .{ .kind = .IdRef, .quantifier = .required },
4547 },
4548 .OpIAverageINTEL => &[_]Operand{
4549 .{ .kind = .IdResultType, .quantifier = .required },
4550 .{ .kind = .IdResult, .quantifier = .required },
4551 .{ .kind = .IdRef, .quantifier = .required },
4552 .{ .kind = .IdRef, .quantifier = .required },
4553 },
4554 .OpUAverageINTEL => &[_]Operand{
4555 .{ .kind = .IdResultType, .quantifier = .required },
4556 .{ .kind = .IdResult, .quantifier = .required },
4557 .{ .kind = .IdRef, .quantifier = .required },
4558 .{ .kind = .IdRef, .quantifier = .required },
4559 },
4560 .OpIAverageRoundedINTEL => &[_]Operand{
4561 .{ .kind = .IdResultType, .quantifier = .required },
4562 .{ .kind = .IdResult, .quantifier = .required },
4563 .{ .kind = .IdRef, .quantifier = .required },
4564 .{ .kind = .IdRef, .quantifier = .required },
4565 },
4566 .OpUAverageRoundedINTEL => &[_]Operand{
4567 .{ .kind = .IdResultType, .quantifier = .required },
4568 .{ .kind = .IdResult, .quantifier = .required },
4569 .{ .kind = .IdRef, .quantifier = .required },
4570 .{ .kind = .IdRef, .quantifier = .required },
4571 },
4572 .OpISubSatINTEL => &[_]Operand{
4573 .{ .kind = .IdResultType, .quantifier = .required },
4574 .{ .kind = .IdResult, .quantifier = .required },
4575 .{ .kind = .IdRef, .quantifier = .required },
4576 .{ .kind = .IdRef, .quantifier = .required },
4577 },
4578 .OpUSubSatINTEL => &[_]Operand{
4579 .{ .kind = .IdResultType, .quantifier = .required },
4580 .{ .kind = .IdResult, .quantifier = .required },
4581 .{ .kind = .IdRef, .quantifier = .required },
4582 .{ .kind = .IdRef, .quantifier = .required },
4583 },
4584 .OpIMul32x16INTEL => &[_]Operand{
4585 .{ .kind = .IdResultType, .quantifier = .required },
4586 .{ .kind = .IdResult, .quantifier = .required },
4587 .{ .kind = .IdRef, .quantifier = .required },
4588 .{ .kind = .IdRef, .quantifier = .required },
4589 },
4590 .OpUMul32x16INTEL => &[_]Operand{
4591 .{ .kind = .IdResultType, .quantifier = .required },
4592 .{ .kind = .IdResult, .quantifier = .required },
4593 .{ .kind = .IdRef, .quantifier = .required },
4594 .{ .kind = .IdRef, .quantifier = .required },
4595 },
4596 .OpAtomicFMinEXT => &[_]Operand{
4597 .{ .kind = .IdResultType, .quantifier = .required },
4598 .{ .kind = .IdResult, .quantifier = .required },
4599 .{ .kind = .IdRef, .quantifier = .required },
4600 .{ .kind = .IdScope, .quantifier = .required },
4601 .{ .kind = .IdMemorySemantics, .quantifier = .required },
4602 .{ .kind = .IdRef, .quantifier = .required },
4603 },
4604 .OpAtomicFMaxEXT => &[_]Operand{
4605 .{ .kind = .IdResultType, .quantifier = .required },
4606 .{ .kind = .IdResult, .quantifier = .required },
4607 .{ .kind = .IdRef, .quantifier = .required },
4608 .{ .kind = .IdScope, .quantifier = .required },
4609 .{ .kind = .IdMemorySemantics, .quantifier = .required },
4610 .{ .kind = .IdRef, .quantifier = .required },
4611 },
4612 .OpAssumeTrueKHR => &[_]Operand{
4613 .{ .kind = .IdRef, .quantifier = .required },
4614 },
4615 .OpExpectKHR => &[_]Operand{
4616 .{ .kind = .IdResultType, .quantifier = .required },
4617 .{ .kind = .IdResult, .quantifier = .required },
4618 .{ .kind = .IdRef, .quantifier = .required },
4619 .{ .kind = .IdRef, .quantifier = .required },
4620 },
4621 .OpDecorateString => &[_]Operand{
4622 .{ .kind = .IdRef, .quantifier = .required },
4623 .{ .kind = .Decoration, .quantifier = .required },
4624 },
4625 .OpMemberDecorateString => &[_]Operand{
4626 .{ .kind = .IdRef, .quantifier = .required },
4627 .{ .kind = .LiteralInteger, .quantifier = .required },
4628 .{ .kind = .Decoration, .quantifier = .required },
4629 },
4630 .OpLoopControlINTEL => &[_]Operand{
4631 .{ .kind = .LiteralInteger, .quantifier = .variadic },
4632 },
4633 .OpReadPipeBlockingINTEL => &[_]Operand{
4634 .{ .kind = .IdResultType, .quantifier = .required },
4635 .{ .kind = .IdResult, .quantifier = .required },
4636 .{ .kind = .IdRef, .quantifier = .required },
4637 .{ .kind = .IdRef, .quantifier = .required },
4638 },
4639 .OpWritePipeBlockingINTEL => &[_]Operand{
4640 .{ .kind = .IdResultType, .quantifier = .required },
4641 .{ .kind = .IdResult, .quantifier = .required },
4642 .{ .kind = .IdRef, .quantifier = .required },
4643 .{ .kind = .IdRef, .quantifier = .required },
4644 },
4645 .OpFPGARegINTEL => &[_]Operand{
4646 .{ .kind = .IdResultType, .quantifier = .required },
4647 .{ .kind = .IdResult, .quantifier = .required },
4648 .{ .kind = .IdRef, .quantifier = .required },
4649 .{ .kind = .IdRef, .quantifier = .required },
4650 },
4651 .OpRayQueryGetRayTMinKHR => &[_]Operand{
4652 .{ .kind = .IdResultType, .quantifier = .required },
4653 .{ .kind = .IdResult, .quantifier = .required },
4654 .{ .kind = .IdRef, .quantifier = .required },
4655 },
4656 .OpRayQueryGetRayFlagsKHR => &[_]Operand{
4657 .{ .kind = .IdResultType, .quantifier = .required },
4658 .{ .kind = .IdResult, .quantifier = .required },
4659 .{ .kind = .IdRef, .quantifier = .required },
4660 },
4661 .OpRayQueryGetIntersectionTKHR => &[_]Operand{
4662 .{ .kind = .IdResultType, .quantifier = .required },
4663 .{ .kind = .IdResult, .quantifier = .required },
4664 .{ .kind = .IdRef, .quantifier = .required },
4665 .{ .kind = .IdRef, .quantifier = .required },
4666 },
4667 .OpRayQueryGetIntersectionInstanceCustomIndexKHR => &[_]Operand{
4668 .{ .kind = .IdResultType, .quantifier = .required },
4669 .{ .kind = .IdResult, .quantifier = .required },
4670 .{ .kind = .IdRef, .quantifier = .required },
4671 .{ .kind = .IdRef, .quantifier = .required },
4672 },
4673 .OpRayQueryGetIntersectionInstanceIdKHR => &[_]Operand{
4674 .{ .kind = .IdResultType, .quantifier = .required },
4675 .{ .kind = .IdResult, .quantifier = .required },
4676 .{ .kind = .IdRef, .quantifier = .required },
4677 .{ .kind = .IdRef, .quantifier = .required },
4678 },
4679 .OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR => &[_]Operand{
4680 .{ .kind = .IdResultType, .quantifier = .required },
4681 .{ .kind = .IdResult, .quantifier = .required },
4682 .{ .kind = .IdRef, .quantifier = .required },
4683 .{ .kind = .IdRef, .quantifier = .required },
4684 },
4685 .OpRayQueryGetIntersectionGeometryIndexKHR => &[_]Operand{
4686 .{ .kind = .IdResultType, .quantifier = .required },
4687 .{ .kind = .IdResult, .quantifier = .required },
4688 .{ .kind = .IdRef, .quantifier = .required },
4689 .{ .kind = .IdRef, .quantifier = .required },
4690 },
4691 .OpRayQueryGetIntersectionPrimitiveIndexKHR => &[_]Operand{
4692 .{ .kind = .IdResultType, .quantifier = .required },
4693 .{ .kind = .IdResult, .quantifier = .required },
4694 .{ .kind = .IdRef, .quantifier = .required },
4695 .{ .kind = .IdRef, .quantifier = .required },
4696 },
4697 .OpRayQueryGetIntersectionBarycentricsKHR => &[_]Operand{
4698 .{ .kind = .IdResultType, .quantifier = .required },
4699 .{ .kind = .IdResult, .quantifier = .required },
4700 .{ .kind = .IdRef, .quantifier = .required },
4701 .{ .kind = .IdRef, .quantifier = .required },
4702 },
4703 .OpRayQueryGetIntersectionFrontFaceKHR => &[_]Operand{
4704 .{ .kind = .IdResultType, .quantifier = .required },
4705 .{ .kind = .IdResult, .quantifier = .required },
4706 .{ .kind = .IdRef, .quantifier = .required },
4707 .{ .kind = .IdRef, .quantifier = .required },
4708 },
4709 .OpRayQueryGetIntersectionCandidateAABBOpaqueKHR => &[_]Operand{
4710 .{ .kind = .IdResultType, .quantifier = .required },
4711 .{ .kind = .IdResult, .quantifier = .required },
4712 .{ .kind = .IdRef, .quantifier = .required },
4713 },
4714 .OpRayQueryGetIntersectionObjectRayDirectionKHR => &[_]Operand{
4715 .{ .kind = .IdResultType, .quantifier = .required },
4716 .{ .kind = .IdResult, .quantifier = .required },
4717 .{ .kind = .IdRef, .quantifier = .required },
4718 .{ .kind = .IdRef, .quantifier = .required },
4719 },
4720 .OpRayQueryGetIntersectionObjectRayOriginKHR => &[_]Operand{
4721 .{ .kind = .IdResultType, .quantifier = .required },
4722 .{ .kind = .IdResult, .quantifier = .required },
4723 .{ .kind = .IdRef, .quantifier = .required },
4724 .{ .kind = .IdRef, .quantifier = .required },
4725 },
4726 .OpRayQueryGetWorldRayDirectionKHR => &[_]Operand{
4727 .{ .kind = .IdResultType, .quantifier = .required },
4728 .{ .kind = .IdResult, .quantifier = .required },
4729 .{ .kind = .IdRef, .quantifier = .required },
4730 },
4731 .OpRayQueryGetWorldRayOriginKHR => &[_]Operand{
4732 .{ .kind = .IdResultType, .quantifier = .required },
4733 .{ .kind = .IdResult, .quantifier = .required },
4734 .{ .kind = .IdRef, .quantifier = .required },
4735 },
4736 .OpRayQueryGetIntersectionObjectToWorldKHR => &[_]Operand{
4737 .{ .kind = .IdResultType, .quantifier = .required },
4738 .{ .kind = .IdResult, .quantifier = .required },
4739 .{ .kind = .IdRef, .quantifier = .required },
4740 .{ .kind = .IdRef, .quantifier = .required },
4741 },
4742 .OpRayQueryGetIntersectionWorldToObjectKHR => &[_]Operand{
4743 .{ .kind = .IdResultType, .quantifier = .required },
4744 .{ .kind = .IdResult, .quantifier = .required },
4745 .{ .kind = .IdRef, .quantifier = .required },
4746 .{ .kind = .IdRef, .quantifier = .required },
4747 },
4748 .OpAtomicFAddEXT => &[_]Operand{
4749 .{ .kind = .IdResultType, .quantifier = .required },
4750 .{ .kind = .IdResult, .quantifier = .required },
4751 .{ .kind = .IdRef, .quantifier = .required },
4752 .{ .kind = .IdScope, .quantifier = .required },
4753 .{ .kind = .IdMemorySemantics, .quantifier = .required },
4754 .{ .kind = .IdRef, .quantifier = .required },
4755 },
4756 .OpTypeBufferSurfaceINTEL => &[_]Operand{
4757 .{ .kind = .IdResult, .quantifier = .required },
4758 .{ .kind = .AccessQualifier, .quantifier = .required },
4759 },
4760 .OpTypeStructContinuedINTEL => &[_]Operand{
4761 .{ .kind = .IdRef, .quantifier = .variadic },
4762 },
4763 .OpConstantCompositeContinuedINTEL => &[_]Operand{
4764 .{ .kind = .IdRef, .quantifier = .variadic },
4765 },
4766 .OpSpecConstantCompositeContinuedINTEL => &[_]Operand{
4767 .{ .kind = .IdRef, .quantifier = .variadic },
4768 },
4769 };
4770 }
4771 pub fn class(self: Opcode) Class {
4772 return switch (self) {2663 return switch (self) {
4773 .OpNop => .Miscellaneous,2664 .OpNop => .Miscellaneous,
4774 .OpUndef => .Miscellaneous,2665 .OpUndef => .Miscellaneous,
...@@ -5114,12 +3005,16 @@ pub const Opcode = enum(u16) {...@@ -5114,12 +3005,16 @@ pub const Opcode = enum(u16) {
5114 .OpPtrEqual => .Memory,3005 .OpPtrEqual => .Memory,
5115 .OpPtrNotEqual => .Memory,3006 .OpPtrNotEqual => .Memory,
5116 .OpPtrDiff => .Memory,3007 .OpPtrDiff => .Memory,
3008 .OpColorAttachmentReadEXT => .Image,
3009 .OpDepthAttachmentReadEXT => .Image,
3010 .OpStencilAttachmentReadEXT => .Image,
5117 .OpTerminateInvocation => .ControlFlow,3011 .OpTerminateInvocation => .ControlFlow,
5118 .OpSubgroupBallotKHR => .Group,3012 .OpSubgroupBallotKHR => .Group,
5119 .OpSubgroupFirstInvocationKHR => .Group,3013 .OpSubgroupFirstInvocationKHR => .Group,
5120 .OpSubgroupAllKHR => .Group,3014 .OpSubgroupAllKHR => .Group,
5121 .OpSubgroupAnyKHR => .Group,3015 .OpSubgroupAnyKHR => .Group,
5122 .OpSubgroupAllEqualKHR => .Group,3016 .OpSubgroupAllEqualKHR => .Group,
3017 .OpGroupNonUniformRotateKHR => .Group,
5123 .OpSubgroupReadInvocationKHR => .Group,3018 .OpSubgroupReadInvocationKHR => .Group,
5124 .OpTraceRayKHR => .Reserved,3019 .OpTraceRayKHR => .Reserved,
5125 .OpExecuteCallableKHR => .Reserved,3020 .OpExecuteCallableKHR => .Reserved,
...@@ -5132,13 +3027,26 @@ pub const Opcode = enum(u16) {...@@ -5132,13 +3027,26 @@ pub const Opcode = enum(u16) {
5132 .OpSDotAccSat => .Arithmetic,3027 .OpSDotAccSat => .Arithmetic,
5133 .OpUDotAccSat => .Arithmetic,3028 .OpUDotAccSat => .Arithmetic,
5134 .OpSUDotAccSat => .Arithmetic,3029 .OpSUDotAccSat => .Arithmetic,
5135 .OpTypeRayQueryKHR => .Reserved,3030 .OpTypeCooperativeMatrixKHR => .TypeDeclaration,
3031 .OpCooperativeMatrixLoadKHR => .Memory,
3032 .OpCooperativeMatrixStoreKHR => .Memory,
3033 .OpCooperativeMatrixMulAddKHR => .Arithmetic,
3034 .OpCooperativeMatrixLengthKHR => .Miscellaneous,
3035 .OpTypeRayQueryKHR => .TypeDeclaration,
5136 .OpRayQueryInitializeKHR => .Reserved,3036 .OpRayQueryInitializeKHR => .Reserved,
5137 .OpRayQueryTerminateKHR => .Reserved,3037 .OpRayQueryTerminateKHR => .Reserved,
5138 .OpRayQueryGenerateIntersectionKHR => .Reserved,3038 .OpRayQueryGenerateIntersectionKHR => .Reserved,
5139 .OpRayQueryConfirmIntersectionKHR => .Reserved,3039 .OpRayQueryConfirmIntersectionKHR => .Reserved,
5140 .OpRayQueryProceedKHR => .Reserved,3040 .OpRayQueryProceedKHR => .Reserved,
5141 .OpRayQueryGetIntersectionTypeKHR => .Reserved,3041 .OpRayQueryGetIntersectionTypeKHR => .Reserved,
3042 .OpImageSampleWeightedQCOM => .Image,
3043 .OpImageBoxFilterQCOM => .Image,
3044 .OpImageBlockMatchSSDQCOM => .Image,
3045 .OpImageBlockMatchSADQCOM => .Image,
3046 .OpImageBlockMatchWindowSSDQCOM => .Image,
3047 .OpImageBlockMatchWindowSADQCOM => .Image,
3048 .OpImageBlockMatchGatherSSDQCOM => .Image,
3049 .OpImageBlockMatchGatherSADQCOM => .Image,
5142 .OpGroupIAddNonUniformAMD => .Group,3050 .OpGroupIAddNonUniformAMD => .Group,
5143 .OpGroupFAddNonUniformAMD => .Group,3051 .OpGroupFAddNonUniformAMD => .Group,
5144 .OpGroupFMinNonUniformAMD => .Group,3052 .OpGroupFMinNonUniformAMD => .Group,
...@@ -5150,18 +3058,61 @@ pub const Opcode = enum(u16) {...@@ -5150,18 +3058,61 @@ pub const Opcode = enum(u16) {
5150 .OpFragmentMaskFetchAMD => .Reserved,3058 .OpFragmentMaskFetchAMD => .Reserved,
5151 .OpFragmentFetchAMD => .Reserved,3059 .OpFragmentFetchAMD => .Reserved,
5152 .OpReadClockKHR => .Reserved,3060 .OpReadClockKHR => .Reserved,
3061 .OpFinalizeNodePayloadsAMDX => .Reserved,
3062 .OpFinishWritingNodePayloadAMDX => .Reserved,
3063 .OpInitializeNodePayloadsAMDX => .Reserved,
3064 .OpGroupNonUniformQuadAllKHR => .NonUniform,
3065 .OpGroupNonUniformQuadAnyKHR => .NonUniform,
3066 .OpHitObjectRecordHitMotionNV => .Reserved,
3067 .OpHitObjectRecordHitWithIndexMotionNV => .Reserved,
3068 .OpHitObjectRecordMissMotionNV => .Reserved,
3069 .OpHitObjectGetWorldToObjectNV => .Reserved,
3070 .OpHitObjectGetObjectToWorldNV => .Reserved,
3071 .OpHitObjectGetObjectRayDirectionNV => .Reserved,
3072 .OpHitObjectGetObjectRayOriginNV => .Reserved,
3073 .OpHitObjectTraceRayMotionNV => .Reserved,
3074 .OpHitObjectGetShaderRecordBufferHandleNV => .Reserved,
3075 .OpHitObjectGetShaderBindingTableRecordIndexNV => .Reserved,
3076 .OpHitObjectRecordEmptyNV => .Reserved,
3077 .OpHitObjectTraceRayNV => .Reserved,
3078 .OpHitObjectRecordHitNV => .Reserved,
3079 .OpHitObjectRecordHitWithIndexNV => .Reserved,
3080 .OpHitObjectRecordMissNV => .Reserved,
3081 .OpHitObjectExecuteShaderNV => .Reserved,
3082 .OpHitObjectGetCurrentTimeNV => .Reserved,
3083 .OpHitObjectGetAttributesNV => .Reserved,
3084 .OpHitObjectGetHitKindNV => .Reserved,
3085 .OpHitObjectGetPrimitiveIndexNV => .Reserved,
3086 .OpHitObjectGetGeometryIndexNV => .Reserved,
3087 .OpHitObjectGetInstanceIdNV => .Reserved,
3088 .OpHitObjectGetInstanceCustomIndexNV => .Reserved,
3089 .OpHitObjectGetWorldRayDirectionNV => .Reserved,
3090 .OpHitObjectGetWorldRayOriginNV => .Reserved,
3091 .OpHitObjectGetRayTMaxNV => .Reserved,
3092 .OpHitObjectGetRayTMinNV => .Reserved,
3093 .OpHitObjectIsEmptyNV => .Reserved,
3094 .OpHitObjectIsHitNV => .Reserved,
3095 .OpHitObjectIsMissNV => .Reserved,
3096 .OpReorderThreadWithHitObjectNV => .Reserved,
3097 .OpReorderThreadWithHintNV => .Reserved,
3098 .OpTypeHitObjectNV => .TypeDeclaration,
5153 .OpImageSampleFootprintNV => .Image,3099 .OpImageSampleFootprintNV => .Image,
3100 .OpEmitMeshTasksEXT => .Reserved,
3101 .OpSetMeshOutputsEXT => .Reserved,
5154 .OpGroupNonUniformPartitionNV => .NonUniform,3102 .OpGroupNonUniformPartitionNV => .NonUniform,
5155 .OpWritePackedPrimitiveIndices4x8NV => .Reserved,3103 .OpWritePackedPrimitiveIndices4x8NV => .Reserved,
3104 .OpFetchMicroTriangleVertexPositionNV => .Reserved,
3105 .OpFetchMicroTriangleVertexBarycentricNV => .Reserved,
5156 .OpReportIntersectionKHR => .Reserved,3106 .OpReportIntersectionKHR => .Reserved,
5157 .OpIgnoreIntersectionNV => .Reserved,3107 .OpIgnoreIntersectionNV => .Reserved,
5158 .OpTerminateRayNV => .Reserved,3108 .OpTerminateRayNV => .Reserved,
5159 .OpTraceNV => .Reserved,3109 .OpTraceNV => .Reserved,
5160 .OpTraceMotionNV => .Reserved,3110 .OpTraceMotionNV => .Reserved,
5161 .OpTraceRayMotionNV => .Reserved,3111 .OpTraceRayMotionNV => .Reserved,
5162 .OpTypeAccelerationStructureKHR => .Reserved,3112 .OpRayQueryGetIntersectionTriangleVertexPositionsKHR => .Reserved,
3113 .OpTypeAccelerationStructureKHR => .TypeDeclaration,
5163 .OpExecuteCallableNV => .Reserved,3114 .OpExecuteCallableNV => .Reserved,
5164 .OpTypeCooperativeMatrixNV => .Reserved,3115 .OpTypeCooperativeMatrixNV => .TypeDeclaration,
5165 .OpCooperativeMatrixLoadNV => .Reserved,3116 .OpCooperativeMatrixLoadNV => .Reserved,
5166 .OpCooperativeMatrixStoreNV => .Reserved,3117 .OpCooperativeMatrixStoreNV => .Reserved,
5167 .OpCooperativeMatrixMulAddNV => .Reserved,3118 .OpCooperativeMatrixMulAddNV => .Reserved,
...@@ -5177,6 +3128,7 @@ pub const Opcode = enum(u16) {...@@ -5177,6 +3128,7 @@ pub const Opcode = enum(u16) {
5177 .OpConvertUToSampledImageNV => .Reserved,3128 .OpConvertUToSampledImageNV => .Reserved,
5178 .OpConvertSampledImageToUNV => .Reserved,3129 .OpConvertSampledImageToUNV => .Reserved,
5179 .OpSamplerImageAddressingModeNV => .Reserved,3130 .OpSamplerImageAddressingModeNV => .Reserved,
3131 .OpRawAccessChainNV => .Memory,
5180 .OpSubgroupShuffleINTEL => .Group,3132 .OpSubgroupShuffleINTEL => .Group,
5181 .OpSubgroupShuffleDownINTEL => .Group,3133 .OpSubgroupShuffleDownINTEL => .Group,
5182 .OpSubgroupShuffleUpINTEL => .Group,3134 .OpSubgroupShuffleUpINTEL => .Group,
...@@ -5233,6 +3185,21 @@ pub const Opcode = enum(u16) {...@@ -5233,6 +3185,21 @@ pub const Opcode = enum(u16) {
5233 .OpTypeStructContinuedINTEL => .TypeDeclaration,3185 .OpTypeStructContinuedINTEL => .TypeDeclaration,
5234 .OpConstantCompositeContinuedINTEL => .ConstantCreation,3186 .OpConstantCompositeContinuedINTEL => .ConstantCreation,
5235 .OpSpecConstantCompositeContinuedINTEL => .ConstantCreation,3187 .OpSpecConstantCompositeContinuedINTEL => .ConstantCreation,
3188 .OpCompositeConstructContinuedINTEL => .Composite,
3189 .OpConvertFToBF16INTEL => .Conversion,
3190 .OpConvertBF16ToFINTEL => .Conversion,
3191 .OpControlBarrierArriveINTEL => .Barrier,
3192 .OpControlBarrierWaitINTEL => .Barrier,
3193 .OpGroupIMulKHR => .Group,
3194 .OpGroupFMulKHR => .Group,
3195 .OpGroupBitwiseAndKHR => .Group,
3196 .OpGroupBitwiseOrKHR => .Group,
3197 .OpGroupBitwiseXorKHR => .Group,
3198 .OpGroupLogicalAndKHR => .Group,
3199 .OpGroupLogicalOrKHR => .Group,
3200 .OpGroupLogicalXorKHR => .Group,
3201 .OpMaskedGatherINTEL => .Memory,
3202 .OpMaskedScatterINTEL => .Memory,
5236 };3203 };
5237 }3204 }
5238};3205};
...@@ -5327,9 +3294,9 @@ pub const FPFastMathMode = packed struct {...@@ -5327,9 +3294,9 @@ pub const FPFastMathMode = packed struct {
5327 _reserved_bit_13: bool = false,3294 _reserved_bit_13: bool = false,
5328 _reserved_bit_14: bool = false,3295 _reserved_bit_14: bool = false,
5329 _reserved_bit_15: bool = false,3296 _reserved_bit_15: bool = false,
5330 AllowContractFastINTEL: bool = false,3297 AllowContract: bool = false,
5331 AllowReassocINTEL: bool = false,3298 AllowReassoc: bool = false,
5332 _reserved_bit_18: bool = false,3299 AllowTransform: bool = false,
5333 _reserved_bit_19: bool = false,3300 _reserved_bit_19: bool = false,
5334 _reserved_bit_20: bool = false,3301 _reserved_bit_20: bool = false,
5335 _reserved_bit_21: bool = false,3302 _reserved_bit_21: bool = false,
...@@ -5343,6 +3310,9 @@ pub const FPFastMathMode = packed struct {...@@ -5343,6 +3310,9 @@ pub const FPFastMathMode = packed struct {
5343 _reserved_bit_29: bool = false,3310 _reserved_bit_29: bool = false,
5344 _reserved_bit_30: bool = false,3311 _reserved_bit_30: bool = false,
5345 _reserved_bit_31: bool = false,3312 _reserved_bit_31: bool = false,
3313
3314 pub const AllowContractFastINTEL: FPFastMathMode = .{ .AllowContract = true };
3315 pub const AllowReassocINTEL: FPFastMathMode = .{ .AllowReassoc = true };
5346};3316};
5347pub const SelectionControl = packed struct {3317pub const SelectionControl = packed struct {
5348 Flatten: bool = false,3318 Flatten: bool = false,
...@@ -5403,8 +3373,8 @@ pub const LoopControl = packed struct {...@@ -5403,8 +3373,8 @@ pub const LoopControl = packed struct {
5403 MaxInterleavingINTEL: bool = false,3373 MaxInterleavingINTEL: bool = false,
5404 SpeculatedIterationsINTEL: bool = false,3374 SpeculatedIterationsINTEL: bool = false,
5405 NoFusionINTEL: bool = false,3375 NoFusionINTEL: bool = false,
5406 _reserved_bit_24: bool = false,3376 LoopCountINTEL: bool = false,
5407 _reserved_bit_25: bool = false,3377 MaxReinvocationDelayINTEL: bool = false,
5408 _reserved_bit_26: bool = false,3378 _reserved_bit_26: bool = false,
5409 _reserved_bit_27: bool = false,3379 _reserved_bit_27: bool = false,
5410 _reserved_bit_28: bool = false,3380 _reserved_bit_28: bool = false,
...@@ -5436,9 +3406,9 @@ pub const LoopControl = packed struct {...@@ -5436,9 +3406,9 @@ pub const LoopControl = packed struct {
5436 LoopCoalesceINTEL: ?struct { literal_integer: LiteralInteger } = null,3406 LoopCoalesceINTEL: ?struct { literal_integer: LiteralInteger } = null,
5437 MaxInterleavingINTEL: ?struct { literal_integer: LiteralInteger } = null,3407 MaxInterleavingINTEL: ?struct { literal_integer: LiteralInteger } = null,
5438 SpeculatedIterationsINTEL: ?struct { literal_integer: LiteralInteger } = null,3408 SpeculatedIterationsINTEL: ?struct { literal_integer: LiteralInteger } = null,
5439 NoFusionINTEL: ?struct { literal_integer: LiteralInteger } = null,3409 NoFusionINTEL: bool = false,
5440 _reserved_bit_24: bool = false,3410 LoopCountINTEL: ?struct { literal_integer: LiteralInteger } = null,
5441 _reserved_bit_25: bool = false,3411 MaxReinvocationDelayINTEL: ?struct { literal_integer: LiteralInteger } = null,
5442 _reserved_bit_26: bool = false,3412 _reserved_bit_26: bool = false,
5443 _reserved_bit_27: bool = false,3413 _reserved_bit_27: bool = false,
5444 _reserved_bit_28: bool = false,3414 _reserved_bit_28: bool = false,
...@@ -5536,8 +3506,8 @@ pub const MemoryAccess = packed struct {...@@ -5536,8 +3506,8 @@ pub const MemoryAccess = packed struct {
5536 _reserved_bit_13: bool = false,3506 _reserved_bit_13: bool = false,
5537 _reserved_bit_14: bool = false,3507 _reserved_bit_14: bool = false,
5538 _reserved_bit_15: bool = false,3508 _reserved_bit_15: bool = false,
5539 _reserved_bit_16: bool = false,3509 AliasScopeINTELMask: bool = false,
5540 _reserved_bit_17: bool = false,3510 NoAliasINTELMask: bool = false,
5541 _reserved_bit_18: bool = false,3511 _reserved_bit_18: bool = false,
5542 _reserved_bit_19: bool = false,3512 _reserved_bit_19: bool = false,
5543 _reserved_bit_20: bool = false,3513 _reserved_bit_20: bool = false,
...@@ -5574,8 +3544,8 @@ pub const MemoryAccess = packed struct {...@@ -5574,8 +3544,8 @@ pub const MemoryAccess = packed struct {
5574 _reserved_bit_13: bool = false,3544 _reserved_bit_13: bool = false,
5575 _reserved_bit_14: bool = false,3545 _reserved_bit_14: bool = false,
5576 _reserved_bit_15: bool = false,3546 _reserved_bit_15: bool = false,
5577 _reserved_bit_16: bool = false,3547 AliasScopeINTELMask: ?struct { id_ref: IdRef } = null,
5578 _reserved_bit_17: bool = false,3548 NoAliasINTELMask: ?struct { id_ref: IdRef } = null,
5579 _reserved_bit_18: bool = false,3549 _reserved_bit_18: bool = false,
5580 _reserved_bit_19: bool = false,3550 _reserved_bit_19: bool = false,
5581 _reserved_bit_20: bool = false,3551 _reserved_bit_20: bool = false,
...@@ -5637,7 +3607,7 @@ pub const RayFlags = packed struct {...@@ -5637,7 +3607,7 @@ pub const RayFlags = packed struct {
5637 CullNoOpaqueKHR: bool = false,3607 CullNoOpaqueKHR: bool = false,
5638 SkipTrianglesKHR: bool = false,3608 SkipTrianglesKHR: bool = false,
5639 SkipAABBsKHR: bool = false,3609 SkipAABBsKHR: bool = false,
5640 _reserved_bit_10: bool = false,3610 ForceOpacityMicromap2StateEXT: bool = false,
5641 _reserved_bit_11: bool = false,3611 _reserved_bit_11: bool = false,
5642 _reserved_bit_12: bool = false,3612 _reserved_bit_12: bool = false,
5643 _reserved_bit_13: bool = false,3613 _reserved_bit_13: bool = false,
...@@ -5694,6 +3664,40 @@ pub const FragmentShadingRate = packed struct {...@@ -5694,6 +3664,40 @@ pub const FragmentShadingRate = packed struct {
5694 _reserved_bit_30: bool = false,3664 _reserved_bit_30: bool = false,
5695 _reserved_bit_31: bool = false,3665 _reserved_bit_31: bool = false,
5696};3666};
3667pub const RawAccessChainOperands = packed struct {
3668 RobustnessPerComponentNV: bool = false,
3669 RobustnessPerElementNV: bool = false,
3670 _reserved_bit_2: bool = false,
3671 _reserved_bit_3: bool = false,
3672 _reserved_bit_4: bool = false,
3673 _reserved_bit_5: bool = false,
3674 _reserved_bit_6: bool = false,
3675 _reserved_bit_7: bool = false,
3676 _reserved_bit_8: bool = false,
3677 _reserved_bit_9: bool = false,
3678 _reserved_bit_10: bool = false,
3679 _reserved_bit_11: bool = false,
3680 _reserved_bit_12: bool = false,
3681 _reserved_bit_13: bool = false,
3682 _reserved_bit_14: bool = false,
3683 _reserved_bit_15: bool = false,
3684 _reserved_bit_16: bool = false,
3685 _reserved_bit_17: bool = false,
3686 _reserved_bit_18: bool = false,
3687 _reserved_bit_19: bool = false,
3688 _reserved_bit_20: bool = false,
3689 _reserved_bit_21: bool = false,
3690 _reserved_bit_22: bool = false,
3691 _reserved_bit_23: bool = false,
3692 _reserved_bit_24: bool = false,
3693 _reserved_bit_25: bool = false,
3694 _reserved_bit_26: bool = false,
3695 _reserved_bit_27: bool = false,
3696 _reserved_bit_28: bool = false,
3697 _reserved_bit_29: bool = false,
3698 _reserved_bit_30: bool = false,
3699 _reserved_bit_31: bool = false,
3700};
5697pub const SourceLanguage = enum(u32) {3701pub const SourceLanguage = enum(u32) {
5698 Unknown = 0,3702 Unknown = 0,
5699 ESSL = 1,3703 ESSL = 1,
...@@ -5702,6 +3706,12 @@ pub const SourceLanguage = enum(u32) {...@@ -5702,6 +3706,12 @@ pub const SourceLanguage = enum(u32) {
5702 OpenCL_CPP = 4,3706 OpenCL_CPP = 4,
5703 HLSL = 5,3707 HLSL = 5,
5704 CPP_for_OpenCL = 6,3708 CPP_for_OpenCL = 6,
3709 SYCL = 7,
3710 HERO_C = 8,
3711 NZSL = 9,
3712 WGSL = 10,
3713 Slang = 11,
3714 Zig = 12,
5705};3715};
5706pub const ExecutionModel = enum(u32) {3716pub const ExecutionModel = enum(u32) {
5707 Vertex = 0,3717 Vertex = 0,
...@@ -5719,6 +3729,8 @@ pub const ExecutionModel = enum(u32) {...@@ -5719,6 +3729,8 @@ pub const ExecutionModel = enum(u32) {
5719 ClosestHitKHR = 5316,3729 ClosestHitKHR = 5316,
5720 MissKHR = 5317,3730 MissKHR = 5317,
5721 CallableKHR = 5318,3731 CallableKHR = 5318,
3732 TaskEXT = 5364,
3733 MeshEXT = 5365,
57223734
5723 pub const RayGenerationNV = ExecutionModel.RayGenerationKHR;3735 pub const RayGenerationNV = ExecutionModel.RayGenerationKHR;
5724 pub const IntersectionNV = ExecutionModel.IntersectionKHR;3736 pub const IntersectionNV = ExecutionModel.IntersectionKHR;
...@@ -5782,6 +3794,9 @@ pub const ExecutionMode = enum(u32) {...@@ -5782,6 +3794,9 @@ pub const ExecutionMode = enum(u32) {
5782 SubgroupsPerWorkgroupId = 37,3794 SubgroupsPerWorkgroupId = 37,
5783 LocalSizeId = 38,3795 LocalSizeId = 38,
5784 LocalSizeHintId = 39,3796 LocalSizeHintId = 39,
3797 NonCoherentColorAttachmentReadEXT = 4169,
3798 NonCoherentDepthAttachmentReadEXT = 4170,
3799 NonCoherentStencilAttachmentReadEXT = 4171,
5785 SubgroupUniformControlFlowKHR = 4421,3800 SubgroupUniformControlFlowKHR = 4421,
5786 PostDepthCoverage = 4446,3801 PostDepthCoverage = 4446,
5787 DenormPreserve = 4459,3802 DenormPreserve = 4459,
...@@ -5789,12 +3804,26 @@ pub const ExecutionMode = enum(u32) {...@@ -5789,12 +3804,26 @@ pub const ExecutionMode = enum(u32) {
5789 SignedZeroInfNanPreserve = 4461,3804 SignedZeroInfNanPreserve = 4461,
5790 RoundingModeRTE = 4462,3805 RoundingModeRTE = 4462,
5791 RoundingModeRTZ = 4463,3806 RoundingModeRTZ = 4463,
3807 EarlyAndLateFragmentTestsAMD = 5017,
5792 StencilRefReplacingEXT = 5027,3808 StencilRefReplacingEXT = 5027,
5793 OutputLinesNV = 5269,3809 CoalescingAMDX = 5069,
5794 OutputPrimitivesNV = 5270,3810 MaxNodeRecursionAMDX = 5071,
3811 StaticNumWorkgroupsAMDX = 5072,
3812 ShaderIndexAMDX = 5073,
3813 MaxNumWorkgroupsAMDX = 5077,
3814 StencilRefUnchangedFrontAMD = 5079,
3815 StencilRefGreaterFrontAMD = 5080,
3816 StencilRefLessFrontAMD = 5081,
3817 StencilRefUnchangedBackAMD = 5082,
3818 StencilRefGreaterBackAMD = 5083,
3819 StencilRefLessBackAMD = 5084,
3820 QuadDerivativesKHR = 5088,
3821 RequireFullQuadsKHR = 5089,
3822 OutputLinesEXT = 5269,
3823 OutputPrimitivesEXT = 5270,
5795 DerivativeGroupQuadsNV = 5289,3824 DerivativeGroupQuadsNV = 5289,
5796 DerivativeGroupLinearNV = 5290,3825 DerivativeGroupLinearNV = 5290,
5797 OutputTrianglesNV = 5298,3826 OutputTrianglesEXT = 5298,
5798 PixelInterlockOrderedEXT = 5366,3827 PixelInterlockOrderedEXT = 5366,
5799 PixelInterlockUnorderedEXT = 5367,3828 PixelInterlockUnorderedEXT = 5367,
5800 SampleInterlockOrderedEXT = 5368,3829 SampleInterlockOrderedEXT = 5368,
...@@ -5811,6 +3840,18 @@ pub const ExecutionMode = enum(u32) {...@@ -5811,6 +3840,18 @@ pub const ExecutionMode = enum(u32) {
5811 NoGlobalOffsetINTEL = 5895,3840 NoGlobalOffsetINTEL = 5895,
5812 NumSIMDWorkitemsINTEL = 5896,3841 NumSIMDWorkitemsINTEL = 5896,
5813 SchedulerTargetFmaxMhzINTEL = 5903,3842 SchedulerTargetFmaxMhzINTEL = 5903,
3843 MaximallyReconvergesKHR = 6023,
3844 FPFastMathDefault = 6028,
3845 StreamingInterfaceINTEL = 6154,
3846 RegisterMapInterfaceINTEL = 6160,
3847 NamedBarrierCountINTEL = 6417,
3848 MaximumRegistersINTEL = 6461,
3849 MaximumRegistersIdINTEL = 6462,
3850 NamedMaximumRegistersINTEL = 6463,
3851
3852 pub const OutputLinesNV = ExecutionMode.OutputLinesEXT;
3853 pub const OutputPrimitivesNV = ExecutionMode.OutputPrimitivesEXT;
3854 pub const OutputTrianglesNV = ExecutionMode.OutputTrianglesEXT;
58143855
5815 pub const Extended = union(ExecutionMode) {3856 pub const Extended = union(ExecutionMode) {
5816 Invocations: struct { literal_integer: LiteralInteger },3857 Invocations: struct { literal_integer: LiteralInteger },
...@@ -5851,6 +3892,9 @@ pub const ExecutionMode = enum(u32) {...@@ -5851,6 +3892,9 @@ pub const ExecutionMode = enum(u32) {
5851 SubgroupsPerWorkgroupId: struct { subgroups_per_workgroup: IdRef },3892 SubgroupsPerWorkgroupId: struct { subgroups_per_workgroup: IdRef },
5852 LocalSizeId: struct { x_size: IdRef, y_size: IdRef, z_size: IdRef },3893 LocalSizeId: struct { x_size: IdRef, y_size: IdRef, z_size: IdRef },
5853 LocalSizeHintId: struct { x_size_hint: IdRef, y_size_hint: IdRef, z_size_hint: IdRef },3894 LocalSizeHintId: struct { x_size_hint: IdRef, y_size_hint: IdRef, z_size_hint: IdRef },
3895 NonCoherentColorAttachmentReadEXT,
3896 NonCoherentDepthAttachmentReadEXT,
3897 NonCoherentStencilAttachmentReadEXT,
5854 SubgroupUniformControlFlowKHR,3898 SubgroupUniformControlFlowKHR,
5855 PostDepthCoverage,3899 PostDepthCoverage,
5856 DenormPreserve: struct { target_width: LiteralInteger },3900 DenormPreserve: struct { target_width: LiteralInteger },
...@@ -5858,12 +3902,26 @@ pub const ExecutionMode = enum(u32) {...@@ -5858,12 +3902,26 @@ pub const ExecutionMode = enum(u32) {
5858 SignedZeroInfNanPreserve: struct { target_width: LiteralInteger },3902 SignedZeroInfNanPreserve: struct { target_width: LiteralInteger },
5859 RoundingModeRTE: struct { target_width: LiteralInteger },3903 RoundingModeRTE: struct { target_width: LiteralInteger },
5860 RoundingModeRTZ: struct { target_width: LiteralInteger },3904 RoundingModeRTZ: struct { target_width: LiteralInteger },
3905 EarlyAndLateFragmentTestsAMD,
5861 StencilRefReplacingEXT,3906 StencilRefReplacingEXT,
5862 OutputLinesNV,3907 CoalescingAMDX,
5863 OutputPrimitivesNV: struct { primitive_count: LiteralInteger },3908 MaxNodeRecursionAMDX: struct { number_of_recursions: IdRef },
3909 StaticNumWorkgroupsAMDX: struct { x_size: IdRef, y_size: IdRef, z_size: IdRef },
3910 ShaderIndexAMDX: struct { shader_index: IdRef },
3911 MaxNumWorkgroupsAMDX: struct { x_size: IdRef, y_size: IdRef, z_size: IdRef },
3912 StencilRefUnchangedFrontAMD,
3913 StencilRefGreaterFrontAMD,
3914 StencilRefLessFrontAMD,
3915 StencilRefUnchangedBackAMD,
3916 StencilRefGreaterBackAMD,
3917 StencilRefLessBackAMD,
3918 QuadDerivativesKHR,
3919 RequireFullQuadsKHR,
3920 OutputLinesEXT,
3921 OutputPrimitivesEXT: struct { primitive_count: LiteralInteger },
5864 DerivativeGroupQuadsNV,3922 DerivativeGroupQuadsNV,
5865 DerivativeGroupLinearNV,3923 DerivativeGroupLinearNV,
5866 OutputTrianglesNV,3924 OutputTrianglesEXT,
5867 PixelInterlockOrderedEXT,3925 PixelInterlockOrderedEXT,
5868 PixelInterlockUnorderedEXT,3926 PixelInterlockUnorderedEXT,
5869 SampleInterlockOrderedEXT,3927 SampleInterlockOrderedEXT,
...@@ -5880,6 +3938,14 @@ pub const ExecutionMode = enum(u32) {...@@ -5880,6 +3938,14 @@ pub const ExecutionMode = enum(u32) {
5880 NoGlobalOffsetINTEL,3938 NoGlobalOffsetINTEL,
5881 NumSIMDWorkitemsINTEL: struct { literal_integer: LiteralInteger },3939 NumSIMDWorkitemsINTEL: struct { literal_integer: LiteralInteger },
5882 SchedulerTargetFmaxMhzINTEL: struct { literal_integer: LiteralInteger },3940 SchedulerTargetFmaxMhzINTEL: struct { literal_integer: LiteralInteger },
3941 MaximallyReconvergesKHR,
3942 FPFastMathDefault: struct { target_type: IdRef, id_ref_1: IdRef },
3943 StreamingInterfaceINTEL: struct { stallfreereturn: LiteralInteger },
3944 RegisterMapInterfaceINTEL: struct { waitfordonewrite: LiteralInteger },
3945 NamedBarrierCountINTEL: struct { barrier_count: LiteralInteger },
3946 MaximumRegistersINTEL: struct { number_of_registers: LiteralInteger },
3947 MaximumRegistersIdINTEL: struct { number_of_registers: IdRef },
3948 NamedMaximumRegistersINTEL: struct { named_maximum_number_of_registers: NamedMaximumNumberOfRegisters },
5883 };3949 };
5884};3950};
5885pub const StorageClass = enum(u32) {3951pub const StorageClass = enum(u32) {
...@@ -5896,6 +3962,9 @@ pub const StorageClass = enum(u32) {...@@ -5896,6 +3962,9 @@ pub const StorageClass = enum(u32) {
5896 AtomicCounter = 10,3962 AtomicCounter = 10,
5897 Image = 11,3963 Image = 11,
5898 StorageBuffer = 12,3964 StorageBuffer = 12,
3965 TileImageEXT = 4172,
3966 NodePayloadAMDX = 5068,
3967 NodeOutputPayloadAMDX = 5076,
5899 CallableDataKHR = 5328,3968 CallableDataKHR = 5328,
5900 IncomingCallableDataKHR = 5329,3969 IncomingCallableDataKHR = 5329,
5901 RayPayloadKHR = 5338,3970 RayPayloadKHR = 5338,
...@@ -5903,6 +3972,8 @@ pub const StorageClass = enum(u32) {...@@ -5903,6 +3972,8 @@ pub const StorageClass = enum(u32) {
5903 IncomingRayPayloadKHR = 5342,3972 IncomingRayPayloadKHR = 5342,
5904 ShaderRecordBufferKHR = 5343,3973 ShaderRecordBufferKHR = 5343,
5905 PhysicalStorageBuffer = 5349,3974 PhysicalStorageBuffer = 5349,
3975 HitObjectAttributeNV = 5385,
3976 TaskPayloadWorkgroupEXT = 5402,
5906 CodeSectionINTEL = 5605,3977 CodeSectionINTEL = 5605,
5907 DeviceOnlyINTEL = 5936,3978 DeviceOnlyINTEL = 5936,
5908 HostOnlyINTEL = 5937,3979 HostOnlyINTEL = 5937,
...@@ -5923,6 +3994,7 @@ pub const Dim = enum(u32) {...@@ -5923,6 +3994,7 @@ pub const Dim = enum(u32) {
5923 Rect = 4,3994 Rect = 4,
5924 Buffer = 5,3995 Buffer = 5,
5925 SubpassData = 6,3996 SubpassData = 6,
3997 TileImageDataEXT = 4173,
5926};3998};
5927pub const SamplerAddressingMode = enum(u32) {3999pub const SamplerAddressingMode = enum(u32) {
5928 None = 0,4000 None = 0,
...@@ -6019,6 +4091,8 @@ pub const ImageChannelDataType = enum(u32) {...@@ -6019,6 +4091,8 @@ pub const ImageChannelDataType = enum(u32) {
6019 Float = 14,4091 Float = 14,
6020 UnormInt24 = 15,4092 UnormInt24 = 15,
6021 UnormInt101010_2 = 16,4093 UnormInt101010_2 = 16,
4094 UnsignedIntRaw10EXT = 19,
4095 UnsignedIntRaw12EXT = 20,
6022};4096};
6023pub const FPRoundingMode = enum(u32) {4097pub const FPRoundingMode = enum(u32) {
6024 RTE = 0,4098 RTE = 0,
...@@ -6060,6 +4134,12 @@ pub const AccessQualifier = enum(u32) {...@@ -6060,6 +4134,12 @@ pub const AccessQualifier = enum(u32) {
6060 WriteOnly = 1,4134 WriteOnly = 1,
6061 ReadWrite = 2,4135 ReadWrite = 2,
6062};4136};
4137pub const HostAccessQualifier = enum(u32) {
4138 NoneINTEL = 0,
4139 ReadINTEL = 1,
4140 WriteINTEL = 2,
4141 ReadWriteINTEL = 3,
4142};
6063pub const FunctionParameterAttribute = enum(u32) {4143pub const FunctionParameterAttribute = enum(u32) {
6064 Zext = 0,4144 Zext = 0,
6065 Sext = 1,4145 Sext = 1,
...@@ -6069,6 +4149,7 @@ pub const FunctionParameterAttribute = enum(u32) {...@@ -6069,6 +4149,7 @@ pub const FunctionParameterAttribute = enum(u32) {
6069 NoCapture = 5,4149 NoCapture = 5,
6070 NoWrite = 6,4150 NoWrite = 6,
6071 NoReadWrite = 7,4151 NoReadWrite = 7,
4152 RuntimeAlignedINTEL = 5940,
6072};4153};
6073pub const Decoration = enum(u32) {4154pub const Decoration = enum(u32) {
6074 RelaxedPrecision = 0,4155 RelaxedPrecision = 0,
...@@ -6120,18 +4201,26 @@ pub const Decoration = enum(u32) {...@@ -6120,18 +4201,26 @@ pub const Decoration = enum(u32) {
6120 MaxByteOffsetId = 47,4201 MaxByteOffsetId = 47,
6121 NoSignedWrap = 4469,4202 NoSignedWrap = 4469,
6122 NoUnsignedWrap = 4470,4203 NoUnsignedWrap = 4470,
4204 WeightTextureQCOM = 4487,
4205 BlockMatchTextureQCOM = 4488,
4206 BlockMatchSamplerQCOM = 4499,
6123 ExplicitInterpAMD = 4999,4207 ExplicitInterpAMD = 4999,
4208 NodeSharesPayloadLimitsWithAMDX = 5019,
4209 NodeMaxPayloadsAMDX = 5020,
4210 TrackFinishWritingAMDX = 5078,
4211 PayloadNodeNameAMDX = 5091,
6124 OverrideCoverageNV = 5248,4212 OverrideCoverageNV = 5248,
6125 PassthroughNV = 5250,4213 PassthroughNV = 5250,
6126 ViewportRelativeNV = 5252,4214 ViewportRelativeNV = 5252,
6127 SecondaryViewportRelativeNV = 5256,4215 SecondaryViewportRelativeNV = 5256,
6128 PerPrimitiveNV = 5271,4216 PerPrimitiveEXT = 5271,
6129 PerViewNV = 5272,4217 PerViewNV = 5272,
6130 PerTaskNV = 5273,4218 PerTaskNV = 5273,
6131 PerVertexKHR = 5285,4219 PerVertexKHR = 5285,
6132 NonUniform = 5300,4220 NonUniform = 5300,
6133 RestrictPointer = 5355,4221 RestrictPointer = 5355,
6134 AliasedPointer = 5356,4222 AliasedPointer = 5356,
4223 HitObjectShaderRecordBufferNV = 5386,
6135 BindlessSamplerNV = 5398,4224 BindlessSamplerNV = 5398,
6136 BindlessImageNV = 5399,4225 BindlessImageNV = 5399,
6137 BoundSamplerNV = 5400,4226 BoundSamplerNV = 5400,
...@@ -6162,19 +4251,47 @@ pub const Decoration = enum(u32) {...@@ -6162,19 +4251,47 @@ pub const Decoration = enum(u32) {
6162 MergeINTEL = 5834,4251 MergeINTEL = 5834,
6163 BankBitsINTEL = 5835,4252 BankBitsINTEL = 5835,
6164 ForcePow2DepthINTEL = 5836,4253 ForcePow2DepthINTEL = 5836,
4254 StridesizeINTEL = 5883,
4255 WordsizeINTEL = 5884,
4256 TrueDualPortINTEL = 5885,
6165 BurstCoalesceINTEL = 5899,4257 BurstCoalesceINTEL = 5899,
6166 CacheSizeINTEL = 5900,4258 CacheSizeINTEL = 5900,
6167 DontStaticallyCoalesceINTEL = 5901,4259 DontStaticallyCoalesceINTEL = 5901,
6168 PrefetchINTEL = 5902,4260 PrefetchINTEL = 5902,
6169 StallEnableINTEL = 5905,4261 StallEnableINTEL = 5905,
6170 FuseLoopsInFunctionINTEL = 5907,4262 FuseLoopsInFunctionINTEL = 5907,
4263 MathOpDSPModeINTEL = 5909,
4264 AliasScopeINTEL = 5914,
4265 NoAliasINTEL = 5915,
4266 InitiationIntervalINTEL = 5917,
4267 MaxConcurrencyINTEL = 5918,
4268 PipelineEnableINTEL = 5919,
6171 BufferLocationINTEL = 5921,4269 BufferLocationINTEL = 5921,
6172 IOPipeStorageINTEL = 5944,4270 IOPipeStorageINTEL = 5944,
6173 FunctionFloatingPointModeINTEL = 6080,4271 FunctionFloatingPointModeINTEL = 6080,
6174 SingleElementVectorINTEL = 6085,4272 SingleElementVectorINTEL = 6085,
6175 VectorComputeCallableFunctionINTEL = 6087,4273 VectorComputeCallableFunctionINTEL = 6087,
6176 MediaBlockIOINTEL = 6140,4274 MediaBlockIOINTEL = 6140,
4275 StallFreeINTEL = 6151,
4276 FPMaxErrorDecorationINTEL = 6170,
4277 LatencyControlLabelINTEL = 6172,
4278 LatencyControlConstraintINTEL = 6173,
4279 ConduitKernelArgumentINTEL = 6175,
4280 RegisterMapKernelArgumentINTEL = 6176,
4281 MMHostInterfaceAddressWidthINTEL = 6177,
4282 MMHostInterfaceDataWidthINTEL = 6178,
4283 MMHostInterfaceLatencyINTEL = 6179,
4284 MMHostInterfaceReadWriteModeINTEL = 6180,
4285 MMHostInterfaceMaxBurstINTEL = 6181,
4286 MMHostInterfaceWaitRequestINTEL = 6182,
4287 StableKernelArgumentINTEL = 6183,
4288 HostAccessINTEL = 6188,
4289 InitModeINTEL = 6190,
4290 ImplementInRegisterMapINTEL = 6191,
4291 CacheControlLoadINTEL = 6442,
4292 CacheControlStoreINTEL = 6443,
61774293
4294 pub const PerPrimitiveNV = Decoration.PerPrimitiveEXT;
6178 pub const PerVertexNV = Decoration.PerVertexKHR;4295 pub const PerVertexNV = Decoration.PerVertexKHR;
6179 pub const NonUniformEXT = Decoration.NonUniform;4296 pub const NonUniformEXT = Decoration.NonUniform;
6180 pub const RestrictPointerEXT = Decoration.RestrictPointer;4297 pub const RestrictPointerEXT = Decoration.RestrictPointer;
...@@ -6232,18 +4349,26 @@ pub const Decoration = enum(u32) {...@@ -6232,18 +4349,26 @@ pub const Decoration = enum(u32) {
6232 MaxByteOffsetId: struct { max_byte_offset: IdRef },4349 MaxByteOffsetId: struct { max_byte_offset: IdRef },
6233 NoSignedWrap,4350 NoSignedWrap,
6234 NoUnsignedWrap,4351 NoUnsignedWrap,
4352 WeightTextureQCOM,
4353 BlockMatchTextureQCOM,
4354 BlockMatchSamplerQCOM,
6235 ExplicitInterpAMD,4355 ExplicitInterpAMD,
4356 NodeSharesPayloadLimitsWithAMDX: struct { payload_array: IdRef },
4357 NodeMaxPayloadsAMDX: struct { max_number_of_payloads: IdRef },
4358 TrackFinishWritingAMDX,
4359 PayloadNodeNameAMDX: struct { node_name: LiteralString },
6236 OverrideCoverageNV,4360 OverrideCoverageNV,
6237 PassthroughNV,4361 PassthroughNV,
6238 ViewportRelativeNV,4362 ViewportRelativeNV,
6239 SecondaryViewportRelativeNV: struct { offset: LiteralInteger },4363 SecondaryViewportRelativeNV: struct { offset: LiteralInteger },
6240 PerPrimitiveNV,4364 PerPrimitiveEXT,
6241 PerViewNV,4365 PerViewNV,
6242 PerTaskNV,4366 PerTaskNV,
6243 PerVertexKHR,4367 PerVertexKHR,
6244 NonUniform,4368 NonUniform,
6245 RestrictPointer,4369 RestrictPointer,
6246 AliasedPointer,4370 AliasedPointer,
4371 HitObjectShaderRecordBufferNV,
6247 BindlessSamplerNV,4372 BindlessSamplerNV,
6248 BindlessImageNV,4373 BindlessImageNV,
6249 BoundSamplerNV,4374 BoundSamplerNV,
...@@ -6274,18 +4399,45 @@ pub const Decoration = enum(u32) {...@@ -6274,18 +4399,45 @@ pub const Decoration = enum(u32) {
6274 MergeINTEL: struct { merge_key: LiteralString, merge_type: LiteralString },4399 MergeINTEL: struct { merge_key: LiteralString, merge_type: LiteralString },
6275 BankBitsINTEL: struct { bank_bits: []const LiteralInteger = &.{} },4400 BankBitsINTEL: struct { bank_bits: []const LiteralInteger = &.{} },
6276 ForcePow2DepthINTEL: struct { force_key: LiteralInteger },4401 ForcePow2DepthINTEL: struct { force_key: LiteralInteger },
4402 StridesizeINTEL: struct { stride_size: LiteralInteger },
4403 WordsizeINTEL: struct { word_size: LiteralInteger },
4404 TrueDualPortINTEL,
6277 BurstCoalesceINTEL,4405 BurstCoalesceINTEL,
6278 CacheSizeINTEL: struct { cache_size_in_bytes: LiteralInteger },4406 CacheSizeINTEL: struct { cache_size_in_bytes: LiteralInteger },
6279 DontStaticallyCoalesceINTEL,4407 DontStaticallyCoalesceINTEL,
6280 PrefetchINTEL: struct { prefetcher_size_in_bytes: LiteralInteger },4408 PrefetchINTEL: struct { prefetcher_size_in_bytes: LiteralInteger },
6281 StallEnableINTEL,4409 StallEnableINTEL,
6282 FuseLoopsInFunctionINTEL,4410 FuseLoopsInFunctionINTEL,
4411 MathOpDSPModeINTEL: struct { mode: LiteralInteger, propagate: LiteralInteger },
4412 AliasScopeINTEL: struct { aliasing_scopes_list: IdRef },
4413 NoAliasINTEL: struct { aliasing_scopes_list: IdRef },
4414 InitiationIntervalINTEL: struct { cycles: LiteralInteger },
4415 MaxConcurrencyINTEL: struct { invocations: LiteralInteger },
4416 PipelineEnableINTEL: struct { enable: LiteralInteger },
6283 BufferLocationINTEL: struct { buffer_location_id: LiteralInteger },4417 BufferLocationINTEL: struct { buffer_location_id: LiteralInteger },
6284 IOPipeStorageINTEL: struct { io_pipe_id: LiteralInteger },4418 IOPipeStorageINTEL: struct { io_pipe_id: LiteralInteger },
6285 FunctionFloatingPointModeINTEL: struct { target_width: LiteralInteger, fp_operation_mode: FPOperationMode },4419 FunctionFloatingPointModeINTEL: struct { target_width: LiteralInteger, fp_operation_mode: FPOperationMode },
6286 SingleElementVectorINTEL,4420 SingleElementVectorINTEL,
6287 VectorComputeCallableFunctionINTEL,4421 VectorComputeCallableFunctionINTEL,
6288 MediaBlockIOINTEL,4422 MediaBlockIOINTEL,
4423 StallFreeINTEL,
4424 FPMaxErrorDecorationINTEL: struct { max_error: LiteralFloat },
4425 LatencyControlLabelINTEL: struct { latency_label: LiteralInteger },
4426 LatencyControlConstraintINTEL: struct { relative_to: LiteralInteger, control_type: LiteralInteger, relative_cycle: LiteralInteger },
4427 ConduitKernelArgumentINTEL,
4428 RegisterMapKernelArgumentINTEL,
4429 MMHostInterfaceAddressWidthINTEL: struct { addresswidth: LiteralInteger },
4430 MMHostInterfaceDataWidthINTEL: struct { datawidth: LiteralInteger },
4431 MMHostInterfaceLatencyINTEL: struct { latency: LiteralInteger },
4432 MMHostInterfaceReadWriteModeINTEL: struct { readwritemode: AccessQualifier },
4433 MMHostInterfaceMaxBurstINTEL: struct { maxburstcount: LiteralInteger },
4434 MMHostInterfaceWaitRequestINTEL: struct { waitrequest: LiteralInteger },
4435 StableKernelArgumentINTEL,
4436 HostAccessINTEL: struct { access: HostAccessQualifier, name: LiteralString },
4437 InitModeINTEL: struct { trigger: InitializationModeQualifier },
4438 ImplementInRegisterMapINTEL: struct { value: LiteralInteger },
4439 CacheControlLoadINTEL: struct { cache_level: LiteralInteger, cache_control: LoadCacheControl },
4440 CacheControlStoreINTEL: struct { cache_level: LiteralInteger, cache_control: StoreCacheControl },
6289 };4441 };
6290};4442};
6291pub const BuiltIn = enum(u32) {4443pub const BuiltIn = enum(u32) {
...@@ -6330,6 +4482,11 @@ pub const BuiltIn = enum(u32) {...@@ -6330,6 +4482,11 @@ pub const BuiltIn = enum(u32) {
6330 SubgroupLocalInvocationId = 41,4482 SubgroupLocalInvocationId = 41,
6331 VertexIndex = 42,4483 VertexIndex = 42,
6332 InstanceIndex = 43,4484 InstanceIndex = 43,
4485 CoreIDARM = 4160,
4486 CoreCountARM = 4161,
4487 CoreMaxIDARM = 4162,
4488 WarpIDARM = 4163,
4489 WarpMaxIDARM = 4164,
6333 SubgroupEqMask = 4416,4490 SubgroupEqMask = 4416,
6334 SubgroupGeMask = 4417,4491 SubgroupGeMask = 4417,
6335 SubgroupGtMask = 4418,4492 SubgroupGtMask = 4418,
...@@ -6350,6 +4507,8 @@ pub const BuiltIn = enum(u32) {...@@ -6350,6 +4507,8 @@ pub const BuiltIn = enum(u32) {
6350 BaryCoordSmoothSampleAMD = 4997,4507 BaryCoordSmoothSampleAMD = 4997,
6351 BaryCoordPullModelAMD = 4998,4508 BaryCoordPullModelAMD = 4998,
6352 FragStencilRefEXT = 5014,4509 FragStencilRefEXT = 5014,
4510 CoalescedInputCountAMDX = 5021,
4511 ShaderIndexAMDX = 5073,
6353 ViewportMaskNV = 5253,4512 ViewportMaskNV = 5253,
6354 SecondaryPositionNV = 5257,4513 SecondaryPositionNV = 5257,
6355 SecondaryViewportMaskNV = 5258,4514 SecondaryViewportMaskNV = 5258,
...@@ -6368,6 +4527,10 @@ pub const BuiltIn = enum(u32) {...@@ -6368,6 +4527,10 @@ pub const BuiltIn = enum(u32) {
6368 BaryCoordNoPerspKHR = 5287,4527 BaryCoordNoPerspKHR = 5287,
6369 FragSizeEXT = 5292,4528 FragSizeEXT = 5292,
6370 FragInvocationCountEXT = 5293,4529 FragInvocationCountEXT = 5293,
4530 PrimitivePointIndicesEXT = 5294,
4531 PrimitiveLineIndicesEXT = 5295,
4532 PrimitiveTriangleIndicesEXT = 5296,
4533 CullPrimitiveEXT = 5299,
6371 LaunchIdKHR = 5319,4534 LaunchIdKHR = 5319,
6372 LaunchSizeKHR = 5320,4535 LaunchSizeKHR = 5320,
6373 WorldRayOriginKHR = 5321,4536 WorldRayOriginKHR = 5321,
...@@ -6382,12 +4545,18 @@ pub const BuiltIn = enum(u32) {...@@ -6382,12 +4545,18 @@ pub const BuiltIn = enum(u32) {
6382 HitTNV = 5332,4545 HitTNV = 5332,
6383 HitKindKHR = 5333,4546 HitKindKHR = 5333,
6384 CurrentRayTimeNV = 5334,4547 CurrentRayTimeNV = 5334,
4548 HitTriangleVertexPositionsKHR = 5335,
4549 HitMicroTriangleVertexPositionsNV = 5337,
4550 HitMicroTriangleVertexBarycentricsNV = 5344,
6385 IncomingRayFlagsKHR = 5351,4551 IncomingRayFlagsKHR = 5351,
6386 RayGeometryIndexKHR = 5352,4552 RayGeometryIndexKHR = 5352,
6387 WarpsPerSMNV = 5374,4553 WarpsPerSMNV = 5374,
6388 SMCountNV = 5375,4554 SMCountNV = 5375,
6389 WarpIDNV = 5376,4555 WarpIDNV = 5376,
6390 SMIDNV = 5377,4556 SMIDNV = 5377,
4557 HitKindFrontFacingMicroTriangleNV = 5405,
4558 HitKindBackFacingMicroTriangleNV = 5406,
4559 CullMaskKHR = 6021,
63914560
6392 pub const SubgroupEqMaskKHR = BuiltIn.SubgroupEqMask;4561 pub const SubgroupEqMaskKHR = BuiltIn.SubgroupEqMask;
6393 pub const SubgroupGeMaskKHR = BuiltIn.SubgroupGeMask;4562 pub const SubgroupGeMaskKHR = BuiltIn.SubgroupGeMask;
...@@ -6508,6 +4677,10 @@ pub const Capability = enum(u32) {...@@ -6508,6 +4677,10 @@ pub const Capability = enum(u32) {
6508 ShaderLayer = 69,4677 ShaderLayer = 69,
6509 ShaderViewportIndex = 70,4678 ShaderViewportIndex = 70,
6510 UniformDecoration = 71,4679 UniformDecoration = 71,
4680 CoreBuiltinsARM = 4165,
4681 TileImageColorReadAccessEXT = 4166,
4682 TileImageDepthReadAccessEXT = 4167,
4683 TileImageStencilReadAccessEXT = 4168,
6511 FragmentShadingRateKHR = 4422,4684 FragmentShadingRateKHR = 4422,
6512 SubgroupBallotKHR = 4423,4685 SubgroupBallotKHR = 4423,
6513 DrawParameters = 4427,4686 DrawParameters = 4427,
...@@ -6537,6 +4710,10 @@ pub const Capability = enum(u32) {...@@ -6537,6 +4710,10 @@ pub const Capability = enum(u32) {
6537 RayQueryKHR = 4472,4710 RayQueryKHR = 4472,
6538 RayTraversalPrimitiveCullingKHR = 4478,4711 RayTraversalPrimitiveCullingKHR = 4478,
6539 RayTracingKHR = 4479,4712 RayTracingKHR = 4479,
4713 TextureSampleWeightedQCOM = 4484,
4714 TextureBoxFilterQCOM = 4485,
4715 TextureBlockMatchQCOM = 4486,
4716 TextureBlockMatch2QCOM = 4498,
6540 Float16ImageAMD = 5008,4717 Float16ImageAMD = 5008,
6541 ImageGatherBiasLodAMD = 5009,4718 ImageGatherBiasLodAMD = 5009,
6542 FragmentMaskAMD = 5010,4719 FragmentMaskAMD = 5010,
...@@ -6544,6 +4721,8 @@ pub const Capability = enum(u32) {...@@ -6544,6 +4721,8 @@ pub const Capability = enum(u32) {
6544 ImageReadWriteLodAMD = 5015,4721 ImageReadWriteLodAMD = 5015,
6545 Int64ImageEXT = 5016,4722 Int64ImageEXT = 5016,
6546 ShaderClockKHR = 5055,4723 ShaderClockKHR = 5055,
4724 ShaderEnqueueAMDX = 5067,
4725 QuadControlKHR = 5087,
6547 SampleMaskOverrideCoverageNV = 5249,4726 SampleMaskOverrideCoverageNV = 5249,
6548 GeometryShaderPassthroughNV = 5251,4727 GeometryShaderPassthroughNV = 5251,
6549 ShaderViewportIndexLayerEXT = 5254,4728 ShaderViewportIndexLayerEXT = 5254,
...@@ -6553,6 +4732,7 @@ pub const Capability = enum(u32) {...@@ -6553,6 +4732,7 @@ pub const Capability = enum(u32) {
6553 FragmentFullyCoveredEXT = 5265,4732 FragmentFullyCoveredEXT = 5265,
6554 MeshShadingNV = 5266,4733 MeshShadingNV = 5266,
6555 ImageFootprintNV = 5282,4734 ImageFootprintNV = 5282,
4735 MeshShadingEXT = 5283,
6556 FragmentBarycentricKHR = 5284,4736 FragmentBarycentricKHR = 5284,
6557 ComputeDerivativeGroupQuadsNV = 5288,4737 ComputeDerivativeGroupQuadsNV = 5288,
6558 FragmentDensityEXT = 5291,4738 FragmentDensityEXT = 5291,
...@@ -6569,6 +4749,7 @@ pub const Capability = enum(u32) {...@@ -6569,6 +4749,7 @@ pub const Capability = enum(u32) {
6569 InputAttachmentArrayNonUniformIndexing = 5310,4749 InputAttachmentArrayNonUniformIndexing = 5310,
6570 UniformTexelBufferArrayNonUniformIndexing = 5311,4750 UniformTexelBufferArrayNonUniformIndexing = 5311,
6571 StorageTexelBufferArrayNonUniformIndexing = 5312,4751 StorageTexelBufferArrayNonUniformIndexing = 5312,
4752 RayTracingPositionFetchKHR = 5336,
6572 RayTracingNV = 5340,4753 RayTracingNV = 5340,
6573 RayTracingMotionBlurNV = 5341,4754 RayTracingMotionBlurNV = 5341,
6574 VulkanMemoryModel = 5345,4755 VulkanMemoryModel = 5345,
...@@ -6582,7 +4763,14 @@ pub const Capability = enum(u32) {...@@ -6582,7 +4763,14 @@ pub const Capability = enum(u32) {
6582 ShaderSMBuiltinsNV = 5373,4763 ShaderSMBuiltinsNV = 5373,
6583 FragmentShaderPixelInterlockEXT = 5378,4764 FragmentShaderPixelInterlockEXT = 5378,
6584 DemoteToHelperInvocation = 5379,4765 DemoteToHelperInvocation = 5379,
4766 DisplacementMicromapNV = 5380,
4767 RayTracingOpacityMicromapEXT = 5381,
4768 ShaderInvocationReorderNV = 5383,
6585 BindlessTextureNV = 5390,4769 BindlessTextureNV = 5390,
4770 RayQueryPositionFetchKHR = 5391,
4771 AtomicFloat16VectorNV = 5404,
4772 RayTracingDisplacementMicromapNV = 5409,
4773 RawAccessChainsNV = 5414,
6586 SubgroupShuffleINTEL = 5568,4774 SubgroupShuffleINTEL = 5568,
6587 SubgroupBufferBlockIOINTEL = 5569,4775 SubgroupBufferBlockIOINTEL = 5569,
6588 SubgroupImageBlockIOINTEL = 5570,4776 SubgroupImageBlockIOINTEL = 5570,
...@@ -6615,9 +4803,13 @@ pub const Capability = enum(u32) {...@@ -6615,9 +4803,13 @@ pub const Capability = enum(u32) {
6615 FPGAMemoryAccessesINTEL = 5898,4803 FPGAMemoryAccessesINTEL = 5898,
6616 FPGAClusterAttributesINTEL = 5904,4804 FPGAClusterAttributesINTEL = 5904,
6617 LoopFuseINTEL = 5906,4805 LoopFuseINTEL = 5906,
4806 FPGADSPControlINTEL = 5908,
4807 MemoryAccessAliasingINTEL = 5910,
4808 FPGAInvocationPipeliningAttributesINTEL = 5916,
6618 FPGABufferLocationINTEL = 5920,4809 FPGABufferLocationINTEL = 5920,
6619 ArbitraryPrecisionFixedPointINTEL = 5922,4810 ArbitraryPrecisionFixedPointINTEL = 5922,
6620 USMStorageClassesINTEL = 5935,4811 USMStorageClassesINTEL = 5935,
4812 RuntimeAlignedAttributeINTEL = 5939,
6621 IOPipesINTEL = 5943,4813 IOPipesINTEL = 5943,
6622 BlockingPipesINTEL = 5945,4814 BlockingPipesINTEL = 5945,
6623 FPGARegINTEL = 5948,4815 FPGARegINTEL = 5948,
...@@ -6625,13 +4817,30 @@ pub const Capability = enum(u32) {...@@ -6625,13 +4817,30 @@ pub const Capability = enum(u32) {
6625 DotProductInput4x8Bit = 6017,4817 DotProductInput4x8Bit = 6017,
6626 DotProductInput4x8BitPacked = 6018,4818 DotProductInput4x8BitPacked = 6018,
6627 DotProduct = 6019,4819 DotProduct = 6019,
4820 RayCullMaskKHR = 6020,
4821 CooperativeMatrixKHR = 6022,
6628 BitInstructions = 6025,4822 BitInstructions = 6025,
4823 GroupNonUniformRotateKHR = 6026,
4824 FloatControls2 = 6029,
6629 AtomicFloat32AddEXT = 6033,4825 AtomicFloat32AddEXT = 6033,
6630 AtomicFloat64AddEXT = 6034,4826 AtomicFloat64AddEXT = 6034,
6631 LongConstantCompositeINTEL = 6089,4827 LongCompositesINTEL = 6089,
6632 OptNoneINTEL = 6094,4828 OptNoneINTEL = 6094,
6633 AtomicFloat16AddEXT = 6095,4829 AtomicFloat16AddEXT = 6095,
6634 DebugInfoModuleINTEL = 6114,4830 DebugInfoModuleINTEL = 6114,
4831 BFloat16ConversionINTEL = 6115,
4832 SplitBarrierINTEL = 6141,
4833 FPGAClusterAttributesV2INTEL = 6150,
4834 FPGAKernelAttributesv2INTEL = 6161,
4835 FPMaxErrorINTEL = 6169,
4836 FPGALatencyControlINTEL = 6171,
4837 FPGAArgumentInterfacesINTEL = 6174,
4838 GlobalVariableHostAccessINTEL = 6187,
4839 GlobalVariableFPGADecorationsINTEL = 6189,
4840 GroupUniformArithmeticKHR = 6400,
4841 MaskedGatherScatterINTEL = 6427,
4842 CacheControlsINTEL = 6441,
4843 RegisterLimitsINTEL = 6460,
66354844
6636 pub const StorageUniformBufferBlock16 = Capability.StorageBuffer16BitAccess;4845 pub const StorageUniformBufferBlock16 = Capability.StorageBuffer16BitAccess;
6637 pub const StorageUniform16 = Capability.UniformAndStorageBuffer16BitAccess;4846 pub const StorageUniform16 = Capability.UniformAndStorageBuffer16BitAccess;
...@@ -6677,3 +4886,11624 @@ pub const PackedVectorFormat = enum(u32) {...@@ -6677,3 +4886,11624 @@ pub const PackedVectorFormat = enum(u32) {
66774886
6678 pub const PackedVectorFormat4x8BitKHR = PackedVectorFormat.PackedVectorFormat4x8Bit;4887 pub const PackedVectorFormat4x8BitKHR = PackedVectorFormat.PackedVectorFormat4x8Bit;
6679};4888};
4889pub const CooperativeMatrixOperands = packed struct {
4890 MatrixASignedComponentsKHR: bool = false,
4891 MatrixBSignedComponentsKHR: bool = false,
4892 MatrixCSignedComponentsKHR: bool = false,
4893 MatrixResultSignedComponentsKHR: bool = false,
4894 SaturatingAccumulationKHR: bool = false,
4895 _reserved_bit_5: bool = false,
4896 _reserved_bit_6: bool = false,
4897 _reserved_bit_7: bool = false,
4898 _reserved_bit_8: bool = false,
4899 _reserved_bit_9: bool = false,
4900 _reserved_bit_10: bool = false,
4901 _reserved_bit_11: bool = false,
4902 _reserved_bit_12: bool = false,
4903 _reserved_bit_13: bool = false,
4904 _reserved_bit_14: bool = false,
4905 _reserved_bit_15: bool = false,
4906 _reserved_bit_16: bool = false,
4907 _reserved_bit_17: bool = false,
4908 _reserved_bit_18: bool = false,
4909 _reserved_bit_19: bool = false,
4910 _reserved_bit_20: bool = false,
4911 _reserved_bit_21: bool = false,
4912 _reserved_bit_22: bool = false,
4913 _reserved_bit_23: bool = false,
4914 _reserved_bit_24: bool = false,
4915 _reserved_bit_25: bool = false,
4916 _reserved_bit_26: bool = false,
4917 _reserved_bit_27: bool = false,
4918 _reserved_bit_28: bool = false,
4919 _reserved_bit_29: bool = false,
4920 _reserved_bit_30: bool = false,
4921 _reserved_bit_31: bool = false,
4922};
4923pub const CooperativeMatrixLayout = enum(u32) {
4924 RowMajorKHR = 0,
4925 ColumnMajorKHR = 1,
4926};
4927pub const CooperativeMatrixUse = enum(u32) {
4928 MatrixAKHR = 0,
4929 MatrixBKHR = 1,
4930 MatrixAccumulatorKHR = 2,
4931};
4932pub const InitializationModeQualifier = enum(u32) {
4933 InitOnDeviceReprogramINTEL = 0,
4934 InitOnDeviceResetINTEL = 1,
4935};
4936pub const LoadCacheControl = enum(u32) {
4937 UncachedINTEL = 0,
4938 CachedINTEL = 1,
4939 StreamingINTEL = 2,
4940 InvalidateAfterReadINTEL = 3,
4941 ConstCachedINTEL = 4,
4942};
4943pub const StoreCacheControl = enum(u32) {
4944 UncachedINTEL = 0,
4945 WriteThroughINTEL = 1,
4946 WriteBackINTEL = 2,
4947 StreamingINTEL = 3,
4948};
4949pub const NamedMaximumNumberOfRegisters = enum(u32) {
4950 AutoINTEL = 0,
4951};
4952pub const @"opencl.debuginfo.100.DebugInfoFlags" = packed struct {
4953 FlagIsProtected: bool = false,
4954 FlagIsPrivate: bool = false,
4955 FlagIsLocal: bool = false,
4956 FlagIsDefinition: bool = false,
4957 FlagFwdDecl: bool = false,
4958 FlagArtificial: bool = false,
4959 FlagExplicit: bool = false,
4960 FlagPrototyped: bool = false,
4961 FlagObjectPointer: bool = false,
4962 FlagStaticMember: bool = false,
4963 FlagIndirectVariable: bool = false,
4964 FlagLValueReference: bool = false,
4965 FlagRValueReference: bool = false,
4966 FlagIsOptimized: bool = false,
4967 FlagIsEnumClass: bool = false,
4968 FlagTypePassByValue: bool = false,
4969 FlagTypePassByReference: bool = false,
4970 _reserved_bit_17: bool = false,
4971 _reserved_bit_18: bool = false,
4972 _reserved_bit_19: bool = false,
4973 _reserved_bit_20: bool = false,
4974 _reserved_bit_21: bool = false,
4975 _reserved_bit_22: bool = false,
4976 _reserved_bit_23: bool = false,
4977 _reserved_bit_24: bool = false,
4978 _reserved_bit_25: bool = false,
4979 _reserved_bit_26: bool = false,
4980 _reserved_bit_27: bool = false,
4981 _reserved_bit_28: bool = false,
4982 _reserved_bit_29: bool = false,
4983 _reserved_bit_30: bool = false,
4984 _reserved_bit_31: bool = false,
4985};
4986pub const @"opencl.debuginfo.100.DebugBaseTypeAttributeEncoding" = enum(u32) {
4987 Unspecified = 0,
4988 Address = 1,
4989 Boolean = 2,
4990 Float = 3,
4991 Signed = 4,
4992 SignedChar = 5,
4993 Unsigned = 6,
4994 UnsignedChar = 7,
4995};
4996pub const @"opencl.debuginfo.100.DebugCompositeType" = enum(u32) {
4997 Class = 0,
4998 Structure = 1,
4999 Union = 2,
5000};
5001pub const @"opencl.debuginfo.100.DebugTypeQualifier" = enum(u32) {
5002 ConstType = 0,
5003 VolatileType = 1,
5004 RestrictType = 2,
5005 AtomicType = 3,
5006};
5007pub const @"opencl.debuginfo.100.DebugOperation" = enum(u32) {
5008 Deref = 0,
5009 Plus = 1,
5010 Minus = 2,
5011 PlusUconst = 3,
5012 BitPiece = 4,
5013 Swap = 5,
5014 Xderef = 6,
5015 StackValue = 7,
5016 Constu = 8,
5017 Fragment = 9,
5018
5019 pub const Extended = union(@"opencl.debuginfo.100.DebugOperation") {
5020 Deref,
5021 Plus,
5022 Minus,
5023 PlusUconst: struct { literal_integer: LiteralInteger },
5024 BitPiece: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger },
5025 Swap,
5026 Xderef,
5027 StackValue,
5028 Constu: struct { literal_integer: LiteralInteger },
5029 Fragment: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger },
5030 };
5031};
5032pub const @"opencl.debuginfo.100.DebugImportedEntity" = enum(u32) {
5033 ImportedModule = 0,
5034 ImportedDeclaration = 1,
5035};
5036pub const @"nonsemantic.shader.debuginfo.100.DebugInfoFlags" = packed struct {
5037 FlagIsProtected: bool = false,
5038 FlagIsPrivate: bool = false,
5039 FlagIsLocal: bool = false,
5040 FlagIsDefinition: bool = false,
5041 FlagFwdDecl: bool = false,
5042 FlagArtificial: bool = false,
5043 FlagExplicit: bool = false,
5044 FlagPrototyped: bool = false,
5045 FlagObjectPointer: bool = false,
5046 FlagStaticMember: bool = false,
5047 FlagIndirectVariable: bool = false,
5048 FlagLValueReference: bool = false,
5049 FlagRValueReference: bool = false,
5050 FlagIsOptimized: bool = false,
5051 FlagIsEnumClass: bool = false,
5052 FlagTypePassByValue: bool = false,
5053 FlagTypePassByReference: bool = false,
5054 FlagUnknownPhysicalLayout: bool = false,
5055 _reserved_bit_18: bool = false,
5056 _reserved_bit_19: bool = false,
5057 _reserved_bit_20: bool = false,
5058 _reserved_bit_21: bool = false,
5059 _reserved_bit_22: bool = false,
5060 _reserved_bit_23: bool = false,
5061 _reserved_bit_24: bool = false,
5062 _reserved_bit_25: bool = false,
5063 _reserved_bit_26: bool = false,
5064 _reserved_bit_27: bool = false,
5065 _reserved_bit_28: bool = false,
5066 _reserved_bit_29: bool = false,
5067 _reserved_bit_30: bool = false,
5068 _reserved_bit_31: bool = false,
5069};
5070pub const @"nonsemantic.shader.debuginfo.100.BuildIdentifierFlags" = packed struct {
5071 IdentifierPossibleDuplicates: bool = false,
5072 _reserved_bit_1: bool = false,
5073 _reserved_bit_2: bool = false,
5074 _reserved_bit_3: bool = false,
5075 _reserved_bit_4: bool = false,
5076 _reserved_bit_5: bool = false,
5077 _reserved_bit_6: bool = false,
5078 _reserved_bit_7: bool = false,
5079 _reserved_bit_8: bool = false,
5080 _reserved_bit_9: bool = false,
5081 _reserved_bit_10: bool = false,
5082 _reserved_bit_11: bool = false,
5083 _reserved_bit_12: bool = false,
5084 _reserved_bit_13: bool = false,
5085 _reserved_bit_14: bool = false,
5086 _reserved_bit_15: bool = false,
5087 _reserved_bit_16: bool = false,
5088 _reserved_bit_17: bool = false,
5089 _reserved_bit_18: bool = false,
5090 _reserved_bit_19: bool = false,
5091 _reserved_bit_20: bool = false,
5092 _reserved_bit_21: bool = false,
5093 _reserved_bit_22: bool = false,
5094 _reserved_bit_23: bool = false,
5095 _reserved_bit_24: bool = false,
5096 _reserved_bit_25: bool = false,
5097 _reserved_bit_26: bool = false,
5098 _reserved_bit_27: bool = false,
5099 _reserved_bit_28: bool = false,
5100 _reserved_bit_29: bool = false,
5101 _reserved_bit_30: bool = false,
5102 _reserved_bit_31: bool = false,
5103};
5104pub const @"nonsemantic.shader.debuginfo.100.DebugBaseTypeAttributeEncoding" = enum(u32) {
5105 Unspecified = 0,
5106 Address = 1,
5107 Boolean = 2,
5108 Float = 3,
5109 Signed = 4,
5110 SignedChar = 5,
5111 Unsigned = 6,
5112 UnsignedChar = 7,
5113};
5114pub const @"nonsemantic.shader.debuginfo.100.DebugCompositeType" = enum(u32) {
5115 Class = 0,
5116 Structure = 1,
5117 Union = 2,
5118};
5119pub const @"nonsemantic.shader.debuginfo.100.DebugTypeQualifier" = enum(u32) {
5120 ConstType = 0,
5121 VolatileType = 1,
5122 RestrictType = 2,
5123 AtomicType = 3,
5124};
5125pub const @"nonsemantic.shader.debuginfo.100.DebugOperation" = enum(u32) {
5126 Deref = 0,
5127 Plus = 1,
5128 Minus = 2,
5129 PlusUconst = 3,
5130 BitPiece = 4,
5131 Swap = 5,
5132 Xderef = 6,
5133 StackValue = 7,
5134 Constu = 8,
5135 Fragment = 9,
5136
5137 pub const Extended = union(@"nonsemantic.shader.debuginfo.100.DebugOperation") {
5138 Deref,
5139 Plus,
5140 Minus,
5141 PlusUconst: struct { id_ref: IdRef },
5142 BitPiece: struct { id_ref_0: IdRef, id_ref_1: IdRef },
5143 Swap,
5144 Xderef,
5145 StackValue,
5146 Constu: struct { id_ref: IdRef },
5147 Fragment: struct { id_ref_0: IdRef, id_ref_1: IdRef },
5148 };
5149};
5150pub const @"nonsemantic.shader.debuginfo.100.DebugImportedEntity" = enum(u32) {
5151 ImportedModule = 0,
5152 ImportedDeclaration = 1,
5153};
5154pub const @"nonsemantic.clspvreflection.KernelPropertyFlags" = packed struct {
5155 MayUsePrintf: bool = false,
5156 _reserved_bit_1: bool = false,
5157 _reserved_bit_2: bool = false,
5158 _reserved_bit_3: bool = false,
5159 _reserved_bit_4: bool = false,
5160 _reserved_bit_5: bool = false,
5161 _reserved_bit_6: bool = false,
5162 _reserved_bit_7: bool = false,
5163 _reserved_bit_8: bool = false,
5164 _reserved_bit_9: bool = false,
5165 _reserved_bit_10: bool = false,
5166 _reserved_bit_11: bool = false,
5167 _reserved_bit_12: bool = false,
5168 _reserved_bit_13: bool = false,
5169 _reserved_bit_14: bool = false,
5170 _reserved_bit_15: bool = false,
5171 _reserved_bit_16: bool = false,
5172 _reserved_bit_17: bool = false,
5173 _reserved_bit_18: bool = false,
5174 _reserved_bit_19: bool = false,
5175 _reserved_bit_20: bool = false,
5176 _reserved_bit_21: bool = false,
5177 _reserved_bit_22: bool = false,
5178 _reserved_bit_23: bool = false,
5179 _reserved_bit_24: bool = false,
5180 _reserved_bit_25: bool = false,
5181 _reserved_bit_26: bool = false,
5182 _reserved_bit_27: bool = false,
5183 _reserved_bit_28: bool = false,
5184 _reserved_bit_29: bool = false,
5185 _reserved_bit_30: bool = false,
5186 _reserved_bit_31: bool = false,
5187};
5188pub const @"debuginfo.DebugInfoFlags" = packed struct {
5189 FlagIsProtected: bool = false,
5190 FlagIsPrivate: bool = false,
5191 FlagIsLocal: bool = false,
5192 FlagIsDefinition: bool = false,
5193 FlagFwdDecl: bool = false,
5194 FlagArtificial: bool = false,
5195 FlagExplicit: bool = false,
5196 FlagPrototyped: bool = false,
5197 FlagObjectPointer: bool = false,
5198 FlagStaticMember: bool = false,
5199 FlagIndirectVariable: bool = false,
5200 FlagLValueReference: bool = false,
5201 FlagRValueReference: bool = false,
5202 FlagIsOptimized: bool = false,
5203 _reserved_bit_14: bool = false,
5204 _reserved_bit_15: bool = false,
5205 _reserved_bit_16: bool = false,
5206 _reserved_bit_17: bool = false,
5207 _reserved_bit_18: bool = false,
5208 _reserved_bit_19: bool = false,
5209 _reserved_bit_20: bool = false,
5210 _reserved_bit_21: bool = false,
5211 _reserved_bit_22: bool = false,
5212 _reserved_bit_23: bool = false,
5213 _reserved_bit_24: bool = false,
5214 _reserved_bit_25: bool = false,
5215 _reserved_bit_26: bool = false,
5216 _reserved_bit_27: bool = false,
5217 _reserved_bit_28: bool = false,
5218 _reserved_bit_29: bool = false,
5219 _reserved_bit_30: bool = false,
5220 _reserved_bit_31: bool = false,
5221};
5222pub const @"debuginfo.DebugBaseTypeAttributeEncoding" = enum(u32) {
5223 Unspecified = 0,
5224 Address = 1,
5225 Boolean = 2,
5226 Float = 4,
5227 Signed = 5,
5228 SignedChar = 6,
5229 Unsigned = 7,
5230 UnsignedChar = 8,
5231};
5232pub const @"debuginfo.DebugCompositeType" = enum(u32) {
5233 Class = 0,
5234 Structure = 1,
5235 Union = 2,
5236};
5237pub const @"debuginfo.DebugTypeQualifier" = enum(u32) {
5238 ConstType = 0,
5239 VolatileType = 1,
5240 RestrictType = 2,
5241};
5242pub const @"debuginfo.DebugOperation" = enum(u32) {
5243 Deref = 0,
5244 Plus = 1,
5245 Minus = 2,
5246 PlusUconst = 3,
5247 BitPiece = 4,
5248 Swap = 5,
5249 Xderef = 6,
5250 StackValue = 7,
5251 Constu = 8,
5252
5253 pub const Extended = union(@"debuginfo.DebugOperation") {
5254 Deref,
5255 Plus,
5256 Minus,
5257 PlusUconst: struct { literal_integer: LiteralInteger },
5258 BitPiece: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger },
5259 Swap,
5260 Xderef,
5261 StackValue,
5262 Constu: struct { literal_integer: LiteralInteger },
5263 };
5264};
5265pub const InstructionSet = enum {
5266 core,
5267 @"opencl.std.100",
5268 @"glsl.std.450",
5269 @"opencl.debuginfo.100",
5270 @"spv-amd-shader-ballot",
5271 @"nonsemantic.shader.debuginfo.100",
5272 @"nonsemantic.vkspreflection",
5273 @"nonsemantic.clspvreflection",
5274 @"spv-amd-gcn-shader",
5275 @"spv-amd-shader-trinary-minmax",
5276 debuginfo,
5277 @"nonsemantic.debugprintf",
5278 @"spv-amd-shader-explicit-vertex-parameter",
5279 @"nonsemantic.debugbreak",
5280
5281 pub fn instructions(self: InstructionSet) []const Instruction {
5282 return switch (self) {
5283 .core => &[_]Instruction{
5284 .{
5285 .name = "OpNop",
5286 .opcode = 0,
5287 .operands = &[_]Operand{},
5288 },
5289 .{
5290 .name = "OpUndef",
5291 .opcode = 1,
5292 .operands = &[_]Operand{
5293 .{ .kind = .IdResultType, .quantifier = .required },
5294 .{ .kind = .IdResult, .quantifier = .required },
5295 },
5296 },
5297 .{
5298 .name = "OpSourceContinued",
5299 .opcode = 2,
5300 .operands = &[_]Operand{
5301 .{ .kind = .LiteralString, .quantifier = .required },
5302 },
5303 },
5304 .{
5305 .name = "OpSource",
5306 .opcode = 3,
5307 .operands = &[_]Operand{
5308 .{ .kind = .SourceLanguage, .quantifier = .required },
5309 .{ .kind = .LiteralInteger, .quantifier = .required },
5310 .{ .kind = .IdRef, .quantifier = .optional },
5311 .{ .kind = .LiteralString, .quantifier = .optional },
5312 },
5313 },
5314 .{
5315 .name = "OpSourceExtension",
5316 .opcode = 4,
5317 .operands = &[_]Operand{
5318 .{ .kind = .LiteralString, .quantifier = .required },
5319 },
5320 },
5321 .{
5322 .name = "OpName",
5323 .opcode = 5,
5324 .operands = &[_]Operand{
5325 .{ .kind = .IdRef, .quantifier = .required },
5326 .{ .kind = .LiteralString, .quantifier = .required },
5327 },
5328 },
5329 .{
5330 .name = "OpMemberName",
5331 .opcode = 6,
5332 .operands = &[_]Operand{
5333 .{ .kind = .IdRef, .quantifier = .required },
5334 .{ .kind = .LiteralInteger, .quantifier = .required },
5335 .{ .kind = .LiteralString, .quantifier = .required },
5336 },
5337 },
5338 .{
5339 .name = "OpString",
5340 .opcode = 7,
5341 .operands = &[_]Operand{
5342 .{ .kind = .IdResult, .quantifier = .required },
5343 .{ .kind = .LiteralString, .quantifier = .required },
5344 },
5345 },
5346 .{
5347 .name = "OpLine",
5348 .opcode = 8,
5349 .operands = &[_]Operand{
5350 .{ .kind = .IdRef, .quantifier = .required },
5351 .{ .kind = .LiteralInteger, .quantifier = .required },
5352 .{ .kind = .LiteralInteger, .quantifier = .required },
5353 },
5354 },
5355 .{
5356 .name = "OpExtension",
5357 .opcode = 10,
5358 .operands = &[_]Operand{
5359 .{ .kind = .LiteralString, .quantifier = .required },
5360 },
5361 },
5362 .{
5363 .name = "OpExtInstImport",
5364 .opcode = 11,
5365 .operands = &[_]Operand{
5366 .{ .kind = .IdResult, .quantifier = .required },
5367 .{ .kind = .LiteralString, .quantifier = .required },
5368 },
5369 },
5370 .{
5371 .name = "OpExtInst",
5372 .opcode = 12,
5373 .operands = &[_]Operand{
5374 .{ .kind = .IdResultType, .quantifier = .required },
5375 .{ .kind = .IdResult, .quantifier = .required },
5376 .{ .kind = .IdRef, .quantifier = .required },
5377 .{ .kind = .LiteralExtInstInteger, .quantifier = .required },
5378 .{ .kind = .IdRef, .quantifier = .variadic },
5379 },
5380 },
5381 .{
5382 .name = "OpMemoryModel",
5383 .opcode = 14,
5384 .operands = &[_]Operand{
5385 .{ .kind = .AddressingModel, .quantifier = .required },
5386 .{ .kind = .MemoryModel, .quantifier = .required },
5387 },
5388 },
5389 .{
5390 .name = "OpEntryPoint",
5391 .opcode = 15,
5392 .operands = &[_]Operand{
5393 .{ .kind = .ExecutionModel, .quantifier = .required },
5394 .{ .kind = .IdRef, .quantifier = .required },
5395 .{ .kind = .LiteralString, .quantifier = .required },
5396 .{ .kind = .IdRef, .quantifier = .variadic },
5397 },
5398 },
5399 .{
5400 .name = "OpExecutionMode",
5401 .opcode = 16,
5402 .operands = &[_]Operand{
5403 .{ .kind = .IdRef, .quantifier = .required },
5404 .{ .kind = .ExecutionMode, .quantifier = .required },
5405 },
5406 },
5407 .{
5408 .name = "OpCapability",
5409 .opcode = 17,
5410 .operands = &[_]Operand{
5411 .{ .kind = .Capability, .quantifier = .required },
5412 },
5413 },
5414 .{
5415 .name = "OpTypeVoid",
5416 .opcode = 19,
5417 .operands = &[_]Operand{
5418 .{ .kind = .IdResult, .quantifier = .required },
5419 },
5420 },
5421 .{
5422 .name = "OpTypeBool",
5423 .opcode = 20,
5424 .operands = &[_]Operand{
5425 .{ .kind = .IdResult, .quantifier = .required },
5426 },
5427 },
5428 .{
5429 .name = "OpTypeInt",
5430 .opcode = 21,
5431 .operands = &[_]Operand{
5432 .{ .kind = .IdResult, .quantifier = .required },
5433 .{ .kind = .LiteralInteger, .quantifier = .required },
5434 .{ .kind = .LiteralInteger, .quantifier = .required },
5435 },
5436 },
5437 .{
5438 .name = "OpTypeFloat",
5439 .opcode = 22,
5440 .operands = &[_]Operand{
5441 .{ .kind = .IdResult, .quantifier = .required },
5442 .{ .kind = .LiteralInteger, .quantifier = .required },
5443 },
5444 },
5445 .{
5446 .name = "OpTypeVector",
5447 .opcode = 23,
5448 .operands = &[_]Operand{
5449 .{ .kind = .IdResult, .quantifier = .required },
5450 .{ .kind = .IdRef, .quantifier = .required },
5451 .{ .kind = .LiteralInteger, .quantifier = .required },
5452 },
5453 },
5454 .{
5455 .name = "OpTypeMatrix",
5456 .opcode = 24,
5457 .operands = &[_]Operand{
5458 .{ .kind = .IdResult, .quantifier = .required },
5459 .{ .kind = .IdRef, .quantifier = .required },
5460 .{ .kind = .LiteralInteger, .quantifier = .required },
5461 },
5462 },
5463 .{
5464 .name = "OpTypeImage",
5465 .opcode = 25,
5466 .operands = &[_]Operand{
5467 .{ .kind = .IdResult, .quantifier = .required },
5468 .{ .kind = .IdRef, .quantifier = .required },
5469 .{ .kind = .Dim, .quantifier = .required },
5470 .{ .kind = .LiteralInteger, .quantifier = .required },
5471 .{ .kind = .LiteralInteger, .quantifier = .required },
5472 .{ .kind = .LiteralInteger, .quantifier = .required },
5473 .{ .kind = .LiteralInteger, .quantifier = .required },
5474 .{ .kind = .ImageFormat, .quantifier = .required },
5475 .{ .kind = .AccessQualifier, .quantifier = .optional },
5476 },
5477 },
5478 .{
5479 .name = "OpTypeSampler",
5480 .opcode = 26,
5481 .operands = &[_]Operand{
5482 .{ .kind = .IdResult, .quantifier = .required },
5483 },
5484 },
5485 .{
5486 .name = "OpTypeSampledImage",
5487 .opcode = 27,
5488 .operands = &[_]Operand{
5489 .{ .kind = .IdResult, .quantifier = .required },
5490 .{ .kind = .IdRef, .quantifier = .required },
5491 },
5492 },
5493 .{
5494 .name = "OpTypeArray",
5495 .opcode = 28,
5496 .operands = &[_]Operand{
5497 .{ .kind = .IdResult, .quantifier = .required },
5498 .{ .kind = .IdRef, .quantifier = .required },
5499 .{ .kind = .IdRef, .quantifier = .required },
5500 },
5501 },
5502 .{
5503 .name = "OpTypeRuntimeArray",
5504 .opcode = 29,
5505 .operands = &[_]Operand{
5506 .{ .kind = .IdResult, .quantifier = .required },
5507 .{ .kind = .IdRef, .quantifier = .required },
5508 },
5509 },
5510 .{
5511 .name = "OpTypeStruct",
5512 .opcode = 30,
5513 .operands = &[_]Operand{
5514 .{ .kind = .IdResult, .quantifier = .required },
5515 .{ .kind = .IdRef, .quantifier = .variadic },
5516 },
5517 },
5518 .{
5519 .name = "OpTypeOpaque",
5520 .opcode = 31,
5521 .operands = &[_]Operand{
5522 .{ .kind = .IdResult, .quantifier = .required },
5523 .{ .kind = .LiteralString, .quantifier = .required },
5524 },
5525 },
5526 .{
5527 .name = "OpTypePointer",
5528 .opcode = 32,
5529 .operands = &[_]Operand{
5530 .{ .kind = .IdResult, .quantifier = .required },
5531 .{ .kind = .StorageClass, .quantifier = .required },
5532 .{ .kind = .IdRef, .quantifier = .required },
5533 },
5534 },
5535 .{
5536 .name = "OpTypeFunction",
5537 .opcode = 33,
5538 .operands = &[_]Operand{
5539 .{ .kind = .IdResult, .quantifier = .required },
5540 .{ .kind = .IdRef, .quantifier = .required },
5541 .{ .kind = .IdRef, .quantifier = .variadic },
5542 },
5543 },
5544 .{
5545 .name = "OpTypeEvent",
5546 .opcode = 34,
5547 .operands = &[_]Operand{
5548 .{ .kind = .IdResult, .quantifier = .required },
5549 },
5550 },
5551 .{
5552 .name = "OpTypeDeviceEvent",
5553 .opcode = 35,
5554 .operands = &[_]Operand{
5555 .{ .kind = .IdResult, .quantifier = .required },
5556 },
5557 },
5558 .{
5559 .name = "OpTypeReserveId",
5560 .opcode = 36,
5561 .operands = &[_]Operand{
5562 .{ .kind = .IdResult, .quantifier = .required },
5563 },
5564 },
5565 .{
5566 .name = "OpTypeQueue",
5567 .opcode = 37,
5568 .operands = &[_]Operand{
5569 .{ .kind = .IdResult, .quantifier = .required },
5570 },
5571 },
5572 .{
5573 .name = "OpTypePipe",
5574 .opcode = 38,
5575 .operands = &[_]Operand{
5576 .{ .kind = .IdResult, .quantifier = .required },
5577 .{ .kind = .AccessQualifier, .quantifier = .required },
5578 },
5579 },
5580 .{
5581 .name = "OpTypeForwardPointer",
5582 .opcode = 39,
5583 .operands = &[_]Operand{
5584 .{ .kind = .IdRef, .quantifier = .required },
5585 .{ .kind = .StorageClass, .quantifier = .required },
5586 },
5587 },
5588 .{
5589 .name = "OpConstantTrue",
5590 .opcode = 41,
5591 .operands = &[_]Operand{
5592 .{ .kind = .IdResultType, .quantifier = .required },
5593 .{ .kind = .IdResult, .quantifier = .required },
5594 },
5595 },
5596 .{
5597 .name = "OpConstantFalse",
5598 .opcode = 42,
5599 .operands = &[_]Operand{
5600 .{ .kind = .IdResultType, .quantifier = .required },
5601 .{ .kind = .IdResult, .quantifier = .required },
5602 },
5603 },
5604 .{
5605 .name = "OpConstant",
5606 .opcode = 43,
5607 .operands = &[_]Operand{
5608 .{ .kind = .IdResultType, .quantifier = .required },
5609 .{ .kind = .IdResult, .quantifier = .required },
5610 .{ .kind = .LiteralContextDependentNumber, .quantifier = .required },
5611 },
5612 },
5613 .{
5614 .name = "OpConstantComposite",
5615 .opcode = 44,
5616 .operands = &[_]Operand{
5617 .{ .kind = .IdResultType, .quantifier = .required },
5618 .{ .kind = .IdResult, .quantifier = .required },
5619 .{ .kind = .IdRef, .quantifier = .variadic },
5620 },
5621 },
5622 .{
5623 .name = "OpConstantSampler",
5624 .opcode = 45,
5625 .operands = &[_]Operand{
5626 .{ .kind = .IdResultType, .quantifier = .required },
5627 .{ .kind = .IdResult, .quantifier = .required },
5628 .{ .kind = .SamplerAddressingMode, .quantifier = .required },
5629 .{ .kind = .LiteralInteger, .quantifier = .required },
5630 .{ .kind = .SamplerFilterMode, .quantifier = .required },
5631 },
5632 },
5633 .{
5634 .name = "OpConstantNull",
5635 .opcode = 46,
5636 .operands = &[_]Operand{
5637 .{ .kind = .IdResultType, .quantifier = .required },
5638 .{ .kind = .IdResult, .quantifier = .required },
5639 },
5640 },
5641 .{
5642 .name = "OpSpecConstantTrue",
5643 .opcode = 48,
5644 .operands = &[_]Operand{
5645 .{ .kind = .IdResultType, .quantifier = .required },
5646 .{ .kind = .IdResult, .quantifier = .required },
5647 },
5648 },
5649 .{
5650 .name = "OpSpecConstantFalse",
5651 .opcode = 49,
5652 .operands = &[_]Operand{
5653 .{ .kind = .IdResultType, .quantifier = .required },
5654 .{ .kind = .IdResult, .quantifier = .required },
5655 },
5656 },
5657 .{
5658 .name = "OpSpecConstant",
5659 .opcode = 50,
5660 .operands = &[_]Operand{
5661 .{ .kind = .IdResultType, .quantifier = .required },
5662 .{ .kind = .IdResult, .quantifier = .required },
5663 .{ .kind = .LiteralContextDependentNumber, .quantifier = .required },
5664 },
5665 },
5666 .{
5667 .name = "OpSpecConstantComposite",
5668 .opcode = 51,
5669 .operands = &[_]Operand{
5670 .{ .kind = .IdResultType, .quantifier = .required },
5671 .{ .kind = .IdResult, .quantifier = .required },
5672 .{ .kind = .IdRef, .quantifier = .variadic },
5673 },
5674 },
5675 .{
5676 .name = "OpSpecConstantOp",
5677 .opcode = 52,
5678 .operands = &[_]Operand{
5679 .{ .kind = .IdResultType, .quantifier = .required },
5680 .{ .kind = .IdResult, .quantifier = .required },
5681 .{ .kind = .LiteralSpecConstantOpInteger, .quantifier = .required },
5682 },
5683 },
5684 .{
5685 .name = "OpFunction",
5686 .opcode = 54,
5687 .operands = &[_]Operand{
5688 .{ .kind = .IdResultType, .quantifier = .required },
5689 .{ .kind = .IdResult, .quantifier = .required },
5690 .{ .kind = .FunctionControl, .quantifier = .required },
5691 .{ .kind = .IdRef, .quantifier = .required },
5692 },
5693 },
5694 .{
5695 .name = "OpFunctionParameter",
5696 .opcode = 55,
5697 .operands = &[_]Operand{
5698 .{ .kind = .IdResultType, .quantifier = .required },
5699 .{ .kind = .IdResult, .quantifier = .required },
5700 },
5701 },
5702 .{
5703 .name = "OpFunctionEnd",
5704 .opcode = 56,
5705 .operands = &[_]Operand{},
5706 },
5707 .{
5708 .name = "OpFunctionCall",
5709 .opcode = 57,
5710 .operands = &[_]Operand{
5711 .{ .kind = .IdResultType, .quantifier = .required },
5712 .{ .kind = .IdResult, .quantifier = .required },
5713 .{ .kind = .IdRef, .quantifier = .required },
5714 .{ .kind = .IdRef, .quantifier = .variadic },
5715 },
5716 },
5717 .{
5718 .name = "OpVariable",
5719 .opcode = 59,
5720 .operands = &[_]Operand{
5721 .{ .kind = .IdResultType, .quantifier = .required },
5722 .{ .kind = .IdResult, .quantifier = .required },
5723 .{ .kind = .StorageClass, .quantifier = .required },
5724 .{ .kind = .IdRef, .quantifier = .optional },
5725 },
5726 },
5727 .{
5728 .name = "OpImageTexelPointer",
5729 .opcode = 60,
5730 .operands = &[_]Operand{
5731 .{ .kind = .IdResultType, .quantifier = .required },
5732 .{ .kind = .IdResult, .quantifier = .required },
5733 .{ .kind = .IdRef, .quantifier = .required },
5734 .{ .kind = .IdRef, .quantifier = .required },
5735 .{ .kind = .IdRef, .quantifier = .required },
5736 },
5737 },
5738 .{
5739 .name = "OpLoad",
5740 .opcode = 61,
5741 .operands = &[_]Operand{
5742 .{ .kind = .IdResultType, .quantifier = .required },
5743 .{ .kind = .IdResult, .quantifier = .required },
5744 .{ .kind = .IdRef, .quantifier = .required },
5745 .{ .kind = .MemoryAccess, .quantifier = .optional },
5746 },
5747 },
5748 .{
5749 .name = "OpStore",
5750 .opcode = 62,
5751 .operands = &[_]Operand{
5752 .{ .kind = .IdRef, .quantifier = .required },
5753 .{ .kind = .IdRef, .quantifier = .required },
5754 .{ .kind = .MemoryAccess, .quantifier = .optional },
5755 },
5756 },
5757 .{
5758 .name = "OpCopyMemory",
5759 .opcode = 63,
5760 .operands = &[_]Operand{
5761 .{ .kind = .IdRef, .quantifier = .required },
5762 .{ .kind = .IdRef, .quantifier = .required },
5763 .{ .kind = .MemoryAccess, .quantifier = .optional },
5764 .{ .kind = .MemoryAccess, .quantifier = .optional },
5765 },
5766 },
5767 .{
5768 .name = "OpCopyMemorySized",
5769 .opcode = 64,
5770 .operands = &[_]Operand{
5771 .{ .kind = .IdRef, .quantifier = .required },
5772 .{ .kind = .IdRef, .quantifier = .required },
5773 .{ .kind = .IdRef, .quantifier = .required },
5774 .{ .kind = .MemoryAccess, .quantifier = .optional },
5775 .{ .kind = .MemoryAccess, .quantifier = .optional },
5776 },
5777 },
5778 .{
5779 .name = "OpAccessChain",
5780 .opcode = 65,
5781 .operands = &[_]Operand{
5782 .{ .kind = .IdResultType, .quantifier = .required },
5783 .{ .kind = .IdResult, .quantifier = .required },
5784 .{ .kind = .IdRef, .quantifier = .required },
5785 .{ .kind = .IdRef, .quantifier = .variadic },
5786 },
5787 },
5788 .{
5789 .name = "OpInBoundsAccessChain",
5790 .opcode = 66,
5791 .operands = &[_]Operand{
5792 .{ .kind = .IdResultType, .quantifier = .required },
5793 .{ .kind = .IdResult, .quantifier = .required },
5794 .{ .kind = .IdRef, .quantifier = .required },
5795 .{ .kind = .IdRef, .quantifier = .variadic },
5796 },
5797 },
5798 .{
5799 .name = "OpPtrAccessChain",
5800 .opcode = 67,
5801 .operands = &[_]Operand{
5802 .{ .kind = .IdResultType, .quantifier = .required },
5803 .{ .kind = .IdResult, .quantifier = .required },
5804 .{ .kind = .IdRef, .quantifier = .required },
5805 .{ .kind = .IdRef, .quantifier = .required },
5806 .{ .kind = .IdRef, .quantifier = .variadic },
5807 },
5808 },
5809 .{
5810 .name = "OpArrayLength",
5811 .opcode = 68,
5812 .operands = &[_]Operand{
5813 .{ .kind = .IdResultType, .quantifier = .required },
5814 .{ .kind = .IdResult, .quantifier = .required },
5815 .{ .kind = .IdRef, .quantifier = .required },
5816 .{ .kind = .LiteralInteger, .quantifier = .required },
5817 },
5818 },
5819 .{
5820 .name = "OpGenericPtrMemSemantics",
5821 .opcode = 69,
5822 .operands = &[_]Operand{
5823 .{ .kind = .IdResultType, .quantifier = .required },
5824 .{ .kind = .IdResult, .quantifier = .required },
5825 .{ .kind = .IdRef, .quantifier = .required },
5826 },
5827 },
5828 .{
5829 .name = "OpInBoundsPtrAccessChain",
5830 .opcode = 70,
5831 .operands = &[_]Operand{
5832 .{ .kind = .IdResultType, .quantifier = .required },
5833 .{ .kind = .IdResult, .quantifier = .required },
5834 .{ .kind = .IdRef, .quantifier = .required },
5835 .{ .kind = .IdRef, .quantifier = .required },
5836 .{ .kind = .IdRef, .quantifier = .variadic },
5837 },
5838 },
5839 .{
5840 .name = "OpDecorate",
5841 .opcode = 71,
5842 .operands = &[_]Operand{
5843 .{ .kind = .IdRef, .quantifier = .required },
5844 .{ .kind = .Decoration, .quantifier = .required },
5845 },
5846 },
5847 .{
5848 .name = "OpMemberDecorate",
5849 .opcode = 72,
5850 .operands = &[_]Operand{
5851 .{ .kind = .IdRef, .quantifier = .required },
5852 .{ .kind = .LiteralInteger, .quantifier = .required },
5853 .{ .kind = .Decoration, .quantifier = .required },
5854 },
5855 },
5856 .{
5857 .name = "OpDecorationGroup",
5858 .opcode = 73,
5859 .operands = &[_]Operand{
5860 .{ .kind = .IdResult, .quantifier = .required },
5861 },
5862 },
5863 .{
5864 .name = "OpGroupDecorate",
5865 .opcode = 74,
5866 .operands = &[_]Operand{
5867 .{ .kind = .IdRef, .quantifier = .required },
5868 .{ .kind = .IdRef, .quantifier = .variadic },
5869 },
5870 },
5871 .{
5872 .name = "OpGroupMemberDecorate",
5873 .opcode = 75,
5874 .operands = &[_]Operand{
5875 .{ .kind = .IdRef, .quantifier = .required },
5876 .{ .kind = .PairIdRefLiteralInteger, .quantifier = .variadic },
5877 },
5878 },
5879 .{
5880 .name = "OpVectorExtractDynamic",
5881 .opcode = 77,
5882 .operands = &[_]Operand{
5883 .{ .kind = .IdResultType, .quantifier = .required },
5884 .{ .kind = .IdResult, .quantifier = .required },
5885 .{ .kind = .IdRef, .quantifier = .required },
5886 .{ .kind = .IdRef, .quantifier = .required },
5887 },
5888 },
5889 .{
5890 .name = "OpVectorInsertDynamic",
5891 .opcode = 78,
5892 .operands = &[_]Operand{
5893 .{ .kind = .IdResultType, .quantifier = .required },
5894 .{ .kind = .IdResult, .quantifier = .required },
5895 .{ .kind = .IdRef, .quantifier = .required },
5896 .{ .kind = .IdRef, .quantifier = .required },
5897 .{ .kind = .IdRef, .quantifier = .required },
5898 },
5899 },
5900 .{
5901 .name = "OpVectorShuffle",
5902 .opcode = 79,
5903 .operands = &[_]Operand{
5904 .{ .kind = .IdResultType, .quantifier = .required },
5905 .{ .kind = .IdResult, .quantifier = .required },
5906 .{ .kind = .IdRef, .quantifier = .required },
5907 .{ .kind = .IdRef, .quantifier = .required },
5908 .{ .kind = .LiteralInteger, .quantifier = .variadic },
5909 },
5910 },
5911 .{
5912 .name = "OpCompositeConstruct",
5913 .opcode = 80,
5914 .operands = &[_]Operand{
5915 .{ .kind = .IdResultType, .quantifier = .required },
5916 .{ .kind = .IdResult, .quantifier = .required },
5917 .{ .kind = .IdRef, .quantifier = .variadic },
5918 },
5919 },
5920 .{
5921 .name = "OpCompositeExtract",
5922 .opcode = 81,
5923 .operands = &[_]Operand{
5924 .{ .kind = .IdResultType, .quantifier = .required },
5925 .{ .kind = .IdResult, .quantifier = .required },
5926 .{ .kind = .IdRef, .quantifier = .required },
5927 .{ .kind = .LiteralInteger, .quantifier = .variadic },
5928 },
5929 },
5930 .{
5931 .name = "OpCompositeInsert",
5932 .opcode = 82,
5933 .operands = &[_]Operand{
5934 .{ .kind = .IdResultType, .quantifier = .required },
5935 .{ .kind = .IdResult, .quantifier = .required },
5936 .{ .kind = .IdRef, .quantifier = .required },
5937 .{ .kind = .IdRef, .quantifier = .required },
5938 .{ .kind = .LiteralInteger, .quantifier = .variadic },
5939 },
5940 },
5941 .{
5942 .name = "OpCopyObject",
5943 .opcode = 83,
5944 .operands = &[_]Operand{
5945 .{ .kind = .IdResultType, .quantifier = .required },
5946 .{ .kind = .IdResult, .quantifier = .required },
5947 .{ .kind = .IdRef, .quantifier = .required },
5948 },
5949 },
5950 .{
5951 .name = "OpTranspose",
5952 .opcode = 84,
5953 .operands = &[_]Operand{
5954 .{ .kind = .IdResultType, .quantifier = .required },
5955 .{ .kind = .IdResult, .quantifier = .required },
5956 .{ .kind = .IdRef, .quantifier = .required },
5957 },
5958 },
5959 .{
5960 .name = "OpSampledImage",
5961 .opcode = 86,
5962 .operands = &[_]Operand{
5963 .{ .kind = .IdResultType, .quantifier = .required },
5964 .{ .kind = .IdResult, .quantifier = .required },
5965 .{ .kind = .IdRef, .quantifier = .required },
5966 .{ .kind = .IdRef, .quantifier = .required },
5967 },
5968 },
5969 .{
5970 .name = "OpImageSampleImplicitLod",
5971 .opcode = 87,
5972 .operands = &[_]Operand{
5973 .{ .kind = .IdResultType, .quantifier = .required },
5974 .{ .kind = .IdResult, .quantifier = .required },
5975 .{ .kind = .IdRef, .quantifier = .required },
5976 .{ .kind = .IdRef, .quantifier = .required },
5977 .{ .kind = .ImageOperands, .quantifier = .optional },
5978 },
5979 },
5980 .{
5981 .name = "OpImageSampleExplicitLod",
5982 .opcode = 88,
5983 .operands = &[_]Operand{
5984 .{ .kind = .IdResultType, .quantifier = .required },
5985 .{ .kind = .IdResult, .quantifier = .required },
5986 .{ .kind = .IdRef, .quantifier = .required },
5987 .{ .kind = .IdRef, .quantifier = .required },
5988 .{ .kind = .ImageOperands, .quantifier = .required },
5989 },
5990 },
5991 .{
5992 .name = "OpImageSampleDrefImplicitLod",
5993 .opcode = 89,
5994 .operands = &[_]Operand{
5995 .{ .kind = .IdResultType, .quantifier = .required },
5996 .{ .kind = .IdResult, .quantifier = .required },
5997 .{ .kind = .IdRef, .quantifier = .required },
5998 .{ .kind = .IdRef, .quantifier = .required },
5999 .{ .kind = .IdRef, .quantifier = .required },
6000 .{ .kind = .ImageOperands, .quantifier = .optional },
6001 },
6002 },
6003 .{
6004 .name = "OpImageSampleDrefExplicitLod",
6005 .opcode = 90,
6006 .operands = &[_]Operand{
6007 .{ .kind = .IdResultType, .quantifier = .required },
6008 .{ .kind = .IdResult, .quantifier = .required },
6009 .{ .kind = .IdRef, .quantifier = .required },
6010 .{ .kind = .IdRef, .quantifier = .required },
6011 .{ .kind = .IdRef, .quantifier = .required },
6012 .{ .kind = .ImageOperands, .quantifier = .required },
6013 },
6014 },
6015 .{
6016 .name = "OpImageSampleProjImplicitLod",
6017 .opcode = 91,
6018 .operands = &[_]Operand{
6019 .{ .kind = .IdResultType, .quantifier = .required },
6020 .{ .kind = .IdResult, .quantifier = .required },
6021 .{ .kind = .IdRef, .quantifier = .required },
6022 .{ .kind = .IdRef, .quantifier = .required },
6023 .{ .kind = .ImageOperands, .quantifier = .optional },
6024 },
6025 },
6026 .{
6027 .name = "OpImageSampleProjExplicitLod",
6028 .opcode = 92,
6029 .operands = &[_]Operand{
6030 .{ .kind = .IdResultType, .quantifier = .required },
6031 .{ .kind = .IdResult, .quantifier = .required },
6032 .{ .kind = .IdRef, .quantifier = .required },
6033 .{ .kind = .IdRef, .quantifier = .required },
6034 .{ .kind = .ImageOperands, .quantifier = .required },
6035 },
6036 },
6037 .{
6038 .name = "OpImageSampleProjDrefImplicitLod",
6039 .opcode = 93,
6040 .operands = &[_]Operand{
6041 .{ .kind = .IdResultType, .quantifier = .required },
6042 .{ .kind = .IdResult, .quantifier = .required },
6043 .{ .kind = .IdRef, .quantifier = .required },
6044 .{ .kind = .IdRef, .quantifier = .required },
6045 .{ .kind = .IdRef, .quantifier = .required },
6046 .{ .kind = .ImageOperands, .quantifier = .optional },
6047 },
6048 },
6049 .{
6050 .name = "OpImageSampleProjDrefExplicitLod",
6051 .opcode = 94,
6052 .operands = &[_]Operand{
6053 .{ .kind = .IdResultType, .quantifier = .required },
6054 .{ .kind = .IdResult, .quantifier = .required },
6055 .{ .kind = .IdRef, .quantifier = .required },
6056 .{ .kind = .IdRef, .quantifier = .required },
6057 .{ .kind = .IdRef, .quantifier = .required },
6058 .{ .kind = .ImageOperands, .quantifier = .required },
6059 },
6060 },
6061 .{
6062 .name = "OpImageFetch",
6063 .opcode = 95,
6064 .operands = &[_]Operand{
6065 .{ .kind = .IdResultType, .quantifier = .required },
6066 .{ .kind = .IdResult, .quantifier = .required },
6067 .{ .kind = .IdRef, .quantifier = .required },
6068 .{ .kind = .IdRef, .quantifier = .required },
6069 .{ .kind = .ImageOperands, .quantifier = .optional },
6070 },
6071 },
6072 .{
6073 .name = "OpImageGather",
6074 .opcode = 96,
6075 .operands = &[_]Operand{
6076 .{ .kind = .IdResultType, .quantifier = .required },
6077 .{ .kind = .IdResult, .quantifier = .required },
6078 .{ .kind = .IdRef, .quantifier = .required },
6079 .{ .kind = .IdRef, .quantifier = .required },
6080 .{ .kind = .IdRef, .quantifier = .required },
6081 .{ .kind = .ImageOperands, .quantifier = .optional },
6082 },
6083 },
6084 .{
6085 .name = "OpImageDrefGather",
6086 .opcode = 97,
6087 .operands = &[_]Operand{
6088 .{ .kind = .IdResultType, .quantifier = .required },
6089 .{ .kind = .IdResult, .quantifier = .required },
6090 .{ .kind = .IdRef, .quantifier = .required },
6091 .{ .kind = .IdRef, .quantifier = .required },
6092 .{ .kind = .IdRef, .quantifier = .required },
6093 .{ .kind = .ImageOperands, .quantifier = .optional },
6094 },
6095 },
6096 .{
6097 .name = "OpImageRead",
6098 .opcode = 98,
6099 .operands = &[_]Operand{
6100 .{ .kind = .IdResultType, .quantifier = .required },
6101 .{ .kind = .IdResult, .quantifier = .required },
6102 .{ .kind = .IdRef, .quantifier = .required },
6103 .{ .kind = .IdRef, .quantifier = .required },
6104 .{ .kind = .ImageOperands, .quantifier = .optional },
6105 },
6106 },
6107 .{
6108 .name = "OpImageWrite",
6109 .opcode = 99,
6110 .operands = &[_]Operand{
6111 .{ .kind = .IdRef, .quantifier = .required },
6112 .{ .kind = .IdRef, .quantifier = .required },
6113 .{ .kind = .IdRef, .quantifier = .required },
6114 .{ .kind = .ImageOperands, .quantifier = .optional },
6115 },
6116 },
6117 .{
6118 .name = "OpImage",
6119 .opcode = 100,
6120 .operands = &[_]Operand{
6121 .{ .kind = .IdResultType, .quantifier = .required },
6122 .{ .kind = .IdResult, .quantifier = .required },
6123 .{ .kind = .IdRef, .quantifier = .required },
6124 },
6125 },
6126 .{
6127 .name = "OpImageQueryFormat",
6128 .opcode = 101,
6129 .operands = &[_]Operand{
6130 .{ .kind = .IdResultType, .quantifier = .required },
6131 .{ .kind = .IdResult, .quantifier = .required },
6132 .{ .kind = .IdRef, .quantifier = .required },
6133 },
6134 },
6135 .{
6136 .name = "OpImageQueryOrder",
6137 .opcode = 102,
6138 .operands = &[_]Operand{
6139 .{ .kind = .IdResultType, .quantifier = .required },
6140 .{ .kind = .IdResult, .quantifier = .required },
6141 .{ .kind = .IdRef, .quantifier = .required },
6142 },
6143 },
6144 .{
6145 .name = "OpImageQuerySizeLod",
6146 .opcode = 103,
6147 .operands = &[_]Operand{
6148 .{ .kind = .IdResultType, .quantifier = .required },
6149 .{ .kind = .IdResult, .quantifier = .required },
6150 .{ .kind = .IdRef, .quantifier = .required },
6151 .{ .kind = .IdRef, .quantifier = .required },
6152 },
6153 },
6154 .{
6155 .name = "OpImageQuerySize",
6156 .opcode = 104,
6157 .operands = &[_]Operand{
6158 .{ .kind = .IdResultType, .quantifier = .required },
6159 .{ .kind = .IdResult, .quantifier = .required },
6160 .{ .kind = .IdRef, .quantifier = .required },
6161 },
6162 },
6163 .{
6164 .name = "OpImageQueryLod",
6165 .opcode = 105,
6166 .operands = &[_]Operand{
6167 .{ .kind = .IdResultType, .quantifier = .required },
6168 .{ .kind = .IdResult, .quantifier = .required },
6169 .{ .kind = .IdRef, .quantifier = .required },
6170 .{ .kind = .IdRef, .quantifier = .required },
6171 },
6172 },
6173 .{
6174 .name = "OpImageQueryLevels",
6175 .opcode = 106,
6176 .operands = &[_]Operand{
6177 .{ .kind = .IdResultType, .quantifier = .required },
6178 .{ .kind = .IdResult, .quantifier = .required },
6179 .{ .kind = .IdRef, .quantifier = .required },
6180 },
6181 },
6182 .{
6183 .name = "OpImageQuerySamples",
6184 .opcode = 107,
6185 .operands = &[_]Operand{
6186 .{ .kind = .IdResultType, .quantifier = .required },
6187 .{ .kind = .IdResult, .quantifier = .required },
6188 .{ .kind = .IdRef, .quantifier = .required },
6189 },
6190 },
6191 .{
6192 .name = "OpConvertFToU",
6193 .opcode = 109,
6194 .operands = &[_]Operand{
6195 .{ .kind = .IdResultType, .quantifier = .required },
6196 .{ .kind = .IdResult, .quantifier = .required },
6197 .{ .kind = .IdRef, .quantifier = .required },
6198 },
6199 },
6200 .{
6201 .name = "OpConvertFToS",
6202 .opcode = 110,
6203 .operands = &[_]Operand{
6204 .{ .kind = .IdResultType, .quantifier = .required },
6205 .{ .kind = .IdResult, .quantifier = .required },
6206 .{ .kind = .IdRef, .quantifier = .required },
6207 },
6208 },
6209 .{
6210 .name = "OpConvertSToF",
6211 .opcode = 111,
6212 .operands = &[_]Operand{
6213 .{ .kind = .IdResultType, .quantifier = .required },
6214 .{ .kind = .IdResult, .quantifier = .required },
6215 .{ .kind = .IdRef, .quantifier = .required },
6216 },
6217 },
6218 .{
6219 .name = "OpConvertUToF",
6220 .opcode = 112,
6221 .operands = &[_]Operand{
6222 .{ .kind = .IdResultType, .quantifier = .required },
6223 .{ .kind = .IdResult, .quantifier = .required },
6224 .{ .kind = .IdRef, .quantifier = .required },
6225 },
6226 },
6227 .{
6228 .name = "OpUConvert",
6229 .opcode = 113,
6230 .operands = &[_]Operand{
6231 .{ .kind = .IdResultType, .quantifier = .required },
6232 .{ .kind = .IdResult, .quantifier = .required },
6233 .{ .kind = .IdRef, .quantifier = .required },
6234 },
6235 },
6236 .{
6237 .name = "OpSConvert",
6238 .opcode = 114,
6239 .operands = &[_]Operand{
6240 .{ .kind = .IdResultType, .quantifier = .required },
6241 .{ .kind = .IdResult, .quantifier = .required },
6242 .{ .kind = .IdRef, .quantifier = .required },
6243 },
6244 },
6245 .{
6246 .name = "OpFConvert",
6247 .opcode = 115,
6248 .operands = &[_]Operand{
6249 .{ .kind = .IdResultType, .quantifier = .required },
6250 .{ .kind = .IdResult, .quantifier = .required },
6251 .{ .kind = .IdRef, .quantifier = .required },
6252 },
6253 },
6254 .{
6255 .name = "OpQuantizeToF16",
6256 .opcode = 116,
6257 .operands = &[_]Operand{
6258 .{ .kind = .IdResultType, .quantifier = .required },
6259 .{ .kind = .IdResult, .quantifier = .required },
6260 .{ .kind = .IdRef, .quantifier = .required },
6261 },
6262 },
6263 .{
6264 .name = "OpConvertPtrToU",
6265 .opcode = 117,
6266 .operands = &[_]Operand{
6267 .{ .kind = .IdResultType, .quantifier = .required },
6268 .{ .kind = .IdResult, .quantifier = .required },
6269 .{ .kind = .IdRef, .quantifier = .required },
6270 },
6271 },
6272 .{
6273 .name = "OpSatConvertSToU",
6274 .opcode = 118,
6275 .operands = &[_]Operand{
6276 .{ .kind = .IdResultType, .quantifier = .required },
6277 .{ .kind = .IdResult, .quantifier = .required },
6278 .{ .kind = .IdRef, .quantifier = .required },
6279 },
6280 },
6281 .{
6282 .name = "OpSatConvertUToS",
6283 .opcode = 119,
6284 .operands = &[_]Operand{
6285 .{ .kind = .IdResultType, .quantifier = .required },
6286 .{ .kind = .IdResult, .quantifier = .required },
6287 .{ .kind = .IdRef, .quantifier = .required },
6288 },
6289 },
6290 .{
6291 .name = "OpConvertUToPtr",
6292 .opcode = 120,
6293 .operands = &[_]Operand{
6294 .{ .kind = .IdResultType, .quantifier = .required },
6295 .{ .kind = .IdResult, .quantifier = .required },
6296 .{ .kind = .IdRef, .quantifier = .required },
6297 },
6298 },
6299 .{
6300 .name = "OpPtrCastToGeneric",
6301 .opcode = 121,
6302 .operands = &[_]Operand{
6303 .{ .kind = .IdResultType, .quantifier = .required },
6304 .{ .kind = .IdResult, .quantifier = .required },
6305 .{ .kind = .IdRef, .quantifier = .required },
6306 },
6307 },
6308 .{
6309 .name = "OpGenericCastToPtr",
6310 .opcode = 122,
6311 .operands = &[_]Operand{
6312 .{ .kind = .IdResultType, .quantifier = .required },
6313 .{ .kind = .IdResult, .quantifier = .required },
6314 .{ .kind = .IdRef, .quantifier = .required },
6315 },
6316 },
6317 .{
6318 .name = "OpGenericCastToPtrExplicit",
6319 .opcode = 123,
6320 .operands = &[_]Operand{
6321 .{ .kind = .IdResultType, .quantifier = .required },
6322 .{ .kind = .IdResult, .quantifier = .required },
6323 .{ .kind = .IdRef, .quantifier = .required },
6324 .{ .kind = .StorageClass, .quantifier = .required },
6325 },
6326 },
6327 .{
6328 .name = "OpBitcast",
6329 .opcode = 124,
6330 .operands = &[_]Operand{
6331 .{ .kind = .IdResultType, .quantifier = .required },
6332 .{ .kind = .IdResult, .quantifier = .required },
6333 .{ .kind = .IdRef, .quantifier = .required },
6334 },
6335 },
6336 .{
6337 .name = "OpSNegate",
6338 .opcode = 126,
6339 .operands = &[_]Operand{
6340 .{ .kind = .IdResultType, .quantifier = .required },
6341 .{ .kind = .IdResult, .quantifier = .required },
6342 .{ .kind = .IdRef, .quantifier = .required },
6343 },
6344 },
6345 .{
6346 .name = "OpFNegate",
6347 .opcode = 127,
6348 .operands = &[_]Operand{
6349 .{ .kind = .IdResultType, .quantifier = .required },
6350 .{ .kind = .IdResult, .quantifier = .required },
6351 .{ .kind = .IdRef, .quantifier = .required },
6352 },
6353 },
6354 .{
6355 .name = "OpIAdd",
6356 .opcode = 128,
6357 .operands = &[_]Operand{
6358 .{ .kind = .IdResultType, .quantifier = .required },
6359 .{ .kind = .IdResult, .quantifier = .required },
6360 .{ .kind = .IdRef, .quantifier = .required },
6361 .{ .kind = .IdRef, .quantifier = .required },
6362 },
6363 },
6364 .{
6365 .name = "OpFAdd",
6366 .opcode = 129,
6367 .operands = &[_]Operand{
6368 .{ .kind = .IdResultType, .quantifier = .required },
6369 .{ .kind = .IdResult, .quantifier = .required },
6370 .{ .kind = .IdRef, .quantifier = .required },
6371 .{ .kind = .IdRef, .quantifier = .required },
6372 },
6373 },
6374 .{
6375 .name = "OpISub",
6376 .opcode = 130,
6377 .operands = &[_]Operand{
6378 .{ .kind = .IdResultType, .quantifier = .required },
6379 .{ .kind = .IdResult, .quantifier = .required },
6380 .{ .kind = .IdRef, .quantifier = .required },
6381 .{ .kind = .IdRef, .quantifier = .required },
6382 },
6383 },
6384 .{
6385 .name = "OpFSub",
6386 .opcode = 131,
6387 .operands = &[_]Operand{
6388 .{ .kind = .IdResultType, .quantifier = .required },
6389 .{ .kind = .IdResult, .quantifier = .required },
6390 .{ .kind = .IdRef, .quantifier = .required },
6391 .{ .kind = .IdRef, .quantifier = .required },
6392 },
6393 },
6394 .{
6395 .name = "OpIMul",
6396 .opcode = 132,
6397 .operands = &[_]Operand{
6398 .{ .kind = .IdResultType, .quantifier = .required },
6399 .{ .kind = .IdResult, .quantifier = .required },
6400 .{ .kind = .IdRef, .quantifier = .required },
6401 .{ .kind = .IdRef, .quantifier = .required },
6402 },
6403 },
6404 .{
6405 .name = "OpFMul",
6406 .opcode = 133,
6407 .operands = &[_]Operand{
6408 .{ .kind = .IdResultType, .quantifier = .required },
6409 .{ .kind = .IdResult, .quantifier = .required },
6410 .{ .kind = .IdRef, .quantifier = .required },
6411 .{ .kind = .IdRef, .quantifier = .required },
6412 },
6413 },
6414 .{
6415 .name = "OpUDiv",
6416 .opcode = 134,
6417 .operands = &[_]Operand{
6418 .{ .kind = .IdResultType, .quantifier = .required },
6419 .{ .kind = .IdResult, .quantifier = .required },
6420 .{ .kind = .IdRef, .quantifier = .required },
6421 .{ .kind = .IdRef, .quantifier = .required },
6422 },
6423 },
6424 .{
6425 .name = "OpSDiv",
6426 .opcode = 135,
6427 .operands = &[_]Operand{
6428 .{ .kind = .IdResultType, .quantifier = .required },
6429 .{ .kind = .IdResult, .quantifier = .required },
6430 .{ .kind = .IdRef, .quantifier = .required },
6431 .{ .kind = .IdRef, .quantifier = .required },
6432 },
6433 },
6434 .{
6435 .name = "OpFDiv",
6436 .opcode = 136,
6437 .operands = &[_]Operand{
6438 .{ .kind = .IdResultType, .quantifier = .required },
6439 .{ .kind = .IdResult, .quantifier = .required },
6440 .{ .kind = .IdRef, .quantifier = .required },
6441 .{ .kind = .IdRef, .quantifier = .required },
6442 },
6443 },
6444 .{
6445 .name = "OpUMod",
6446 .opcode = 137,
6447 .operands = &[_]Operand{
6448 .{ .kind = .IdResultType, .quantifier = .required },
6449 .{ .kind = .IdResult, .quantifier = .required },
6450 .{ .kind = .IdRef, .quantifier = .required },
6451 .{ .kind = .IdRef, .quantifier = .required },
6452 },
6453 },
6454 .{
6455 .name = "OpSRem",
6456 .opcode = 138,
6457 .operands = &[_]Operand{
6458 .{ .kind = .IdResultType, .quantifier = .required },
6459 .{ .kind = .IdResult, .quantifier = .required },
6460 .{ .kind = .IdRef, .quantifier = .required },
6461 .{ .kind = .IdRef, .quantifier = .required },
6462 },
6463 },
6464 .{
6465 .name = "OpSMod",
6466 .opcode = 139,
6467 .operands = &[_]Operand{
6468 .{ .kind = .IdResultType, .quantifier = .required },
6469 .{ .kind = .IdResult, .quantifier = .required },
6470 .{ .kind = .IdRef, .quantifier = .required },
6471 .{ .kind = .IdRef, .quantifier = .required },
6472 },
6473 },
6474 .{
6475 .name = "OpFRem",
6476 .opcode = 140,
6477 .operands = &[_]Operand{
6478 .{ .kind = .IdResultType, .quantifier = .required },
6479 .{ .kind = .IdResult, .quantifier = .required },
6480 .{ .kind = .IdRef, .quantifier = .required },
6481 .{ .kind = .IdRef, .quantifier = .required },
6482 },
6483 },
6484 .{
6485 .name = "OpFMod",
6486 .opcode = 141,
6487 .operands = &[_]Operand{
6488 .{ .kind = .IdResultType, .quantifier = .required },
6489 .{ .kind = .IdResult, .quantifier = .required },
6490 .{ .kind = .IdRef, .quantifier = .required },
6491 .{ .kind = .IdRef, .quantifier = .required },
6492 },
6493 },
6494 .{
6495 .name = "OpVectorTimesScalar",
6496 .opcode = 142,
6497 .operands = &[_]Operand{
6498 .{ .kind = .IdResultType, .quantifier = .required },
6499 .{ .kind = .IdResult, .quantifier = .required },
6500 .{ .kind = .IdRef, .quantifier = .required },
6501 .{ .kind = .IdRef, .quantifier = .required },
6502 },
6503 },
6504 .{
6505 .name = "OpMatrixTimesScalar",
6506 .opcode = 143,
6507 .operands = &[_]Operand{
6508 .{ .kind = .IdResultType, .quantifier = .required },
6509 .{ .kind = .IdResult, .quantifier = .required },
6510 .{ .kind = .IdRef, .quantifier = .required },
6511 .{ .kind = .IdRef, .quantifier = .required },
6512 },
6513 },
6514 .{
6515 .name = "OpVectorTimesMatrix",
6516 .opcode = 144,
6517 .operands = &[_]Operand{
6518 .{ .kind = .IdResultType, .quantifier = .required },
6519 .{ .kind = .IdResult, .quantifier = .required },
6520 .{ .kind = .IdRef, .quantifier = .required },
6521 .{ .kind = .IdRef, .quantifier = .required },
6522 },
6523 },
6524 .{
6525 .name = "OpMatrixTimesVector",
6526 .opcode = 145,
6527 .operands = &[_]Operand{
6528 .{ .kind = .IdResultType, .quantifier = .required },
6529 .{ .kind = .IdResult, .quantifier = .required },
6530 .{ .kind = .IdRef, .quantifier = .required },
6531 .{ .kind = .IdRef, .quantifier = .required },
6532 },
6533 },
6534 .{
6535 .name = "OpMatrixTimesMatrix",
6536 .opcode = 146,
6537 .operands = &[_]Operand{
6538 .{ .kind = .IdResultType, .quantifier = .required },
6539 .{ .kind = .IdResult, .quantifier = .required },
6540 .{ .kind = .IdRef, .quantifier = .required },
6541 .{ .kind = .IdRef, .quantifier = .required },
6542 },
6543 },
6544 .{
6545 .name = "OpOuterProduct",
6546 .opcode = 147,
6547 .operands = &[_]Operand{
6548 .{ .kind = .IdResultType, .quantifier = .required },
6549 .{ .kind = .IdResult, .quantifier = .required },
6550 .{ .kind = .IdRef, .quantifier = .required },
6551 .{ .kind = .IdRef, .quantifier = .required },
6552 },
6553 },
6554 .{
6555 .name = "OpDot",
6556 .opcode = 148,
6557 .operands = &[_]Operand{
6558 .{ .kind = .IdResultType, .quantifier = .required },
6559 .{ .kind = .IdResult, .quantifier = .required },
6560 .{ .kind = .IdRef, .quantifier = .required },
6561 .{ .kind = .IdRef, .quantifier = .required },
6562 },
6563 },
6564 .{
6565 .name = "OpIAddCarry",
6566 .opcode = 149,
6567 .operands = &[_]Operand{
6568 .{ .kind = .IdResultType, .quantifier = .required },
6569 .{ .kind = .IdResult, .quantifier = .required },
6570 .{ .kind = .IdRef, .quantifier = .required },
6571 .{ .kind = .IdRef, .quantifier = .required },
6572 },
6573 },
6574 .{
6575 .name = "OpISubBorrow",
6576 .opcode = 150,
6577 .operands = &[_]Operand{
6578 .{ .kind = .IdResultType, .quantifier = .required },
6579 .{ .kind = .IdResult, .quantifier = .required },
6580 .{ .kind = .IdRef, .quantifier = .required },
6581 .{ .kind = .IdRef, .quantifier = .required },
6582 },
6583 },
6584 .{
6585 .name = "OpUMulExtended",
6586 .opcode = 151,
6587 .operands = &[_]Operand{
6588 .{ .kind = .IdResultType, .quantifier = .required },
6589 .{ .kind = .IdResult, .quantifier = .required },
6590 .{ .kind = .IdRef, .quantifier = .required },
6591 .{ .kind = .IdRef, .quantifier = .required },
6592 },
6593 },
6594 .{
6595 .name = "OpSMulExtended",
6596 .opcode = 152,
6597 .operands = &[_]Operand{
6598 .{ .kind = .IdResultType, .quantifier = .required },
6599 .{ .kind = .IdResult, .quantifier = .required },
6600 .{ .kind = .IdRef, .quantifier = .required },
6601 .{ .kind = .IdRef, .quantifier = .required },
6602 },
6603 },
6604 .{
6605 .name = "OpAny",
6606 .opcode = 154,
6607 .operands = &[_]Operand{
6608 .{ .kind = .IdResultType, .quantifier = .required },
6609 .{ .kind = .IdResult, .quantifier = .required },
6610 .{ .kind = .IdRef, .quantifier = .required },
6611 },
6612 },
6613 .{
6614 .name = "OpAll",
6615 .opcode = 155,
6616 .operands = &[_]Operand{
6617 .{ .kind = .IdResultType, .quantifier = .required },
6618 .{ .kind = .IdResult, .quantifier = .required },
6619 .{ .kind = .IdRef, .quantifier = .required },
6620 },
6621 },
6622 .{
6623 .name = "OpIsNan",
6624 .opcode = 156,
6625 .operands = &[_]Operand{
6626 .{ .kind = .IdResultType, .quantifier = .required },
6627 .{ .kind = .IdResult, .quantifier = .required },
6628 .{ .kind = .IdRef, .quantifier = .required },
6629 },
6630 },
6631 .{
6632 .name = "OpIsInf",
6633 .opcode = 157,
6634 .operands = &[_]Operand{
6635 .{ .kind = .IdResultType, .quantifier = .required },
6636 .{ .kind = .IdResult, .quantifier = .required },
6637 .{ .kind = .IdRef, .quantifier = .required },
6638 },
6639 },
6640 .{
6641 .name = "OpIsFinite",
6642 .opcode = 158,
6643 .operands = &[_]Operand{
6644 .{ .kind = .IdResultType, .quantifier = .required },
6645 .{ .kind = .IdResult, .quantifier = .required },
6646 .{ .kind = .IdRef, .quantifier = .required },
6647 },
6648 },
6649 .{
6650 .name = "OpIsNormal",
6651 .opcode = 159,
6652 .operands = &[_]Operand{
6653 .{ .kind = .IdResultType, .quantifier = .required },
6654 .{ .kind = .IdResult, .quantifier = .required },
6655 .{ .kind = .IdRef, .quantifier = .required },
6656 },
6657 },
6658 .{
6659 .name = "OpSignBitSet",
6660 .opcode = 160,
6661 .operands = &[_]Operand{
6662 .{ .kind = .IdResultType, .quantifier = .required },
6663 .{ .kind = .IdResult, .quantifier = .required },
6664 .{ .kind = .IdRef, .quantifier = .required },
6665 },
6666 },
6667 .{
6668 .name = "OpLessOrGreater",
6669 .opcode = 161,
6670 .operands = &[_]Operand{
6671 .{ .kind = .IdResultType, .quantifier = .required },
6672 .{ .kind = .IdResult, .quantifier = .required },
6673 .{ .kind = .IdRef, .quantifier = .required },
6674 .{ .kind = .IdRef, .quantifier = .required },
6675 },
6676 },
6677 .{
6678 .name = "OpOrdered",
6679 .opcode = 162,
6680 .operands = &[_]Operand{
6681 .{ .kind = .IdResultType, .quantifier = .required },
6682 .{ .kind = .IdResult, .quantifier = .required },
6683 .{ .kind = .IdRef, .quantifier = .required },
6684 .{ .kind = .IdRef, .quantifier = .required },
6685 },
6686 },
6687 .{
6688 .name = "OpUnordered",
6689 .opcode = 163,
6690 .operands = &[_]Operand{
6691 .{ .kind = .IdResultType, .quantifier = .required },
6692 .{ .kind = .IdResult, .quantifier = .required },
6693 .{ .kind = .IdRef, .quantifier = .required },
6694 .{ .kind = .IdRef, .quantifier = .required },
6695 },
6696 },
6697 .{
6698 .name = "OpLogicalEqual",
6699 .opcode = 164,
6700 .operands = &[_]Operand{
6701 .{ .kind = .IdResultType, .quantifier = .required },
6702 .{ .kind = .IdResult, .quantifier = .required },
6703 .{ .kind = .IdRef, .quantifier = .required },
6704 .{ .kind = .IdRef, .quantifier = .required },
6705 },
6706 },
6707 .{
6708 .name = "OpLogicalNotEqual",
6709 .opcode = 165,
6710 .operands = &[_]Operand{
6711 .{ .kind = .IdResultType, .quantifier = .required },
6712 .{ .kind = .IdResult, .quantifier = .required },
6713 .{ .kind = .IdRef, .quantifier = .required },
6714 .{ .kind = .IdRef, .quantifier = .required },
6715 },
6716 },
6717 .{
6718 .name = "OpLogicalOr",
6719 .opcode = 166,
6720 .operands = &[_]Operand{
6721 .{ .kind = .IdResultType, .quantifier = .required },
6722 .{ .kind = .IdResult, .quantifier = .required },
6723 .{ .kind = .IdRef, .quantifier = .required },
6724 .{ .kind = .IdRef, .quantifier = .required },
6725 },
6726 },
6727 .{
6728 .name = "OpLogicalAnd",
6729 .opcode = 167,
6730 .operands = &[_]Operand{
6731 .{ .kind = .IdResultType, .quantifier = .required },
6732 .{ .kind = .IdResult, .quantifier = .required },
6733 .{ .kind = .IdRef, .quantifier = .required },
6734 .{ .kind = .IdRef, .quantifier = .required },
6735 },
6736 },
6737 .{
6738 .name = "OpLogicalNot",
6739 .opcode = 168,
6740 .operands = &[_]Operand{
6741 .{ .kind = .IdResultType, .quantifier = .required },
6742 .{ .kind = .IdResult, .quantifier = .required },
6743 .{ .kind = .IdRef, .quantifier = .required },
6744 },
6745 },
6746 .{
6747 .name = "OpSelect",
6748 .opcode = 169,
6749 .operands = &[_]Operand{
6750 .{ .kind = .IdResultType, .quantifier = .required },
6751 .{ .kind = .IdResult, .quantifier = .required },
6752 .{ .kind = .IdRef, .quantifier = .required },
6753 .{ .kind = .IdRef, .quantifier = .required },
6754 .{ .kind = .IdRef, .quantifier = .required },
6755 },
6756 },
6757 .{
6758 .name = "OpIEqual",
6759 .opcode = 170,
6760 .operands = &[_]Operand{
6761 .{ .kind = .IdResultType, .quantifier = .required },
6762 .{ .kind = .IdResult, .quantifier = .required },
6763 .{ .kind = .IdRef, .quantifier = .required },
6764 .{ .kind = .IdRef, .quantifier = .required },
6765 },
6766 },
6767 .{
6768 .name = "OpINotEqual",
6769 .opcode = 171,
6770 .operands = &[_]Operand{
6771 .{ .kind = .IdResultType, .quantifier = .required },
6772 .{ .kind = .IdResult, .quantifier = .required },
6773 .{ .kind = .IdRef, .quantifier = .required },
6774 .{ .kind = .IdRef, .quantifier = .required },
6775 },
6776 },
6777 .{
6778 .name = "OpUGreaterThan",
6779 .opcode = 172,
6780 .operands = &[_]Operand{
6781 .{ .kind = .IdResultType, .quantifier = .required },
6782 .{ .kind = .IdResult, .quantifier = .required },
6783 .{ .kind = .IdRef, .quantifier = .required },
6784 .{ .kind = .IdRef, .quantifier = .required },
6785 },
6786 },
6787 .{
6788 .name = "OpSGreaterThan",
6789 .opcode = 173,
6790 .operands = &[_]Operand{
6791 .{ .kind = .IdResultType, .quantifier = .required },
6792 .{ .kind = .IdResult, .quantifier = .required },
6793 .{ .kind = .IdRef, .quantifier = .required },
6794 .{ .kind = .IdRef, .quantifier = .required },
6795 },
6796 },
6797 .{
6798 .name = "OpUGreaterThanEqual",
6799 .opcode = 174,
6800 .operands = &[_]Operand{
6801 .{ .kind = .IdResultType, .quantifier = .required },
6802 .{ .kind = .IdResult, .quantifier = .required },
6803 .{ .kind = .IdRef, .quantifier = .required },
6804 .{ .kind = .IdRef, .quantifier = .required },
6805 },
6806 },
6807 .{
6808 .name = "OpSGreaterThanEqual",
6809 .opcode = 175,
6810 .operands = &[_]Operand{
6811 .{ .kind = .IdResultType, .quantifier = .required },
6812 .{ .kind = .IdResult, .quantifier = .required },
6813 .{ .kind = .IdRef, .quantifier = .required },
6814 .{ .kind = .IdRef, .quantifier = .required },
6815 },
6816 },
6817 .{
6818 .name = "OpULessThan",
6819 .opcode = 176,
6820 .operands = &[_]Operand{
6821 .{ .kind = .IdResultType, .quantifier = .required },
6822 .{ .kind = .IdResult, .quantifier = .required },
6823 .{ .kind = .IdRef, .quantifier = .required },
6824 .{ .kind = .IdRef, .quantifier = .required },
6825 },
6826 },
6827 .{
6828 .name = "OpSLessThan",
6829 .opcode = 177,
6830 .operands = &[_]Operand{
6831 .{ .kind = .IdResultType, .quantifier = .required },
6832 .{ .kind = .IdResult, .quantifier = .required },
6833 .{ .kind = .IdRef, .quantifier = .required },
6834 .{ .kind = .IdRef, .quantifier = .required },
6835 },
6836 },
6837 .{
6838 .name = "OpULessThanEqual",
6839 .opcode = 178,
6840 .operands = &[_]Operand{
6841 .{ .kind = .IdResultType, .quantifier = .required },
6842 .{ .kind = .IdResult, .quantifier = .required },
6843 .{ .kind = .IdRef, .quantifier = .required },
6844 .{ .kind = .IdRef, .quantifier = .required },
6845 },
6846 },
6847 .{
6848 .name = "OpSLessThanEqual",
6849 .opcode = 179,
6850 .operands = &[_]Operand{
6851 .{ .kind = .IdResultType, .quantifier = .required },
6852 .{ .kind = .IdResult, .quantifier = .required },
6853 .{ .kind = .IdRef, .quantifier = .required },
6854 .{ .kind = .IdRef, .quantifier = .required },
6855 },
6856 },
6857 .{
6858 .name = "OpFOrdEqual",
6859 .opcode = 180,
6860 .operands = &[_]Operand{
6861 .{ .kind = .IdResultType, .quantifier = .required },
6862 .{ .kind = .IdResult, .quantifier = .required },
6863 .{ .kind = .IdRef, .quantifier = .required },
6864 .{ .kind = .IdRef, .quantifier = .required },
6865 },
6866 },
6867 .{
6868 .name = "OpFUnordEqual",
6869 .opcode = 181,
6870 .operands = &[_]Operand{
6871 .{ .kind = .IdResultType, .quantifier = .required },
6872 .{ .kind = .IdResult, .quantifier = .required },
6873 .{ .kind = .IdRef, .quantifier = .required },
6874 .{ .kind = .IdRef, .quantifier = .required },
6875 },
6876 },
6877 .{
6878 .name = "OpFOrdNotEqual",
6879 .opcode = 182,
6880 .operands = &[_]Operand{
6881 .{ .kind = .IdResultType, .quantifier = .required },
6882 .{ .kind = .IdResult, .quantifier = .required },
6883 .{ .kind = .IdRef, .quantifier = .required },
6884 .{ .kind = .IdRef, .quantifier = .required },
6885 },
6886 },
6887 .{
6888 .name = "OpFUnordNotEqual",
6889 .opcode = 183,
6890 .operands = &[_]Operand{
6891 .{ .kind = .IdResultType, .quantifier = .required },
6892 .{ .kind = .IdResult, .quantifier = .required },
6893 .{ .kind = .IdRef, .quantifier = .required },
6894 .{ .kind = .IdRef, .quantifier = .required },
6895 },
6896 },
6897 .{
6898 .name = "OpFOrdLessThan",
6899 .opcode = 184,
6900 .operands = &[_]Operand{
6901 .{ .kind = .IdResultType, .quantifier = .required },
6902 .{ .kind = .IdResult, .quantifier = .required },
6903 .{ .kind = .IdRef, .quantifier = .required },
6904 .{ .kind = .IdRef, .quantifier = .required },
6905 },
6906 },
6907 .{
6908 .name = "OpFUnordLessThan",
6909 .opcode = 185,
6910 .operands = &[_]Operand{
6911 .{ .kind = .IdResultType, .quantifier = .required },
6912 .{ .kind = .IdResult, .quantifier = .required },
6913 .{ .kind = .IdRef, .quantifier = .required },
6914 .{ .kind = .IdRef, .quantifier = .required },
6915 },
6916 },
6917 .{
6918 .name = "OpFOrdGreaterThan",
6919 .opcode = 186,
6920 .operands = &[_]Operand{
6921 .{ .kind = .IdResultType, .quantifier = .required },
6922 .{ .kind = .IdResult, .quantifier = .required },
6923 .{ .kind = .IdRef, .quantifier = .required },
6924 .{ .kind = .IdRef, .quantifier = .required },
6925 },
6926 },
6927 .{
6928 .name = "OpFUnordGreaterThan",
6929 .opcode = 187,
6930 .operands = &[_]Operand{
6931 .{ .kind = .IdResultType, .quantifier = .required },
6932 .{ .kind = .IdResult, .quantifier = .required },
6933 .{ .kind = .IdRef, .quantifier = .required },
6934 .{ .kind = .IdRef, .quantifier = .required },
6935 },
6936 },
6937 .{
6938 .name = "OpFOrdLessThanEqual",
6939 .opcode = 188,
6940 .operands = &[_]Operand{
6941 .{ .kind = .IdResultType, .quantifier = .required },
6942 .{ .kind = .IdResult, .quantifier = .required },
6943 .{ .kind = .IdRef, .quantifier = .required },
6944 .{ .kind = .IdRef, .quantifier = .required },
6945 },
6946 },
6947 .{
6948 .name = "OpFUnordLessThanEqual",
6949 .opcode = 189,
6950 .operands = &[_]Operand{
6951 .{ .kind = .IdResultType, .quantifier = .required },
6952 .{ .kind = .IdResult, .quantifier = .required },
6953 .{ .kind = .IdRef, .quantifier = .required },
6954 .{ .kind = .IdRef, .quantifier = .required },
6955 },
6956 },
6957 .{
6958 .name = "OpFOrdGreaterThanEqual",
6959 .opcode = 190,
6960 .operands = &[_]Operand{
6961 .{ .kind = .IdResultType, .quantifier = .required },
6962 .{ .kind = .IdResult, .quantifier = .required },
6963 .{ .kind = .IdRef, .quantifier = .required },
6964 .{ .kind = .IdRef, .quantifier = .required },
6965 },
6966 },
6967 .{
6968 .name = "OpFUnordGreaterThanEqual",
6969 .opcode = 191,
6970 .operands = &[_]Operand{
6971 .{ .kind = .IdResultType, .quantifier = .required },
6972 .{ .kind = .IdResult, .quantifier = .required },
6973 .{ .kind = .IdRef, .quantifier = .required },
6974 .{ .kind = .IdRef, .quantifier = .required },
6975 },
6976 },
6977 .{
6978 .name = "OpShiftRightLogical",
6979 .opcode = 194,
6980 .operands = &[_]Operand{
6981 .{ .kind = .IdResultType, .quantifier = .required },
6982 .{ .kind = .IdResult, .quantifier = .required },
6983 .{ .kind = .IdRef, .quantifier = .required },
6984 .{ .kind = .IdRef, .quantifier = .required },
6985 },
6986 },
6987 .{
6988 .name = "OpShiftRightArithmetic",
6989 .opcode = 195,
6990 .operands = &[_]Operand{
6991 .{ .kind = .IdResultType, .quantifier = .required },
6992 .{ .kind = .IdResult, .quantifier = .required },
6993 .{ .kind = .IdRef, .quantifier = .required },
6994 .{ .kind = .IdRef, .quantifier = .required },
6995 },
6996 },
6997 .{
6998 .name = "OpShiftLeftLogical",
6999 .opcode = 196,
7000 .operands = &[_]Operand{
7001 .{ .kind = .IdResultType, .quantifier = .required },
7002 .{ .kind = .IdResult, .quantifier = .required },
7003 .{ .kind = .IdRef, .quantifier = .required },
7004 .{ .kind = .IdRef, .quantifier = .required },
7005 },
7006 },
7007 .{
7008 .name = "OpBitwiseOr",
7009 .opcode = 197,
7010 .operands = &[_]Operand{
7011 .{ .kind = .IdResultType, .quantifier = .required },
7012 .{ .kind = .IdResult, .quantifier = .required },
7013 .{ .kind = .IdRef, .quantifier = .required },
7014 .{ .kind = .IdRef, .quantifier = .required },
7015 },
7016 },
7017 .{
7018 .name = "OpBitwiseXor",
7019 .opcode = 198,
7020 .operands = &[_]Operand{
7021 .{ .kind = .IdResultType, .quantifier = .required },
7022 .{ .kind = .IdResult, .quantifier = .required },
7023 .{ .kind = .IdRef, .quantifier = .required },
7024 .{ .kind = .IdRef, .quantifier = .required },
7025 },
7026 },
7027 .{
7028 .name = "OpBitwiseAnd",
7029 .opcode = 199,
7030 .operands = &[_]Operand{
7031 .{ .kind = .IdResultType, .quantifier = .required },
7032 .{ .kind = .IdResult, .quantifier = .required },
7033 .{ .kind = .IdRef, .quantifier = .required },
7034 .{ .kind = .IdRef, .quantifier = .required },
7035 },
7036 },
7037 .{
7038 .name = "OpNot",
7039 .opcode = 200,
7040 .operands = &[_]Operand{
7041 .{ .kind = .IdResultType, .quantifier = .required },
7042 .{ .kind = .IdResult, .quantifier = .required },
7043 .{ .kind = .IdRef, .quantifier = .required },
7044 },
7045 },
7046 .{
7047 .name = "OpBitFieldInsert",
7048 .opcode = 201,
7049 .operands = &[_]Operand{
7050 .{ .kind = .IdResultType, .quantifier = .required },
7051 .{ .kind = .IdResult, .quantifier = .required },
7052 .{ .kind = .IdRef, .quantifier = .required },
7053 .{ .kind = .IdRef, .quantifier = .required },
7054 .{ .kind = .IdRef, .quantifier = .required },
7055 .{ .kind = .IdRef, .quantifier = .required },
7056 },
7057 },
7058 .{
7059 .name = "OpBitFieldSExtract",
7060 .opcode = 202,
7061 .operands = &[_]Operand{
7062 .{ .kind = .IdResultType, .quantifier = .required },
7063 .{ .kind = .IdResult, .quantifier = .required },
7064 .{ .kind = .IdRef, .quantifier = .required },
7065 .{ .kind = .IdRef, .quantifier = .required },
7066 .{ .kind = .IdRef, .quantifier = .required },
7067 },
7068 },
7069 .{
7070 .name = "OpBitFieldUExtract",
7071 .opcode = 203,
7072 .operands = &[_]Operand{
7073 .{ .kind = .IdResultType, .quantifier = .required },
7074 .{ .kind = .IdResult, .quantifier = .required },
7075 .{ .kind = .IdRef, .quantifier = .required },
7076 .{ .kind = .IdRef, .quantifier = .required },
7077 .{ .kind = .IdRef, .quantifier = .required },
7078 },
7079 },
7080 .{
7081 .name = "OpBitReverse",
7082 .opcode = 204,
7083 .operands = &[_]Operand{
7084 .{ .kind = .IdResultType, .quantifier = .required },
7085 .{ .kind = .IdResult, .quantifier = .required },
7086 .{ .kind = .IdRef, .quantifier = .required },
7087 },
7088 },
7089 .{
7090 .name = "OpBitCount",
7091 .opcode = 205,
7092 .operands = &[_]Operand{
7093 .{ .kind = .IdResultType, .quantifier = .required },
7094 .{ .kind = .IdResult, .quantifier = .required },
7095 .{ .kind = .IdRef, .quantifier = .required },
7096 },
7097 },
7098 .{
7099 .name = "OpDPdx",
7100 .opcode = 207,
7101 .operands = &[_]Operand{
7102 .{ .kind = .IdResultType, .quantifier = .required },
7103 .{ .kind = .IdResult, .quantifier = .required },
7104 .{ .kind = .IdRef, .quantifier = .required },
7105 },
7106 },
7107 .{
7108 .name = "OpDPdy",
7109 .opcode = 208,
7110 .operands = &[_]Operand{
7111 .{ .kind = .IdResultType, .quantifier = .required },
7112 .{ .kind = .IdResult, .quantifier = .required },
7113 .{ .kind = .IdRef, .quantifier = .required },
7114 },
7115 },
7116 .{
7117 .name = "OpFwidth",
7118 .opcode = 209,
7119 .operands = &[_]Operand{
7120 .{ .kind = .IdResultType, .quantifier = .required },
7121 .{ .kind = .IdResult, .quantifier = .required },
7122 .{ .kind = .IdRef, .quantifier = .required },
7123 },
7124 },
7125 .{
7126 .name = "OpDPdxFine",
7127 .opcode = 210,
7128 .operands = &[_]Operand{
7129 .{ .kind = .IdResultType, .quantifier = .required },
7130 .{ .kind = .IdResult, .quantifier = .required },
7131 .{ .kind = .IdRef, .quantifier = .required },
7132 },
7133 },
7134 .{
7135 .name = "OpDPdyFine",
7136 .opcode = 211,
7137 .operands = &[_]Operand{
7138 .{ .kind = .IdResultType, .quantifier = .required },
7139 .{ .kind = .IdResult, .quantifier = .required },
7140 .{ .kind = .IdRef, .quantifier = .required },
7141 },
7142 },
7143 .{
7144 .name = "OpFwidthFine",
7145 .opcode = 212,
7146 .operands = &[_]Operand{
7147 .{ .kind = .IdResultType, .quantifier = .required },
7148 .{ .kind = .IdResult, .quantifier = .required },
7149 .{ .kind = .IdRef, .quantifier = .required },
7150 },
7151 },
7152 .{
7153 .name = "OpDPdxCoarse",
7154 .opcode = 213,
7155 .operands = &[_]Operand{
7156 .{ .kind = .IdResultType, .quantifier = .required },
7157 .{ .kind = .IdResult, .quantifier = .required },
7158 .{ .kind = .IdRef, .quantifier = .required },
7159 },
7160 },
7161 .{
7162 .name = "OpDPdyCoarse",
7163 .opcode = 214,
7164 .operands = &[_]Operand{
7165 .{ .kind = .IdResultType, .quantifier = .required },
7166 .{ .kind = .IdResult, .quantifier = .required },
7167 .{ .kind = .IdRef, .quantifier = .required },
7168 },
7169 },
7170 .{
7171 .name = "OpFwidthCoarse",
7172 .opcode = 215,
7173 .operands = &[_]Operand{
7174 .{ .kind = .IdResultType, .quantifier = .required },
7175 .{ .kind = .IdResult, .quantifier = .required },
7176 .{ .kind = .IdRef, .quantifier = .required },
7177 },
7178 },
7179 .{
7180 .name = "OpEmitVertex",
7181 .opcode = 218,
7182 .operands = &[_]Operand{},
7183 },
7184 .{
7185 .name = "OpEndPrimitive",
7186 .opcode = 219,
7187 .operands = &[_]Operand{},
7188 },
7189 .{
7190 .name = "OpEmitStreamVertex",
7191 .opcode = 220,
7192 .operands = &[_]Operand{
7193 .{ .kind = .IdRef, .quantifier = .required },
7194 },
7195 },
7196 .{
7197 .name = "OpEndStreamPrimitive",
7198 .opcode = 221,
7199 .operands = &[_]Operand{
7200 .{ .kind = .IdRef, .quantifier = .required },
7201 },
7202 },
7203 .{
7204 .name = "OpControlBarrier",
7205 .opcode = 224,
7206 .operands = &[_]Operand{
7207 .{ .kind = .IdScope, .quantifier = .required },
7208 .{ .kind = .IdScope, .quantifier = .required },
7209 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7210 },
7211 },
7212 .{
7213 .name = "OpMemoryBarrier",
7214 .opcode = 225,
7215 .operands = &[_]Operand{
7216 .{ .kind = .IdScope, .quantifier = .required },
7217 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7218 },
7219 },
7220 .{
7221 .name = "OpAtomicLoad",
7222 .opcode = 227,
7223 .operands = &[_]Operand{
7224 .{ .kind = .IdResultType, .quantifier = .required },
7225 .{ .kind = .IdResult, .quantifier = .required },
7226 .{ .kind = .IdRef, .quantifier = .required },
7227 .{ .kind = .IdScope, .quantifier = .required },
7228 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7229 },
7230 },
7231 .{
7232 .name = "OpAtomicStore",
7233 .opcode = 228,
7234 .operands = &[_]Operand{
7235 .{ .kind = .IdRef, .quantifier = .required },
7236 .{ .kind = .IdScope, .quantifier = .required },
7237 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7238 .{ .kind = .IdRef, .quantifier = .required },
7239 },
7240 },
7241 .{
7242 .name = "OpAtomicExchange",
7243 .opcode = 229,
7244 .operands = &[_]Operand{
7245 .{ .kind = .IdResultType, .quantifier = .required },
7246 .{ .kind = .IdResult, .quantifier = .required },
7247 .{ .kind = .IdRef, .quantifier = .required },
7248 .{ .kind = .IdScope, .quantifier = .required },
7249 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7250 .{ .kind = .IdRef, .quantifier = .required },
7251 },
7252 },
7253 .{
7254 .name = "OpAtomicCompareExchange",
7255 .opcode = 230,
7256 .operands = &[_]Operand{
7257 .{ .kind = .IdResultType, .quantifier = .required },
7258 .{ .kind = .IdResult, .quantifier = .required },
7259 .{ .kind = .IdRef, .quantifier = .required },
7260 .{ .kind = .IdScope, .quantifier = .required },
7261 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7262 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7263 .{ .kind = .IdRef, .quantifier = .required },
7264 .{ .kind = .IdRef, .quantifier = .required },
7265 },
7266 },
7267 .{
7268 .name = "OpAtomicCompareExchangeWeak",
7269 .opcode = 231,
7270 .operands = &[_]Operand{
7271 .{ .kind = .IdResultType, .quantifier = .required },
7272 .{ .kind = .IdResult, .quantifier = .required },
7273 .{ .kind = .IdRef, .quantifier = .required },
7274 .{ .kind = .IdScope, .quantifier = .required },
7275 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7276 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7277 .{ .kind = .IdRef, .quantifier = .required },
7278 .{ .kind = .IdRef, .quantifier = .required },
7279 },
7280 },
7281 .{
7282 .name = "OpAtomicIIncrement",
7283 .opcode = 232,
7284 .operands = &[_]Operand{
7285 .{ .kind = .IdResultType, .quantifier = .required },
7286 .{ .kind = .IdResult, .quantifier = .required },
7287 .{ .kind = .IdRef, .quantifier = .required },
7288 .{ .kind = .IdScope, .quantifier = .required },
7289 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7290 },
7291 },
7292 .{
7293 .name = "OpAtomicIDecrement",
7294 .opcode = 233,
7295 .operands = &[_]Operand{
7296 .{ .kind = .IdResultType, .quantifier = .required },
7297 .{ .kind = .IdResult, .quantifier = .required },
7298 .{ .kind = .IdRef, .quantifier = .required },
7299 .{ .kind = .IdScope, .quantifier = .required },
7300 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7301 },
7302 },
7303 .{
7304 .name = "OpAtomicIAdd",
7305 .opcode = 234,
7306 .operands = &[_]Operand{
7307 .{ .kind = .IdResultType, .quantifier = .required },
7308 .{ .kind = .IdResult, .quantifier = .required },
7309 .{ .kind = .IdRef, .quantifier = .required },
7310 .{ .kind = .IdScope, .quantifier = .required },
7311 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7312 .{ .kind = .IdRef, .quantifier = .required },
7313 },
7314 },
7315 .{
7316 .name = "OpAtomicISub",
7317 .opcode = 235,
7318 .operands = &[_]Operand{
7319 .{ .kind = .IdResultType, .quantifier = .required },
7320 .{ .kind = .IdResult, .quantifier = .required },
7321 .{ .kind = .IdRef, .quantifier = .required },
7322 .{ .kind = .IdScope, .quantifier = .required },
7323 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7324 .{ .kind = .IdRef, .quantifier = .required },
7325 },
7326 },
7327 .{
7328 .name = "OpAtomicSMin",
7329 .opcode = 236,
7330 .operands = &[_]Operand{
7331 .{ .kind = .IdResultType, .quantifier = .required },
7332 .{ .kind = .IdResult, .quantifier = .required },
7333 .{ .kind = .IdRef, .quantifier = .required },
7334 .{ .kind = .IdScope, .quantifier = .required },
7335 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7336 .{ .kind = .IdRef, .quantifier = .required },
7337 },
7338 },
7339 .{
7340 .name = "OpAtomicUMin",
7341 .opcode = 237,
7342 .operands = &[_]Operand{
7343 .{ .kind = .IdResultType, .quantifier = .required },
7344 .{ .kind = .IdResult, .quantifier = .required },
7345 .{ .kind = .IdRef, .quantifier = .required },
7346 .{ .kind = .IdScope, .quantifier = .required },
7347 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7348 .{ .kind = .IdRef, .quantifier = .required },
7349 },
7350 },
7351 .{
7352 .name = "OpAtomicSMax",
7353 .opcode = 238,
7354 .operands = &[_]Operand{
7355 .{ .kind = .IdResultType, .quantifier = .required },
7356 .{ .kind = .IdResult, .quantifier = .required },
7357 .{ .kind = .IdRef, .quantifier = .required },
7358 .{ .kind = .IdScope, .quantifier = .required },
7359 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7360 .{ .kind = .IdRef, .quantifier = .required },
7361 },
7362 },
7363 .{
7364 .name = "OpAtomicUMax",
7365 .opcode = 239,
7366 .operands = &[_]Operand{
7367 .{ .kind = .IdResultType, .quantifier = .required },
7368 .{ .kind = .IdResult, .quantifier = .required },
7369 .{ .kind = .IdRef, .quantifier = .required },
7370 .{ .kind = .IdScope, .quantifier = .required },
7371 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7372 .{ .kind = .IdRef, .quantifier = .required },
7373 },
7374 },
7375 .{
7376 .name = "OpAtomicAnd",
7377 .opcode = 240,
7378 .operands = &[_]Operand{
7379 .{ .kind = .IdResultType, .quantifier = .required },
7380 .{ .kind = .IdResult, .quantifier = .required },
7381 .{ .kind = .IdRef, .quantifier = .required },
7382 .{ .kind = .IdScope, .quantifier = .required },
7383 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7384 .{ .kind = .IdRef, .quantifier = .required },
7385 },
7386 },
7387 .{
7388 .name = "OpAtomicOr",
7389 .opcode = 241,
7390 .operands = &[_]Operand{
7391 .{ .kind = .IdResultType, .quantifier = .required },
7392 .{ .kind = .IdResult, .quantifier = .required },
7393 .{ .kind = .IdRef, .quantifier = .required },
7394 .{ .kind = .IdScope, .quantifier = .required },
7395 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7396 .{ .kind = .IdRef, .quantifier = .required },
7397 },
7398 },
7399 .{
7400 .name = "OpAtomicXor",
7401 .opcode = 242,
7402 .operands = &[_]Operand{
7403 .{ .kind = .IdResultType, .quantifier = .required },
7404 .{ .kind = .IdResult, .quantifier = .required },
7405 .{ .kind = .IdRef, .quantifier = .required },
7406 .{ .kind = .IdScope, .quantifier = .required },
7407 .{ .kind = .IdMemorySemantics, .quantifier = .required },
7408 .{ .kind = .IdRef, .quantifier = .required },
7409 },
7410 },
7411 .{
7412 .name = "OpPhi",
7413 .opcode = 245,
7414 .operands = &[_]Operand{
7415 .{ .kind = .IdResultType, .quantifier = .required },
7416 .{ .kind = .IdResult, .quantifier = .required },
7417 .{ .kind = .PairIdRefIdRef, .quantifier = .variadic },
7418 },
7419 },
7420 .{
7421 .name = "OpLoopMerge",
7422 .opcode = 246,
7423 .operands = &[_]Operand{
7424 .{ .kind = .IdRef, .quantifier = .required },
7425 .{ .kind = .IdRef, .quantifier = .required },
7426 .{ .kind = .LoopControl, .quantifier = .required },
7427 },
7428 },
7429 .{
7430 .name = "OpSelectionMerge",
7431 .opcode = 247,
7432 .operands = &[_]Operand{
7433 .{ .kind = .IdRef, .quantifier = .required },
7434 .{ .kind = .SelectionControl, .quantifier = .required },
7435 },
7436 },
7437 .{
7438 .name = "OpLabel",
7439 .opcode = 248,
7440 .operands = &[_]Operand{
7441 .{ .kind = .IdResult, .quantifier = .required },
7442 },
7443 },
7444 .{
7445 .name = "OpBranch",
7446 .opcode = 249,
7447 .operands = &[_]Operand{
7448 .{ .kind = .IdRef, .quantifier = .required },
7449 },
7450 },
7451 .{
7452 .name = "OpBranchConditional",
7453 .opcode = 250,
7454 .operands = &[_]Operand{
7455 .{ .kind = .IdRef, .quantifier = .required },
7456 .{ .kind = .IdRef, .quantifier = .required },
7457 .{ .kind = .IdRef, .quantifier = .required },
7458 .{ .kind = .LiteralInteger, .quantifier = .variadic },
7459 },
7460 },
7461 .{
7462 .name = "OpSwitch",
7463 .opcode = 251,
7464 .operands = &[_]Operand{
7465 .{ .kind = .IdRef, .quantifier = .required },
7466 .{ .kind = .IdRef, .quantifier = .required },
7467 .{ .kind = .PairLiteralIntegerIdRef, .quantifier = .variadic },
7468 },
7469 },
7470 .{
7471 .name = "OpKill",
7472 .opcode = 252,
7473 .operands = &[_]Operand{},
7474 },
7475 .{
7476 .name = "OpReturn",
7477 .opcode = 253,
7478 .operands = &[_]Operand{},
7479 },
7480 .{
7481 .name = "OpReturnValue",
7482 .opcode = 254,
7483 .operands = &[_]Operand{
7484 .{ .kind = .IdRef, .quantifier = .required },
7485 },
7486 },
7487 .{
7488 .name = "OpUnreachable",
7489 .opcode = 255,
7490 .operands = &[_]Operand{},
7491 },
7492 .{
7493 .name = "OpLifetimeStart",
7494 .opcode = 256,
7495 .operands = &[_]Operand{
7496 .{ .kind = .IdRef, .quantifier = .required },
7497 .{ .kind = .LiteralInteger, .quantifier = .required },
7498 },
7499 },
7500 .{
7501 .name = "OpLifetimeStop",
7502 .opcode = 257,
7503 .operands = &[_]Operand{
7504 .{ .kind = .IdRef, .quantifier = .required },
7505 .{ .kind = .LiteralInteger, .quantifier = .required },
7506 },
7507 },
7508 .{
7509 .name = "OpGroupAsyncCopy",
7510 .opcode = 259,
7511 .operands = &[_]Operand{
7512 .{ .kind = .IdResultType, .quantifier = .required },
7513 .{ .kind = .IdResult, .quantifier = .required },
7514 .{ .kind = .IdScope, .quantifier = .required },
7515 .{ .kind = .IdRef, .quantifier = .required },
7516 .{ .kind = .IdRef, .quantifier = .required },
7517 .{ .kind = .IdRef, .quantifier = .required },
7518 .{ .kind = .IdRef, .quantifier = .required },
7519 .{ .kind = .IdRef, .quantifier = .required },
7520 },
7521 },
7522 .{
7523 .name = "OpGroupWaitEvents",
7524 .opcode = 260,
7525 .operands = &[_]Operand{
7526 .{ .kind = .IdScope, .quantifier = .required },
7527 .{ .kind = .IdRef, .quantifier = .required },
7528 .{ .kind = .IdRef, .quantifier = .required },
7529 },
7530 },
7531 .{
7532 .name = "OpGroupAll",
7533 .opcode = 261,
7534 .operands = &[_]Operand{
7535 .{ .kind = .IdResultType, .quantifier = .required },
7536 .{ .kind = .IdResult, .quantifier = .required },
7537 .{ .kind = .IdScope, .quantifier = .required },
7538 .{ .kind = .IdRef, .quantifier = .required },
7539 },
7540 },
7541 .{
7542 .name = "OpGroupAny",
7543 .opcode = 262,
7544 .operands = &[_]Operand{
7545 .{ .kind = .IdResultType, .quantifier = .required },
7546 .{ .kind = .IdResult, .quantifier = .required },
7547 .{ .kind = .IdScope, .quantifier = .required },
7548 .{ .kind = .IdRef, .quantifier = .required },
7549 },
7550 },
7551 .{
7552 .name = "OpGroupBroadcast",
7553 .opcode = 263,
7554 .operands = &[_]Operand{
7555 .{ .kind = .IdResultType, .quantifier = .required },
7556 .{ .kind = .IdResult, .quantifier = .required },
7557 .{ .kind = .IdScope, .quantifier = .required },
7558 .{ .kind = .IdRef, .quantifier = .required },
7559 .{ .kind = .IdRef, .quantifier = .required },
7560 },
7561 },
7562 .{
7563 .name = "OpGroupIAdd",
7564 .opcode = 264,
7565 .operands = &[_]Operand{
7566 .{ .kind = .IdResultType, .quantifier = .required },
7567 .{ .kind = .IdResult, .quantifier = .required },
7568 .{ .kind = .IdScope, .quantifier = .required },
7569 .{ .kind = .GroupOperation, .quantifier = .required },
7570 .{ .kind = .IdRef, .quantifier = .required },
7571 },
7572 },
7573 .{
7574 .name = "OpGroupFAdd",
7575 .opcode = 265,
7576 .operands = &[_]Operand{
7577 .{ .kind = .IdResultType, .quantifier = .required },
7578 .{ .kind = .IdResult, .quantifier = .required },
7579 .{ .kind = .IdScope, .quantifier = .required },
7580 .{ .kind = .GroupOperation, .quantifier = .required },
7581 .{ .kind = .IdRef, .quantifier = .required },
7582 },
7583 },
7584 .{
7585 .name = "OpGroupFMin",
7586 .opcode = 266,
7587 .operands = &[_]Operand{
7588 .{ .kind = .IdResultType, .quantifier = .required },
7589 .{ .kind = .IdResult, .quantifier = .required },
7590 .{ .kind = .IdScope, .quantifier = .required },
7591 .{ .kind = .GroupOperation, .quantifier = .required },
7592 .{ .kind = .IdRef, .quantifier = .required },
7593 },
7594 },
7595 .{
7596 .name = "OpGroupUMin",
7597 .opcode = 267,
7598 .operands = &[_]Operand{
7599 .{ .kind = .IdResultType, .quantifier = .required },
7600 .{ .kind = .IdResult, .quantifier = .required },
7601 .{ .kind = .IdScope, .quantifier = .required },
7602 .{ .kind = .GroupOperation, .quantifier = .required },
7603 .{ .kind = .IdRef, .quantifier = .required },
7604 },
7605 },
7606 .{
7607 .name = "OpGroupSMin",
7608 .opcode = 268,
7609 .operands = &[_]Operand{
7610 .{ .kind = .IdResultType, .quantifier = .required },
7611 .{ .kind = .IdResult, .quantifier = .required },
7612 .{ .kind = .IdScope, .quantifier = .required },
7613 .{ .kind = .GroupOperation, .quantifier = .required },
7614 .{ .kind = .IdRef, .quantifier = .required },
7615 },
7616 },
7617 .{
7618 .name = "OpGroupFMax",
7619 .opcode = 269,
7620 .operands = &[_]Operand{
7621 .{ .kind = .IdResultType, .quantifier = .required },
7622 .{ .kind = .IdResult, .quantifier = .required },
7623 .{ .kind = .IdScope, .quantifier = .required },
7624 .{ .kind = .GroupOperation, .quantifier = .required },
7625 .{ .kind = .IdRef, .quantifier = .required },
7626 },
7627 },
7628 .{
7629 .name = "OpGroupUMax",
7630 .opcode = 270,
7631 .operands = &[_]Operand{
7632 .{ .kind = .IdResultType, .quantifier = .required },
7633 .{ .kind = .IdResult, .quantifier = .required },
7634 .{ .kind = .IdScope, .quantifier = .required },
7635 .{ .kind = .GroupOperation, .quantifier = .required },
7636 .{ .kind = .IdRef, .quantifier = .required },
7637 },
7638 },
7639 .{
7640 .name = "OpGroupSMax",
7641 .opcode = 271,
7642 .operands = &[_]Operand{
7643 .{ .kind = .IdResultType, .quantifier = .required },
7644 .{ .kind = .IdResult, .quantifier = .required },
7645 .{ .kind = .IdScope, .quantifier = .required },
7646 .{ .kind = .GroupOperation, .quantifier = .required },
7647 .{ .kind = .IdRef, .quantifier = .required },
7648 },
7649 },
7650 .{
7651 .name = "OpReadPipe",
7652 .opcode = 274,
7653 .operands = &[_]Operand{
7654 .{ .kind = .IdResultType, .quantifier = .required },
7655 .{ .kind = .IdResult, .quantifier = .required },
7656 .{ .kind = .IdRef, .quantifier = .required },
7657 .{ .kind = .IdRef, .quantifier = .required },
7658 .{ .kind = .IdRef, .quantifier = .required },
7659 .{ .kind = .IdRef, .quantifier = .required },
7660 },
7661 },
7662 .{
7663 .name = "OpWritePipe",
7664 .opcode = 275,
7665 .operands = &[_]Operand{
7666 .{ .kind = .IdResultType, .quantifier = .required },
7667 .{ .kind = .IdResult, .quantifier = .required },
7668 .{ .kind = .IdRef, .quantifier = .required },
7669 .{ .kind = .IdRef, .quantifier = .required },
7670 .{ .kind = .IdRef, .quantifier = .required },
7671 .{ .kind = .IdRef, .quantifier = .required },
7672 },
7673 },
7674 .{
7675 .name = "OpReservedReadPipe",
7676 .opcode = 276,
7677 .operands = &[_]Operand{
7678 .{ .kind = .IdResultType, .quantifier = .required },
7679 .{ .kind = .IdResult, .quantifier = .required },
7680 .{ .kind = .IdRef, .quantifier = .required },
7681 .{ .kind = .IdRef, .quantifier = .required },
7682 .{ .kind = .IdRef, .quantifier = .required },
7683 .{ .kind = .IdRef, .quantifier = .required },
7684 .{ .kind = .IdRef, .quantifier = .required },
7685 .{ .kind = .IdRef, .quantifier = .required },
7686 },
7687 },
7688 .{
7689 .name = "OpReservedWritePipe",
7690 .opcode = 277,
7691 .operands = &[_]Operand{
7692 .{ .kind = .IdResultType, .quantifier = .required },
7693 .{ .kind = .IdResult, .quantifier = .required },
7694 .{ .kind = .IdRef, .quantifier = .required },
7695 .{ .kind = .IdRef, .quantifier = .required },
7696 .{ .kind = .IdRef, .quantifier = .required },
7697 .{ .kind = .IdRef, .quantifier = .required },
7698 .{ .kind = .IdRef, .quantifier = .required },
7699 .{ .kind = .IdRef, .quantifier = .required },
7700 },
7701 },
7702 .{
7703 .name = "OpReserveReadPipePackets",
7704 .opcode = 278,
7705 .operands = &[_]Operand{
7706 .{ .kind = .IdResultType, .quantifier = .required },
7707 .{ .kind = .IdResult, .quantifier = .required },
7708 .{ .kind = .IdRef, .quantifier = .required },
7709 .{ .kind = .IdRef, .quantifier = .required },
7710 .{ .kind = .IdRef, .quantifier = .required },
7711 .{ .kind = .IdRef, .quantifier = .required },
7712 },
7713 },
7714 .{
7715 .name = "OpReserveWritePipePackets",
7716 .opcode = 279,
7717 .operands = &[_]Operand{
7718 .{ .kind = .IdResultType, .quantifier = .required },
7719 .{ .kind = .IdResult, .quantifier = .required },
7720 .{ .kind = .IdRef, .quantifier = .required },
7721 .{ .kind = .IdRef, .quantifier = .required },
7722 .{ .kind = .IdRef, .quantifier = .required },
7723 .{ .kind = .IdRef, .quantifier = .required },
7724 },
7725 },
7726 .{
7727 .name = "OpCommitReadPipe",
7728 .opcode = 280,
7729 .operands = &[_]Operand{
7730 .{ .kind = .IdRef, .quantifier = .required },
7731 .{ .kind = .IdRef, .quantifier = .required },
7732 .{ .kind = .IdRef, .quantifier = .required },
7733 .{ .kind = .IdRef, .quantifier = .required },
7734 },
7735 },
7736 .{
7737 .name = "OpCommitWritePipe",
7738 .opcode = 281,
7739 .operands = &[_]Operand{
7740 .{ .kind = .IdRef, .quantifier = .required },
7741 .{ .kind = .IdRef, .quantifier = .required },
7742 .{ .kind = .IdRef, .quantifier = .required },
7743 .{ .kind = .IdRef, .quantifier = .required },
7744 },
7745 },
7746 .{
7747 .name = "OpIsValidReserveId",
7748 .opcode = 282,
7749 .operands = &[_]Operand{
7750 .{ .kind = .IdResultType, .quantifier = .required },
7751 .{ .kind = .IdResult, .quantifier = .required },
7752 .{ .kind = .IdRef, .quantifier = .required },
7753 },
7754 },
7755 .{
7756 .name = "OpGetNumPipePackets",
7757 .opcode = 283,
7758 .operands = &[_]Operand{
7759 .{ .kind = .IdResultType, .quantifier = .required },
7760 .{ .kind = .IdResult, .quantifier = .required },
7761 .{ .kind = .IdRef, .quantifier = .required },
7762 .{ .kind = .IdRef, .quantifier = .required },
7763 .{ .kind = .IdRef, .quantifier = .required },
7764 },
7765 },
7766 .{
7767 .name = "OpGetMaxPipePackets",
7768 .opcode = 284,
7769 .operands = &[_]Operand{
7770 .{ .kind = .IdResultType, .quantifier = .required },
7771 .{ .kind = .IdResult, .quantifier = .required },
7772 .{ .kind = .IdRef, .quantifier = .required },
7773 .{ .kind = .IdRef, .quantifier = .required },
7774 .{ .kind = .IdRef, .quantifier = .required },
7775 },
7776 },
7777 .{
7778 .name = "OpGroupReserveReadPipePackets",
7779 .opcode = 285,
7780 .operands = &[_]Operand{
7781 .{ .kind = .IdResultType, .quantifier = .required },
7782 .{ .kind = .IdResult, .quantifier = .required },
7783 .{ .kind = .IdScope, .quantifier = .required },
7784 .{ .kind = .IdRef, .quantifier = .required },
7785 .{ .kind = .IdRef, .quantifier = .required },
7786 .{ .kind = .IdRef, .quantifier = .required },
7787 .{ .kind = .IdRef, .quantifier = .required },
7788 },
7789 },
7790 .{
7791 .name = "OpGroupReserveWritePipePackets",
7792 .opcode = 286,
7793 .operands = &[_]Operand{
7794 .{ .kind = .IdResultType, .quantifier = .required },
7795 .{ .kind = .IdResult, .quantifier = .required },
7796 .{ .kind = .IdScope, .quantifier = .required },
7797 .{ .kind = .IdRef, .quantifier = .required },
7798 .{ .kind = .IdRef, .quantifier = .required },
7799 .{ .kind = .IdRef, .quantifier = .required },
7800 .{ .kind = .IdRef, .quantifier = .required },
7801 },
7802 },
7803 .{
7804 .name = "OpGroupCommitReadPipe",
7805 .opcode = 287,
7806 .operands = &[_]Operand{
7807 .{ .kind = .IdScope, .quantifier = .required },
7808 .{ .kind = .IdRef, .quantifier = .required },
7809 .{ .kind = .IdRef, .quantifier = .required },
7810 .{ .kind = .IdRef, .quantifier = .required },
7811 .{ .kind = .IdRef, .quantifier = .required },
7812 },
7813 },
7814 .{
7815 .name = "OpGroupCommitWritePipe",
7816 .opcode = 288,
7817 .operands = &[_]Operand{
7818 .{ .kind = .IdScope, .quantifier = .required },
7819 .{ .kind = .IdRef, .quantifier = .required },
7820 .{ .kind = .IdRef, .quantifier = .required },
7821 .{ .kind = .IdRef, .quantifier = .required },
7822 .{ .kind = .IdRef, .quantifier = .required },
7823 },
7824 },
7825 .{
7826 .name = "OpEnqueueMarker",
7827 .opcode = 291,
7828 .operands = &[_]Operand{
7829 .{ .kind = .IdResultType, .quantifier = .required },
7830 .{ .kind = .IdResult, .quantifier = .required },
7831 .{ .kind = .IdRef, .quantifier = .required },
7832 .{ .kind = .IdRef, .quantifier = .required },
7833 .{ .kind = .IdRef, .quantifier = .required },
7834 .{ .kind = .IdRef, .quantifier = .required },
7835 },
7836 },
7837 .{
7838 .name = "OpEnqueueKernel",
7839 .opcode = 292,
7840 .operands = &[_]Operand{
7841 .{ .kind = .IdResultType, .quantifier = .required },
7842 .{ .kind = .IdResult, .quantifier = .required },
7843 .{ .kind = .IdRef, .quantifier = .required },
7844 .{ .kind = .IdRef, .quantifier = .required },
7845 .{ .kind = .IdRef, .quantifier = .required },
7846 .{ .kind = .IdRef, .quantifier = .required },
7847 .{ .kind = .IdRef, .quantifier = .required },
7848 .{ .kind = .IdRef, .quantifier = .required },
7849 .{ .kind = .IdRef, .quantifier = .required },
7850 .{ .kind = .IdRef, .quantifier = .required },
7851 .{ .kind = .IdRef, .quantifier = .required },
7852 .{ .kind = .IdRef, .quantifier = .required },
7853 .{ .kind = .IdRef, .quantifier = .variadic },
7854 },
7855 },
7856 .{
7857 .name = "OpGetKernelNDrangeSubGroupCount",
7858 .opcode = 293,
7859 .operands = &[_]Operand{
7860 .{ .kind = .IdResultType, .quantifier = .required },
7861 .{ .kind = .IdResult, .quantifier = .required },
7862 .{ .kind = .IdRef, .quantifier = .required },
7863 .{ .kind = .IdRef, .quantifier = .required },
7864 .{ .kind = .IdRef, .quantifier = .required },
7865 .{ .kind = .IdRef, .quantifier = .required },
7866 .{ .kind = .IdRef, .quantifier = .required },
7867 },
7868 },
7869 .{
7870 .name = "OpGetKernelNDrangeMaxSubGroupSize",
7871 .opcode = 294,
7872 .operands = &[_]Operand{
7873 .{ .kind = .IdResultType, .quantifier = .required },
7874 .{ .kind = .IdResult, .quantifier = .required },
7875 .{ .kind = .IdRef, .quantifier = .required },
7876 .{ .kind = .IdRef, .quantifier = .required },
7877 .{ .kind = .IdRef, .quantifier = .required },
7878 .{ .kind = .IdRef, .quantifier = .required },
7879 .{ .kind = .IdRef, .quantifier = .required },
7880 },
7881 },
7882 .{
7883 .name = "OpGetKernelWorkGroupSize",
7884 .opcode = 295,
7885 .operands = &[_]Operand{
7886 .{ .kind = .IdResultType, .quantifier = .required },
7887 .{ .kind = .IdResult, .quantifier = .required },
7888 .{ .kind = .IdRef, .quantifier = .required },
7889 .{ .kind = .IdRef, .quantifier = .required },
7890 .{ .kind = .IdRef, .quantifier = .required },
7891 .{ .kind = .IdRef, .quantifier = .required },
7892 },
7893 },
7894 .{
7895 .name = "OpGetKernelPreferredWorkGroupSizeMultiple",
7896 .opcode = 296,
7897 .operands = &[_]Operand{
7898 .{ .kind = .IdResultType, .quantifier = .required },
7899 .{ .kind = .IdResult, .quantifier = .required },
7900 .{ .kind = .IdRef, .quantifier = .required },
7901 .{ .kind = .IdRef, .quantifier = .required },
7902 .{ .kind = .IdRef, .quantifier = .required },
7903 .{ .kind = .IdRef, .quantifier = .required },
7904 },
7905 },
7906 .{
7907 .name = "OpRetainEvent",
7908 .opcode = 297,
7909 .operands = &[_]Operand{
7910 .{ .kind = .IdRef, .quantifier = .required },
7911 },
7912 },
7913 .{
7914 .name = "OpReleaseEvent",
7915 .opcode = 298,
7916 .operands = &[_]Operand{
7917 .{ .kind = .IdRef, .quantifier = .required },
7918 },
7919 },
7920 .{
7921 .name = "OpCreateUserEvent",
7922 .opcode = 299,
7923 .operands = &[_]Operand{
7924 .{ .kind = .IdResultType, .quantifier = .required },
7925 .{ .kind = .IdResult, .quantifier = .required },
7926 },
7927 },
7928 .{
7929 .name = "OpIsValidEvent",
7930 .opcode = 300,
7931 .operands = &[_]Operand{
7932 .{ .kind = .IdResultType, .quantifier = .required },
7933 .{ .kind = .IdResult, .quantifier = .required },
7934 .{ .kind = .IdRef, .quantifier = .required },
7935 },
7936 },
7937 .{
7938 .name = "OpSetUserEventStatus",
7939 .opcode = 301,
7940 .operands = &[_]Operand{
7941 .{ .kind = .IdRef, .quantifier = .required },
7942 .{ .kind = .IdRef, .quantifier = .required },
7943 },
7944 },
7945 .{
7946 .name = "OpCaptureEventProfilingInfo",
7947 .opcode = 302,
7948 .operands = &[_]Operand{
7949 .{ .kind = .IdRef, .quantifier = .required },
7950 .{ .kind = .IdRef, .quantifier = .required },
7951 .{ .kind = .IdRef, .quantifier = .required },
7952 },
7953 },
7954 .{
7955 .name = "OpGetDefaultQueue",
7956 .opcode = 303,
7957 .operands = &[_]Operand{
7958 .{ .kind = .IdResultType, .quantifier = .required },
7959 .{ .kind = .IdResult, .quantifier = .required },
7960 },
7961 },
7962 .{
7963 .name = "OpBuildNDRange",
7964 .opcode = 304,
7965 .operands = &[_]Operand{
7966 .{ .kind = .IdResultType, .quantifier = .required },
7967 .{ .kind = .IdResult, .quantifier = .required },
7968 .{ .kind = .IdRef, .quantifier = .required },
7969 .{ .kind = .IdRef, .quantifier = .required },
7970 .{ .kind = .IdRef, .quantifier = .required },
7971 },
7972 },
7973 .{
7974 .name = "OpImageSparseSampleImplicitLod",
7975 .opcode = 305,
7976 .operands = &[_]Operand{
7977 .{ .kind = .IdResultType, .quantifier = .required },
7978 .{ .kind = .IdResult, .quantifier = .required },
7979 .{ .kind = .IdRef, .quantifier = .required },
7980 .{ .kind = .IdRef, .quantifier = .required },
7981 .{ .kind = .ImageOperands, .quantifier = .optional },
7982 },
7983 },
7984 .{
7985 .name = "OpImageSparseSampleExplicitLod",
7986 .opcode = 306,
7987 .operands = &[_]Operand{
7988 .{ .kind = .IdResultType, .quantifier = .required },
7989 .{ .kind = .IdResult, .quantifier = .required },
7990 .{ .kind = .IdRef, .quantifier = .required },
7991 .{ .kind = .IdRef, .quantifier = .required },
7992 .{ .kind = .ImageOperands, .quantifier = .required },
7993 },
7994 },
7995 .{
7996 .name = "OpImageSparseSampleDrefImplicitLod",
7997 .opcode = 307,
7998 .operands = &[_]Operand{
7999 .{ .kind = .IdResultType, .quantifier = .required },
8000 .{ .kind = .IdResult, .quantifier = .required },
8001 .{ .kind = .IdRef, .quantifier = .required },
8002 .{ .kind = .IdRef, .quantifier = .required },
8003 .{ .kind = .IdRef, .quantifier = .required },
8004 .{ .kind = .ImageOperands, .quantifier = .optional },
8005 },
8006 },
8007 .{
8008 .name = "OpImageSparseSampleDrefExplicitLod",
8009 .opcode = 308,
8010 .operands = &[_]Operand{
8011 .{ .kind = .IdResultType, .quantifier = .required },
8012 .{ .kind = .IdResult, .quantifier = .required },
8013 .{ .kind = .IdRef, .quantifier = .required },
8014 .{ .kind = .IdRef, .quantifier = .required },
8015 .{ .kind = .IdRef, .quantifier = .required },
8016 .{ .kind = .ImageOperands, .quantifier = .required },
8017 },
8018 },
8019 .{
8020 .name = "OpImageSparseSampleProjImplicitLod",
8021 .opcode = 309,
8022 .operands = &[_]Operand{
8023 .{ .kind = .IdResultType, .quantifier = .required },
8024 .{ .kind = .IdResult, .quantifier = .required },
8025 .{ .kind = .IdRef, .quantifier = .required },
8026 .{ .kind = .IdRef, .quantifier = .required },
8027 .{ .kind = .ImageOperands, .quantifier = .optional },
8028 },
8029 },
8030 .{
8031 .name = "OpImageSparseSampleProjExplicitLod",
8032 .opcode = 310,
8033 .operands = &[_]Operand{
8034 .{ .kind = .IdResultType, .quantifier = .required },
8035 .{ .kind = .IdResult, .quantifier = .required },
8036 .{ .kind = .IdRef, .quantifier = .required },
8037 .{ .kind = .IdRef, .quantifier = .required },
8038 .{ .kind = .ImageOperands, .quantifier = .required },
8039 },
8040 },
8041 .{
8042 .name = "OpImageSparseSampleProjDrefImplicitLod",
8043 .opcode = 311,
8044 .operands = &[_]Operand{
8045 .{ .kind = .IdResultType, .quantifier = .required },
8046 .{ .kind = .IdResult, .quantifier = .required },
8047 .{ .kind = .IdRef, .quantifier = .required },
8048 .{ .kind = .IdRef, .quantifier = .required },
8049 .{ .kind = .IdRef, .quantifier = .required },
8050 .{ .kind = .ImageOperands, .quantifier = .optional },
8051 },
8052 },
8053 .{
8054 .name = "OpImageSparseSampleProjDrefExplicitLod",
8055 .opcode = 312,
8056 .operands = &[_]Operand{
8057 .{ .kind = .IdResultType, .quantifier = .required },
8058 .{ .kind = .IdResult, .quantifier = .required },
8059 .{ .kind = .IdRef, .quantifier = .required },
8060 .{ .kind = .IdRef, .quantifier = .required },
8061 .{ .kind = .IdRef, .quantifier = .required },
8062 .{ .kind = .ImageOperands, .quantifier = .required },
8063 },
8064 },
8065 .{
8066 .name = "OpImageSparseFetch",
8067 .opcode = 313,
8068 .operands = &[_]Operand{
8069 .{ .kind = .IdResultType, .quantifier = .required },
8070 .{ .kind = .IdResult, .quantifier = .required },
8071 .{ .kind = .IdRef, .quantifier = .required },
8072 .{ .kind = .IdRef, .quantifier = .required },
8073 .{ .kind = .ImageOperands, .quantifier = .optional },
8074 },
8075 },
8076 .{
8077 .name = "OpImageSparseGather",
8078 .opcode = 314,
8079 .operands = &[_]Operand{
8080 .{ .kind = .IdResultType, .quantifier = .required },
8081 .{ .kind = .IdResult, .quantifier = .required },
8082 .{ .kind = .IdRef, .quantifier = .required },
8083 .{ .kind = .IdRef, .quantifier = .required },
8084 .{ .kind = .IdRef, .quantifier = .required },
8085 .{ .kind = .ImageOperands, .quantifier = .optional },
8086 },
8087 },
8088 .{
8089 .name = "OpImageSparseDrefGather",
8090 .opcode = 315,
8091 .operands = &[_]Operand{
8092 .{ .kind = .IdResultType, .quantifier = .required },
8093 .{ .kind = .IdResult, .quantifier = .required },
8094 .{ .kind = .IdRef, .quantifier = .required },
8095 .{ .kind = .IdRef, .quantifier = .required },
8096 .{ .kind = .IdRef, .quantifier = .required },
8097 .{ .kind = .ImageOperands, .quantifier = .optional },
8098 },
8099 },
8100 .{
8101 .name = "OpImageSparseTexelsResident",
8102 .opcode = 316,
8103 .operands = &[_]Operand{
8104 .{ .kind = .IdResultType, .quantifier = .required },
8105 .{ .kind = .IdResult, .quantifier = .required },
8106 .{ .kind = .IdRef, .quantifier = .required },
8107 },
8108 },
8109 .{
8110 .name = "OpNoLine",
8111 .opcode = 317,
8112 .operands = &[_]Operand{},
8113 },
8114 .{
8115 .name = "OpAtomicFlagTestAndSet",
8116 .opcode = 318,
8117 .operands = &[_]Operand{
8118 .{ .kind = .IdResultType, .quantifier = .required },
8119 .{ .kind = .IdResult, .quantifier = .required },
8120 .{ .kind = .IdRef, .quantifier = .required },
8121 .{ .kind = .IdScope, .quantifier = .required },
8122 .{ .kind = .IdMemorySemantics, .quantifier = .required },
8123 },
8124 },
8125 .{
8126 .name = "OpAtomicFlagClear",
8127 .opcode = 319,
8128 .operands = &[_]Operand{
8129 .{ .kind = .IdRef, .quantifier = .required },
8130 .{ .kind = .IdScope, .quantifier = .required },
8131 .{ .kind = .IdMemorySemantics, .quantifier = .required },
8132 },
8133 },
8134 .{
8135 .name = "OpImageSparseRead",
8136 .opcode = 320,
8137 .operands = &[_]Operand{
8138 .{ .kind = .IdResultType, .quantifier = .required },
8139 .{ .kind = .IdResult, .quantifier = .required },
8140 .{ .kind = .IdRef, .quantifier = .required },
8141 .{ .kind = .IdRef, .quantifier = .required },
8142 .{ .kind = .ImageOperands, .quantifier = .optional },
8143 },
8144 },
8145 .{
8146 .name = "OpSizeOf",
8147 .opcode = 321,
8148 .operands = &[_]Operand{
8149 .{ .kind = .IdResultType, .quantifier = .required },
8150 .{ .kind = .IdResult, .quantifier = .required },
8151 .{ .kind = .IdRef, .quantifier = .required },
8152 },
8153 },
8154 .{
8155 .name = "OpTypePipeStorage",
8156 .opcode = 322,
8157 .operands = &[_]Operand{
8158 .{ .kind = .IdResult, .quantifier = .required },
8159 },
8160 },
8161 .{
8162 .name = "OpConstantPipeStorage",
8163 .opcode = 323,
8164 .operands = &[_]Operand{
8165 .{ .kind = .IdResultType, .quantifier = .required },
8166 .{ .kind = .IdResult, .quantifier = .required },
8167 .{ .kind = .LiteralInteger, .quantifier = .required },
8168 .{ .kind = .LiteralInteger, .quantifier = .required },
8169 .{ .kind = .LiteralInteger, .quantifier = .required },
8170 },
8171 },
8172 .{
8173 .name = "OpCreatePipeFromPipeStorage",
8174 .opcode = 324,
8175 .operands = &[_]Operand{
8176 .{ .kind = .IdResultType, .quantifier = .required },
8177 .{ .kind = .IdResult, .quantifier = .required },
8178 .{ .kind = .IdRef, .quantifier = .required },
8179 },
8180 },
8181 .{
8182 .name = "OpGetKernelLocalSizeForSubgroupCount",
8183 .opcode = 325,
8184 .operands = &[_]Operand{
8185 .{ .kind = .IdResultType, .quantifier = .required },
8186 .{ .kind = .IdResult, .quantifier = .required },
8187 .{ .kind = .IdRef, .quantifier = .required },
8188 .{ .kind = .IdRef, .quantifier = .required },
8189 .{ .kind = .IdRef, .quantifier = .required },
8190 .{ .kind = .IdRef, .quantifier = .required },
8191 .{ .kind = .IdRef, .quantifier = .required },
8192 },
8193 },
8194 .{
8195 .name = "OpGetKernelMaxNumSubgroups",
8196 .opcode = 326,
8197 .operands = &[_]Operand{
8198 .{ .kind = .IdResultType, .quantifier = .required },
8199 .{ .kind = .IdResult, .quantifier = .required },
8200 .{ .kind = .IdRef, .quantifier = .required },
8201 .{ .kind = .IdRef, .quantifier = .required },
8202 .{ .kind = .IdRef, .quantifier = .required },
8203 .{ .kind = .IdRef, .quantifier = .required },
8204 },
8205 },
8206 .{
8207 .name = "OpTypeNamedBarrier",
8208 .opcode = 327,
8209 .operands = &[_]Operand{
8210 .{ .kind = .IdResult, .quantifier = .required },
8211 },
8212 },
8213 .{
8214 .name = "OpNamedBarrierInitialize",
8215 .opcode = 328,
8216 .operands = &[_]Operand{
8217 .{ .kind = .IdResultType, .quantifier = .required },
8218 .{ .kind = .IdResult, .quantifier = .required },
8219 .{ .kind = .IdRef, .quantifier = .required },
8220 },
8221 },
8222 .{
8223 .name = "OpMemoryNamedBarrier",
8224 .opcode = 329,
8225 .operands = &[_]Operand{
8226 .{ .kind = .IdRef, .quantifier = .required },
8227 .{ .kind = .IdScope, .quantifier = .required },
8228 .{ .kind = .IdMemorySemantics, .quantifier = .required },
8229 },
8230 },
8231 .{
8232 .name = "OpModuleProcessed",
8233 .opcode = 330,
8234 .operands = &[_]Operand{
8235 .{ .kind = .LiteralString, .quantifier = .required },
8236 },
8237 },
8238 .{
8239 .name = "OpExecutionModeId",
8240 .opcode = 331,
8241 .operands = &[_]Operand{
8242 .{ .kind = .IdRef, .quantifier = .required },
8243 .{ .kind = .ExecutionMode, .quantifier = .required },
8244 },
8245 },
8246 .{
8247 .name = "OpDecorateId",
8248 .opcode = 332,
8249 .operands = &[_]Operand{
8250 .{ .kind = .IdRef, .quantifier = .required },
8251 .{ .kind = .Decoration, .quantifier = .required },
8252 },
8253 },
8254 .{
8255 .name = "OpGroupNonUniformElect",
8256 .opcode = 333,
8257 .operands = &[_]Operand{
8258 .{ .kind = .IdResultType, .quantifier = .required },
8259 .{ .kind = .IdResult, .quantifier = .required },
8260 .{ .kind = .IdScope, .quantifier = .required },
8261 },
8262 },
8263 .{
8264 .name = "OpGroupNonUniformAll",
8265 .opcode = 334,
8266 .operands = &[_]Operand{
8267 .{ .kind = .IdResultType, .quantifier = .required },
8268 .{ .kind = .IdResult, .quantifier = .required },
8269 .{ .kind = .IdScope, .quantifier = .required },
8270 .{ .kind = .IdRef, .quantifier = .required },
8271 },
8272 },
8273 .{
8274 .name = "OpGroupNonUniformAny",
8275 .opcode = 335,
8276 .operands = &[_]Operand{
8277 .{ .kind = .IdResultType, .quantifier = .required },
8278 .{ .kind = .IdResult, .quantifier = .required },
8279 .{ .kind = .IdScope, .quantifier = .required },
8280 .{ .kind = .IdRef, .quantifier = .required },
8281 },
8282 },
8283 .{
8284 .name = "OpGroupNonUniformAllEqual",
8285 .opcode = 336,
8286 .operands = &[_]Operand{
8287 .{ .kind = .IdResultType, .quantifier = .required },
8288 .{ .kind = .IdResult, .quantifier = .required },
8289 .{ .kind = .IdScope, .quantifier = .required },
8290 .{ .kind = .IdRef, .quantifier = .required },
8291 },
8292 },
8293 .{
8294 .name = "OpGroupNonUniformBroadcast",
8295 .opcode = 337,
8296 .operands = &[_]Operand{
8297 .{ .kind = .IdResultType, .quantifier = .required },
8298 .{ .kind = .IdResult, .quantifier = .required },
8299 .{ .kind = .IdScope, .quantifier = .required },
8300 .{ .kind = .IdRef, .quantifier = .required },
8301 .{ .kind = .IdRef, .quantifier = .required },
8302 },
8303 },
8304 .{
8305 .name = "OpGroupNonUniformBroadcastFirst",
8306 .opcode = 338,
8307 .operands = &[_]Operand{
8308 .{ .kind = .IdResultType, .quantifier = .required },
8309 .{ .kind = .IdResult, .quantifier = .required },
8310 .{ .kind = .IdScope, .quantifier = .required },
8311 .{ .kind = .IdRef, .quantifier = .required },
8312 },
8313 },
8314 .{
8315 .name = "OpGroupNonUniformBallot",
8316 .opcode = 339,
8317 .operands = &[_]Operand{
8318 .{ .kind = .IdResultType, .quantifier = .required },
8319 .{ .kind = .IdResult, .quantifier = .required },
8320 .{ .kind = .IdScope, .quantifier = .required },
8321 .{ .kind = .IdRef, .quantifier = .required },
8322 },
8323 },
8324 .{
8325 .name = "OpGroupNonUniformInverseBallot",
8326 .opcode = 340,
8327 .operands = &[_]Operand{
8328 .{ .kind = .IdResultType, .quantifier = .required },
8329 .{ .kind = .IdResult, .quantifier = .required },
8330 .{ .kind = .IdScope, .quantifier = .required },
8331 .{ .kind = .IdRef, .quantifier = .required },
8332 },
8333 },
8334 .{
8335 .name = "OpGroupNonUniformBallotBitExtract",
8336 .opcode = 341,
8337 .operands = &[_]Operand{
8338 .{ .kind = .IdResultType, .quantifier = .required },
8339 .{ .kind = .IdResult, .quantifier = .required },
8340 .{ .kind = .IdScope, .quantifier = .required },
8341 .{ .kind = .IdRef, .quantifier = .required },
8342 .{ .kind = .IdRef, .quantifier = .required },
8343 },
8344 },
8345 .{
8346 .name = "OpGroupNonUniformBallotBitCount",
8347 .opcode = 342,
8348 .operands = &[_]Operand{
8349 .{ .kind = .IdResultType, .quantifier = .required },
8350 .{ .kind = .IdResult, .quantifier = .required },
8351 .{ .kind = .IdScope, .quantifier = .required },
8352 .{ .kind = .GroupOperation, .quantifier = .required },
8353 .{ .kind = .IdRef, .quantifier = .required },
8354 },
8355 },
8356 .{
8357 .name = "OpGroupNonUniformBallotFindLSB",
8358 .opcode = 343,
8359 .operands = &[_]Operand{
8360 .{ .kind = .IdResultType, .quantifier = .required },
8361 .{ .kind = .IdResult, .quantifier = .required },
8362 .{ .kind = .IdScope, .quantifier = .required },
8363 .{ .kind = .IdRef, .quantifier = .required },
8364 },
8365 },
8366 .{
8367 .name = "OpGroupNonUniformBallotFindMSB",
8368 .opcode = 344,
8369 .operands = &[_]Operand{
8370 .{ .kind = .IdResultType, .quantifier = .required },
8371 .{ .kind = .IdResult, .quantifier = .required },
8372 .{ .kind = .IdScope, .quantifier = .required },
8373 .{ .kind = .IdRef, .quantifier = .required },
8374 },
8375 },
8376 .{
8377 .name = "OpGroupNonUniformShuffle",
8378 .opcode = 345,
8379 .operands = &[_]Operand{
8380 .{ .kind = .IdResultType, .quantifier = .required },
8381 .{ .kind = .IdResult, .quantifier = .required },
8382 .{ .kind = .IdScope, .quantifier = .required },
8383 .{ .kind = .IdRef, .quantifier = .required },
8384 .{ .kind = .IdRef, .quantifier = .required },
8385 },
8386 },
8387 .{
8388 .name = "OpGroupNonUniformShuffleXor",
8389 .opcode = 346,
8390 .operands = &[_]Operand{
8391 .{ .kind = .IdResultType, .quantifier = .required },
8392 .{ .kind = .IdResult, .quantifier = .required },
8393 .{ .kind = .IdScope, .quantifier = .required },
8394 .{ .kind = .IdRef, .quantifier = .required },
8395 .{ .kind = .IdRef, .quantifier = .required },
8396 },
8397 },
8398 .{
8399 .name = "OpGroupNonUniformShuffleUp",
8400 .opcode = 347,
8401 .operands = &[_]Operand{
8402 .{ .kind = .IdResultType, .quantifier = .required },
8403 .{ .kind = .IdResult, .quantifier = .required },
8404 .{ .kind = .IdScope, .quantifier = .required },
8405 .{ .kind = .IdRef, .quantifier = .required },
8406 .{ .kind = .IdRef, .quantifier = .required },
8407 },
8408 },
8409 .{
8410 .name = "OpGroupNonUniformShuffleDown",
8411 .opcode = 348,
8412 .operands = &[_]Operand{
8413 .{ .kind = .IdResultType, .quantifier = .required },
8414 .{ .kind = .IdResult, .quantifier = .required },
8415 .{ .kind = .IdScope, .quantifier = .required },
8416 .{ .kind = .IdRef, .quantifier = .required },
8417 .{ .kind = .IdRef, .quantifier = .required },
8418 },
8419 },
8420 .{
8421 .name = "OpGroupNonUniformIAdd",
8422 .opcode = 349,
8423 .operands = &[_]Operand{
8424 .{ .kind = .IdResultType, .quantifier = .required },
8425 .{ .kind = .IdResult, .quantifier = .required },
8426 .{ .kind = .IdScope, .quantifier = .required },
8427 .{ .kind = .GroupOperation, .quantifier = .required },
8428 .{ .kind = .IdRef, .quantifier = .required },
8429 .{ .kind = .IdRef, .quantifier = .optional },
8430 },
8431 },
8432 .{
8433 .name = "OpGroupNonUniformFAdd",
8434 .opcode = 350,
8435 .operands = &[_]Operand{
8436 .{ .kind = .IdResultType, .quantifier = .required },
8437 .{ .kind = .IdResult, .quantifier = .required },
8438 .{ .kind = .IdScope, .quantifier = .required },
8439 .{ .kind = .GroupOperation, .quantifier = .required },
8440 .{ .kind = .IdRef, .quantifier = .required },
8441 .{ .kind = .IdRef, .quantifier = .optional },
8442 },
8443 },
8444 .{
8445 .name = "OpGroupNonUniformIMul",
8446 .opcode = 351,
8447 .operands = &[_]Operand{
8448 .{ .kind = .IdResultType, .quantifier = .required },
8449 .{ .kind = .IdResult, .quantifier = .required },
8450 .{ .kind = .IdScope, .quantifier = .required },
8451 .{ .kind = .GroupOperation, .quantifier = .required },
8452 .{ .kind = .IdRef, .quantifier = .required },
8453 .{ .kind = .IdRef, .quantifier = .optional },
8454 },
8455 },
8456 .{
8457 .name = "OpGroupNonUniformFMul",
8458 .opcode = 352,
8459 .operands = &[_]Operand{
8460 .{ .kind = .IdResultType, .quantifier = .required },
8461 .{ .kind = .IdResult, .quantifier = .required },
8462 .{ .kind = .IdScope, .quantifier = .required },
8463 .{ .kind = .GroupOperation, .quantifier = .required },
8464 .{ .kind = .IdRef, .quantifier = .required },
8465 .{ .kind = .IdRef, .quantifier = .optional },
8466 },
8467 },
8468 .{
8469 .name = "OpGroupNonUniformSMin",
8470 .opcode = 353,
8471 .operands = &[_]Operand{
8472 .{ .kind = .IdResultType, .quantifier = .required },
8473 .{ .kind = .IdResult, .quantifier = .required },
8474 .{ .kind = .IdScope, .quantifier = .required },
8475 .{ .kind = .GroupOperation, .quantifier = .required },
8476 .{ .kind = .IdRef, .quantifier = .required },
8477 .{ .kind = .IdRef, .quantifier = .optional },
8478 },
8479 },
8480 .{
8481 .name = "OpGroupNonUniformUMin",
8482 .opcode = 354,
8483 .operands = &[_]Operand{
8484 .{ .kind = .IdResultType, .quantifier = .required },
8485 .{ .kind = .IdResult, .quantifier = .required },
8486 .{ .kind = .IdScope, .quantifier = .required },
8487 .{ .kind = .GroupOperation, .quantifier = .required },
8488 .{ .kind = .IdRef, .quantifier = .required },
8489 .{ .kind = .IdRef, .quantifier = .optional },
8490 },
8491 },
8492 .{
8493 .name = "OpGroupNonUniformFMin",
8494 .opcode = 355,
8495 .operands = &[_]Operand{
8496 .{ .kind = .IdResultType, .quantifier = .required },
8497 .{ .kind = .IdResult, .quantifier = .required },
8498 .{ .kind = .IdScope, .quantifier = .required },
8499 .{ .kind = .GroupOperation, .quantifier = .required },
8500 .{ .kind = .IdRef, .quantifier = .required },
8501 .{ .kind = .IdRef, .quantifier = .optional },
8502 },
8503 },
8504 .{
8505 .name = "OpGroupNonUniformSMax",
8506 .opcode = 356,
8507 .operands = &[_]Operand{
8508 .{ .kind = .IdResultType, .quantifier = .required },
8509 .{ .kind = .IdResult, .quantifier = .required },
8510 .{ .kind = .IdScope, .quantifier = .required },
8511 .{ .kind = .GroupOperation, .quantifier = .required },
8512 .{ .kind = .IdRef, .quantifier = .required },
8513 .{ .kind = .IdRef, .quantifier = .optional },
8514 },
8515 },
8516 .{
8517 .name = "OpGroupNonUniformUMax",
8518 .opcode = 357,
8519 .operands = &[_]Operand{
8520 .{ .kind = .IdResultType, .quantifier = .required },
8521 .{ .kind = .IdResult, .quantifier = .required },
8522 .{ .kind = .IdScope, .quantifier = .required },
8523 .{ .kind = .GroupOperation, .quantifier = .required },
8524 .{ .kind = .IdRef, .quantifier = .required },
8525 .{ .kind = .IdRef, .quantifier = .optional },
8526 },
8527 },
8528 .{
8529 .name = "OpGroupNonUniformFMax",
8530 .opcode = 358,
8531 .operands = &[_]Operand{
8532 .{ .kind = .IdResultType, .quantifier = .required },
8533 .{ .kind = .IdResult, .quantifier = .required },
8534 .{ .kind = .IdScope, .quantifier = .required },
8535 .{ .kind = .GroupOperation, .quantifier = .required },
8536 .{ .kind = .IdRef, .quantifier = .required },
8537 .{ .kind = .IdRef, .quantifier = .optional },
8538 },
8539 },
8540 .{
8541 .name = "OpGroupNonUniformBitwiseAnd",
8542 .opcode = 359,
8543 .operands = &[_]Operand{
8544 .{ .kind = .IdResultType, .quantifier = .required },
8545 .{ .kind = .IdResult, .quantifier = .required },
8546 .{ .kind = .IdScope, .quantifier = .required },
8547 .{ .kind = .GroupOperation, .quantifier = .required },
8548 .{ .kind = .IdRef, .quantifier = .required },
8549 .{ .kind = .IdRef, .quantifier = .optional },
8550 },
8551 },
8552 .{
8553 .name = "OpGroupNonUniformBitwiseOr",
8554 .opcode = 360,
8555 .operands = &[_]Operand{
8556 .{ .kind = .IdResultType, .quantifier = .required },
8557 .{ .kind = .IdResult, .quantifier = .required },
8558 .{ .kind = .IdScope, .quantifier = .required },
8559 .{ .kind = .GroupOperation, .quantifier = .required },
8560 .{ .kind = .IdRef, .quantifier = .required },
8561 .{ .kind = .IdRef, .quantifier = .optional },
8562 },
8563 },
8564 .{
8565 .name = "OpGroupNonUniformBitwiseXor",
8566 .opcode = 361,
8567 .operands = &[_]Operand{
8568 .{ .kind = .IdResultType, .quantifier = .required },
8569 .{ .kind = .IdResult, .quantifier = .required },
8570 .{ .kind = .IdScope, .quantifier = .required },
8571 .{ .kind = .GroupOperation, .quantifier = .required },
8572 .{ .kind = .IdRef, .quantifier = .required },
8573 .{ .kind = .IdRef, .quantifier = .optional },
8574 },
8575 },
8576 .{
8577 .name = "OpGroupNonUniformLogicalAnd",
8578 .opcode = 362,
8579 .operands = &[_]Operand{
8580 .{ .kind = .IdResultType, .quantifier = .required },
8581 .{ .kind = .IdResult, .quantifier = .required },
8582 .{ .kind = .IdScope, .quantifier = .required },
8583 .{ .kind = .GroupOperation, .quantifier = .required },
8584 .{ .kind = .IdRef, .quantifier = .required },
8585 .{ .kind = .IdRef, .quantifier = .optional },
8586 },
8587 },
8588 .{
8589 .name = "OpGroupNonUniformLogicalOr",
8590 .opcode = 363,
8591 .operands = &[_]Operand{
8592 .{ .kind = .IdResultType, .quantifier = .required },
8593 .{ .kind = .IdResult, .quantifier = .required },
8594 .{ .kind = .IdScope, .quantifier = .required },
8595 .{ .kind = .GroupOperation, .quantifier = .required },
8596 .{ .kind = .IdRef, .quantifier = .required },
8597 .{ .kind = .IdRef, .quantifier = .optional },
8598 },
8599 },
8600 .{
8601 .name = "OpGroupNonUniformLogicalXor",
8602 .opcode = 364,
8603 .operands = &[_]Operand{
8604 .{ .kind = .IdResultType, .quantifier = .required },
8605 .{ .kind = .IdResult, .quantifier = .required },
8606 .{ .kind = .IdScope, .quantifier = .required },
8607 .{ .kind = .GroupOperation, .quantifier = .required },
8608 .{ .kind = .IdRef, .quantifier = .required },
8609 .{ .kind = .IdRef, .quantifier = .optional },
8610 },
8611 },
8612 .{
8613 .name = "OpGroupNonUniformQuadBroadcast",
8614 .opcode = 365,
8615 .operands = &[_]Operand{
8616 .{ .kind = .IdResultType, .quantifier = .required },
8617 .{ .kind = .IdResult, .quantifier = .required },
8618 .{ .kind = .IdScope, .quantifier = .required },
8619 .{ .kind = .IdRef, .quantifier = .required },
8620 .{ .kind = .IdRef, .quantifier = .required },
8621 },
8622 },
8623 .{
8624 .name = "OpGroupNonUniformQuadSwap",
8625 .opcode = 366,
8626 .operands = &[_]Operand{
8627 .{ .kind = .IdResultType, .quantifier = .required },
8628 .{ .kind = .IdResult, .quantifier = .required },
8629 .{ .kind = .IdScope, .quantifier = .required },
8630 .{ .kind = .IdRef, .quantifier = .required },
8631 .{ .kind = .IdRef, .quantifier = .required },
8632 },
8633 },
8634 .{
8635 .name = "OpCopyLogical",
8636 .opcode = 400,
8637 .operands = &[_]Operand{
8638 .{ .kind = .IdResultType, .quantifier = .required },
8639 .{ .kind = .IdResult, .quantifier = .required },
8640 .{ .kind = .IdRef, .quantifier = .required },
8641 },
8642 },
8643 .{
8644 .name = "OpPtrEqual",
8645 .opcode = 401,
8646 .operands = &[_]Operand{
8647 .{ .kind = .IdResultType, .quantifier = .required },
8648 .{ .kind = .IdResult, .quantifier = .required },
8649 .{ .kind = .IdRef, .quantifier = .required },
8650 .{ .kind = .IdRef, .quantifier = .required },
8651 },
8652 },
8653 .{
8654 .name = "OpPtrNotEqual",
8655 .opcode = 402,
8656 .operands = &[_]Operand{
8657 .{ .kind = .IdResultType, .quantifier = .required },
8658 .{ .kind = .IdResult, .quantifier = .required },
8659 .{ .kind = .IdRef, .quantifier = .required },
8660 .{ .kind = .IdRef, .quantifier = .required },
8661 },
8662 },
8663 .{
8664 .name = "OpPtrDiff",
8665 .opcode = 403,
8666 .operands = &[_]Operand{
8667 .{ .kind = .IdResultType, .quantifier = .required },
8668 .{ .kind = .IdResult, .quantifier = .required },
8669 .{ .kind = .IdRef, .quantifier = .required },
8670 .{ .kind = .IdRef, .quantifier = .required },
8671 },
8672 },
8673 .{
8674 .name = "OpColorAttachmentReadEXT",
8675 .opcode = 4160,
8676 .operands = &[_]Operand{
8677 .{ .kind = .IdResultType, .quantifier = .required },
8678 .{ .kind = .IdResult, .quantifier = .required },
8679 .{ .kind = .IdRef, .quantifier = .required },
8680 .{ .kind = .IdRef, .quantifier = .optional },
8681 },
8682 },
8683 .{
8684 .name = "OpDepthAttachmentReadEXT",
8685 .opcode = 4161,
8686 .operands = &[_]Operand{
8687 .{ .kind = .IdResultType, .quantifier = .required },
8688 .{ .kind = .IdResult, .quantifier = .required },
8689 .{ .kind = .IdRef, .quantifier = .optional },
8690 },
8691 },
8692 .{
8693 .name = "OpStencilAttachmentReadEXT",
8694 .opcode = 4162,
8695 .operands = &[_]Operand{
8696 .{ .kind = .IdResultType, .quantifier = .required },
8697 .{ .kind = .IdResult, .quantifier = .required },
8698 .{ .kind = .IdRef, .quantifier = .optional },
8699 },
8700 },
8701 .{
8702 .name = "OpTerminateInvocation",
8703 .opcode = 4416,
8704 .operands = &[_]Operand{},
8705 },
8706 .{
8707 .name = "OpSubgroupBallotKHR",
8708 .opcode = 4421,
8709 .operands = &[_]Operand{
8710 .{ .kind = .IdResultType, .quantifier = .required },
8711 .{ .kind = .IdResult, .quantifier = .required },
8712 .{ .kind = .IdRef, .quantifier = .required },
8713 },
8714 },
8715 .{
8716 .name = "OpSubgroupFirstInvocationKHR",
8717 .opcode = 4422,
8718 .operands = &[_]Operand{
8719 .{ .kind = .IdResultType, .quantifier = .required },
8720 .{ .kind = .IdResult, .quantifier = .required },
8721 .{ .kind = .IdRef, .quantifier = .required },
8722 },
8723 },
8724 .{
8725 .name = "OpSubgroupAllKHR",
8726 .opcode = 4428,
8727 .operands = &[_]Operand{
8728 .{ .kind = .IdResultType, .quantifier = .required },
8729 .{ .kind = .IdResult, .quantifier = .required },
8730 .{ .kind = .IdRef, .quantifier = .required },
8731 },
8732 },
8733 .{
8734 .name = "OpSubgroupAnyKHR",
8735 .opcode = 4429,
8736 .operands = &[_]Operand{
8737 .{ .kind = .IdResultType, .quantifier = .required },
8738 .{ .kind = .IdResult, .quantifier = .required },
8739 .{ .kind = .IdRef, .quantifier = .required },
8740 },
8741 },
8742 .{
8743 .name = "OpSubgroupAllEqualKHR",
8744 .opcode = 4430,
8745 .operands = &[_]Operand{
8746 .{ .kind = .IdResultType, .quantifier = .required },
8747 .{ .kind = .IdResult, .quantifier = .required },
8748 .{ .kind = .IdRef, .quantifier = .required },
8749 },
8750 },
8751 .{
8752 .name = "OpGroupNonUniformRotateKHR",
8753 .opcode = 4431,
8754 .operands = &[_]Operand{
8755 .{ .kind = .IdResultType, .quantifier = .required },
8756 .{ .kind = .IdResult, .quantifier = .required },
8757 .{ .kind = .IdScope, .quantifier = .required },
8758 .{ .kind = .IdRef, .quantifier = .required },
8759 .{ .kind = .IdRef, .quantifier = .required },
8760 .{ .kind = .IdRef, .quantifier = .optional },
8761 },
8762 },
8763 .{
8764 .name = "OpSubgroupReadInvocationKHR",
8765 .opcode = 4432,
8766 .operands = &[_]Operand{
8767 .{ .kind = .IdResultType, .quantifier = .required },
8768 .{ .kind = .IdResult, .quantifier = .required },
8769 .{ .kind = .IdRef, .quantifier = .required },
8770 .{ .kind = .IdRef, .quantifier = .required },
8771 },
8772 },
8773 .{
8774 .name = "OpTraceRayKHR",
8775 .opcode = 4445,
8776 .operands = &[_]Operand{
8777 .{ .kind = .IdRef, .quantifier = .required },
8778 .{ .kind = .IdRef, .quantifier = .required },
8779 .{ .kind = .IdRef, .quantifier = .required },
8780 .{ .kind = .IdRef, .quantifier = .required },
8781 .{ .kind = .IdRef, .quantifier = .required },
8782 .{ .kind = .IdRef, .quantifier = .required },
8783 .{ .kind = .IdRef, .quantifier = .required },
8784 .{ .kind = .IdRef, .quantifier = .required },
8785 .{ .kind = .IdRef, .quantifier = .required },
8786 .{ .kind = .IdRef, .quantifier = .required },
8787 .{ .kind = .IdRef, .quantifier = .required },
8788 },
8789 },
8790 .{
8791 .name = "OpExecuteCallableKHR",
8792 .opcode = 4446,
8793 .operands = &[_]Operand{
8794 .{ .kind = .IdRef, .quantifier = .required },
8795 .{ .kind = .IdRef, .quantifier = .required },
8796 },
8797 },
8798 .{
8799 .name = "OpConvertUToAccelerationStructureKHR",
8800 .opcode = 4447,
8801 .operands = &[_]Operand{
8802 .{ .kind = .IdResultType, .quantifier = .required },
8803 .{ .kind = .IdResult, .quantifier = .required },
8804 .{ .kind = .IdRef, .quantifier = .required },
8805 },
8806 },
8807 .{
8808 .name = "OpIgnoreIntersectionKHR",
8809 .opcode = 4448,
8810 .operands = &[_]Operand{},
8811 },
8812 .{
8813 .name = "OpTerminateRayKHR",
8814 .opcode = 4449,
8815 .operands = &[_]Operand{},
8816 },
8817 .{
8818 .name = "OpSDot",
8819 .opcode = 4450,
8820 .operands = &[_]Operand{
8821 .{ .kind = .IdResultType, .quantifier = .required },
8822 .{ .kind = .IdResult, .quantifier = .required },
8823 .{ .kind = .IdRef, .quantifier = .required },
8824 .{ .kind = .IdRef, .quantifier = .required },
8825 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
8826 },
8827 },
8828 .{
8829 .name = "OpSDotKHR",
8830 .opcode = 4450,
8831 .operands = &[_]Operand{
8832 .{ .kind = .IdResultType, .quantifier = .required },
8833 .{ .kind = .IdResult, .quantifier = .required },
8834 .{ .kind = .IdRef, .quantifier = .required },
8835 .{ .kind = .IdRef, .quantifier = .required },
8836 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
8837 },
8838 },
8839 .{
8840 .name = "OpUDot",
8841 .opcode = 4451,
8842 .operands = &[_]Operand{
8843 .{ .kind = .IdResultType, .quantifier = .required },
8844 .{ .kind = .IdResult, .quantifier = .required },
8845 .{ .kind = .IdRef, .quantifier = .required },
8846 .{ .kind = .IdRef, .quantifier = .required },
8847 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
8848 },
8849 },
8850 .{
8851 .name = "OpUDotKHR",
8852 .opcode = 4451,
8853 .operands = &[_]Operand{
8854 .{ .kind = .IdResultType, .quantifier = .required },
8855 .{ .kind = .IdResult, .quantifier = .required },
8856 .{ .kind = .IdRef, .quantifier = .required },
8857 .{ .kind = .IdRef, .quantifier = .required },
8858 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
8859 },
8860 },
8861 .{
8862 .name = "OpSUDot",
8863 .opcode = 4452,
8864 .operands = &[_]Operand{
8865 .{ .kind = .IdResultType, .quantifier = .required },
8866 .{ .kind = .IdResult, .quantifier = .required },
8867 .{ .kind = .IdRef, .quantifier = .required },
8868 .{ .kind = .IdRef, .quantifier = .required },
8869 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
8870 },
8871 },
8872 .{
8873 .name = "OpSUDotKHR",
8874 .opcode = 4452,
8875 .operands = &[_]Operand{
8876 .{ .kind = .IdResultType, .quantifier = .required },
8877 .{ .kind = .IdResult, .quantifier = .required },
8878 .{ .kind = .IdRef, .quantifier = .required },
8879 .{ .kind = .IdRef, .quantifier = .required },
8880 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
8881 },
8882 },
8883 .{
8884 .name = "OpSDotAccSat",
8885 .opcode = 4453,
8886 .operands = &[_]Operand{
8887 .{ .kind = .IdResultType, .quantifier = .required },
8888 .{ .kind = .IdResult, .quantifier = .required },
8889 .{ .kind = .IdRef, .quantifier = .required },
8890 .{ .kind = .IdRef, .quantifier = .required },
8891 .{ .kind = .IdRef, .quantifier = .required },
8892 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
8893 },
8894 },
8895 .{
8896 .name = "OpSDotAccSatKHR",
8897 .opcode = 4453,
8898 .operands = &[_]Operand{
8899 .{ .kind = .IdResultType, .quantifier = .required },
8900 .{ .kind = .IdResult, .quantifier = .required },
8901 .{ .kind = .IdRef, .quantifier = .required },
8902 .{ .kind = .IdRef, .quantifier = .required },
8903 .{ .kind = .IdRef, .quantifier = .required },
8904 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
8905 },
8906 },
8907 .{
8908 .name = "OpUDotAccSat",
8909 .opcode = 4454,
8910 .operands = &[_]Operand{
8911 .{ .kind = .IdResultType, .quantifier = .required },
8912 .{ .kind = .IdResult, .quantifier = .required },
8913 .{ .kind = .IdRef, .quantifier = .required },
8914 .{ .kind = .IdRef, .quantifier = .required },
8915 .{ .kind = .IdRef, .quantifier = .required },
8916 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
8917 },
8918 },
8919 .{
8920 .name = "OpUDotAccSatKHR",
8921 .opcode = 4454,
8922 .operands = &[_]Operand{
8923 .{ .kind = .IdResultType, .quantifier = .required },
8924 .{ .kind = .IdResult, .quantifier = .required },
8925 .{ .kind = .IdRef, .quantifier = .required },
8926 .{ .kind = .IdRef, .quantifier = .required },
8927 .{ .kind = .IdRef, .quantifier = .required },
8928 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
8929 },
8930 },
8931 .{
8932 .name = "OpSUDotAccSat",
8933 .opcode = 4455,
8934 .operands = &[_]Operand{
8935 .{ .kind = .IdResultType, .quantifier = .required },
8936 .{ .kind = .IdResult, .quantifier = .required },
8937 .{ .kind = .IdRef, .quantifier = .required },
8938 .{ .kind = .IdRef, .quantifier = .required },
8939 .{ .kind = .IdRef, .quantifier = .required },
8940 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
8941 },
8942 },
8943 .{
8944 .name = "OpSUDotAccSatKHR",
8945 .opcode = 4455,
8946 .operands = &[_]Operand{
8947 .{ .kind = .IdResultType, .quantifier = .required },
8948 .{ .kind = .IdResult, .quantifier = .required },
8949 .{ .kind = .IdRef, .quantifier = .required },
8950 .{ .kind = .IdRef, .quantifier = .required },
8951 .{ .kind = .IdRef, .quantifier = .required },
8952 .{ .kind = .PackedVectorFormat, .quantifier = .optional },
8953 },
8954 },
8955 .{
8956 .name = "OpTypeCooperativeMatrixKHR",
8957 .opcode = 4456,
8958 .operands = &[_]Operand{
8959 .{ .kind = .IdResult, .quantifier = .required },
8960 .{ .kind = .IdRef, .quantifier = .required },
8961 .{ .kind = .IdScope, .quantifier = .required },
8962 .{ .kind = .IdRef, .quantifier = .required },
8963 .{ .kind = .IdRef, .quantifier = .required },
8964 .{ .kind = .IdRef, .quantifier = .required },
8965 },
8966 },
8967 .{
8968 .name = "OpCooperativeMatrixLoadKHR",
8969 .opcode = 4457,
8970 .operands = &[_]Operand{
8971 .{ .kind = .IdResultType, .quantifier = .required },
8972 .{ .kind = .IdResult, .quantifier = .required },
8973 .{ .kind = .IdRef, .quantifier = .required },
8974 .{ .kind = .IdRef, .quantifier = .required },
8975 .{ .kind = .IdRef, .quantifier = .optional },
8976 .{ .kind = .MemoryAccess, .quantifier = .optional },
8977 },
8978 },
8979 .{
8980 .name = "OpCooperativeMatrixStoreKHR",
8981 .opcode = 4458,
8982 .operands = &[_]Operand{
8983 .{ .kind = .IdRef, .quantifier = .required },
8984 .{ .kind = .IdRef, .quantifier = .required },
8985 .{ .kind = .IdRef, .quantifier = .required },
8986 .{ .kind = .IdRef, .quantifier = .optional },
8987 .{ .kind = .MemoryAccess, .quantifier = .optional },
8988 },
8989 },
8990 .{
8991 .name = "OpCooperativeMatrixMulAddKHR",
8992 .opcode = 4459,
8993 .operands = &[_]Operand{
8994 .{ .kind = .IdResultType, .quantifier = .required },
8995 .{ .kind = .IdResult, .quantifier = .required },
8996 .{ .kind = .IdRef, .quantifier = .required },
8997 .{ .kind = .IdRef, .quantifier = .required },
8998 .{ .kind = .IdRef, .quantifier = .required },
8999 .{ .kind = .CooperativeMatrixOperands, .quantifier = .optional },
9000 },
9001 },
9002 .{
9003 .name = "OpCooperativeMatrixLengthKHR",
9004 .opcode = 4460,
9005 .operands = &[_]Operand{
9006 .{ .kind = .IdResultType, .quantifier = .required },
9007 .{ .kind = .IdResult, .quantifier = .required },
9008 .{ .kind = .IdRef, .quantifier = .required },
9009 },
9010 },
9011 .{
9012 .name = "OpTypeRayQueryKHR",
9013 .opcode = 4472,
9014 .operands = &[_]Operand{
9015 .{ .kind = .IdResult, .quantifier = .required },
9016 },
9017 },
9018 .{
9019 .name = "OpRayQueryInitializeKHR",
9020 .opcode = 4473,
9021 .operands = &[_]Operand{
9022 .{ .kind = .IdRef, .quantifier = .required },
9023 .{ .kind = .IdRef, .quantifier = .required },
9024 .{ .kind = .IdRef, .quantifier = .required },
9025 .{ .kind = .IdRef, .quantifier = .required },
9026 .{ .kind = .IdRef, .quantifier = .required },
9027 .{ .kind = .IdRef, .quantifier = .required },
9028 .{ .kind = .IdRef, .quantifier = .required },
9029 .{ .kind = .IdRef, .quantifier = .required },
9030 },
9031 },
9032 .{
9033 .name = "OpRayQueryTerminateKHR",
9034 .opcode = 4474,
9035 .operands = &[_]Operand{
9036 .{ .kind = .IdRef, .quantifier = .required },
9037 },
9038 },
9039 .{
9040 .name = "OpRayQueryGenerateIntersectionKHR",
9041 .opcode = 4475,
9042 .operands = &[_]Operand{
9043 .{ .kind = .IdRef, .quantifier = .required },
9044 .{ .kind = .IdRef, .quantifier = .required },
9045 },
9046 },
9047 .{
9048 .name = "OpRayQueryConfirmIntersectionKHR",
9049 .opcode = 4476,
9050 .operands = &[_]Operand{
9051 .{ .kind = .IdRef, .quantifier = .required },
9052 },
9053 },
9054 .{
9055 .name = "OpRayQueryProceedKHR",
9056 .opcode = 4477,
9057 .operands = &[_]Operand{
9058 .{ .kind = .IdResultType, .quantifier = .required },
9059 .{ .kind = .IdResult, .quantifier = .required },
9060 .{ .kind = .IdRef, .quantifier = .required },
9061 },
9062 },
9063 .{
9064 .name = "OpRayQueryGetIntersectionTypeKHR",
9065 .opcode = 4479,
9066 .operands = &[_]Operand{
9067 .{ .kind = .IdResultType, .quantifier = .required },
9068 .{ .kind = .IdResult, .quantifier = .required },
9069 .{ .kind = .IdRef, .quantifier = .required },
9070 .{ .kind = .IdRef, .quantifier = .required },
9071 },
9072 },
9073 .{
9074 .name = "OpImageSampleWeightedQCOM",
9075 .opcode = 4480,
9076 .operands = &[_]Operand{
9077 .{ .kind = .IdResultType, .quantifier = .required },
9078 .{ .kind = .IdResult, .quantifier = .required },
9079 .{ .kind = .IdRef, .quantifier = .required },
9080 .{ .kind = .IdRef, .quantifier = .required },
9081 .{ .kind = .IdRef, .quantifier = .required },
9082 },
9083 },
9084 .{
9085 .name = "OpImageBoxFilterQCOM",
9086 .opcode = 4481,
9087 .operands = &[_]Operand{
9088 .{ .kind = .IdResultType, .quantifier = .required },
9089 .{ .kind = .IdResult, .quantifier = .required },
9090 .{ .kind = .IdRef, .quantifier = .required },
9091 .{ .kind = .IdRef, .quantifier = .required },
9092 .{ .kind = .IdRef, .quantifier = .required },
9093 },
9094 },
9095 .{
9096 .name = "OpImageBlockMatchSSDQCOM",
9097 .opcode = 4482,
9098 .operands = &[_]Operand{
9099 .{ .kind = .IdResultType, .quantifier = .required },
9100 .{ .kind = .IdResult, .quantifier = .required },
9101 .{ .kind = .IdRef, .quantifier = .required },
9102 .{ .kind = .IdRef, .quantifier = .required },
9103 .{ .kind = .IdRef, .quantifier = .required },
9104 .{ .kind = .IdRef, .quantifier = .required },
9105 .{ .kind = .IdRef, .quantifier = .required },
9106 },
9107 },
9108 .{
9109 .name = "OpImageBlockMatchSADQCOM",
9110 .opcode = 4483,
9111 .operands = &[_]Operand{
9112 .{ .kind = .IdResultType, .quantifier = .required },
9113 .{ .kind = .IdResult, .quantifier = .required },
9114 .{ .kind = .IdRef, .quantifier = .required },
9115 .{ .kind = .IdRef, .quantifier = .required },
9116 .{ .kind = .IdRef, .quantifier = .required },
9117 .{ .kind = .IdRef, .quantifier = .required },
9118 .{ .kind = .IdRef, .quantifier = .required },
9119 },
9120 },
9121 .{
9122 .name = "OpImageBlockMatchWindowSSDQCOM",
9123 .opcode = 4500,
9124 .operands = &[_]Operand{
9125 .{ .kind = .IdResultType, .quantifier = .required },
9126 .{ .kind = .IdResult, .quantifier = .required },
9127 .{ .kind = .IdRef, .quantifier = .required },
9128 .{ .kind = .IdRef, .quantifier = .required },
9129 .{ .kind = .IdRef, .quantifier = .required },
9130 .{ .kind = .IdRef, .quantifier = .required },
9131 .{ .kind = .IdRef, .quantifier = .required },
9132 },
9133 },
9134 .{
9135 .name = "OpImageBlockMatchWindowSADQCOM",
9136 .opcode = 4501,
9137 .operands = &[_]Operand{
9138 .{ .kind = .IdResultType, .quantifier = .required },
9139 .{ .kind = .IdResult, .quantifier = .required },
9140 .{ .kind = .IdRef, .quantifier = .required },
9141 .{ .kind = .IdRef, .quantifier = .required },
9142 .{ .kind = .IdRef, .quantifier = .required },
9143 .{ .kind = .IdRef, .quantifier = .required },
9144 .{ .kind = .IdRef, .quantifier = .required },
9145 },
9146 },
9147 .{
9148 .name = "OpImageBlockMatchGatherSSDQCOM",
9149 .opcode = 4502,
9150 .operands = &[_]Operand{
9151 .{ .kind = .IdResultType, .quantifier = .required },
9152 .{ .kind = .IdResult, .quantifier = .required },
9153 .{ .kind = .IdRef, .quantifier = .required },
9154 .{ .kind = .IdRef, .quantifier = .required },
9155 .{ .kind = .IdRef, .quantifier = .required },
9156 .{ .kind = .IdRef, .quantifier = .required },
9157 .{ .kind = .IdRef, .quantifier = .required },
9158 },
9159 },
9160 .{
9161 .name = "OpImageBlockMatchGatherSADQCOM",
9162 .opcode = 4503,
9163 .operands = &[_]Operand{
9164 .{ .kind = .IdResultType, .quantifier = .required },
9165 .{ .kind = .IdResult, .quantifier = .required },
9166 .{ .kind = .IdRef, .quantifier = .required },
9167 .{ .kind = .IdRef, .quantifier = .required },
9168 .{ .kind = .IdRef, .quantifier = .required },
9169 .{ .kind = .IdRef, .quantifier = .required },
9170 .{ .kind = .IdRef, .quantifier = .required },
9171 },
9172 },
9173 .{
9174 .name = "OpGroupIAddNonUniformAMD",
9175 .opcode = 5000,
9176 .operands = &[_]Operand{
9177 .{ .kind = .IdResultType, .quantifier = .required },
9178 .{ .kind = .IdResult, .quantifier = .required },
9179 .{ .kind = .IdScope, .quantifier = .required },
9180 .{ .kind = .GroupOperation, .quantifier = .required },
9181 .{ .kind = .IdRef, .quantifier = .required },
9182 },
9183 },
9184 .{
9185 .name = "OpGroupFAddNonUniformAMD",
9186 .opcode = 5001,
9187 .operands = &[_]Operand{
9188 .{ .kind = .IdResultType, .quantifier = .required },
9189 .{ .kind = .IdResult, .quantifier = .required },
9190 .{ .kind = .IdScope, .quantifier = .required },
9191 .{ .kind = .GroupOperation, .quantifier = .required },
9192 .{ .kind = .IdRef, .quantifier = .required },
9193 },
9194 },
9195 .{
9196 .name = "OpGroupFMinNonUniformAMD",
9197 .opcode = 5002,
9198 .operands = &[_]Operand{
9199 .{ .kind = .IdResultType, .quantifier = .required },
9200 .{ .kind = .IdResult, .quantifier = .required },
9201 .{ .kind = .IdScope, .quantifier = .required },
9202 .{ .kind = .GroupOperation, .quantifier = .required },
9203 .{ .kind = .IdRef, .quantifier = .required },
9204 },
9205 },
9206 .{
9207 .name = "OpGroupUMinNonUniformAMD",
9208 .opcode = 5003,
9209 .operands = &[_]Operand{
9210 .{ .kind = .IdResultType, .quantifier = .required },
9211 .{ .kind = .IdResult, .quantifier = .required },
9212 .{ .kind = .IdScope, .quantifier = .required },
9213 .{ .kind = .GroupOperation, .quantifier = .required },
9214 .{ .kind = .IdRef, .quantifier = .required },
9215 },
9216 },
9217 .{
9218 .name = "OpGroupSMinNonUniformAMD",
9219 .opcode = 5004,
9220 .operands = &[_]Operand{
9221 .{ .kind = .IdResultType, .quantifier = .required },
9222 .{ .kind = .IdResult, .quantifier = .required },
9223 .{ .kind = .IdScope, .quantifier = .required },
9224 .{ .kind = .GroupOperation, .quantifier = .required },
9225 .{ .kind = .IdRef, .quantifier = .required },
9226 },
9227 },
9228 .{
9229 .name = "OpGroupFMaxNonUniformAMD",
9230 .opcode = 5005,
9231 .operands = &[_]Operand{
9232 .{ .kind = .IdResultType, .quantifier = .required },
9233 .{ .kind = .IdResult, .quantifier = .required },
9234 .{ .kind = .IdScope, .quantifier = .required },
9235 .{ .kind = .GroupOperation, .quantifier = .required },
9236 .{ .kind = .IdRef, .quantifier = .required },
9237 },
9238 },
9239 .{
9240 .name = "OpGroupUMaxNonUniformAMD",
9241 .opcode = 5006,
9242 .operands = &[_]Operand{
9243 .{ .kind = .IdResultType, .quantifier = .required },
9244 .{ .kind = .IdResult, .quantifier = .required },
9245 .{ .kind = .IdScope, .quantifier = .required },
9246 .{ .kind = .GroupOperation, .quantifier = .required },
9247 .{ .kind = .IdRef, .quantifier = .required },
9248 },
9249 },
9250 .{
9251 .name = "OpGroupSMaxNonUniformAMD",
9252 .opcode = 5007,
9253 .operands = &[_]Operand{
9254 .{ .kind = .IdResultType, .quantifier = .required },
9255 .{ .kind = .IdResult, .quantifier = .required },
9256 .{ .kind = .IdScope, .quantifier = .required },
9257 .{ .kind = .GroupOperation, .quantifier = .required },
9258 .{ .kind = .IdRef, .quantifier = .required },
9259 },
9260 },
9261 .{
9262 .name = "OpFragmentMaskFetchAMD",
9263 .opcode = 5011,
9264 .operands = &[_]Operand{
9265 .{ .kind = .IdResultType, .quantifier = .required },
9266 .{ .kind = .IdResult, .quantifier = .required },
9267 .{ .kind = .IdRef, .quantifier = .required },
9268 .{ .kind = .IdRef, .quantifier = .required },
9269 },
9270 },
9271 .{
9272 .name = "OpFragmentFetchAMD",
9273 .opcode = 5012,
9274 .operands = &[_]Operand{
9275 .{ .kind = .IdResultType, .quantifier = .required },
9276 .{ .kind = .IdResult, .quantifier = .required },
9277 .{ .kind = .IdRef, .quantifier = .required },
9278 .{ .kind = .IdRef, .quantifier = .required },
9279 .{ .kind = .IdRef, .quantifier = .required },
9280 },
9281 },
9282 .{
9283 .name = "OpReadClockKHR",
9284 .opcode = 5056,
9285 .operands = &[_]Operand{
9286 .{ .kind = .IdResultType, .quantifier = .required },
9287 .{ .kind = .IdResult, .quantifier = .required },
9288 .{ .kind = .IdScope, .quantifier = .required },
9289 },
9290 },
9291 .{
9292 .name = "OpFinalizeNodePayloadsAMDX",
9293 .opcode = 5075,
9294 .operands = &[_]Operand{
9295 .{ .kind = .IdRef, .quantifier = .required },
9296 },
9297 },
9298 .{
9299 .name = "OpFinishWritingNodePayloadAMDX",
9300 .opcode = 5078,
9301 .operands = &[_]Operand{
9302 .{ .kind = .IdResultType, .quantifier = .required },
9303 .{ .kind = .IdResult, .quantifier = .required },
9304 .{ .kind = .IdRef, .quantifier = .required },
9305 },
9306 },
9307 .{
9308 .name = "OpInitializeNodePayloadsAMDX",
9309 .opcode = 5090,
9310 .operands = &[_]Operand{
9311 .{ .kind = .IdRef, .quantifier = .required },
9312 .{ .kind = .IdScope, .quantifier = .required },
9313 .{ .kind = .IdRef, .quantifier = .required },
9314 .{ .kind = .IdRef, .quantifier = .required },
9315 },
9316 },
9317 .{
9318 .name = "OpGroupNonUniformQuadAllKHR",
9319 .opcode = 5110,
9320 .operands = &[_]Operand{
9321 .{ .kind = .IdResultType, .quantifier = .required },
9322 .{ .kind = .IdResult, .quantifier = .required },
9323 .{ .kind = .IdRef, .quantifier = .required },
9324 },
9325 },
9326 .{
9327 .name = "OpGroupNonUniformQuadAnyKHR",
9328 .opcode = 5111,
9329 .operands = &[_]Operand{
9330 .{ .kind = .IdResultType, .quantifier = .required },
9331 .{ .kind = .IdResult, .quantifier = .required },
9332 .{ .kind = .IdRef, .quantifier = .required },
9333 },
9334 },
9335 .{
9336 .name = "OpHitObjectRecordHitMotionNV",
9337 .opcode = 5249,
9338 .operands = &[_]Operand{
9339 .{ .kind = .IdRef, .quantifier = .required },
9340 .{ .kind = .IdRef, .quantifier = .required },
9341 .{ .kind = .IdRef, .quantifier = .required },
9342 .{ .kind = .IdRef, .quantifier = .required },
9343 .{ .kind = .IdRef, .quantifier = .required },
9344 .{ .kind = .IdRef, .quantifier = .required },
9345 .{ .kind = .IdRef, .quantifier = .required },
9346 .{ .kind = .IdRef, .quantifier = .required },
9347 .{ .kind = .IdRef, .quantifier = .required },
9348 .{ .kind = .IdRef, .quantifier = .required },
9349 .{ .kind = .IdRef, .quantifier = .required },
9350 .{ .kind = .IdRef, .quantifier = .required },
9351 .{ .kind = .IdRef, .quantifier = .required },
9352 .{ .kind = .IdRef, .quantifier = .required },
9353 },
9354 },
9355 .{
9356 .name = "OpHitObjectRecordHitWithIndexMotionNV",
9357 .opcode = 5250,
9358 .operands = &[_]Operand{
9359 .{ .kind = .IdRef, .quantifier = .required },
9360 .{ .kind = .IdRef, .quantifier = .required },
9361 .{ .kind = .IdRef, .quantifier = .required },
9362 .{ .kind = .IdRef, .quantifier = .required },
9363 .{ .kind = .IdRef, .quantifier = .required },
9364 .{ .kind = .IdRef, .quantifier = .required },
9365 .{ .kind = .IdRef, .quantifier = .required },
9366 .{ .kind = .IdRef, .quantifier = .required },
9367 .{ .kind = .IdRef, .quantifier = .required },
9368 .{ .kind = .IdRef, .quantifier = .required },
9369 .{ .kind = .IdRef, .quantifier = .required },
9370 .{ .kind = .IdRef, .quantifier = .required },
9371 .{ .kind = .IdRef, .quantifier = .required },
9372 },
9373 },
9374 .{
9375 .name = "OpHitObjectRecordMissMotionNV",
9376 .opcode = 5251,
9377 .operands = &[_]Operand{
9378 .{ .kind = .IdRef, .quantifier = .required },
9379 .{ .kind = .IdRef, .quantifier = .required },
9380 .{ .kind = .IdRef, .quantifier = .required },
9381 .{ .kind = .IdRef, .quantifier = .required },
9382 .{ .kind = .IdRef, .quantifier = .required },
9383 .{ .kind = .IdRef, .quantifier = .required },
9384 .{ .kind = .IdRef, .quantifier = .required },
9385 },
9386 },
9387 .{
9388 .name = "OpHitObjectGetWorldToObjectNV",
9389 .opcode = 5252,
9390 .operands = &[_]Operand{
9391 .{ .kind = .IdResultType, .quantifier = .required },
9392 .{ .kind = .IdResult, .quantifier = .required },
9393 .{ .kind = .IdRef, .quantifier = .required },
9394 },
9395 },
9396 .{
9397 .name = "OpHitObjectGetObjectToWorldNV",
9398 .opcode = 5253,
9399 .operands = &[_]Operand{
9400 .{ .kind = .IdResultType, .quantifier = .required },
9401 .{ .kind = .IdResult, .quantifier = .required },
9402 .{ .kind = .IdRef, .quantifier = .required },
9403 },
9404 },
9405 .{
9406 .name = "OpHitObjectGetObjectRayDirectionNV",
9407 .opcode = 5254,
9408 .operands = &[_]Operand{
9409 .{ .kind = .IdResultType, .quantifier = .required },
9410 .{ .kind = .IdResult, .quantifier = .required },
9411 .{ .kind = .IdRef, .quantifier = .required },
9412 },
9413 },
9414 .{
9415 .name = "OpHitObjectGetObjectRayOriginNV",
9416 .opcode = 5255,
9417 .operands = &[_]Operand{
9418 .{ .kind = .IdResultType, .quantifier = .required },
9419 .{ .kind = .IdResult, .quantifier = .required },
9420 .{ .kind = .IdRef, .quantifier = .required },
9421 },
9422 },
9423 .{
9424 .name = "OpHitObjectTraceRayMotionNV",
9425 .opcode = 5256,
9426 .operands = &[_]Operand{
9427 .{ .kind = .IdRef, .quantifier = .required },
9428 .{ .kind = .IdRef, .quantifier = .required },
9429 .{ .kind = .IdRef, .quantifier = .required },
9430 .{ .kind = .IdRef, .quantifier = .required },
9431 .{ .kind = .IdRef, .quantifier = .required },
9432 .{ .kind = .IdRef, .quantifier = .required },
9433 .{ .kind = .IdRef, .quantifier = .required },
9434 .{ .kind = .IdRef, .quantifier = .required },
9435 .{ .kind = .IdRef, .quantifier = .required },
9436 .{ .kind = .IdRef, .quantifier = .required },
9437 .{ .kind = .IdRef, .quantifier = .required },
9438 .{ .kind = .IdRef, .quantifier = .required },
9439 .{ .kind = .IdRef, .quantifier = .required },
9440 },
9441 },
9442 .{
9443 .name = "OpHitObjectGetShaderRecordBufferHandleNV",
9444 .opcode = 5257,
9445 .operands = &[_]Operand{
9446 .{ .kind = .IdResultType, .quantifier = .required },
9447 .{ .kind = .IdResult, .quantifier = .required },
9448 .{ .kind = .IdRef, .quantifier = .required },
9449 },
9450 },
9451 .{
9452 .name = "OpHitObjectGetShaderBindingTableRecordIndexNV",
9453 .opcode = 5258,
9454 .operands = &[_]Operand{
9455 .{ .kind = .IdResultType, .quantifier = .required },
9456 .{ .kind = .IdResult, .quantifier = .required },
9457 .{ .kind = .IdRef, .quantifier = .required },
9458 },
9459 },
9460 .{
9461 .name = "OpHitObjectRecordEmptyNV",
9462 .opcode = 5259,
9463 .operands = &[_]Operand{
9464 .{ .kind = .IdRef, .quantifier = .required },
9465 },
9466 },
9467 .{
9468 .name = "OpHitObjectTraceRayNV",
9469 .opcode = 5260,
9470 .operands = &[_]Operand{
9471 .{ .kind = .IdRef, .quantifier = .required },
9472 .{ .kind = .IdRef, .quantifier = .required },
9473 .{ .kind = .IdRef, .quantifier = .required },
9474 .{ .kind = .IdRef, .quantifier = .required },
9475 .{ .kind = .IdRef, .quantifier = .required },
9476 .{ .kind = .IdRef, .quantifier = .required },
9477 .{ .kind = .IdRef, .quantifier = .required },
9478 .{ .kind = .IdRef, .quantifier = .required },
9479 .{ .kind = .IdRef, .quantifier = .required },
9480 .{ .kind = .IdRef, .quantifier = .required },
9481 .{ .kind = .IdRef, .quantifier = .required },
9482 .{ .kind = .IdRef, .quantifier = .required },
9483 },
9484 },
9485 .{
9486 .name = "OpHitObjectRecordHitNV",
9487 .opcode = 5261,
9488 .operands = &[_]Operand{
9489 .{ .kind = .IdRef, .quantifier = .required },
9490 .{ .kind = .IdRef, .quantifier = .required },
9491 .{ .kind = .IdRef, .quantifier = .required },
9492 .{ .kind = .IdRef, .quantifier = .required },
9493 .{ .kind = .IdRef, .quantifier = .required },
9494 .{ .kind = .IdRef, .quantifier = .required },
9495 .{ .kind = .IdRef, .quantifier = .required },
9496 .{ .kind = .IdRef, .quantifier = .required },
9497 .{ .kind = .IdRef, .quantifier = .required },
9498 .{ .kind = .IdRef, .quantifier = .required },
9499 .{ .kind = .IdRef, .quantifier = .required },
9500 .{ .kind = .IdRef, .quantifier = .required },
9501 .{ .kind = .IdRef, .quantifier = .required },
9502 },
9503 },
9504 .{
9505 .name = "OpHitObjectRecordHitWithIndexNV",
9506 .opcode = 5262,
9507 .operands = &[_]Operand{
9508 .{ .kind = .IdRef, .quantifier = .required },
9509 .{ .kind = .IdRef, .quantifier = .required },
9510 .{ .kind = .IdRef, .quantifier = .required },
9511 .{ .kind = .IdRef, .quantifier = .required },
9512 .{ .kind = .IdRef, .quantifier = .required },
9513 .{ .kind = .IdRef, .quantifier = .required },
9514 .{ .kind = .IdRef, .quantifier = .required },
9515 .{ .kind = .IdRef, .quantifier = .required },
9516 .{ .kind = .IdRef, .quantifier = .required },
9517 .{ .kind = .IdRef, .quantifier = .required },
9518 .{ .kind = .IdRef, .quantifier = .required },
9519 .{ .kind = .IdRef, .quantifier = .required },
9520 },
9521 },
9522 .{
9523 .name = "OpHitObjectRecordMissNV",
9524 .opcode = 5263,
9525 .operands = &[_]Operand{
9526 .{ .kind = .IdRef, .quantifier = .required },
9527 .{ .kind = .IdRef, .quantifier = .required },
9528 .{ .kind = .IdRef, .quantifier = .required },
9529 .{ .kind = .IdRef, .quantifier = .required },
9530 .{ .kind = .IdRef, .quantifier = .required },
9531 .{ .kind = .IdRef, .quantifier = .required },
9532 },
9533 },
9534 .{
9535 .name = "OpHitObjectExecuteShaderNV",
9536 .opcode = 5264,
9537 .operands = &[_]Operand{
9538 .{ .kind = .IdRef, .quantifier = .required },
9539 .{ .kind = .IdRef, .quantifier = .required },
9540 },
9541 },
9542 .{
9543 .name = "OpHitObjectGetCurrentTimeNV",
9544 .opcode = 5265,
9545 .operands = &[_]Operand{
9546 .{ .kind = .IdResultType, .quantifier = .required },
9547 .{ .kind = .IdResult, .quantifier = .required },
9548 .{ .kind = .IdRef, .quantifier = .required },
9549 },
9550 },
9551 .{
9552 .name = "OpHitObjectGetAttributesNV",
9553 .opcode = 5266,
9554 .operands = &[_]Operand{
9555 .{ .kind = .IdRef, .quantifier = .required },
9556 .{ .kind = .IdRef, .quantifier = .required },
9557 },
9558 },
9559 .{
9560 .name = "OpHitObjectGetHitKindNV",
9561 .opcode = 5267,
9562 .operands = &[_]Operand{
9563 .{ .kind = .IdResultType, .quantifier = .required },
9564 .{ .kind = .IdResult, .quantifier = .required },
9565 .{ .kind = .IdRef, .quantifier = .required },
9566 },
9567 },
9568 .{
9569 .name = "OpHitObjectGetPrimitiveIndexNV",
9570 .opcode = 5268,
9571 .operands = &[_]Operand{
9572 .{ .kind = .IdResultType, .quantifier = .required },
9573 .{ .kind = .IdResult, .quantifier = .required },
9574 .{ .kind = .IdRef, .quantifier = .required },
9575 },
9576 },
9577 .{
9578 .name = "OpHitObjectGetGeometryIndexNV",
9579 .opcode = 5269,
9580 .operands = &[_]Operand{
9581 .{ .kind = .IdResultType, .quantifier = .required },
9582 .{ .kind = .IdResult, .quantifier = .required },
9583 .{ .kind = .IdRef, .quantifier = .required },
9584 },
9585 },
9586 .{
9587 .name = "OpHitObjectGetInstanceIdNV",
9588 .opcode = 5270,
9589 .operands = &[_]Operand{
9590 .{ .kind = .IdResultType, .quantifier = .required },
9591 .{ .kind = .IdResult, .quantifier = .required },
9592 .{ .kind = .IdRef, .quantifier = .required },
9593 },
9594 },
9595 .{
9596 .name = "OpHitObjectGetInstanceCustomIndexNV",
9597 .opcode = 5271,
9598 .operands = &[_]Operand{
9599 .{ .kind = .IdResultType, .quantifier = .required },
9600 .{ .kind = .IdResult, .quantifier = .required },
9601 .{ .kind = .IdRef, .quantifier = .required },
9602 },
9603 },
9604 .{
9605 .name = "OpHitObjectGetWorldRayDirectionNV",
9606 .opcode = 5272,
9607 .operands = &[_]Operand{
9608 .{ .kind = .IdResultType, .quantifier = .required },
9609 .{ .kind = .IdResult, .quantifier = .required },
9610 .{ .kind = .IdRef, .quantifier = .required },
9611 },
9612 },
9613 .{
9614 .name = "OpHitObjectGetWorldRayOriginNV",
9615 .opcode = 5273,
9616 .operands = &[_]Operand{
9617 .{ .kind = .IdResultType, .quantifier = .required },
9618 .{ .kind = .IdResult, .quantifier = .required },
9619 .{ .kind = .IdRef, .quantifier = .required },
9620 },
9621 },
9622 .{
9623 .name = "OpHitObjectGetRayTMaxNV",
9624 .opcode = 5274,
9625 .operands = &[_]Operand{
9626 .{ .kind = .IdResultType, .quantifier = .required },
9627 .{ .kind = .IdResult, .quantifier = .required },
9628 .{ .kind = .IdRef, .quantifier = .required },
9629 },
9630 },
9631 .{
9632 .name = "OpHitObjectGetRayTMinNV",
9633 .opcode = 5275,
9634 .operands = &[_]Operand{
9635 .{ .kind = .IdResultType, .quantifier = .required },
9636 .{ .kind = .IdResult, .quantifier = .required },
9637 .{ .kind = .IdRef, .quantifier = .required },
9638 },
9639 },
9640 .{
9641 .name = "OpHitObjectIsEmptyNV",
9642 .opcode = 5276,
9643 .operands = &[_]Operand{
9644 .{ .kind = .IdResultType, .quantifier = .required },
9645 .{ .kind = .IdResult, .quantifier = .required },
9646 .{ .kind = .IdRef, .quantifier = .required },
9647 },
9648 },
9649 .{
9650 .name = "OpHitObjectIsHitNV",
9651 .opcode = 5277,
9652 .operands = &[_]Operand{
9653 .{ .kind = .IdResultType, .quantifier = .required },
9654 .{ .kind = .IdResult, .quantifier = .required },
9655 .{ .kind = .IdRef, .quantifier = .required },
9656 },
9657 },
9658 .{
9659 .name = "OpHitObjectIsMissNV",
9660 .opcode = 5278,
9661 .operands = &[_]Operand{
9662 .{ .kind = .IdResultType, .quantifier = .required },
9663 .{ .kind = .IdResult, .quantifier = .required },
9664 .{ .kind = .IdRef, .quantifier = .required },
9665 },
9666 },
9667 .{
9668 .name = "OpReorderThreadWithHitObjectNV",
9669 .opcode = 5279,
9670 .operands = &[_]Operand{
9671 .{ .kind = .IdRef, .quantifier = .required },
9672 .{ .kind = .IdRef, .quantifier = .optional },
9673 .{ .kind = .IdRef, .quantifier = .optional },
9674 },
9675 },
9676 .{
9677 .name = "OpReorderThreadWithHintNV",
9678 .opcode = 5280,
9679 .operands = &[_]Operand{
9680 .{ .kind = .IdRef, .quantifier = .required },
9681 .{ .kind = .IdRef, .quantifier = .required },
9682 },
9683 },
9684 .{
9685 .name = "OpTypeHitObjectNV",
9686 .opcode = 5281,
9687 .operands = &[_]Operand{
9688 .{ .kind = .IdResult, .quantifier = .required },
9689 },
9690 },
9691 .{
9692 .name = "OpImageSampleFootprintNV",
9693 .opcode = 5283,
9694 .operands = &[_]Operand{
9695 .{ .kind = .IdResultType, .quantifier = .required },
9696 .{ .kind = .IdResult, .quantifier = .required },
9697 .{ .kind = .IdRef, .quantifier = .required },
9698 .{ .kind = .IdRef, .quantifier = .required },
9699 .{ .kind = .IdRef, .quantifier = .required },
9700 .{ .kind = .IdRef, .quantifier = .required },
9701 .{ .kind = .ImageOperands, .quantifier = .optional },
9702 },
9703 },
9704 .{
9705 .name = "OpEmitMeshTasksEXT",
9706 .opcode = 5294,
9707 .operands = &[_]Operand{
9708 .{ .kind = .IdRef, .quantifier = .required },
9709 .{ .kind = .IdRef, .quantifier = .required },
9710 .{ .kind = .IdRef, .quantifier = .required },
9711 .{ .kind = .IdRef, .quantifier = .optional },
9712 },
9713 },
9714 .{
9715 .name = "OpSetMeshOutputsEXT",
9716 .opcode = 5295,
9717 .operands = &[_]Operand{
9718 .{ .kind = .IdRef, .quantifier = .required },
9719 .{ .kind = .IdRef, .quantifier = .required },
9720 },
9721 },
9722 .{
9723 .name = "OpGroupNonUniformPartitionNV",
9724 .opcode = 5296,
9725 .operands = &[_]Operand{
9726 .{ .kind = .IdResultType, .quantifier = .required },
9727 .{ .kind = .IdResult, .quantifier = .required },
9728 .{ .kind = .IdRef, .quantifier = .required },
9729 },
9730 },
9731 .{
9732 .name = "OpWritePackedPrimitiveIndices4x8NV",
9733 .opcode = 5299,
9734 .operands = &[_]Operand{
9735 .{ .kind = .IdRef, .quantifier = .required },
9736 .{ .kind = .IdRef, .quantifier = .required },
9737 },
9738 },
9739 .{
9740 .name = "OpFetchMicroTriangleVertexPositionNV",
9741 .opcode = 5300,
9742 .operands = &[_]Operand{
9743 .{ .kind = .IdResultType, .quantifier = .required },
9744 .{ .kind = .IdResult, .quantifier = .required },
9745 .{ .kind = .IdRef, .quantifier = .required },
9746 .{ .kind = .IdRef, .quantifier = .required },
9747 .{ .kind = .IdRef, .quantifier = .required },
9748 .{ .kind = .IdRef, .quantifier = .required },
9749 .{ .kind = .IdRef, .quantifier = .required },
9750 },
9751 },
9752 .{
9753 .name = "OpFetchMicroTriangleVertexBarycentricNV",
9754 .opcode = 5301,
9755 .operands = &[_]Operand{
9756 .{ .kind = .IdResultType, .quantifier = .required },
9757 .{ .kind = .IdResult, .quantifier = .required },
9758 .{ .kind = .IdRef, .quantifier = .required },
9759 .{ .kind = .IdRef, .quantifier = .required },
9760 .{ .kind = .IdRef, .quantifier = .required },
9761 .{ .kind = .IdRef, .quantifier = .required },
9762 .{ .kind = .IdRef, .quantifier = .required },
9763 },
9764 },
9765 .{
9766 .name = "OpReportIntersectionNV",
9767 .opcode = 5334,
9768 .operands = &[_]Operand{
9769 .{ .kind = .IdResultType, .quantifier = .required },
9770 .{ .kind = .IdResult, .quantifier = .required },
9771 .{ .kind = .IdRef, .quantifier = .required },
9772 .{ .kind = .IdRef, .quantifier = .required },
9773 },
9774 },
9775 .{
9776 .name = "OpReportIntersectionKHR",
9777 .opcode = 5334,
9778 .operands = &[_]Operand{
9779 .{ .kind = .IdResultType, .quantifier = .required },
9780 .{ .kind = .IdResult, .quantifier = .required },
9781 .{ .kind = .IdRef, .quantifier = .required },
9782 .{ .kind = .IdRef, .quantifier = .required },
9783 },
9784 },
9785 .{
9786 .name = "OpIgnoreIntersectionNV",
9787 .opcode = 5335,
9788 .operands = &[_]Operand{},
9789 },
9790 .{
9791 .name = "OpTerminateRayNV",
9792 .opcode = 5336,
9793 .operands = &[_]Operand{},
9794 },
9795 .{
9796 .name = "OpTraceNV",
9797 .opcode = 5337,
9798 .operands = &[_]Operand{
9799 .{ .kind = .IdRef, .quantifier = .required },
9800 .{ .kind = .IdRef, .quantifier = .required },
9801 .{ .kind = .IdRef, .quantifier = .required },
9802 .{ .kind = .IdRef, .quantifier = .required },
9803 .{ .kind = .IdRef, .quantifier = .required },
9804 .{ .kind = .IdRef, .quantifier = .required },
9805 .{ .kind = .IdRef, .quantifier = .required },
9806 .{ .kind = .IdRef, .quantifier = .required },
9807 .{ .kind = .IdRef, .quantifier = .required },
9808 .{ .kind = .IdRef, .quantifier = .required },
9809 .{ .kind = .IdRef, .quantifier = .required },
9810 },
9811 },
9812 .{
9813 .name = "OpTraceMotionNV",
9814 .opcode = 5338,
9815 .operands = &[_]Operand{
9816 .{ .kind = .IdRef, .quantifier = .required },
9817 .{ .kind = .IdRef, .quantifier = .required },
9818 .{ .kind = .IdRef, .quantifier = .required },
9819 .{ .kind = .IdRef, .quantifier = .required },
9820 .{ .kind = .IdRef, .quantifier = .required },
9821 .{ .kind = .IdRef, .quantifier = .required },
9822 .{ .kind = .IdRef, .quantifier = .required },
9823 .{ .kind = .IdRef, .quantifier = .required },
9824 .{ .kind = .IdRef, .quantifier = .required },
9825 .{ .kind = .IdRef, .quantifier = .required },
9826 .{ .kind = .IdRef, .quantifier = .required },
9827 .{ .kind = .IdRef, .quantifier = .required },
9828 },
9829 },
9830 .{
9831 .name = "OpTraceRayMotionNV",
9832 .opcode = 5339,
9833 .operands = &[_]Operand{
9834 .{ .kind = .IdRef, .quantifier = .required },
9835 .{ .kind = .IdRef, .quantifier = .required },
9836 .{ .kind = .IdRef, .quantifier = .required },
9837 .{ .kind = .IdRef, .quantifier = .required },
9838 .{ .kind = .IdRef, .quantifier = .required },
9839 .{ .kind = .IdRef, .quantifier = .required },
9840 .{ .kind = .IdRef, .quantifier = .required },
9841 .{ .kind = .IdRef, .quantifier = .required },
9842 .{ .kind = .IdRef, .quantifier = .required },
9843 .{ .kind = .IdRef, .quantifier = .required },
9844 .{ .kind = .IdRef, .quantifier = .required },
9845 .{ .kind = .IdRef, .quantifier = .required },
9846 },
9847 },
9848 .{
9849 .name = "OpRayQueryGetIntersectionTriangleVertexPositionsKHR",
9850 .opcode = 5340,
9851 .operands = &[_]Operand{
9852 .{ .kind = .IdResultType, .quantifier = .required },
9853 .{ .kind = .IdResult, .quantifier = .required },
9854 .{ .kind = .IdRef, .quantifier = .required },
9855 .{ .kind = .IdRef, .quantifier = .required },
9856 },
9857 },
9858 .{
9859 .name = "OpTypeAccelerationStructureNV",
9860 .opcode = 5341,
9861 .operands = &[_]Operand{
9862 .{ .kind = .IdResult, .quantifier = .required },
9863 },
9864 },
9865 .{
9866 .name = "OpTypeAccelerationStructureKHR",
9867 .opcode = 5341,
9868 .operands = &[_]Operand{
9869 .{ .kind = .IdResult, .quantifier = .required },
9870 },
9871 },
9872 .{
9873 .name = "OpExecuteCallableNV",
9874 .opcode = 5344,
9875 .operands = &[_]Operand{
9876 .{ .kind = .IdRef, .quantifier = .required },
9877 .{ .kind = .IdRef, .quantifier = .required },
9878 },
9879 },
9880 .{
9881 .name = "OpTypeCooperativeMatrixNV",
9882 .opcode = 5358,
9883 .operands = &[_]Operand{
9884 .{ .kind = .IdResult, .quantifier = .required },
9885 .{ .kind = .IdRef, .quantifier = .required },
9886 .{ .kind = .IdScope, .quantifier = .required },
9887 .{ .kind = .IdRef, .quantifier = .required },
9888 .{ .kind = .IdRef, .quantifier = .required },
9889 },
9890 },
9891 .{
9892 .name = "OpCooperativeMatrixLoadNV",
9893 .opcode = 5359,
9894 .operands = &[_]Operand{
9895 .{ .kind = .IdResultType, .quantifier = .required },
9896 .{ .kind = .IdResult, .quantifier = .required },
9897 .{ .kind = .IdRef, .quantifier = .required },
9898 .{ .kind = .IdRef, .quantifier = .required },
9899 .{ .kind = .IdRef, .quantifier = .required },
9900 .{ .kind = .MemoryAccess, .quantifier = .optional },
9901 },
9902 },
9903 .{
9904 .name = "OpCooperativeMatrixStoreNV",
9905 .opcode = 5360,
9906 .operands = &[_]Operand{
9907 .{ .kind = .IdRef, .quantifier = .required },
9908 .{ .kind = .IdRef, .quantifier = .required },
9909 .{ .kind = .IdRef, .quantifier = .required },
9910 .{ .kind = .IdRef, .quantifier = .required },
9911 .{ .kind = .MemoryAccess, .quantifier = .optional },
9912 },
9913 },
9914 .{
9915 .name = "OpCooperativeMatrixMulAddNV",
9916 .opcode = 5361,
9917 .operands = &[_]Operand{
9918 .{ .kind = .IdResultType, .quantifier = .required },
9919 .{ .kind = .IdResult, .quantifier = .required },
9920 .{ .kind = .IdRef, .quantifier = .required },
9921 .{ .kind = .IdRef, .quantifier = .required },
9922 .{ .kind = .IdRef, .quantifier = .required },
9923 },
9924 },
9925 .{
9926 .name = "OpCooperativeMatrixLengthNV",
9927 .opcode = 5362,
9928 .operands = &[_]Operand{
9929 .{ .kind = .IdResultType, .quantifier = .required },
9930 .{ .kind = .IdResult, .quantifier = .required },
9931 .{ .kind = .IdRef, .quantifier = .required },
9932 },
9933 },
9934 .{
9935 .name = "OpBeginInvocationInterlockEXT",
9936 .opcode = 5364,
9937 .operands = &[_]Operand{},
9938 },
9939 .{
9940 .name = "OpEndInvocationInterlockEXT",
9941 .opcode = 5365,
9942 .operands = &[_]Operand{},
9943 },
9944 .{
9945 .name = "OpDemoteToHelperInvocation",
9946 .opcode = 5380,
9947 .operands = &[_]Operand{},
9948 },
9949 .{
9950 .name = "OpDemoteToHelperInvocationEXT",
9951 .opcode = 5380,
9952 .operands = &[_]Operand{},
9953 },
9954 .{
9955 .name = "OpIsHelperInvocationEXT",
9956 .opcode = 5381,
9957 .operands = &[_]Operand{
9958 .{ .kind = .IdResultType, .quantifier = .required },
9959 .{ .kind = .IdResult, .quantifier = .required },
9960 },
9961 },
9962 .{
9963 .name = "OpConvertUToImageNV",
9964 .opcode = 5391,
9965 .operands = &[_]Operand{
9966 .{ .kind = .IdResultType, .quantifier = .required },
9967 .{ .kind = .IdResult, .quantifier = .required },
9968 .{ .kind = .IdRef, .quantifier = .required },
9969 },
9970 },
9971 .{
9972 .name = "OpConvertUToSamplerNV",
9973 .opcode = 5392,
9974 .operands = &[_]Operand{
9975 .{ .kind = .IdResultType, .quantifier = .required },
9976 .{ .kind = .IdResult, .quantifier = .required },
9977 .{ .kind = .IdRef, .quantifier = .required },
9978 },
9979 },
9980 .{
9981 .name = "OpConvertImageToUNV",
9982 .opcode = 5393,
9983 .operands = &[_]Operand{
9984 .{ .kind = .IdResultType, .quantifier = .required },
9985 .{ .kind = .IdResult, .quantifier = .required },
9986 .{ .kind = .IdRef, .quantifier = .required },
9987 },
9988 },
9989 .{
9990 .name = "OpConvertSamplerToUNV",
9991 .opcode = 5394,
9992 .operands = &[_]Operand{
9993 .{ .kind = .IdResultType, .quantifier = .required },
9994 .{ .kind = .IdResult, .quantifier = .required },
9995 .{ .kind = .IdRef, .quantifier = .required },
9996 },
9997 },
9998 .{
9999 .name = "OpConvertUToSampledImageNV",
10000 .opcode = 5395,
10001 .operands = &[_]Operand{
10002 .{ .kind = .IdResultType, .quantifier = .required },
10003 .{ .kind = .IdResult, .quantifier = .required },
10004 .{ .kind = .IdRef, .quantifier = .required },
10005 },
10006 },
10007 .{
10008 .name = "OpConvertSampledImageToUNV",
10009 .opcode = 5396,
10010 .operands = &[_]Operand{
10011 .{ .kind = .IdResultType, .quantifier = .required },
10012 .{ .kind = .IdResult, .quantifier = .required },
10013 .{ .kind = .IdRef, .quantifier = .required },
10014 },
10015 },
10016 .{
10017 .name = "OpSamplerImageAddressingModeNV",
10018 .opcode = 5397,
10019 .operands = &[_]Operand{
10020 .{ .kind = .LiteralInteger, .quantifier = .required },
10021 },
10022 },
10023 .{
10024 .name = "OpRawAccessChainNV",
10025 .opcode = 5398,
10026 .operands = &[_]Operand{
10027 .{ .kind = .IdResultType, .quantifier = .required },
10028 .{ .kind = .IdResult, .quantifier = .required },
10029 .{ .kind = .IdRef, .quantifier = .required },
10030 .{ .kind = .IdRef, .quantifier = .required },
10031 .{ .kind = .IdRef, .quantifier = .required },
10032 .{ .kind = .IdRef, .quantifier = .required },
10033 .{ .kind = .RawAccessChainOperands, .quantifier = .optional },
10034 },
10035 },
10036 .{
10037 .name = "OpSubgroupShuffleINTEL",
10038 .opcode = 5571,
10039 .operands = &[_]Operand{
10040 .{ .kind = .IdResultType, .quantifier = .required },
10041 .{ .kind = .IdResult, .quantifier = .required },
10042 .{ .kind = .IdRef, .quantifier = .required },
10043 .{ .kind = .IdRef, .quantifier = .required },
10044 },
10045 },
10046 .{
10047 .name = "OpSubgroupShuffleDownINTEL",
10048 .opcode = 5572,
10049 .operands = &[_]Operand{
10050 .{ .kind = .IdResultType, .quantifier = .required },
10051 .{ .kind = .IdResult, .quantifier = .required },
10052 .{ .kind = .IdRef, .quantifier = .required },
10053 .{ .kind = .IdRef, .quantifier = .required },
10054 .{ .kind = .IdRef, .quantifier = .required },
10055 },
10056 },
10057 .{
10058 .name = "OpSubgroupShuffleUpINTEL",
10059 .opcode = 5573,
10060 .operands = &[_]Operand{
10061 .{ .kind = .IdResultType, .quantifier = .required },
10062 .{ .kind = .IdResult, .quantifier = .required },
10063 .{ .kind = .IdRef, .quantifier = .required },
10064 .{ .kind = .IdRef, .quantifier = .required },
10065 .{ .kind = .IdRef, .quantifier = .required },
10066 },
10067 },
10068 .{
10069 .name = "OpSubgroupShuffleXorINTEL",
10070 .opcode = 5574,
10071 .operands = &[_]Operand{
10072 .{ .kind = .IdResultType, .quantifier = .required },
10073 .{ .kind = .IdResult, .quantifier = .required },
10074 .{ .kind = .IdRef, .quantifier = .required },
10075 .{ .kind = .IdRef, .quantifier = .required },
10076 },
10077 },
10078 .{
10079 .name = "OpSubgroupBlockReadINTEL",
10080 .opcode = 5575,
10081 .operands = &[_]Operand{
10082 .{ .kind = .IdResultType, .quantifier = .required },
10083 .{ .kind = .IdResult, .quantifier = .required },
10084 .{ .kind = .IdRef, .quantifier = .required },
10085 },
10086 },
10087 .{
10088 .name = "OpSubgroupBlockWriteINTEL",
10089 .opcode = 5576,
10090 .operands = &[_]Operand{
10091 .{ .kind = .IdRef, .quantifier = .required },
10092 .{ .kind = .IdRef, .quantifier = .required },
10093 },
10094 },
10095 .{
10096 .name = "OpSubgroupImageBlockReadINTEL",
10097 .opcode = 5577,
10098 .operands = &[_]Operand{
10099 .{ .kind = .IdResultType, .quantifier = .required },
10100 .{ .kind = .IdResult, .quantifier = .required },
10101 .{ .kind = .IdRef, .quantifier = .required },
10102 .{ .kind = .IdRef, .quantifier = .required },
10103 },
10104 },
10105 .{
10106 .name = "OpSubgroupImageBlockWriteINTEL",
10107 .opcode = 5578,
10108 .operands = &[_]Operand{
10109 .{ .kind = .IdRef, .quantifier = .required },
10110 .{ .kind = .IdRef, .quantifier = .required },
10111 .{ .kind = .IdRef, .quantifier = .required },
10112 },
10113 },
10114 .{
10115 .name = "OpSubgroupImageMediaBlockReadINTEL",
10116 .opcode = 5580,
10117 .operands = &[_]Operand{
10118 .{ .kind = .IdResultType, .quantifier = .required },
10119 .{ .kind = .IdResult, .quantifier = .required },
10120 .{ .kind = .IdRef, .quantifier = .required },
10121 .{ .kind = .IdRef, .quantifier = .required },
10122 .{ .kind = .IdRef, .quantifier = .required },
10123 .{ .kind = .IdRef, .quantifier = .required },
10124 },
10125 },
10126 .{
10127 .name = "OpSubgroupImageMediaBlockWriteINTEL",
10128 .opcode = 5581,
10129 .operands = &[_]Operand{
10130 .{ .kind = .IdRef, .quantifier = .required },
10131 .{ .kind = .IdRef, .quantifier = .required },
10132 .{ .kind = .IdRef, .quantifier = .required },
10133 .{ .kind = .IdRef, .quantifier = .required },
10134 .{ .kind = .IdRef, .quantifier = .required },
10135 },
10136 },
10137 .{
10138 .name = "OpUCountLeadingZerosINTEL",
10139 .opcode = 5585,
10140 .operands = &[_]Operand{
10141 .{ .kind = .IdResultType, .quantifier = .required },
10142 .{ .kind = .IdResult, .quantifier = .required },
10143 .{ .kind = .IdRef, .quantifier = .required },
10144 },
10145 },
10146 .{
10147 .name = "OpUCountTrailingZerosINTEL",
10148 .opcode = 5586,
10149 .operands = &[_]Operand{
10150 .{ .kind = .IdResultType, .quantifier = .required },
10151 .{ .kind = .IdResult, .quantifier = .required },
10152 .{ .kind = .IdRef, .quantifier = .required },
10153 },
10154 },
10155 .{
10156 .name = "OpAbsISubINTEL",
10157 .opcode = 5587,
10158 .operands = &[_]Operand{
10159 .{ .kind = .IdResultType, .quantifier = .required },
10160 .{ .kind = .IdResult, .quantifier = .required },
10161 .{ .kind = .IdRef, .quantifier = .required },
10162 .{ .kind = .IdRef, .quantifier = .required },
10163 },
10164 },
10165 .{
10166 .name = "OpAbsUSubINTEL",
10167 .opcode = 5588,
10168 .operands = &[_]Operand{
10169 .{ .kind = .IdResultType, .quantifier = .required },
10170 .{ .kind = .IdResult, .quantifier = .required },
10171 .{ .kind = .IdRef, .quantifier = .required },
10172 .{ .kind = .IdRef, .quantifier = .required },
10173 },
10174 },
10175 .{
10176 .name = "OpIAddSatINTEL",
10177 .opcode = 5589,
10178 .operands = &[_]Operand{
10179 .{ .kind = .IdResultType, .quantifier = .required },
10180 .{ .kind = .IdResult, .quantifier = .required },
10181 .{ .kind = .IdRef, .quantifier = .required },
10182 .{ .kind = .IdRef, .quantifier = .required },
10183 },
10184 },
10185 .{
10186 .name = "OpUAddSatINTEL",
10187 .opcode = 5590,
10188 .operands = &[_]Operand{
10189 .{ .kind = .IdResultType, .quantifier = .required },
10190 .{ .kind = .IdResult, .quantifier = .required },
10191 .{ .kind = .IdRef, .quantifier = .required },
10192 .{ .kind = .IdRef, .quantifier = .required },
10193 },
10194 },
10195 .{
10196 .name = "OpIAverageINTEL",
10197 .opcode = 5591,
10198 .operands = &[_]Operand{
10199 .{ .kind = .IdResultType, .quantifier = .required },
10200 .{ .kind = .IdResult, .quantifier = .required },
10201 .{ .kind = .IdRef, .quantifier = .required },
10202 .{ .kind = .IdRef, .quantifier = .required },
10203 },
10204 },
10205 .{
10206 .name = "OpUAverageINTEL",
10207 .opcode = 5592,
10208 .operands = &[_]Operand{
10209 .{ .kind = .IdResultType, .quantifier = .required },
10210 .{ .kind = .IdResult, .quantifier = .required },
10211 .{ .kind = .IdRef, .quantifier = .required },
10212 .{ .kind = .IdRef, .quantifier = .required },
10213 },
10214 },
10215 .{
10216 .name = "OpIAverageRoundedINTEL",
10217 .opcode = 5593,
10218 .operands = &[_]Operand{
10219 .{ .kind = .IdResultType, .quantifier = .required },
10220 .{ .kind = .IdResult, .quantifier = .required },
10221 .{ .kind = .IdRef, .quantifier = .required },
10222 .{ .kind = .IdRef, .quantifier = .required },
10223 },
10224 },
10225 .{
10226 .name = "OpUAverageRoundedINTEL",
10227 .opcode = 5594,
10228 .operands = &[_]Operand{
10229 .{ .kind = .IdResultType, .quantifier = .required },
10230 .{ .kind = .IdResult, .quantifier = .required },
10231 .{ .kind = .IdRef, .quantifier = .required },
10232 .{ .kind = .IdRef, .quantifier = .required },
10233 },
10234 },
10235 .{
10236 .name = "OpISubSatINTEL",
10237 .opcode = 5595,
10238 .operands = &[_]Operand{
10239 .{ .kind = .IdResultType, .quantifier = .required },
10240 .{ .kind = .IdResult, .quantifier = .required },
10241 .{ .kind = .IdRef, .quantifier = .required },
10242 .{ .kind = .IdRef, .quantifier = .required },
10243 },
10244 },
10245 .{
10246 .name = "OpUSubSatINTEL",
10247 .opcode = 5596,
10248 .operands = &[_]Operand{
10249 .{ .kind = .IdResultType, .quantifier = .required },
10250 .{ .kind = .IdResult, .quantifier = .required },
10251 .{ .kind = .IdRef, .quantifier = .required },
10252 .{ .kind = .IdRef, .quantifier = .required },
10253 },
10254 },
10255 .{
10256 .name = "OpIMul32x16INTEL",
10257 .opcode = 5597,
10258 .operands = &[_]Operand{
10259 .{ .kind = .IdResultType, .quantifier = .required },
10260 .{ .kind = .IdResult, .quantifier = .required },
10261 .{ .kind = .IdRef, .quantifier = .required },
10262 .{ .kind = .IdRef, .quantifier = .required },
10263 },
10264 },
10265 .{
10266 .name = "OpUMul32x16INTEL",
10267 .opcode = 5598,
10268 .operands = &[_]Operand{
10269 .{ .kind = .IdResultType, .quantifier = .required },
10270 .{ .kind = .IdResult, .quantifier = .required },
10271 .{ .kind = .IdRef, .quantifier = .required },
10272 .{ .kind = .IdRef, .quantifier = .required },
10273 },
10274 },
10275 .{
10276 .name = "OpConstantFunctionPointerINTEL",
10277 .opcode = 5600,
10278 .operands = &[_]Operand{
10279 .{ .kind = .IdResultType, .quantifier = .required },
10280 .{ .kind = .IdResult, .quantifier = .required },
10281 .{ .kind = .IdRef, .quantifier = .required },
10282 },
10283 },
10284 .{
10285 .name = "OpFunctionPointerCallINTEL",
10286 .opcode = 5601,
10287 .operands = &[_]Operand{
10288 .{ .kind = .IdResultType, .quantifier = .required },
10289 .{ .kind = .IdResult, .quantifier = .required },
10290 .{ .kind = .IdRef, .quantifier = .variadic },
10291 },
10292 },
10293 .{
10294 .name = "OpAsmTargetINTEL",
10295 .opcode = 5609,
10296 .operands = &[_]Operand{
10297 .{ .kind = .IdResultType, .quantifier = .required },
10298 .{ .kind = .IdResult, .quantifier = .required },
10299 .{ .kind = .LiteralString, .quantifier = .required },
10300 },
10301 },
10302 .{
10303 .name = "OpAsmINTEL",
10304 .opcode = 5610,
10305 .operands = &[_]Operand{
10306 .{ .kind = .IdResultType, .quantifier = .required },
10307 .{ .kind = .IdResult, .quantifier = .required },
10308 .{ .kind = .IdRef, .quantifier = .required },
10309 .{ .kind = .IdRef, .quantifier = .required },
10310 .{ .kind = .LiteralString, .quantifier = .required },
10311 .{ .kind = .LiteralString, .quantifier = .required },
10312 },
10313 },
10314 .{
10315 .name = "OpAsmCallINTEL",
10316 .opcode = 5611,
10317 .operands = &[_]Operand{
10318 .{ .kind = .IdResultType, .quantifier = .required },
10319 .{ .kind = .IdResult, .quantifier = .required },
10320 .{ .kind = .IdRef, .quantifier = .required },
10321 .{ .kind = .IdRef, .quantifier = .variadic },
10322 },
10323 },
10324 .{
10325 .name = "OpAtomicFMinEXT",
10326 .opcode = 5614,
10327 .operands = &[_]Operand{
10328 .{ .kind = .IdResultType, .quantifier = .required },
10329 .{ .kind = .IdResult, .quantifier = .required },
10330 .{ .kind = .IdRef, .quantifier = .required },
10331 .{ .kind = .IdScope, .quantifier = .required },
10332 .{ .kind = .IdMemorySemantics, .quantifier = .required },
10333 .{ .kind = .IdRef, .quantifier = .required },
10334 },
10335 },
10336 .{
10337 .name = "OpAtomicFMaxEXT",
10338 .opcode = 5615,
10339 .operands = &[_]Operand{
10340 .{ .kind = .IdResultType, .quantifier = .required },
10341 .{ .kind = .IdResult, .quantifier = .required },
10342 .{ .kind = .IdRef, .quantifier = .required },
10343 .{ .kind = .IdScope, .quantifier = .required },
10344 .{ .kind = .IdMemorySemantics, .quantifier = .required },
10345 .{ .kind = .IdRef, .quantifier = .required },
10346 },
10347 },
10348 .{
10349 .name = "OpAssumeTrueKHR",
10350 .opcode = 5630,
10351 .operands = &[_]Operand{
10352 .{ .kind = .IdRef, .quantifier = .required },
10353 },
10354 },
10355 .{
10356 .name = "OpExpectKHR",
10357 .opcode = 5631,
10358 .operands = &[_]Operand{
10359 .{ .kind = .IdResultType, .quantifier = .required },
10360 .{ .kind = .IdResult, .quantifier = .required },
10361 .{ .kind = .IdRef, .quantifier = .required },
10362 .{ .kind = .IdRef, .quantifier = .required },
10363 },
10364 },
10365 .{
10366 .name = "OpDecorateString",
10367 .opcode = 5632,
10368 .operands = &[_]Operand{
10369 .{ .kind = .IdRef, .quantifier = .required },
10370 .{ .kind = .Decoration, .quantifier = .required },
10371 },
10372 },
10373 .{
10374 .name = "OpDecorateStringGOOGLE",
10375 .opcode = 5632,
10376 .operands = &[_]Operand{
10377 .{ .kind = .IdRef, .quantifier = .required },
10378 .{ .kind = .Decoration, .quantifier = .required },
10379 },
10380 },
10381 .{
10382 .name = "OpMemberDecorateString",
10383 .opcode = 5633,
10384 .operands = &[_]Operand{
10385 .{ .kind = .IdRef, .quantifier = .required },
10386 .{ .kind = .LiteralInteger, .quantifier = .required },
10387 .{ .kind = .Decoration, .quantifier = .required },
10388 },
10389 },
10390 .{
10391 .name = "OpMemberDecorateStringGOOGLE",
10392 .opcode = 5633,
10393 .operands = &[_]Operand{
10394 .{ .kind = .IdRef, .quantifier = .required },
10395 .{ .kind = .LiteralInteger, .quantifier = .required },
10396 .{ .kind = .Decoration, .quantifier = .required },
10397 },
10398 },
10399 .{
10400 .name = "OpVmeImageINTEL",
10401 .opcode = 5699,
10402 .operands = &[_]Operand{
10403 .{ .kind = .IdResultType, .quantifier = .required },
10404 .{ .kind = .IdResult, .quantifier = .required },
10405 .{ .kind = .IdRef, .quantifier = .required },
10406 .{ .kind = .IdRef, .quantifier = .required },
10407 },
10408 },
10409 .{
10410 .name = "OpTypeVmeImageINTEL",
10411 .opcode = 5700,
10412 .operands = &[_]Operand{
10413 .{ .kind = .IdResult, .quantifier = .required },
10414 .{ .kind = .IdRef, .quantifier = .required },
10415 },
10416 },
10417 .{
10418 .name = "OpTypeAvcImePayloadINTEL",
10419 .opcode = 5701,
10420 .operands = &[_]Operand{
10421 .{ .kind = .IdResult, .quantifier = .required },
10422 },
10423 },
10424 .{
10425 .name = "OpTypeAvcRefPayloadINTEL",
10426 .opcode = 5702,
10427 .operands = &[_]Operand{
10428 .{ .kind = .IdResult, .quantifier = .required },
10429 },
10430 },
10431 .{
10432 .name = "OpTypeAvcSicPayloadINTEL",
10433 .opcode = 5703,
10434 .operands = &[_]Operand{
10435 .{ .kind = .IdResult, .quantifier = .required },
10436 },
10437 },
10438 .{
10439 .name = "OpTypeAvcMcePayloadINTEL",
10440 .opcode = 5704,
10441 .operands = &[_]Operand{
10442 .{ .kind = .IdResult, .quantifier = .required },
10443 },
10444 },
10445 .{
10446 .name = "OpTypeAvcMceResultINTEL",
10447 .opcode = 5705,
10448 .operands = &[_]Operand{
10449 .{ .kind = .IdResult, .quantifier = .required },
10450 },
10451 },
10452 .{
10453 .name = "OpTypeAvcImeResultINTEL",
10454 .opcode = 5706,
10455 .operands = &[_]Operand{
10456 .{ .kind = .IdResult, .quantifier = .required },
10457 },
10458 },
10459 .{
10460 .name = "OpTypeAvcImeResultSingleReferenceStreamoutINTEL",
10461 .opcode = 5707,
10462 .operands = &[_]Operand{
10463 .{ .kind = .IdResult, .quantifier = .required },
10464 },
10465 },
10466 .{
10467 .name = "OpTypeAvcImeResultDualReferenceStreamoutINTEL",
10468 .opcode = 5708,
10469 .operands = &[_]Operand{
10470 .{ .kind = .IdResult, .quantifier = .required },
10471 },
10472 },
10473 .{
10474 .name = "OpTypeAvcImeSingleReferenceStreaminINTEL",
10475 .opcode = 5709,
10476 .operands = &[_]Operand{
10477 .{ .kind = .IdResult, .quantifier = .required },
10478 },
10479 },
10480 .{
10481 .name = "OpTypeAvcImeDualReferenceStreaminINTEL",
10482 .opcode = 5710,
10483 .operands = &[_]Operand{
10484 .{ .kind = .IdResult, .quantifier = .required },
10485 },
10486 },
10487 .{
10488 .name = "OpTypeAvcRefResultINTEL",
10489 .opcode = 5711,
10490 .operands = &[_]Operand{
10491 .{ .kind = .IdResult, .quantifier = .required },
10492 },
10493 },
10494 .{
10495 .name = "OpTypeAvcSicResultINTEL",
10496 .opcode = 5712,
10497 .operands = &[_]Operand{
10498 .{ .kind = .IdResult, .quantifier = .required },
10499 },
10500 },
10501 .{
10502 .name = "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL",
10503 .opcode = 5713,
10504 .operands = &[_]Operand{
10505 .{ .kind = .IdResultType, .quantifier = .required },
10506 .{ .kind = .IdResult, .quantifier = .required },
10507 .{ .kind = .IdRef, .quantifier = .required },
10508 .{ .kind = .IdRef, .quantifier = .required },
10509 },
10510 },
10511 .{
10512 .name = "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL",
10513 .opcode = 5714,
10514 .operands = &[_]Operand{
10515 .{ .kind = .IdResultType, .quantifier = .required },
10516 .{ .kind = .IdResult, .quantifier = .required },
10517 .{ .kind = .IdRef, .quantifier = .required },
10518 .{ .kind = .IdRef, .quantifier = .required },
10519 },
10520 },
10521 .{
10522 .name = "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL",
10523 .opcode = 5715,
10524 .operands = &[_]Operand{
10525 .{ .kind = .IdResultType, .quantifier = .required },
10526 .{ .kind = .IdResult, .quantifier = .required },
10527 .{ .kind = .IdRef, .quantifier = .required },
10528 .{ .kind = .IdRef, .quantifier = .required },
10529 },
10530 },
10531 .{
10532 .name = "OpSubgroupAvcMceSetInterShapePenaltyINTEL",
10533 .opcode = 5716,
10534 .operands = &[_]Operand{
10535 .{ .kind = .IdResultType, .quantifier = .required },
10536 .{ .kind = .IdResult, .quantifier = .required },
10537 .{ .kind = .IdRef, .quantifier = .required },
10538 .{ .kind = .IdRef, .quantifier = .required },
10539 },
10540 },
10541 .{
10542 .name = "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL",
10543 .opcode = 5717,
10544 .operands = &[_]Operand{
10545 .{ .kind = .IdResultType, .quantifier = .required },
10546 .{ .kind = .IdResult, .quantifier = .required },
10547 .{ .kind = .IdRef, .quantifier = .required },
10548 .{ .kind = .IdRef, .quantifier = .required },
10549 },
10550 },
10551 .{
10552 .name = "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL",
10553 .opcode = 5718,
10554 .operands = &[_]Operand{
10555 .{ .kind = .IdResultType, .quantifier = .required },
10556 .{ .kind = .IdResult, .quantifier = .required },
10557 .{ .kind = .IdRef, .quantifier = .required },
10558 .{ .kind = .IdRef, .quantifier = .required },
10559 },
10560 },
10561 .{
10562 .name = "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL",
10563 .opcode = 5719,
10564 .operands = &[_]Operand{
10565 .{ .kind = .IdResultType, .quantifier = .required },
10566 .{ .kind = .IdResult, .quantifier = .required },
10567 .{ .kind = .IdRef, .quantifier = .required },
10568 .{ .kind = .IdRef, .quantifier = .required },
10569 },
10570 },
10571 .{
10572 .name = "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL",
10573 .opcode = 5720,
10574 .operands = &[_]Operand{
10575 .{ .kind = .IdResultType, .quantifier = .required },
10576 .{ .kind = .IdResult, .quantifier = .required },
10577 .{ .kind = .IdRef, .quantifier = .required },
10578 .{ .kind = .IdRef, .quantifier = .required },
10579 },
10580 },
10581 .{
10582 .name = "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL",
10583 .opcode = 5721,
10584 .operands = &[_]Operand{
10585 .{ .kind = .IdResultType, .quantifier = .required },
10586 .{ .kind = .IdResult, .quantifier = .required },
10587 },
10588 },
10589 .{
10590 .name = "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL",
10591 .opcode = 5722,
10592 .operands = &[_]Operand{
10593 .{ .kind = .IdResultType, .quantifier = .required },
10594 .{ .kind = .IdResult, .quantifier = .required },
10595 },
10596 },
10597 .{
10598 .name = "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL",
10599 .opcode = 5723,
10600 .operands = &[_]Operand{
10601 .{ .kind = .IdResultType, .quantifier = .required },
10602 .{ .kind = .IdResult, .quantifier = .required },
10603 },
10604 },
10605 .{
10606 .name = "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL",
10607 .opcode = 5724,
10608 .operands = &[_]Operand{
10609 .{ .kind = .IdResultType, .quantifier = .required },
10610 .{ .kind = .IdResult, .quantifier = .required },
10611 .{ .kind = .IdRef, .quantifier = .required },
10612 .{ .kind = .IdRef, .quantifier = .required },
10613 .{ .kind = .IdRef, .quantifier = .required },
10614 .{ .kind = .IdRef, .quantifier = .required },
10615 },
10616 },
10617 .{
10618 .name = "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL",
10619 .opcode = 5725,
10620 .operands = &[_]Operand{
10621 .{ .kind = .IdResultType, .quantifier = .required },
10622 .{ .kind = .IdResult, .quantifier = .required },
10623 .{ .kind = .IdRef, .quantifier = .required },
10624 .{ .kind = .IdRef, .quantifier = .required },
10625 },
10626 },
10627 .{
10628 .name = "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL",
10629 .opcode = 5726,
10630 .operands = &[_]Operand{
10631 .{ .kind = .IdResultType, .quantifier = .required },
10632 .{ .kind = .IdResult, .quantifier = .required },
10633 },
10634 },
10635 .{
10636 .name = "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL",
10637 .opcode = 5727,
10638 .operands = &[_]Operand{
10639 .{ .kind = .IdResultType, .quantifier = .required },
10640 .{ .kind = .IdResult, .quantifier = .required },
10641 },
10642 },
10643 .{
10644 .name = "OpSubgroupAvcMceSetAcOnlyHaarINTEL",
10645 .opcode = 5728,
10646 .operands = &[_]Operand{
10647 .{ .kind = .IdResultType, .quantifier = .required },
10648 .{ .kind = .IdResult, .quantifier = .required },
10649 .{ .kind = .IdRef, .quantifier = .required },
10650 },
10651 },
10652 .{
10653 .name = "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL",
10654 .opcode = 5729,
10655 .operands = &[_]Operand{
10656 .{ .kind = .IdResultType, .quantifier = .required },
10657 .{ .kind = .IdResult, .quantifier = .required },
10658 .{ .kind = .IdRef, .quantifier = .required },
10659 .{ .kind = .IdRef, .quantifier = .required },
10660 },
10661 },
10662 .{
10663 .name = "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL",
10664 .opcode = 5730,
10665 .operands = &[_]Operand{
10666 .{ .kind = .IdResultType, .quantifier = .required },
10667 .{ .kind = .IdResult, .quantifier = .required },
10668 .{ .kind = .IdRef, .quantifier = .required },
10669 .{ .kind = .IdRef, .quantifier = .required },
10670 },
10671 },
10672 .{
10673 .name = "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL",
10674 .opcode = 5731,
10675 .operands = &[_]Operand{
10676 .{ .kind = .IdResultType, .quantifier = .required },
10677 .{ .kind = .IdResult, .quantifier = .required },
10678 .{ .kind = .IdRef, .quantifier = .required },
10679 .{ .kind = .IdRef, .quantifier = .required },
10680 .{ .kind = .IdRef, .quantifier = .required },
10681 },
10682 },
10683 .{
10684 .name = "OpSubgroupAvcMceConvertToImePayloadINTEL",
10685 .opcode = 5732,
10686 .operands = &[_]Operand{
10687 .{ .kind = .IdResultType, .quantifier = .required },
10688 .{ .kind = .IdResult, .quantifier = .required },
10689 .{ .kind = .IdRef, .quantifier = .required },
10690 },
10691 },
10692 .{
10693 .name = "OpSubgroupAvcMceConvertToImeResultINTEL",
10694 .opcode = 5733,
10695 .operands = &[_]Operand{
10696 .{ .kind = .IdResultType, .quantifier = .required },
10697 .{ .kind = .IdResult, .quantifier = .required },
10698 .{ .kind = .IdRef, .quantifier = .required },
10699 },
10700 },
10701 .{
10702 .name = "OpSubgroupAvcMceConvertToRefPayloadINTEL",
10703 .opcode = 5734,
10704 .operands = &[_]Operand{
10705 .{ .kind = .IdResultType, .quantifier = .required },
10706 .{ .kind = .IdResult, .quantifier = .required },
10707 .{ .kind = .IdRef, .quantifier = .required },
10708 },
10709 },
10710 .{
10711 .name = "OpSubgroupAvcMceConvertToRefResultINTEL",
10712 .opcode = 5735,
10713 .operands = &[_]Operand{
10714 .{ .kind = .IdResultType, .quantifier = .required },
10715 .{ .kind = .IdResult, .quantifier = .required },
10716 .{ .kind = .IdRef, .quantifier = .required },
10717 },
10718 },
10719 .{
10720 .name = "OpSubgroupAvcMceConvertToSicPayloadINTEL",
10721 .opcode = 5736,
10722 .operands = &[_]Operand{
10723 .{ .kind = .IdResultType, .quantifier = .required },
10724 .{ .kind = .IdResult, .quantifier = .required },
10725 .{ .kind = .IdRef, .quantifier = .required },
10726 },
10727 },
10728 .{
10729 .name = "OpSubgroupAvcMceConvertToSicResultINTEL",
10730 .opcode = 5737,
10731 .operands = &[_]Operand{
10732 .{ .kind = .IdResultType, .quantifier = .required },
10733 .{ .kind = .IdResult, .quantifier = .required },
10734 .{ .kind = .IdRef, .quantifier = .required },
10735 },
10736 },
10737 .{
10738 .name = "OpSubgroupAvcMceGetMotionVectorsINTEL",
10739 .opcode = 5738,
10740 .operands = &[_]Operand{
10741 .{ .kind = .IdResultType, .quantifier = .required },
10742 .{ .kind = .IdResult, .quantifier = .required },
10743 .{ .kind = .IdRef, .quantifier = .required },
10744 },
10745 },
10746 .{
10747 .name = "OpSubgroupAvcMceGetInterDistortionsINTEL",
10748 .opcode = 5739,
10749 .operands = &[_]Operand{
10750 .{ .kind = .IdResultType, .quantifier = .required },
10751 .{ .kind = .IdResult, .quantifier = .required },
10752 .{ .kind = .IdRef, .quantifier = .required },
10753 },
10754 },
10755 .{
10756 .name = "OpSubgroupAvcMceGetBestInterDistortionsINTEL",
10757 .opcode = 5740,
10758 .operands = &[_]Operand{
10759 .{ .kind = .IdResultType, .quantifier = .required },
10760 .{ .kind = .IdResult, .quantifier = .required },
10761 .{ .kind = .IdRef, .quantifier = .required },
10762 },
10763 },
10764 .{
10765 .name = "OpSubgroupAvcMceGetInterMajorShapeINTEL",
10766 .opcode = 5741,
10767 .operands = &[_]Operand{
10768 .{ .kind = .IdResultType, .quantifier = .required },
10769 .{ .kind = .IdResult, .quantifier = .required },
10770 .{ .kind = .IdRef, .quantifier = .required },
10771 },
10772 },
10773 .{
10774 .name = "OpSubgroupAvcMceGetInterMinorShapeINTEL",
10775 .opcode = 5742,
10776 .operands = &[_]Operand{
10777 .{ .kind = .IdResultType, .quantifier = .required },
10778 .{ .kind = .IdResult, .quantifier = .required },
10779 .{ .kind = .IdRef, .quantifier = .required },
10780 },
10781 },
10782 .{
10783 .name = "OpSubgroupAvcMceGetInterDirectionsINTEL",
10784 .opcode = 5743,
10785 .operands = &[_]Operand{
10786 .{ .kind = .IdResultType, .quantifier = .required },
10787 .{ .kind = .IdResult, .quantifier = .required },
10788 .{ .kind = .IdRef, .quantifier = .required },
10789 },
10790 },
10791 .{
10792 .name = "OpSubgroupAvcMceGetInterMotionVectorCountINTEL",
10793 .opcode = 5744,
10794 .operands = &[_]Operand{
10795 .{ .kind = .IdResultType, .quantifier = .required },
10796 .{ .kind = .IdResult, .quantifier = .required },
10797 .{ .kind = .IdRef, .quantifier = .required },
10798 },
10799 },
10800 .{
10801 .name = "OpSubgroupAvcMceGetInterReferenceIdsINTEL",
10802 .opcode = 5745,
10803 .operands = &[_]Operand{
10804 .{ .kind = .IdResultType, .quantifier = .required },
10805 .{ .kind = .IdResult, .quantifier = .required },
10806 .{ .kind = .IdRef, .quantifier = .required },
10807 },
10808 },
10809 .{
10810 .name = "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL",
10811 .opcode = 5746,
10812 .operands = &[_]Operand{
10813 .{ .kind = .IdResultType, .quantifier = .required },
10814 .{ .kind = .IdResult, .quantifier = .required },
10815 .{ .kind = .IdRef, .quantifier = .required },
10816 .{ .kind = .IdRef, .quantifier = .required },
10817 .{ .kind = .IdRef, .quantifier = .required },
10818 },
10819 },
10820 .{
10821 .name = "OpSubgroupAvcImeInitializeINTEL",
10822 .opcode = 5747,
10823 .operands = &[_]Operand{
10824 .{ .kind = .IdResultType, .quantifier = .required },
10825 .{ .kind = .IdResult, .quantifier = .required },
10826 .{ .kind = .IdRef, .quantifier = .required },
10827 .{ .kind = .IdRef, .quantifier = .required },
10828 .{ .kind = .IdRef, .quantifier = .required },
10829 },
10830 },
10831 .{
10832 .name = "OpSubgroupAvcImeSetSingleReferenceINTEL",
10833 .opcode = 5748,
10834 .operands = &[_]Operand{
10835 .{ .kind = .IdResultType, .quantifier = .required },
10836 .{ .kind = .IdResult, .quantifier = .required },
10837 .{ .kind = .IdRef, .quantifier = .required },
10838 .{ .kind = .IdRef, .quantifier = .required },
10839 .{ .kind = .IdRef, .quantifier = .required },
10840 },
10841 },
10842 .{
10843 .name = "OpSubgroupAvcImeSetDualReferenceINTEL",
10844 .opcode = 5749,
10845 .operands = &[_]Operand{
10846 .{ .kind = .IdResultType, .quantifier = .required },
10847 .{ .kind = .IdResult, .quantifier = .required },
10848 .{ .kind = .IdRef, .quantifier = .required },
10849 .{ .kind = .IdRef, .quantifier = .required },
10850 .{ .kind = .IdRef, .quantifier = .required },
10851 .{ .kind = .IdRef, .quantifier = .required },
10852 },
10853 },
10854 .{
10855 .name = "OpSubgroupAvcImeRefWindowSizeINTEL",
10856 .opcode = 5750,
10857 .operands = &[_]Operand{
10858 .{ .kind = .IdResultType, .quantifier = .required },
10859 .{ .kind = .IdResult, .quantifier = .required },
10860 .{ .kind = .IdRef, .quantifier = .required },
10861 .{ .kind = .IdRef, .quantifier = .required },
10862 },
10863 },
10864 .{
10865 .name = "OpSubgroupAvcImeAdjustRefOffsetINTEL",
10866 .opcode = 5751,
10867 .operands = &[_]Operand{
10868 .{ .kind = .IdResultType, .quantifier = .required },
10869 .{ .kind = .IdResult, .quantifier = .required },
10870 .{ .kind = .IdRef, .quantifier = .required },
10871 .{ .kind = .IdRef, .quantifier = .required },
10872 .{ .kind = .IdRef, .quantifier = .required },
10873 .{ .kind = .IdRef, .quantifier = .required },
10874 },
10875 },
10876 .{
10877 .name = "OpSubgroupAvcImeConvertToMcePayloadINTEL",
10878 .opcode = 5752,
10879 .operands = &[_]Operand{
10880 .{ .kind = .IdResultType, .quantifier = .required },
10881 .{ .kind = .IdResult, .quantifier = .required },
10882 .{ .kind = .IdRef, .quantifier = .required },
10883 },
10884 },
10885 .{
10886 .name = "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL",
10887 .opcode = 5753,
10888 .operands = &[_]Operand{
10889 .{ .kind = .IdResultType, .quantifier = .required },
10890 .{ .kind = .IdResult, .quantifier = .required },
10891 .{ .kind = .IdRef, .quantifier = .required },
10892 .{ .kind = .IdRef, .quantifier = .required },
10893 },
10894 },
10895 .{
10896 .name = "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL",
10897 .opcode = 5754,
10898 .operands = &[_]Operand{
10899 .{ .kind = .IdResultType, .quantifier = .required },
10900 .{ .kind = .IdResult, .quantifier = .required },
10901 .{ .kind = .IdRef, .quantifier = .required },
10902 },
10903 },
10904 .{
10905 .name = "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL",
10906 .opcode = 5755,
10907 .operands = &[_]Operand{
10908 .{ .kind = .IdResultType, .quantifier = .required },
10909 .{ .kind = .IdResult, .quantifier = .required },
10910 .{ .kind = .IdRef, .quantifier = .required },
10911 .{ .kind = .IdRef, .quantifier = .required },
10912 },
10913 },
10914 .{
10915 .name = "OpSubgroupAvcImeSetWeightedSadINTEL",
10916 .opcode = 5756,
10917 .operands = &[_]Operand{
10918 .{ .kind = .IdResultType, .quantifier = .required },
10919 .{ .kind = .IdResult, .quantifier = .required },
10920 .{ .kind = .IdRef, .quantifier = .required },
10921 .{ .kind = .IdRef, .quantifier = .required },
10922 },
10923 },
10924 .{
10925 .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL",
10926 .opcode = 5757,
10927 .operands = &[_]Operand{
10928 .{ .kind = .IdResultType, .quantifier = .required },
10929 .{ .kind = .IdResult, .quantifier = .required },
10930 .{ .kind = .IdRef, .quantifier = .required },
10931 .{ .kind = .IdRef, .quantifier = .required },
10932 .{ .kind = .IdRef, .quantifier = .required },
10933 },
10934 },
10935 .{
10936 .name = "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL",
10937 .opcode = 5758,
10938 .operands = &[_]Operand{
10939 .{ .kind = .IdResultType, .quantifier = .required },
10940 .{ .kind = .IdResult, .quantifier = .required },
10941 .{ .kind = .IdRef, .quantifier = .required },
10942 .{ .kind = .IdRef, .quantifier = .required },
10943 .{ .kind = .IdRef, .quantifier = .required },
10944 .{ .kind = .IdRef, .quantifier = .required },
10945 },
10946 },
10947 .{
10948 .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL",
10949 .opcode = 5759,
10950 .operands = &[_]Operand{
10951 .{ .kind = .IdResultType, .quantifier = .required },
10952 .{ .kind = .IdResult, .quantifier = .required },
10953 .{ .kind = .IdRef, .quantifier = .required },
10954 .{ .kind = .IdRef, .quantifier = .required },
10955 .{ .kind = .IdRef, .quantifier = .required },
10956 .{ .kind = .IdRef, .quantifier = .required },
10957 },
10958 },
10959 .{
10960 .name = "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL",
10961 .opcode = 5760,
10962 .operands = &[_]Operand{
10963 .{ .kind = .IdResultType, .quantifier = .required },
10964 .{ .kind = .IdResult, .quantifier = .required },
10965 .{ .kind = .IdRef, .quantifier = .required },
10966 .{ .kind = .IdRef, .quantifier = .required },
10967 .{ .kind = .IdRef, .quantifier = .required },
10968 .{ .kind = .IdRef, .quantifier = .required },
10969 .{ .kind = .IdRef, .quantifier = .required },
10970 },
10971 },
10972 .{
10973 .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL",
10974 .opcode = 5761,
10975 .operands = &[_]Operand{
10976 .{ .kind = .IdResultType, .quantifier = .required },
10977 .{ .kind = .IdResult, .quantifier = .required },
10978 .{ .kind = .IdRef, .quantifier = .required },
10979 .{ .kind = .IdRef, .quantifier = .required },
10980 .{ .kind = .IdRef, .quantifier = .required },
10981 },
10982 },
10983 .{
10984 .name = "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL",
10985 .opcode = 5762,
10986 .operands = &[_]Operand{
10987 .{ .kind = .IdResultType, .quantifier = .required },
10988 .{ .kind = .IdResult, .quantifier = .required },
10989 .{ .kind = .IdRef, .quantifier = .required },
10990 .{ .kind = .IdRef, .quantifier = .required },
10991 .{ .kind = .IdRef, .quantifier = .required },
10992 .{ .kind = .IdRef, .quantifier = .required },
10993 },
10994 },
10995 .{
10996 .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL",
10997 .opcode = 5763,
10998 .operands = &[_]Operand{
10999 .{ .kind = .IdResultType, .quantifier = .required },
11000 .{ .kind = .IdResult, .quantifier = .required },
11001 .{ .kind = .IdRef, .quantifier = .required },
11002 .{ .kind = .IdRef, .quantifier = .required },
11003 .{ .kind = .IdRef, .quantifier = .required },
11004 .{ .kind = .IdRef, .quantifier = .required },
11005 },
11006 },
11007 .{
11008 .name = "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL",
11009 .opcode = 5764,
11010 .operands = &[_]Operand{
11011 .{ .kind = .IdResultType, .quantifier = .required },
11012 .{ .kind = .IdResult, .quantifier = .required },
11013 .{ .kind = .IdRef, .quantifier = .required },
11014 .{ .kind = .IdRef, .quantifier = .required },
11015 .{ .kind = .IdRef, .quantifier = .required },
11016 .{ .kind = .IdRef, .quantifier = .required },
11017 .{ .kind = .IdRef, .quantifier = .required },
11018 },
11019 },
11020 .{
11021 .name = "OpSubgroupAvcImeConvertToMceResultINTEL",
11022 .opcode = 5765,
11023 .operands = &[_]Operand{
11024 .{ .kind = .IdResultType, .quantifier = .required },
11025 .{ .kind = .IdResult, .quantifier = .required },
11026 .{ .kind = .IdRef, .quantifier = .required },
11027 },
11028 },
11029 .{
11030 .name = "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL",
11031 .opcode = 5766,
11032 .operands = &[_]Operand{
11033 .{ .kind = .IdResultType, .quantifier = .required },
11034 .{ .kind = .IdResult, .quantifier = .required },
11035 .{ .kind = .IdRef, .quantifier = .required },
11036 },
11037 },
11038 .{
11039 .name = "OpSubgroupAvcImeGetDualReferenceStreaminINTEL",
11040 .opcode = 5767,
11041 .operands = &[_]Operand{
11042 .{ .kind = .IdResultType, .quantifier = .required },
11043 .{ .kind = .IdResult, .quantifier = .required },
11044 .{ .kind = .IdRef, .quantifier = .required },
11045 },
11046 },
11047 .{
11048 .name = "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL",
11049 .opcode = 5768,
11050 .operands = &[_]Operand{
11051 .{ .kind = .IdResultType, .quantifier = .required },
11052 .{ .kind = .IdResult, .quantifier = .required },
11053 .{ .kind = .IdRef, .quantifier = .required },
11054 },
11055 },
11056 .{
11057 .name = "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL",
11058 .opcode = 5769,
11059 .operands = &[_]Operand{
11060 .{ .kind = .IdResultType, .quantifier = .required },
11061 .{ .kind = .IdResult, .quantifier = .required },
11062 .{ .kind = .IdRef, .quantifier = .required },
11063 },
11064 },
11065 .{
11066 .name = "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL",
11067 .opcode = 5770,
11068 .operands = &[_]Operand{
11069 .{ .kind = .IdResultType, .quantifier = .required },
11070 .{ .kind = .IdResult, .quantifier = .required },
11071 .{ .kind = .IdRef, .quantifier = .required },
11072 .{ .kind = .IdRef, .quantifier = .required },
11073 },
11074 },
11075 .{
11076 .name = "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL",
11077 .opcode = 5771,
11078 .operands = &[_]Operand{
11079 .{ .kind = .IdResultType, .quantifier = .required },
11080 .{ .kind = .IdResult, .quantifier = .required },
11081 .{ .kind = .IdRef, .quantifier = .required },
11082 .{ .kind = .IdRef, .quantifier = .required },
11083 },
11084 },
11085 .{
11086 .name = "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL",
11087 .opcode = 5772,
11088 .operands = &[_]Operand{
11089 .{ .kind = .IdResultType, .quantifier = .required },
11090 .{ .kind = .IdResult, .quantifier = .required },
11091 .{ .kind = .IdRef, .quantifier = .required },
11092 .{ .kind = .IdRef, .quantifier = .required },
11093 },
11094 },
11095 .{
11096 .name = "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL",
11097 .opcode = 5773,
11098 .operands = &[_]Operand{
11099 .{ .kind = .IdResultType, .quantifier = .required },
11100 .{ .kind = .IdResult, .quantifier = .required },
11101 .{ .kind = .IdRef, .quantifier = .required },
11102 .{ .kind = .IdRef, .quantifier = .required },
11103 .{ .kind = .IdRef, .quantifier = .required },
11104 },
11105 },
11106 .{
11107 .name = "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL",
11108 .opcode = 5774,
11109 .operands = &[_]Operand{
11110 .{ .kind = .IdResultType, .quantifier = .required },
11111 .{ .kind = .IdResult, .quantifier = .required },
11112 .{ .kind = .IdRef, .quantifier = .required },
11113 .{ .kind = .IdRef, .quantifier = .required },
11114 .{ .kind = .IdRef, .quantifier = .required },
11115 },
11116 },
11117 .{
11118 .name = "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL",
11119 .opcode = 5775,
11120 .operands = &[_]Operand{
11121 .{ .kind = .IdResultType, .quantifier = .required },
11122 .{ .kind = .IdResult, .quantifier = .required },
11123 .{ .kind = .IdRef, .quantifier = .required },
11124 .{ .kind = .IdRef, .quantifier = .required },
11125 .{ .kind = .IdRef, .quantifier = .required },
11126 },
11127 },
11128 .{
11129 .name = "OpSubgroupAvcImeGetBorderReachedINTEL",
11130 .opcode = 5776,
11131 .operands = &[_]Operand{
11132 .{ .kind = .IdResultType, .quantifier = .required },
11133 .{ .kind = .IdResult, .quantifier = .required },
11134 .{ .kind = .IdRef, .quantifier = .required },
11135 .{ .kind = .IdRef, .quantifier = .required },
11136 },
11137 },
11138 .{
11139 .name = "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL",
11140 .opcode = 5777,
11141 .operands = &[_]Operand{
11142 .{ .kind = .IdResultType, .quantifier = .required },
11143 .{ .kind = .IdResult, .quantifier = .required },
11144 .{ .kind = .IdRef, .quantifier = .required },
11145 },
11146 },
11147 .{
11148 .name = "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL",
11149 .opcode = 5778,
11150 .operands = &[_]Operand{
11151 .{ .kind = .IdResultType, .quantifier = .required },
11152 .{ .kind = .IdResult, .quantifier = .required },
11153 .{ .kind = .IdRef, .quantifier = .required },
11154 },
11155 },
11156 .{
11157 .name = "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL",
11158 .opcode = 5779,
11159 .operands = &[_]Operand{
11160 .{ .kind = .IdResultType, .quantifier = .required },
11161 .{ .kind = .IdResult, .quantifier = .required },
11162 .{ .kind = .IdRef, .quantifier = .required },
11163 },
11164 },
11165 .{
11166 .name = "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL",
11167 .opcode = 5780,
11168 .operands = &[_]Operand{
11169 .{ .kind = .IdResultType, .quantifier = .required },
11170 .{ .kind = .IdResult, .quantifier = .required },
11171 .{ .kind = .IdRef, .quantifier = .required },
11172 },
11173 },
11174 .{
11175 .name = "OpSubgroupAvcFmeInitializeINTEL",
11176 .opcode = 5781,
11177 .operands = &[_]Operand{
11178 .{ .kind = .IdResultType, .quantifier = .required },
11179 .{ .kind = .IdResult, .quantifier = .required },
11180 .{ .kind = .IdRef, .quantifier = .required },
11181 .{ .kind = .IdRef, .quantifier = .required },
11182 .{ .kind = .IdRef, .quantifier = .required },
11183 .{ .kind = .IdRef, .quantifier = .required },
11184 .{ .kind = .IdRef, .quantifier = .required },
11185 .{ .kind = .IdRef, .quantifier = .required },
11186 .{ .kind = .IdRef, .quantifier = .required },
11187 },
11188 },
11189 .{
11190 .name = "OpSubgroupAvcBmeInitializeINTEL",
11191 .opcode = 5782,
11192 .operands = &[_]Operand{
11193 .{ .kind = .IdResultType, .quantifier = .required },
11194 .{ .kind = .IdResult, .quantifier = .required },
11195 .{ .kind = .IdRef, .quantifier = .required },
11196 .{ .kind = .IdRef, .quantifier = .required },
11197 .{ .kind = .IdRef, .quantifier = .required },
11198 .{ .kind = .IdRef, .quantifier = .required },
11199 .{ .kind = .IdRef, .quantifier = .required },
11200 .{ .kind = .IdRef, .quantifier = .required },
11201 .{ .kind = .IdRef, .quantifier = .required },
11202 .{ .kind = .IdRef, .quantifier = .required },
11203 },
11204 },
11205 .{
11206 .name = "OpSubgroupAvcRefConvertToMcePayloadINTEL",
11207 .opcode = 5783,
11208 .operands = &[_]Operand{
11209 .{ .kind = .IdResultType, .quantifier = .required },
11210 .{ .kind = .IdResult, .quantifier = .required },
11211 .{ .kind = .IdRef, .quantifier = .required },
11212 },
11213 },
11214 .{
11215 .name = "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL",
11216 .opcode = 5784,
11217 .operands = &[_]Operand{
11218 .{ .kind = .IdResultType, .quantifier = .required },
11219 .{ .kind = .IdResult, .quantifier = .required },
11220 .{ .kind = .IdRef, .quantifier = .required },
11221 },
11222 },
11223 .{
11224 .name = "OpSubgroupAvcRefSetBilinearFilterEnableINTEL",
11225 .opcode = 5785,
11226 .operands = &[_]Operand{
11227 .{ .kind = .IdResultType, .quantifier = .required },
11228 .{ .kind = .IdResult, .quantifier = .required },
11229 .{ .kind = .IdRef, .quantifier = .required },
11230 },
11231 },
11232 .{
11233 .name = "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL",
11234 .opcode = 5786,
11235 .operands = &[_]Operand{
11236 .{ .kind = .IdResultType, .quantifier = .required },
11237 .{ .kind = .IdResult, .quantifier = .required },
11238 .{ .kind = .IdRef, .quantifier = .required },
11239 .{ .kind = .IdRef, .quantifier = .required },
11240 .{ .kind = .IdRef, .quantifier = .required },
11241 },
11242 },
11243 .{
11244 .name = "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL",
11245 .opcode = 5787,
11246 .operands = &[_]Operand{
11247 .{ .kind = .IdResultType, .quantifier = .required },
11248 .{ .kind = .IdResult, .quantifier = .required },
11249 .{ .kind = .IdRef, .quantifier = .required },
11250 .{ .kind = .IdRef, .quantifier = .required },
11251 .{ .kind = .IdRef, .quantifier = .required },
11252 .{ .kind = .IdRef, .quantifier = .required },
11253 },
11254 },
11255 .{
11256 .name = "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL",
11257 .opcode = 5788,
11258 .operands = &[_]Operand{
11259 .{ .kind = .IdResultType, .quantifier = .required },
11260 .{ .kind = .IdResult, .quantifier = .required },
11261 .{ .kind = .IdRef, .quantifier = .required },
11262 .{ .kind = .IdRef, .quantifier = .required },
11263 .{ .kind = .IdRef, .quantifier = .required },
11264 },
11265 },
11266 .{
11267 .name = "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL",
11268 .opcode = 5789,
11269 .operands = &[_]Operand{
11270 .{ .kind = .IdResultType, .quantifier = .required },
11271 .{ .kind = .IdResult, .quantifier = .required },
11272 .{ .kind = .IdRef, .quantifier = .required },
11273 .{ .kind = .IdRef, .quantifier = .required },
11274 .{ .kind = .IdRef, .quantifier = .required },
11275 .{ .kind = .IdRef, .quantifier = .required },
11276 },
11277 },
11278 .{
11279 .name = "OpSubgroupAvcRefConvertToMceResultINTEL",
11280 .opcode = 5790,
11281 .operands = &[_]Operand{
11282 .{ .kind = .IdResultType, .quantifier = .required },
11283 .{ .kind = .IdResult, .quantifier = .required },
11284 .{ .kind = .IdRef, .quantifier = .required },
11285 },
11286 },
11287 .{
11288 .name = "OpSubgroupAvcSicInitializeINTEL",
11289 .opcode = 5791,
11290 .operands = &[_]Operand{
11291 .{ .kind = .IdResultType, .quantifier = .required },
11292 .{ .kind = .IdResult, .quantifier = .required },
11293 .{ .kind = .IdRef, .quantifier = .required },
11294 },
11295 },
11296 .{
11297 .name = "OpSubgroupAvcSicConfigureSkcINTEL",
11298 .opcode = 5792,
11299 .operands = &[_]Operand{
11300 .{ .kind = .IdResultType, .quantifier = .required },
11301 .{ .kind = .IdResult, .quantifier = .required },
11302 .{ .kind = .IdRef, .quantifier = .required },
11303 .{ .kind = .IdRef, .quantifier = .required },
11304 .{ .kind = .IdRef, .quantifier = .required },
11305 .{ .kind = .IdRef, .quantifier = .required },
11306 .{ .kind = .IdRef, .quantifier = .required },
11307 .{ .kind = .IdRef, .quantifier = .required },
11308 },
11309 },
11310 .{
11311 .name = "OpSubgroupAvcSicConfigureIpeLumaINTEL",
11312 .opcode = 5793,
11313 .operands = &[_]Operand{
11314 .{ .kind = .IdResultType, .quantifier = .required },
11315 .{ .kind = .IdResult, .quantifier = .required },
11316 .{ .kind = .IdRef, .quantifier = .required },
11317 .{ .kind = .IdRef, .quantifier = .required },
11318 .{ .kind = .IdRef, .quantifier = .required },
11319 .{ .kind = .IdRef, .quantifier = .required },
11320 .{ .kind = .IdRef, .quantifier = .required },
11321 .{ .kind = .IdRef, .quantifier = .required },
11322 .{ .kind = .IdRef, .quantifier = .required },
11323 .{ .kind = .IdRef, .quantifier = .required },
11324 },
11325 },
11326 .{
11327 .name = "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL",
11328 .opcode = 5794,
11329 .operands = &[_]Operand{
11330 .{ .kind = .IdResultType, .quantifier = .required },
11331 .{ .kind = .IdResult, .quantifier = .required },
11332 .{ .kind = .IdRef, .quantifier = .required },
11333 .{ .kind = .IdRef, .quantifier = .required },
11334 .{ .kind = .IdRef, .quantifier = .required },
11335 .{ .kind = .IdRef, .quantifier = .required },
11336 .{ .kind = .IdRef, .quantifier = .required },
11337 .{ .kind = .IdRef, .quantifier = .required },
11338 .{ .kind = .IdRef, .quantifier = .required },
11339 .{ .kind = .IdRef, .quantifier = .required },
11340 .{ .kind = .IdRef, .quantifier = .required },
11341 .{ .kind = .IdRef, .quantifier = .required },
11342 .{ .kind = .IdRef, .quantifier = .required },
11343 },
11344 },
11345 .{
11346 .name = "OpSubgroupAvcSicGetMotionVectorMaskINTEL",
11347 .opcode = 5795,
11348 .operands = &[_]Operand{
11349 .{ .kind = .IdResultType, .quantifier = .required },
11350 .{ .kind = .IdResult, .quantifier = .required },
11351 .{ .kind = .IdRef, .quantifier = .required },
11352 .{ .kind = .IdRef, .quantifier = .required },
11353 },
11354 },
11355 .{
11356 .name = "OpSubgroupAvcSicConvertToMcePayloadINTEL",
11357 .opcode = 5796,
11358 .operands = &[_]Operand{
11359 .{ .kind = .IdResultType, .quantifier = .required },
11360 .{ .kind = .IdResult, .quantifier = .required },
11361 .{ .kind = .IdRef, .quantifier = .required },
11362 },
11363 },
11364 .{
11365 .name = "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL",
11366 .opcode = 5797,
11367 .operands = &[_]Operand{
11368 .{ .kind = .IdResultType, .quantifier = .required },
11369 .{ .kind = .IdResult, .quantifier = .required },
11370 .{ .kind = .IdRef, .quantifier = .required },
11371 .{ .kind = .IdRef, .quantifier = .required },
11372 },
11373 },
11374 .{
11375 .name = "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL",
11376 .opcode = 5798,
11377 .operands = &[_]Operand{
11378 .{ .kind = .IdResultType, .quantifier = .required },
11379 .{ .kind = .IdResult, .quantifier = .required },
11380 .{ .kind = .IdRef, .quantifier = .required },
11381 .{ .kind = .IdRef, .quantifier = .required },
11382 .{ .kind = .IdRef, .quantifier = .required },
11383 .{ .kind = .IdRef, .quantifier = .required },
11384 },
11385 },
11386 .{
11387 .name = "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL",
11388 .opcode = 5799,
11389 .operands = &[_]Operand{
11390 .{ .kind = .IdResultType, .quantifier = .required },
11391 .{ .kind = .IdResult, .quantifier = .required },
11392 .{ .kind = .IdRef, .quantifier = .required },
11393 .{ .kind = .IdRef, .quantifier = .required },
11394 },
11395 },
11396 .{
11397 .name = "OpSubgroupAvcSicSetBilinearFilterEnableINTEL",
11398 .opcode = 5800,
11399 .operands = &[_]Operand{
11400 .{ .kind = .IdResultType, .quantifier = .required },
11401 .{ .kind = .IdResult, .quantifier = .required },
11402 .{ .kind = .IdRef, .quantifier = .required },
11403 },
11404 },
11405 .{
11406 .name = "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL",
11407 .opcode = 5801,
11408 .operands = &[_]Operand{
11409 .{ .kind = .IdResultType, .quantifier = .required },
11410 .{ .kind = .IdResult, .quantifier = .required },
11411 .{ .kind = .IdRef, .quantifier = .required },
11412 .{ .kind = .IdRef, .quantifier = .required },
11413 },
11414 },
11415 .{
11416 .name = "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL",
11417 .opcode = 5802,
11418 .operands = &[_]Operand{
11419 .{ .kind = .IdResultType, .quantifier = .required },
11420 .{ .kind = .IdResult, .quantifier = .required },
11421 .{ .kind = .IdRef, .quantifier = .required },
11422 .{ .kind = .IdRef, .quantifier = .required },
11423 },
11424 },
11425 .{
11426 .name = "OpSubgroupAvcSicEvaluateIpeINTEL",
11427 .opcode = 5803,
11428 .operands = &[_]Operand{
11429 .{ .kind = .IdResultType, .quantifier = .required },
11430 .{ .kind = .IdResult, .quantifier = .required },
11431 .{ .kind = .IdRef, .quantifier = .required },
11432 .{ .kind = .IdRef, .quantifier = .required },
11433 },
11434 },
11435 .{
11436 .name = "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL",
11437 .opcode = 5804,
11438 .operands = &[_]Operand{
11439 .{ .kind = .IdResultType, .quantifier = .required },
11440 .{ .kind = .IdResult, .quantifier = .required },
11441 .{ .kind = .IdRef, .quantifier = .required },
11442 .{ .kind = .IdRef, .quantifier = .required },
11443 .{ .kind = .IdRef, .quantifier = .required },
11444 },
11445 },
11446 .{
11447 .name = "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL",
11448 .opcode = 5805,
11449 .operands = &[_]Operand{
11450 .{ .kind = .IdResultType, .quantifier = .required },
11451 .{ .kind = .IdResult, .quantifier = .required },
11452 .{ .kind = .IdRef, .quantifier = .required },
11453 .{ .kind = .IdRef, .quantifier = .required },
11454 .{ .kind = .IdRef, .quantifier = .required },
11455 .{ .kind = .IdRef, .quantifier = .required },
11456 },
11457 },
11458 .{
11459 .name = "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL",
11460 .opcode = 5806,
11461 .operands = &[_]Operand{
11462 .{ .kind = .IdResultType, .quantifier = .required },
11463 .{ .kind = .IdResult, .quantifier = .required },
11464 .{ .kind = .IdRef, .quantifier = .required },
11465 .{ .kind = .IdRef, .quantifier = .required },
11466 .{ .kind = .IdRef, .quantifier = .required },
11467 },
11468 },
11469 .{
11470 .name = "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL",
11471 .opcode = 5807,
11472 .operands = &[_]Operand{
11473 .{ .kind = .IdResultType, .quantifier = .required },
11474 .{ .kind = .IdResult, .quantifier = .required },
11475 .{ .kind = .IdRef, .quantifier = .required },
11476 .{ .kind = .IdRef, .quantifier = .required },
11477 .{ .kind = .IdRef, .quantifier = .required },
11478 .{ .kind = .IdRef, .quantifier = .required },
11479 },
11480 },
11481 .{
11482 .name = "OpSubgroupAvcSicConvertToMceResultINTEL",
11483 .opcode = 5808,
11484 .operands = &[_]Operand{
11485 .{ .kind = .IdResultType, .quantifier = .required },
11486 .{ .kind = .IdResult, .quantifier = .required },
11487 .{ .kind = .IdRef, .quantifier = .required },
11488 },
11489 },
11490 .{
11491 .name = "OpSubgroupAvcSicGetIpeLumaShapeINTEL",
11492 .opcode = 5809,
11493 .operands = &[_]Operand{
11494 .{ .kind = .IdResultType, .quantifier = .required },
11495 .{ .kind = .IdResult, .quantifier = .required },
11496 .{ .kind = .IdRef, .quantifier = .required },
11497 },
11498 },
11499 .{
11500 .name = "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL",
11501 .opcode = 5810,
11502 .operands = &[_]Operand{
11503 .{ .kind = .IdResultType, .quantifier = .required },
11504 .{ .kind = .IdResult, .quantifier = .required },
11505 .{ .kind = .IdRef, .quantifier = .required },
11506 },
11507 },
11508 .{
11509 .name = "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL",
11510 .opcode = 5811,
11511 .operands = &[_]Operand{
11512 .{ .kind = .IdResultType, .quantifier = .required },
11513 .{ .kind = .IdResult, .quantifier = .required },
11514 .{ .kind = .IdRef, .quantifier = .required },
11515 },
11516 },
11517 .{
11518 .name = "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL",
11519 .opcode = 5812,
11520 .operands = &[_]Operand{
11521 .{ .kind = .IdResultType, .quantifier = .required },
11522 .{ .kind = .IdResult, .quantifier = .required },
11523 .{ .kind = .IdRef, .quantifier = .required },
11524 },
11525 },
11526 .{
11527 .name = "OpSubgroupAvcSicGetIpeChromaModeINTEL",
11528 .opcode = 5813,
11529 .operands = &[_]Operand{
11530 .{ .kind = .IdResultType, .quantifier = .required },
11531 .{ .kind = .IdResult, .quantifier = .required },
11532 .{ .kind = .IdRef, .quantifier = .required },
11533 },
11534 },
11535 .{
11536 .name = "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL",
11537 .opcode = 5814,
11538 .operands = &[_]Operand{
11539 .{ .kind = .IdResultType, .quantifier = .required },
11540 .{ .kind = .IdResult, .quantifier = .required },
11541 .{ .kind = .IdRef, .quantifier = .required },
11542 },
11543 },
11544 .{
11545 .name = "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL",
11546 .opcode = 5815,
11547 .operands = &[_]Operand{
11548 .{ .kind = .IdResultType, .quantifier = .required },
11549 .{ .kind = .IdResult, .quantifier = .required },
11550 .{ .kind = .IdRef, .quantifier = .required },
11551 },
11552 },
11553 .{
11554 .name = "OpSubgroupAvcSicGetInterRawSadsINTEL",
11555 .opcode = 5816,
11556 .operands = &[_]Operand{
11557 .{ .kind = .IdResultType, .quantifier = .required },
11558 .{ .kind = .IdResult, .quantifier = .required },
11559 .{ .kind = .IdRef, .quantifier = .required },
11560 },
11561 },
11562 .{
11563 .name = "OpVariableLengthArrayINTEL",
11564 .opcode = 5818,
11565 .operands = &[_]Operand{
11566 .{ .kind = .IdResultType, .quantifier = .required },
11567 .{ .kind = .IdResult, .quantifier = .required },
11568 .{ .kind = .IdRef, .quantifier = .required },
11569 },
11570 },
11571 .{
11572 .name = "OpSaveMemoryINTEL",
11573 .opcode = 5819,
11574 .operands = &[_]Operand{
11575 .{ .kind = .IdResultType, .quantifier = .required },
11576 .{ .kind = .IdResult, .quantifier = .required },
11577 },
11578 },
11579 .{
11580 .name = "OpRestoreMemoryINTEL",
11581 .opcode = 5820,
11582 .operands = &[_]Operand{
11583 .{ .kind = .IdRef, .quantifier = .required },
11584 },
11585 },
11586 .{
11587 .name = "OpArbitraryFloatSinCosPiINTEL",
11588 .opcode = 5840,
11589 .operands = &[_]Operand{
11590 .{ .kind = .IdResultType, .quantifier = .required },
11591 .{ .kind = .IdResult, .quantifier = .required },
11592 .{ .kind = .IdRef, .quantifier = .required },
11593 .{ .kind = .LiteralInteger, .quantifier = .required },
11594 .{ .kind = .LiteralInteger, .quantifier = .required },
11595 .{ .kind = .LiteralInteger, .quantifier = .required },
11596 .{ .kind = .LiteralInteger, .quantifier = .required },
11597 .{ .kind = .LiteralInteger, .quantifier = .required },
11598 .{ .kind = .LiteralInteger, .quantifier = .required },
11599 },
11600 },
11601 .{
11602 .name = "OpArbitraryFloatCastINTEL",
11603 .opcode = 5841,
11604 .operands = &[_]Operand{
11605 .{ .kind = .IdResultType, .quantifier = .required },
11606 .{ .kind = .IdResult, .quantifier = .required },
11607 .{ .kind = .IdRef, .quantifier = .required },
11608 .{ .kind = .LiteralInteger, .quantifier = .required },
11609 .{ .kind = .LiteralInteger, .quantifier = .required },
11610 .{ .kind = .LiteralInteger, .quantifier = .required },
11611 .{ .kind = .LiteralInteger, .quantifier = .required },
11612 .{ .kind = .LiteralInteger, .quantifier = .required },
11613 },
11614 },
11615 .{
11616 .name = "OpArbitraryFloatCastFromIntINTEL",
11617 .opcode = 5842,
11618 .operands = &[_]Operand{
11619 .{ .kind = .IdResultType, .quantifier = .required },
11620 .{ .kind = .IdResult, .quantifier = .required },
11621 .{ .kind = .IdRef, .quantifier = .required },
11622 .{ .kind = .LiteralInteger, .quantifier = .required },
11623 .{ .kind = .LiteralInteger, .quantifier = .required },
11624 .{ .kind = .LiteralInteger, .quantifier = .required },
11625 .{ .kind = .LiteralInteger, .quantifier = .required },
11626 .{ .kind = .LiteralInteger, .quantifier = .required },
11627 },
11628 },
11629 .{
11630 .name = "OpArbitraryFloatCastToIntINTEL",
11631 .opcode = 5843,
11632 .operands = &[_]Operand{
11633 .{ .kind = .IdResultType, .quantifier = .required },
11634 .{ .kind = .IdResult, .quantifier = .required },
11635 .{ .kind = .IdRef, .quantifier = .required },
11636 .{ .kind = .LiteralInteger, .quantifier = .required },
11637 .{ .kind = .LiteralInteger, .quantifier = .required },
11638 .{ .kind = .LiteralInteger, .quantifier = .required },
11639 .{ .kind = .LiteralInteger, .quantifier = .required },
11640 },
11641 },
11642 .{
11643 .name = "OpArbitraryFloatAddINTEL",
11644 .opcode = 5846,
11645 .operands = &[_]Operand{
11646 .{ .kind = .IdResultType, .quantifier = .required },
11647 .{ .kind = .IdResult, .quantifier = .required },
11648 .{ .kind = .IdRef, .quantifier = .required },
11649 .{ .kind = .LiteralInteger, .quantifier = .required },
11650 .{ .kind = .IdRef, .quantifier = .required },
11651 .{ .kind = .LiteralInteger, .quantifier = .required },
11652 .{ .kind = .LiteralInteger, .quantifier = .required },
11653 .{ .kind = .LiteralInteger, .quantifier = .required },
11654 .{ .kind = .LiteralInteger, .quantifier = .required },
11655 .{ .kind = .LiteralInteger, .quantifier = .required },
11656 },
11657 },
11658 .{
11659 .name = "OpArbitraryFloatSubINTEL",
11660 .opcode = 5847,
11661 .operands = &[_]Operand{
11662 .{ .kind = .IdResultType, .quantifier = .required },
11663 .{ .kind = .IdResult, .quantifier = .required },
11664 .{ .kind = .IdRef, .quantifier = .required },
11665 .{ .kind = .LiteralInteger, .quantifier = .required },
11666 .{ .kind = .IdRef, .quantifier = .required },
11667 .{ .kind = .LiteralInteger, .quantifier = .required },
11668 .{ .kind = .LiteralInteger, .quantifier = .required },
11669 .{ .kind = .LiteralInteger, .quantifier = .required },
11670 .{ .kind = .LiteralInteger, .quantifier = .required },
11671 .{ .kind = .LiteralInteger, .quantifier = .required },
11672 },
11673 },
11674 .{
11675 .name = "OpArbitraryFloatMulINTEL",
11676 .opcode = 5848,
11677 .operands = &[_]Operand{
11678 .{ .kind = .IdResultType, .quantifier = .required },
11679 .{ .kind = .IdResult, .quantifier = .required },
11680 .{ .kind = .IdRef, .quantifier = .required },
11681 .{ .kind = .LiteralInteger, .quantifier = .required },
11682 .{ .kind = .IdRef, .quantifier = .required },
11683 .{ .kind = .LiteralInteger, .quantifier = .required },
11684 .{ .kind = .LiteralInteger, .quantifier = .required },
11685 .{ .kind = .LiteralInteger, .quantifier = .required },
11686 .{ .kind = .LiteralInteger, .quantifier = .required },
11687 .{ .kind = .LiteralInteger, .quantifier = .required },
11688 },
11689 },
11690 .{
11691 .name = "OpArbitraryFloatDivINTEL",
11692 .opcode = 5849,
11693 .operands = &[_]Operand{
11694 .{ .kind = .IdResultType, .quantifier = .required },
11695 .{ .kind = .IdResult, .quantifier = .required },
11696 .{ .kind = .IdRef, .quantifier = .required },
11697 .{ .kind = .LiteralInteger, .quantifier = .required },
11698 .{ .kind = .IdRef, .quantifier = .required },
11699 .{ .kind = .LiteralInteger, .quantifier = .required },
11700 .{ .kind = .LiteralInteger, .quantifier = .required },
11701 .{ .kind = .LiteralInteger, .quantifier = .required },
11702 .{ .kind = .LiteralInteger, .quantifier = .required },
11703 .{ .kind = .LiteralInteger, .quantifier = .required },
11704 },
11705 },
11706 .{
11707 .name = "OpArbitraryFloatGTINTEL",
11708 .opcode = 5850,
11709 .operands = &[_]Operand{
11710 .{ .kind = .IdResultType, .quantifier = .required },
11711 .{ .kind = .IdResult, .quantifier = .required },
11712 .{ .kind = .IdRef, .quantifier = .required },
11713 .{ .kind = .LiteralInteger, .quantifier = .required },
11714 .{ .kind = .IdRef, .quantifier = .required },
11715 .{ .kind = .LiteralInteger, .quantifier = .required },
11716 },
11717 },
11718 .{
11719 .name = "OpArbitraryFloatGEINTEL",
11720 .opcode = 5851,
11721 .operands = &[_]Operand{
11722 .{ .kind = .IdResultType, .quantifier = .required },
11723 .{ .kind = .IdResult, .quantifier = .required },
11724 .{ .kind = .IdRef, .quantifier = .required },
11725 .{ .kind = .LiteralInteger, .quantifier = .required },
11726 .{ .kind = .IdRef, .quantifier = .required },
11727 .{ .kind = .LiteralInteger, .quantifier = .required },
11728 },
11729 },
11730 .{
11731 .name = "OpArbitraryFloatLTINTEL",
11732 .opcode = 5852,
11733 .operands = &[_]Operand{
11734 .{ .kind = .IdResultType, .quantifier = .required },
11735 .{ .kind = .IdResult, .quantifier = .required },
11736 .{ .kind = .IdRef, .quantifier = .required },
11737 .{ .kind = .LiteralInteger, .quantifier = .required },
11738 .{ .kind = .IdRef, .quantifier = .required },
11739 .{ .kind = .LiteralInteger, .quantifier = .required },
11740 },
11741 },
11742 .{
11743 .name = "OpArbitraryFloatLEINTEL",
11744 .opcode = 5853,
11745 .operands = &[_]Operand{
11746 .{ .kind = .IdResultType, .quantifier = .required },
11747 .{ .kind = .IdResult, .quantifier = .required },
11748 .{ .kind = .IdRef, .quantifier = .required },
11749 .{ .kind = .LiteralInteger, .quantifier = .required },
11750 .{ .kind = .IdRef, .quantifier = .required },
11751 .{ .kind = .LiteralInteger, .quantifier = .required },
11752 },
11753 },
11754 .{
11755 .name = "OpArbitraryFloatEQINTEL",
11756 .opcode = 5854,
11757 .operands = &[_]Operand{
11758 .{ .kind = .IdResultType, .quantifier = .required },
11759 .{ .kind = .IdResult, .quantifier = .required },
11760 .{ .kind = .IdRef, .quantifier = .required },
11761 .{ .kind = .LiteralInteger, .quantifier = .required },
11762 .{ .kind = .IdRef, .quantifier = .required },
11763 .{ .kind = .LiteralInteger, .quantifier = .required },
11764 },
11765 },
11766 .{
11767 .name = "OpArbitraryFloatRecipINTEL",
11768 .opcode = 5855,
11769 .operands = &[_]Operand{
11770 .{ .kind = .IdResultType, .quantifier = .required },
11771 .{ .kind = .IdResult, .quantifier = .required },
11772 .{ .kind = .IdRef, .quantifier = .required },
11773 .{ .kind = .LiteralInteger, .quantifier = .required },
11774 .{ .kind = .LiteralInteger, .quantifier = .required },
11775 .{ .kind = .LiteralInteger, .quantifier = .required },
11776 .{ .kind = .LiteralInteger, .quantifier = .required },
11777 .{ .kind = .LiteralInteger, .quantifier = .required },
11778 },
11779 },
11780 .{
11781 .name = "OpArbitraryFloatRSqrtINTEL",
11782 .opcode = 5856,
11783 .operands = &[_]Operand{
11784 .{ .kind = .IdResultType, .quantifier = .required },
11785 .{ .kind = .IdResult, .quantifier = .required },
11786 .{ .kind = .IdRef, .quantifier = .required },
11787 .{ .kind = .LiteralInteger, .quantifier = .required },
11788 .{ .kind = .LiteralInteger, .quantifier = .required },
11789 .{ .kind = .LiteralInteger, .quantifier = .required },
11790 .{ .kind = .LiteralInteger, .quantifier = .required },
11791 .{ .kind = .LiteralInteger, .quantifier = .required },
11792 },
11793 },
11794 .{
11795 .name = "OpArbitraryFloatCbrtINTEL",
11796 .opcode = 5857,
11797 .operands = &[_]Operand{
11798 .{ .kind = .IdResultType, .quantifier = .required },
11799 .{ .kind = .IdResult, .quantifier = .required },
11800 .{ .kind = .IdRef, .quantifier = .required },
11801 .{ .kind = .LiteralInteger, .quantifier = .required },
11802 .{ .kind = .LiteralInteger, .quantifier = .required },
11803 .{ .kind = .LiteralInteger, .quantifier = .required },
11804 .{ .kind = .LiteralInteger, .quantifier = .required },
11805 .{ .kind = .LiteralInteger, .quantifier = .required },
11806 },
11807 },
11808 .{
11809 .name = "OpArbitraryFloatHypotINTEL",
11810 .opcode = 5858,
11811 .operands = &[_]Operand{
11812 .{ .kind = .IdResultType, .quantifier = .required },
11813 .{ .kind = .IdResult, .quantifier = .required },
11814 .{ .kind = .IdRef, .quantifier = .required },
11815 .{ .kind = .LiteralInteger, .quantifier = .required },
11816 .{ .kind = .IdRef, .quantifier = .required },
11817 .{ .kind = .LiteralInteger, .quantifier = .required },
11818 .{ .kind = .LiteralInteger, .quantifier = .required },
11819 .{ .kind = .LiteralInteger, .quantifier = .required },
11820 .{ .kind = .LiteralInteger, .quantifier = .required },
11821 .{ .kind = .LiteralInteger, .quantifier = .required },
11822 },
11823 },
11824 .{
11825 .name = "OpArbitraryFloatSqrtINTEL",
11826 .opcode = 5859,
11827 .operands = &[_]Operand{
11828 .{ .kind = .IdResultType, .quantifier = .required },
11829 .{ .kind = .IdResult, .quantifier = .required },
11830 .{ .kind = .IdRef, .quantifier = .required },
11831 .{ .kind = .LiteralInteger, .quantifier = .required },
11832 .{ .kind = .LiteralInteger, .quantifier = .required },
11833 .{ .kind = .LiteralInteger, .quantifier = .required },
11834 .{ .kind = .LiteralInteger, .quantifier = .required },
11835 .{ .kind = .LiteralInteger, .quantifier = .required },
11836 },
11837 },
11838 .{
11839 .name = "OpArbitraryFloatLogINTEL",
11840 .opcode = 5860,
11841 .operands = &[_]Operand{
11842 .{ .kind = .IdResultType, .quantifier = .required },
11843 .{ .kind = .IdResult, .quantifier = .required },
11844 .{ .kind = .IdRef, .quantifier = .required },
11845 .{ .kind = .LiteralInteger, .quantifier = .required },
11846 .{ .kind = .LiteralInteger, .quantifier = .required },
11847 .{ .kind = .LiteralInteger, .quantifier = .required },
11848 .{ .kind = .LiteralInteger, .quantifier = .required },
11849 .{ .kind = .LiteralInteger, .quantifier = .required },
11850 },
11851 },
11852 .{
11853 .name = "OpArbitraryFloatLog2INTEL",
11854 .opcode = 5861,
11855 .operands = &[_]Operand{
11856 .{ .kind = .IdResultType, .quantifier = .required },
11857 .{ .kind = .IdResult, .quantifier = .required },
11858 .{ .kind = .IdRef, .quantifier = .required },
11859 .{ .kind = .LiteralInteger, .quantifier = .required },
11860 .{ .kind = .LiteralInteger, .quantifier = .required },
11861 .{ .kind = .LiteralInteger, .quantifier = .required },
11862 .{ .kind = .LiteralInteger, .quantifier = .required },
11863 .{ .kind = .LiteralInteger, .quantifier = .required },
11864 },
11865 },
11866 .{
11867 .name = "OpArbitraryFloatLog10INTEL",
11868 .opcode = 5862,
11869 .operands = &[_]Operand{
11870 .{ .kind = .IdResultType, .quantifier = .required },
11871 .{ .kind = .IdResult, .quantifier = .required },
11872 .{ .kind = .IdRef, .quantifier = .required },
11873 .{ .kind = .LiteralInteger, .quantifier = .required },
11874 .{ .kind = .LiteralInteger, .quantifier = .required },
11875 .{ .kind = .LiteralInteger, .quantifier = .required },
11876 .{ .kind = .LiteralInteger, .quantifier = .required },
11877 .{ .kind = .LiteralInteger, .quantifier = .required },
11878 },
11879 },
11880 .{
11881 .name = "OpArbitraryFloatLog1pINTEL",
11882 .opcode = 5863,
11883 .operands = &[_]Operand{
11884 .{ .kind = .IdResultType, .quantifier = .required },
11885 .{ .kind = .IdResult, .quantifier = .required },
11886 .{ .kind = .IdRef, .quantifier = .required },
11887 .{ .kind = .LiteralInteger, .quantifier = .required },
11888 .{ .kind = .LiteralInteger, .quantifier = .required },
11889 .{ .kind = .LiteralInteger, .quantifier = .required },
11890 .{ .kind = .LiteralInteger, .quantifier = .required },
11891 .{ .kind = .LiteralInteger, .quantifier = .required },
11892 },
11893 },
11894 .{
11895 .name = "OpArbitraryFloatExpINTEL",
11896 .opcode = 5864,
11897 .operands = &[_]Operand{
11898 .{ .kind = .IdResultType, .quantifier = .required },
11899 .{ .kind = .IdResult, .quantifier = .required },
11900 .{ .kind = .IdRef, .quantifier = .required },
11901 .{ .kind = .LiteralInteger, .quantifier = .required },
11902 .{ .kind = .LiteralInteger, .quantifier = .required },
11903 .{ .kind = .LiteralInteger, .quantifier = .required },
11904 .{ .kind = .LiteralInteger, .quantifier = .required },
11905 .{ .kind = .LiteralInteger, .quantifier = .required },
11906 },
11907 },
11908 .{
11909 .name = "OpArbitraryFloatExp2INTEL",
11910 .opcode = 5865,
11911 .operands = &[_]Operand{
11912 .{ .kind = .IdResultType, .quantifier = .required },
11913 .{ .kind = .IdResult, .quantifier = .required },
11914 .{ .kind = .IdRef, .quantifier = .required },
11915 .{ .kind = .LiteralInteger, .quantifier = .required },
11916 .{ .kind = .LiteralInteger, .quantifier = .required },
11917 .{ .kind = .LiteralInteger, .quantifier = .required },
11918 .{ .kind = .LiteralInteger, .quantifier = .required },
11919 .{ .kind = .LiteralInteger, .quantifier = .required },
11920 },
11921 },
11922 .{
11923 .name = "OpArbitraryFloatExp10INTEL",
11924 .opcode = 5866,
11925 .operands = &[_]Operand{
11926 .{ .kind = .IdResultType, .quantifier = .required },
11927 .{ .kind = .IdResult, .quantifier = .required },
11928 .{ .kind = .IdRef, .quantifier = .required },
11929 .{ .kind = .LiteralInteger, .quantifier = .required },
11930 .{ .kind = .LiteralInteger, .quantifier = .required },
11931 .{ .kind = .LiteralInteger, .quantifier = .required },
11932 .{ .kind = .LiteralInteger, .quantifier = .required },
11933 .{ .kind = .LiteralInteger, .quantifier = .required },
11934 },
11935 },
11936 .{
11937 .name = "OpArbitraryFloatExpm1INTEL",
11938 .opcode = 5867,
11939 .operands = &[_]Operand{
11940 .{ .kind = .IdResultType, .quantifier = .required },
11941 .{ .kind = .IdResult, .quantifier = .required },
11942 .{ .kind = .IdRef, .quantifier = .required },
11943 .{ .kind = .LiteralInteger, .quantifier = .required },
11944 .{ .kind = .LiteralInteger, .quantifier = .required },
11945 .{ .kind = .LiteralInteger, .quantifier = .required },
11946 .{ .kind = .LiteralInteger, .quantifier = .required },
11947 .{ .kind = .LiteralInteger, .quantifier = .required },
11948 },
11949 },
11950 .{
11951 .name = "OpArbitraryFloatSinINTEL",
11952 .opcode = 5868,
11953 .operands = &[_]Operand{
11954 .{ .kind = .IdResultType, .quantifier = .required },
11955 .{ .kind = .IdResult, .quantifier = .required },
11956 .{ .kind = .IdRef, .quantifier = .required },
11957 .{ .kind = .LiteralInteger, .quantifier = .required },
11958 .{ .kind = .LiteralInteger, .quantifier = .required },
11959 .{ .kind = .LiteralInteger, .quantifier = .required },
11960 .{ .kind = .LiteralInteger, .quantifier = .required },
11961 .{ .kind = .LiteralInteger, .quantifier = .required },
11962 },
11963 },
11964 .{
11965 .name = "OpArbitraryFloatCosINTEL",
11966 .opcode = 5869,
11967 .operands = &[_]Operand{
11968 .{ .kind = .IdResultType, .quantifier = .required },
11969 .{ .kind = .IdResult, .quantifier = .required },
11970 .{ .kind = .IdRef, .quantifier = .required },
11971 .{ .kind = .LiteralInteger, .quantifier = .required },
11972 .{ .kind = .LiteralInteger, .quantifier = .required },
11973 .{ .kind = .LiteralInteger, .quantifier = .required },
11974 .{ .kind = .LiteralInteger, .quantifier = .required },
11975 .{ .kind = .LiteralInteger, .quantifier = .required },
11976 },
11977 },
11978 .{
11979 .name = "OpArbitraryFloatSinCosINTEL",
11980 .opcode = 5870,
11981 .operands = &[_]Operand{
11982 .{ .kind = .IdResultType, .quantifier = .required },
11983 .{ .kind = .IdResult, .quantifier = .required },
11984 .{ .kind = .IdRef, .quantifier = .required },
11985 .{ .kind = .LiteralInteger, .quantifier = .required },
11986 .{ .kind = .LiteralInteger, .quantifier = .required },
11987 .{ .kind = .LiteralInteger, .quantifier = .required },
11988 .{ .kind = .LiteralInteger, .quantifier = .required },
11989 .{ .kind = .LiteralInteger, .quantifier = .required },
11990 },
11991 },
11992 .{
11993 .name = "OpArbitraryFloatSinPiINTEL",
11994 .opcode = 5871,
11995 .operands = &[_]Operand{
11996 .{ .kind = .IdResultType, .quantifier = .required },
11997 .{ .kind = .IdResult, .quantifier = .required },
11998 .{ .kind = .IdRef, .quantifier = .required },
11999 .{ .kind = .LiteralInteger, .quantifier = .required },
12000 .{ .kind = .LiteralInteger, .quantifier = .required },
12001 .{ .kind = .LiteralInteger, .quantifier = .required },
12002 .{ .kind = .LiteralInteger, .quantifier = .required },
12003 .{ .kind = .LiteralInteger, .quantifier = .required },
12004 },
12005 },
12006 .{
12007 .name = "OpArbitraryFloatCosPiINTEL",
12008 .opcode = 5872,
12009 .operands = &[_]Operand{
12010 .{ .kind = .IdResultType, .quantifier = .required },
12011 .{ .kind = .IdResult, .quantifier = .required },
12012 .{ .kind = .IdRef, .quantifier = .required },
12013 .{ .kind = .LiteralInteger, .quantifier = .required },
12014 .{ .kind = .LiteralInteger, .quantifier = .required },
12015 .{ .kind = .LiteralInteger, .quantifier = .required },
12016 .{ .kind = .LiteralInteger, .quantifier = .required },
12017 .{ .kind = .LiteralInteger, .quantifier = .required },
12018 },
12019 },
12020 .{
12021 .name = "OpArbitraryFloatASinINTEL",
12022 .opcode = 5873,
12023 .operands = &[_]Operand{
12024 .{ .kind = .IdResultType, .quantifier = .required },
12025 .{ .kind = .IdResult, .quantifier = .required },
12026 .{ .kind = .IdRef, .quantifier = .required },
12027 .{ .kind = .LiteralInteger, .quantifier = .required },
12028 .{ .kind = .LiteralInteger, .quantifier = .required },
12029 .{ .kind = .LiteralInteger, .quantifier = .required },
12030 .{ .kind = .LiteralInteger, .quantifier = .required },
12031 .{ .kind = .LiteralInteger, .quantifier = .required },
12032 },
12033 },
12034 .{
12035 .name = "OpArbitraryFloatASinPiINTEL",
12036 .opcode = 5874,
12037 .operands = &[_]Operand{
12038 .{ .kind = .IdResultType, .quantifier = .required },
12039 .{ .kind = .IdResult, .quantifier = .required },
12040 .{ .kind = .IdRef, .quantifier = .required },
12041 .{ .kind = .LiteralInteger, .quantifier = .required },
12042 .{ .kind = .LiteralInteger, .quantifier = .required },
12043 .{ .kind = .LiteralInteger, .quantifier = .required },
12044 .{ .kind = .LiteralInteger, .quantifier = .required },
12045 .{ .kind = .LiteralInteger, .quantifier = .required },
12046 },
12047 },
12048 .{
12049 .name = "OpArbitraryFloatACosINTEL",
12050 .opcode = 5875,
12051 .operands = &[_]Operand{
12052 .{ .kind = .IdResultType, .quantifier = .required },
12053 .{ .kind = .IdResult, .quantifier = .required },
12054 .{ .kind = .IdRef, .quantifier = .required },
12055 .{ .kind = .LiteralInteger, .quantifier = .required },
12056 .{ .kind = .LiteralInteger, .quantifier = .required },
12057 .{ .kind = .LiteralInteger, .quantifier = .required },
12058 .{ .kind = .LiteralInteger, .quantifier = .required },
12059 .{ .kind = .LiteralInteger, .quantifier = .required },
12060 },
12061 },
12062 .{
12063 .name = "OpArbitraryFloatACosPiINTEL",
12064 .opcode = 5876,
12065 .operands = &[_]Operand{
12066 .{ .kind = .IdResultType, .quantifier = .required },
12067 .{ .kind = .IdResult, .quantifier = .required },
12068 .{ .kind = .IdRef, .quantifier = .required },
12069 .{ .kind = .LiteralInteger, .quantifier = .required },
12070 .{ .kind = .LiteralInteger, .quantifier = .required },
12071 .{ .kind = .LiteralInteger, .quantifier = .required },
12072 .{ .kind = .LiteralInteger, .quantifier = .required },
12073 .{ .kind = .LiteralInteger, .quantifier = .required },
12074 },
12075 },
12076 .{
12077 .name = "OpArbitraryFloatATanINTEL",
12078 .opcode = 5877,
12079 .operands = &[_]Operand{
12080 .{ .kind = .IdResultType, .quantifier = .required },
12081 .{ .kind = .IdResult, .quantifier = .required },
12082 .{ .kind = .IdRef, .quantifier = .required },
12083 .{ .kind = .LiteralInteger, .quantifier = .required },
12084 .{ .kind = .LiteralInteger, .quantifier = .required },
12085 .{ .kind = .LiteralInteger, .quantifier = .required },
12086 .{ .kind = .LiteralInteger, .quantifier = .required },
12087 .{ .kind = .LiteralInteger, .quantifier = .required },
12088 },
12089 },
12090 .{
12091 .name = "OpArbitraryFloatATanPiINTEL",
12092 .opcode = 5878,
12093 .operands = &[_]Operand{
12094 .{ .kind = .IdResultType, .quantifier = .required },
12095 .{ .kind = .IdResult, .quantifier = .required },
12096 .{ .kind = .IdRef, .quantifier = .required },
12097 .{ .kind = .LiteralInteger, .quantifier = .required },
12098 .{ .kind = .LiteralInteger, .quantifier = .required },
12099 .{ .kind = .LiteralInteger, .quantifier = .required },
12100 .{ .kind = .LiteralInteger, .quantifier = .required },
12101 .{ .kind = .LiteralInteger, .quantifier = .required },
12102 },
12103 },
12104 .{
12105 .name = "OpArbitraryFloatATan2INTEL",
12106 .opcode = 5879,
12107 .operands = &[_]Operand{
12108 .{ .kind = .IdResultType, .quantifier = .required },
12109 .{ .kind = .IdResult, .quantifier = .required },
12110 .{ .kind = .IdRef, .quantifier = .required },
12111 .{ .kind = .LiteralInteger, .quantifier = .required },
12112 .{ .kind = .IdRef, .quantifier = .required },
12113 .{ .kind = .LiteralInteger, .quantifier = .required },
12114 .{ .kind = .LiteralInteger, .quantifier = .required },
12115 .{ .kind = .LiteralInteger, .quantifier = .required },
12116 .{ .kind = .LiteralInteger, .quantifier = .required },
12117 .{ .kind = .LiteralInteger, .quantifier = .required },
12118 },
12119 },
12120 .{
12121 .name = "OpArbitraryFloatPowINTEL",
12122 .opcode = 5880,
12123 .operands = &[_]Operand{
12124 .{ .kind = .IdResultType, .quantifier = .required },
12125 .{ .kind = .IdResult, .quantifier = .required },
12126 .{ .kind = .IdRef, .quantifier = .required },
12127 .{ .kind = .LiteralInteger, .quantifier = .required },
12128 .{ .kind = .IdRef, .quantifier = .required },
12129 .{ .kind = .LiteralInteger, .quantifier = .required },
12130 .{ .kind = .LiteralInteger, .quantifier = .required },
12131 .{ .kind = .LiteralInteger, .quantifier = .required },
12132 .{ .kind = .LiteralInteger, .quantifier = .required },
12133 .{ .kind = .LiteralInteger, .quantifier = .required },
12134 },
12135 },
12136 .{
12137 .name = "OpArbitraryFloatPowRINTEL",
12138 .opcode = 5881,
12139 .operands = &[_]Operand{
12140 .{ .kind = .IdResultType, .quantifier = .required },
12141 .{ .kind = .IdResult, .quantifier = .required },
12142 .{ .kind = .IdRef, .quantifier = .required },
12143 .{ .kind = .LiteralInteger, .quantifier = .required },
12144 .{ .kind = .IdRef, .quantifier = .required },
12145 .{ .kind = .LiteralInteger, .quantifier = .required },
12146 .{ .kind = .LiteralInteger, .quantifier = .required },
12147 .{ .kind = .LiteralInteger, .quantifier = .required },
12148 .{ .kind = .LiteralInteger, .quantifier = .required },
12149 .{ .kind = .LiteralInteger, .quantifier = .required },
12150 },
12151 },
12152 .{
12153 .name = "OpArbitraryFloatPowNINTEL",
12154 .opcode = 5882,
12155 .operands = &[_]Operand{
12156 .{ .kind = .IdResultType, .quantifier = .required },
12157 .{ .kind = .IdResult, .quantifier = .required },
12158 .{ .kind = .IdRef, .quantifier = .required },
12159 .{ .kind = .LiteralInteger, .quantifier = .required },
12160 .{ .kind = .IdRef, .quantifier = .required },
12161 .{ .kind = .LiteralInteger, .quantifier = .required },
12162 .{ .kind = .LiteralInteger, .quantifier = .required },
12163 .{ .kind = .LiteralInteger, .quantifier = .required },
12164 .{ .kind = .LiteralInteger, .quantifier = .required },
12165 },
12166 },
12167 .{
12168 .name = "OpLoopControlINTEL",
12169 .opcode = 5887,
12170 .operands = &[_]Operand{
12171 .{ .kind = .LiteralInteger, .quantifier = .variadic },
12172 },
12173 },
12174 .{
12175 .name = "OpAliasDomainDeclINTEL",
12176 .opcode = 5911,
12177 .operands = &[_]Operand{
12178 .{ .kind = .IdResult, .quantifier = .required },
12179 .{ .kind = .IdRef, .quantifier = .optional },
12180 },
12181 },
12182 .{
12183 .name = "OpAliasScopeDeclINTEL",
12184 .opcode = 5912,
12185 .operands = &[_]Operand{
12186 .{ .kind = .IdResult, .quantifier = .required },
12187 .{ .kind = .IdRef, .quantifier = .required },
12188 .{ .kind = .IdRef, .quantifier = .optional },
12189 },
12190 },
12191 .{
12192 .name = "OpAliasScopeListDeclINTEL",
12193 .opcode = 5913,
12194 .operands = &[_]Operand{
12195 .{ .kind = .IdResult, .quantifier = .required },
12196 .{ .kind = .IdRef, .quantifier = .variadic },
12197 },
12198 },
12199 .{
12200 .name = "OpFixedSqrtINTEL",
12201 .opcode = 5923,
12202 .operands = &[_]Operand{
12203 .{ .kind = .IdResultType, .quantifier = .required },
12204 .{ .kind = .IdResult, .quantifier = .required },
12205 .{ .kind = .IdRef, .quantifier = .required },
12206 .{ .kind = .IdRef, .quantifier = .required },
12207 .{ .kind = .LiteralInteger, .quantifier = .required },
12208 .{ .kind = .LiteralInteger, .quantifier = .required },
12209 .{ .kind = .LiteralInteger, .quantifier = .required },
12210 .{ .kind = .LiteralInteger, .quantifier = .required },
12211 .{ .kind = .LiteralInteger, .quantifier = .required },
12212 },
12213 },
12214 .{
12215 .name = "OpFixedRecipINTEL",
12216 .opcode = 5924,
12217 .operands = &[_]Operand{
12218 .{ .kind = .IdResultType, .quantifier = .required },
12219 .{ .kind = .IdResult, .quantifier = .required },
12220 .{ .kind = .IdRef, .quantifier = .required },
12221 .{ .kind = .IdRef, .quantifier = .required },
12222 .{ .kind = .LiteralInteger, .quantifier = .required },
12223 .{ .kind = .LiteralInteger, .quantifier = .required },
12224 .{ .kind = .LiteralInteger, .quantifier = .required },
12225 .{ .kind = .LiteralInteger, .quantifier = .required },
12226 .{ .kind = .LiteralInteger, .quantifier = .required },
12227 },
12228 },
12229 .{
12230 .name = "OpFixedRsqrtINTEL",
12231 .opcode = 5925,
12232 .operands = &[_]Operand{
12233 .{ .kind = .IdResultType, .quantifier = .required },
12234 .{ .kind = .IdResult, .quantifier = .required },
12235 .{ .kind = .IdRef, .quantifier = .required },
12236 .{ .kind = .IdRef, .quantifier = .required },
12237 .{ .kind = .LiteralInteger, .quantifier = .required },
12238 .{ .kind = .LiteralInteger, .quantifier = .required },
12239 .{ .kind = .LiteralInteger, .quantifier = .required },
12240 .{ .kind = .LiteralInteger, .quantifier = .required },
12241 .{ .kind = .LiteralInteger, .quantifier = .required },
12242 },
12243 },
12244 .{
12245 .name = "OpFixedSinINTEL",
12246 .opcode = 5926,
12247 .operands = &[_]Operand{
12248 .{ .kind = .IdResultType, .quantifier = .required },
12249 .{ .kind = .IdResult, .quantifier = .required },
12250 .{ .kind = .IdRef, .quantifier = .required },
12251 .{ .kind = .IdRef, .quantifier = .required },
12252 .{ .kind = .LiteralInteger, .quantifier = .required },
12253 .{ .kind = .LiteralInteger, .quantifier = .required },
12254 .{ .kind = .LiteralInteger, .quantifier = .required },
12255 .{ .kind = .LiteralInteger, .quantifier = .required },
12256 .{ .kind = .LiteralInteger, .quantifier = .required },
12257 },
12258 },
12259 .{
12260 .name = "OpFixedCosINTEL",
12261 .opcode = 5927,
12262 .operands = &[_]Operand{
12263 .{ .kind = .IdResultType, .quantifier = .required },
12264 .{ .kind = .IdResult, .quantifier = .required },
12265 .{ .kind = .IdRef, .quantifier = .required },
12266 .{ .kind = .IdRef, .quantifier = .required },
12267 .{ .kind = .LiteralInteger, .quantifier = .required },
12268 .{ .kind = .LiteralInteger, .quantifier = .required },
12269 .{ .kind = .LiteralInteger, .quantifier = .required },
12270 .{ .kind = .LiteralInteger, .quantifier = .required },
12271 .{ .kind = .LiteralInteger, .quantifier = .required },
12272 },
12273 },
12274 .{
12275 .name = "OpFixedSinCosINTEL",
12276 .opcode = 5928,
12277 .operands = &[_]Operand{
12278 .{ .kind = .IdResultType, .quantifier = .required },
12279 .{ .kind = .IdResult, .quantifier = .required },
12280 .{ .kind = .IdRef, .quantifier = .required },
12281 .{ .kind = .IdRef, .quantifier = .required },
12282 .{ .kind = .LiteralInteger, .quantifier = .required },
12283 .{ .kind = .LiteralInteger, .quantifier = .required },
12284 .{ .kind = .LiteralInteger, .quantifier = .required },
12285 .{ .kind = .LiteralInteger, .quantifier = .required },
12286 .{ .kind = .LiteralInteger, .quantifier = .required },
12287 },
12288 },
12289 .{
12290 .name = "OpFixedSinPiINTEL",
12291 .opcode = 5929,
12292 .operands = &[_]Operand{
12293 .{ .kind = .IdResultType, .quantifier = .required },
12294 .{ .kind = .IdResult, .quantifier = .required },
12295 .{ .kind = .IdRef, .quantifier = .required },
12296 .{ .kind = .IdRef, .quantifier = .required },
12297 .{ .kind = .LiteralInteger, .quantifier = .required },
12298 .{ .kind = .LiteralInteger, .quantifier = .required },
12299 .{ .kind = .LiteralInteger, .quantifier = .required },
12300 .{ .kind = .LiteralInteger, .quantifier = .required },
12301 .{ .kind = .LiteralInteger, .quantifier = .required },
12302 },
12303 },
12304 .{
12305 .name = "OpFixedCosPiINTEL",
12306 .opcode = 5930,
12307 .operands = &[_]Operand{
12308 .{ .kind = .IdResultType, .quantifier = .required },
12309 .{ .kind = .IdResult, .quantifier = .required },
12310 .{ .kind = .IdRef, .quantifier = .required },
12311 .{ .kind = .IdRef, .quantifier = .required },
12312 .{ .kind = .LiteralInteger, .quantifier = .required },
12313 .{ .kind = .LiteralInteger, .quantifier = .required },
12314 .{ .kind = .LiteralInteger, .quantifier = .required },
12315 .{ .kind = .LiteralInteger, .quantifier = .required },
12316 .{ .kind = .LiteralInteger, .quantifier = .required },
12317 },
12318 },
12319 .{
12320 .name = "OpFixedSinCosPiINTEL",
12321 .opcode = 5931,
12322 .operands = &[_]Operand{
12323 .{ .kind = .IdResultType, .quantifier = .required },
12324 .{ .kind = .IdResult, .quantifier = .required },
12325 .{ .kind = .IdRef, .quantifier = .required },
12326 .{ .kind = .IdRef, .quantifier = .required },
12327 .{ .kind = .LiteralInteger, .quantifier = .required },
12328 .{ .kind = .LiteralInteger, .quantifier = .required },
12329 .{ .kind = .LiteralInteger, .quantifier = .required },
12330 .{ .kind = .LiteralInteger, .quantifier = .required },
12331 .{ .kind = .LiteralInteger, .quantifier = .required },
12332 },
12333 },
12334 .{
12335 .name = "OpFixedLogINTEL",
12336 .opcode = 5932,
12337 .operands = &[_]Operand{
12338 .{ .kind = .IdResultType, .quantifier = .required },
12339 .{ .kind = .IdResult, .quantifier = .required },
12340 .{ .kind = .IdRef, .quantifier = .required },
12341 .{ .kind = .IdRef, .quantifier = .required },
12342 .{ .kind = .LiteralInteger, .quantifier = .required },
12343 .{ .kind = .LiteralInteger, .quantifier = .required },
12344 .{ .kind = .LiteralInteger, .quantifier = .required },
12345 .{ .kind = .LiteralInteger, .quantifier = .required },
12346 .{ .kind = .LiteralInteger, .quantifier = .required },
12347 },
12348 },
12349 .{
12350 .name = "OpFixedExpINTEL",
12351 .opcode = 5933,
12352 .operands = &[_]Operand{
12353 .{ .kind = .IdResultType, .quantifier = .required },
12354 .{ .kind = .IdResult, .quantifier = .required },
12355 .{ .kind = .IdRef, .quantifier = .required },
12356 .{ .kind = .IdRef, .quantifier = .required },
12357 .{ .kind = .LiteralInteger, .quantifier = .required },
12358 .{ .kind = .LiteralInteger, .quantifier = .required },
12359 .{ .kind = .LiteralInteger, .quantifier = .required },
12360 .{ .kind = .LiteralInteger, .quantifier = .required },
12361 .{ .kind = .LiteralInteger, .quantifier = .required },
12362 },
12363 },
12364 .{
12365 .name = "OpPtrCastToCrossWorkgroupINTEL",
12366 .opcode = 5934,
12367 .operands = &[_]Operand{
12368 .{ .kind = .IdResultType, .quantifier = .required },
12369 .{ .kind = .IdResult, .quantifier = .required },
12370 .{ .kind = .IdRef, .quantifier = .required },
12371 },
12372 },
12373 .{
12374 .name = "OpCrossWorkgroupCastToPtrINTEL",
12375 .opcode = 5938,
12376 .operands = &[_]Operand{
12377 .{ .kind = .IdResultType, .quantifier = .required },
12378 .{ .kind = .IdResult, .quantifier = .required },
12379 .{ .kind = .IdRef, .quantifier = .required },
12380 },
12381 },
12382 .{
12383 .name = "OpReadPipeBlockingINTEL",
12384 .opcode = 5946,
12385 .operands = &[_]Operand{
12386 .{ .kind = .IdResultType, .quantifier = .required },
12387 .{ .kind = .IdResult, .quantifier = .required },
12388 .{ .kind = .IdRef, .quantifier = .required },
12389 .{ .kind = .IdRef, .quantifier = .required },
12390 },
12391 },
12392 .{
12393 .name = "OpWritePipeBlockingINTEL",
12394 .opcode = 5947,
12395 .operands = &[_]Operand{
12396 .{ .kind = .IdResultType, .quantifier = .required },
12397 .{ .kind = .IdResult, .quantifier = .required },
12398 .{ .kind = .IdRef, .quantifier = .required },
12399 .{ .kind = .IdRef, .quantifier = .required },
12400 },
12401 },
12402 .{
12403 .name = "OpFPGARegINTEL",
12404 .opcode = 5949,
12405 .operands = &[_]Operand{
12406 .{ .kind = .IdResultType, .quantifier = .required },
12407 .{ .kind = .IdResult, .quantifier = .required },
12408 .{ .kind = .IdRef, .quantifier = .required },
12409 .{ .kind = .IdRef, .quantifier = .required },
12410 },
12411 },
12412 .{
12413 .name = "OpRayQueryGetRayTMinKHR",
12414 .opcode = 6016,
12415 .operands = &[_]Operand{
12416 .{ .kind = .IdResultType, .quantifier = .required },
12417 .{ .kind = .IdResult, .quantifier = .required },
12418 .{ .kind = .IdRef, .quantifier = .required },
12419 },
12420 },
12421 .{
12422 .name = "OpRayQueryGetRayFlagsKHR",
12423 .opcode = 6017,
12424 .operands = &[_]Operand{
12425 .{ .kind = .IdResultType, .quantifier = .required },
12426 .{ .kind = .IdResult, .quantifier = .required },
12427 .{ .kind = .IdRef, .quantifier = .required },
12428 },
12429 },
12430 .{
12431 .name = "OpRayQueryGetIntersectionTKHR",
12432 .opcode = 6018,
12433 .operands = &[_]Operand{
12434 .{ .kind = .IdResultType, .quantifier = .required },
12435 .{ .kind = .IdResult, .quantifier = .required },
12436 .{ .kind = .IdRef, .quantifier = .required },
12437 .{ .kind = .IdRef, .quantifier = .required },
12438 },
12439 },
12440 .{
12441 .name = "OpRayQueryGetIntersectionInstanceCustomIndexKHR",
12442 .opcode = 6019,
12443 .operands = &[_]Operand{
12444 .{ .kind = .IdResultType, .quantifier = .required },
12445 .{ .kind = .IdResult, .quantifier = .required },
12446 .{ .kind = .IdRef, .quantifier = .required },
12447 .{ .kind = .IdRef, .quantifier = .required },
12448 },
12449 },
12450 .{
12451 .name = "OpRayQueryGetIntersectionInstanceIdKHR",
12452 .opcode = 6020,
12453 .operands = &[_]Operand{
12454 .{ .kind = .IdResultType, .quantifier = .required },
12455 .{ .kind = .IdResult, .quantifier = .required },
12456 .{ .kind = .IdRef, .quantifier = .required },
12457 .{ .kind = .IdRef, .quantifier = .required },
12458 },
12459 },
12460 .{
12461 .name = "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR",
12462 .opcode = 6021,
12463 .operands = &[_]Operand{
12464 .{ .kind = .IdResultType, .quantifier = .required },
12465 .{ .kind = .IdResult, .quantifier = .required },
12466 .{ .kind = .IdRef, .quantifier = .required },
12467 .{ .kind = .IdRef, .quantifier = .required },
12468 },
12469 },
12470 .{
12471 .name = "OpRayQueryGetIntersectionGeometryIndexKHR",
12472 .opcode = 6022,
12473 .operands = &[_]Operand{
12474 .{ .kind = .IdResultType, .quantifier = .required },
12475 .{ .kind = .IdResult, .quantifier = .required },
12476 .{ .kind = .IdRef, .quantifier = .required },
12477 .{ .kind = .IdRef, .quantifier = .required },
12478 },
12479 },
12480 .{
12481 .name = "OpRayQueryGetIntersectionPrimitiveIndexKHR",
12482 .opcode = 6023,
12483 .operands = &[_]Operand{
12484 .{ .kind = .IdResultType, .quantifier = .required },
12485 .{ .kind = .IdResult, .quantifier = .required },
12486 .{ .kind = .IdRef, .quantifier = .required },
12487 .{ .kind = .IdRef, .quantifier = .required },
12488 },
12489 },
12490 .{
12491 .name = "OpRayQueryGetIntersectionBarycentricsKHR",
12492 .opcode = 6024,
12493 .operands = &[_]Operand{
12494 .{ .kind = .IdResultType, .quantifier = .required },
12495 .{ .kind = .IdResult, .quantifier = .required },
12496 .{ .kind = .IdRef, .quantifier = .required },
12497 .{ .kind = .IdRef, .quantifier = .required },
12498 },
12499 },
12500 .{
12501 .name = "OpRayQueryGetIntersectionFrontFaceKHR",
12502 .opcode = 6025,
12503 .operands = &[_]Operand{
12504 .{ .kind = .IdResultType, .quantifier = .required },
12505 .{ .kind = .IdResult, .quantifier = .required },
12506 .{ .kind = .IdRef, .quantifier = .required },
12507 .{ .kind = .IdRef, .quantifier = .required },
12508 },
12509 },
12510 .{
12511 .name = "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR",
12512 .opcode = 6026,
12513 .operands = &[_]Operand{
12514 .{ .kind = .IdResultType, .quantifier = .required },
12515 .{ .kind = .IdResult, .quantifier = .required },
12516 .{ .kind = .IdRef, .quantifier = .required },
12517 },
12518 },
12519 .{
12520 .name = "OpRayQueryGetIntersectionObjectRayDirectionKHR",
12521 .opcode = 6027,
12522 .operands = &[_]Operand{
12523 .{ .kind = .IdResultType, .quantifier = .required },
12524 .{ .kind = .IdResult, .quantifier = .required },
12525 .{ .kind = .IdRef, .quantifier = .required },
12526 .{ .kind = .IdRef, .quantifier = .required },
12527 },
12528 },
12529 .{
12530 .name = "OpRayQueryGetIntersectionObjectRayOriginKHR",
12531 .opcode = 6028,
12532 .operands = &[_]Operand{
12533 .{ .kind = .IdResultType, .quantifier = .required },
12534 .{ .kind = .IdResult, .quantifier = .required },
12535 .{ .kind = .IdRef, .quantifier = .required },
12536 .{ .kind = .IdRef, .quantifier = .required },
12537 },
12538 },
12539 .{
12540 .name = "OpRayQueryGetWorldRayDirectionKHR",
12541 .opcode = 6029,
12542 .operands = &[_]Operand{
12543 .{ .kind = .IdResultType, .quantifier = .required },
12544 .{ .kind = .IdResult, .quantifier = .required },
12545 .{ .kind = .IdRef, .quantifier = .required },
12546 },
12547 },
12548 .{
12549 .name = "OpRayQueryGetWorldRayOriginKHR",
12550 .opcode = 6030,
12551 .operands = &[_]Operand{
12552 .{ .kind = .IdResultType, .quantifier = .required },
12553 .{ .kind = .IdResult, .quantifier = .required },
12554 .{ .kind = .IdRef, .quantifier = .required },
12555 },
12556 },
12557 .{
12558 .name = "OpRayQueryGetIntersectionObjectToWorldKHR",
12559 .opcode = 6031,
12560 .operands = &[_]Operand{
12561 .{ .kind = .IdResultType, .quantifier = .required },
12562 .{ .kind = .IdResult, .quantifier = .required },
12563 .{ .kind = .IdRef, .quantifier = .required },
12564 .{ .kind = .IdRef, .quantifier = .required },
12565 },
12566 },
12567 .{
12568 .name = "OpRayQueryGetIntersectionWorldToObjectKHR",
12569 .opcode = 6032,
12570 .operands = &[_]Operand{
12571 .{ .kind = .IdResultType, .quantifier = .required },
12572 .{ .kind = .IdResult, .quantifier = .required },
12573 .{ .kind = .IdRef, .quantifier = .required },
12574 .{ .kind = .IdRef, .quantifier = .required },
12575 },
12576 },
12577 .{
12578 .name = "OpAtomicFAddEXT",
12579 .opcode = 6035,
12580 .operands = &[_]Operand{
12581 .{ .kind = .IdResultType, .quantifier = .required },
12582 .{ .kind = .IdResult, .quantifier = .required },
12583 .{ .kind = .IdRef, .quantifier = .required },
12584 .{ .kind = .IdScope, .quantifier = .required },
12585 .{ .kind = .IdMemorySemantics, .quantifier = .required },
12586 .{ .kind = .IdRef, .quantifier = .required },
12587 },
12588 },
12589 .{
12590 .name = "OpTypeBufferSurfaceINTEL",
12591 .opcode = 6086,
12592 .operands = &[_]Operand{
12593 .{ .kind = .IdResult, .quantifier = .required },
12594 .{ .kind = .AccessQualifier, .quantifier = .required },
12595 },
12596 },
12597 .{
12598 .name = "OpTypeStructContinuedINTEL",
12599 .opcode = 6090,
12600 .operands = &[_]Operand{
12601 .{ .kind = .IdRef, .quantifier = .variadic },
12602 },
12603 },
12604 .{
12605 .name = "OpConstantCompositeContinuedINTEL",
12606 .opcode = 6091,
12607 .operands = &[_]Operand{
12608 .{ .kind = .IdRef, .quantifier = .variadic },
12609 },
12610 },
12611 .{
12612 .name = "OpSpecConstantCompositeContinuedINTEL",
12613 .opcode = 6092,
12614 .operands = &[_]Operand{
12615 .{ .kind = .IdRef, .quantifier = .variadic },
12616 },
12617 },
12618 .{
12619 .name = "OpCompositeConstructContinuedINTEL",
12620 .opcode = 6096,
12621 .operands = &[_]Operand{
12622 .{ .kind = .IdResultType, .quantifier = .required },
12623 .{ .kind = .IdResult, .quantifier = .required },
12624 .{ .kind = .IdRef, .quantifier = .variadic },
12625 },
12626 },
12627 .{
12628 .name = "OpConvertFToBF16INTEL",
12629 .opcode = 6116,
12630 .operands = &[_]Operand{
12631 .{ .kind = .IdResultType, .quantifier = .required },
12632 .{ .kind = .IdResult, .quantifier = .required },
12633 .{ .kind = .IdRef, .quantifier = .required },
12634 },
12635 },
12636 .{
12637 .name = "OpConvertBF16ToFINTEL",
12638 .opcode = 6117,
12639 .operands = &[_]Operand{
12640 .{ .kind = .IdResultType, .quantifier = .required },
12641 .{ .kind = .IdResult, .quantifier = .required },
12642 .{ .kind = .IdRef, .quantifier = .required },
12643 },
12644 },
12645 .{
12646 .name = "OpControlBarrierArriveINTEL",
12647 .opcode = 6142,
12648 .operands = &[_]Operand{
12649 .{ .kind = .IdScope, .quantifier = .required },
12650 .{ .kind = .IdScope, .quantifier = .required },
12651 .{ .kind = .IdMemorySemantics, .quantifier = .required },
12652 },
12653 },
12654 .{
12655 .name = "OpControlBarrierWaitINTEL",
12656 .opcode = 6143,
12657 .operands = &[_]Operand{
12658 .{ .kind = .IdScope, .quantifier = .required },
12659 .{ .kind = .IdScope, .quantifier = .required },
12660 .{ .kind = .IdMemorySemantics, .quantifier = .required },
12661 },
12662 },
12663 .{
12664 .name = "OpGroupIMulKHR",
12665 .opcode = 6401,
12666 .operands = &[_]Operand{
12667 .{ .kind = .IdResultType, .quantifier = .required },
12668 .{ .kind = .IdResult, .quantifier = .required },
12669 .{ .kind = .IdScope, .quantifier = .required },
12670 .{ .kind = .GroupOperation, .quantifier = .required },
12671 .{ .kind = .IdRef, .quantifier = .required },
12672 },
12673 },
12674 .{
12675 .name = "OpGroupFMulKHR",
12676 .opcode = 6402,
12677 .operands = &[_]Operand{
12678 .{ .kind = .IdResultType, .quantifier = .required },
12679 .{ .kind = .IdResult, .quantifier = .required },
12680 .{ .kind = .IdScope, .quantifier = .required },
12681 .{ .kind = .GroupOperation, .quantifier = .required },
12682 .{ .kind = .IdRef, .quantifier = .required },
12683 },
12684 },
12685 .{
12686 .name = "OpGroupBitwiseAndKHR",
12687 .opcode = 6403,
12688 .operands = &[_]Operand{
12689 .{ .kind = .IdResultType, .quantifier = .required },
12690 .{ .kind = .IdResult, .quantifier = .required },
12691 .{ .kind = .IdScope, .quantifier = .required },
12692 .{ .kind = .GroupOperation, .quantifier = .required },
12693 .{ .kind = .IdRef, .quantifier = .required },
12694 },
12695 },
12696 .{
12697 .name = "OpGroupBitwiseOrKHR",
12698 .opcode = 6404,
12699 .operands = &[_]Operand{
12700 .{ .kind = .IdResultType, .quantifier = .required },
12701 .{ .kind = .IdResult, .quantifier = .required },
12702 .{ .kind = .IdScope, .quantifier = .required },
12703 .{ .kind = .GroupOperation, .quantifier = .required },
12704 .{ .kind = .IdRef, .quantifier = .required },
12705 },
12706 },
12707 .{
12708 .name = "OpGroupBitwiseXorKHR",
12709 .opcode = 6405,
12710 .operands = &[_]Operand{
12711 .{ .kind = .IdResultType, .quantifier = .required },
12712 .{ .kind = .IdResult, .quantifier = .required },
12713 .{ .kind = .IdScope, .quantifier = .required },
12714 .{ .kind = .GroupOperation, .quantifier = .required },
12715 .{ .kind = .IdRef, .quantifier = .required },
12716 },
12717 },
12718 .{
12719 .name = "OpGroupLogicalAndKHR",
12720 .opcode = 6406,
12721 .operands = &[_]Operand{
12722 .{ .kind = .IdResultType, .quantifier = .required },
12723 .{ .kind = .IdResult, .quantifier = .required },
12724 .{ .kind = .IdScope, .quantifier = .required },
12725 .{ .kind = .GroupOperation, .quantifier = .required },
12726 .{ .kind = .IdRef, .quantifier = .required },
12727 },
12728 },
12729 .{
12730 .name = "OpGroupLogicalOrKHR",
12731 .opcode = 6407,
12732 .operands = &[_]Operand{
12733 .{ .kind = .IdResultType, .quantifier = .required },
12734 .{ .kind = .IdResult, .quantifier = .required },
12735 .{ .kind = .IdScope, .quantifier = .required },
12736 .{ .kind = .GroupOperation, .quantifier = .required },
12737 .{ .kind = .IdRef, .quantifier = .required },
12738 },
12739 },
12740 .{
12741 .name = "OpGroupLogicalXorKHR",
12742 .opcode = 6408,
12743 .operands = &[_]Operand{
12744 .{ .kind = .IdResultType, .quantifier = .required },
12745 .{ .kind = .IdResult, .quantifier = .required },
12746 .{ .kind = .IdScope, .quantifier = .required },
12747 .{ .kind = .GroupOperation, .quantifier = .required },
12748 .{ .kind = .IdRef, .quantifier = .required },
12749 },
12750 },
12751 .{
12752 .name = "OpMaskedGatherINTEL",
12753 .opcode = 6428,
12754 .operands = &[_]Operand{
12755 .{ .kind = .IdResultType, .quantifier = .required },
12756 .{ .kind = .IdResult, .quantifier = .required },
12757 .{ .kind = .IdRef, .quantifier = .required },
12758 .{ .kind = .LiteralInteger, .quantifier = .required },
12759 .{ .kind = .IdRef, .quantifier = .required },
12760 .{ .kind = .IdRef, .quantifier = .required },
12761 },
12762 },
12763 .{
12764 .name = "OpMaskedScatterINTEL",
12765 .opcode = 6429,
12766 .operands = &[_]Operand{
12767 .{ .kind = .IdRef, .quantifier = .required },
12768 .{ .kind = .IdRef, .quantifier = .required },
12769 .{ .kind = .LiteralInteger, .quantifier = .required },
12770 .{ .kind = .IdRef, .quantifier = .required },
12771 },
12772 },
12773 },
12774 .@"opencl.std.100" => &[_]Instruction{
12775 .{
12776 .name = "acos",
12777 .opcode = 0,
12778 .operands = &[_]Operand{
12779 .{ .kind = .IdRef, .quantifier = .required },
12780 },
12781 },
12782 .{
12783 .name = "acosh",
12784 .opcode = 1,
12785 .operands = &[_]Operand{
12786 .{ .kind = .IdRef, .quantifier = .required },
12787 },
12788 },
12789 .{
12790 .name = "acospi",
12791 .opcode = 2,
12792 .operands = &[_]Operand{
12793 .{ .kind = .IdRef, .quantifier = .required },
12794 },
12795 },
12796 .{
12797 .name = "asin",
12798 .opcode = 3,
12799 .operands = &[_]Operand{
12800 .{ .kind = .IdRef, .quantifier = .required },
12801 },
12802 },
12803 .{
12804 .name = "asinh",
12805 .opcode = 4,
12806 .operands = &[_]Operand{
12807 .{ .kind = .IdRef, .quantifier = .required },
12808 },
12809 },
12810 .{
12811 .name = "asinpi",
12812 .opcode = 5,
12813 .operands = &[_]Operand{
12814 .{ .kind = .IdRef, .quantifier = .required },
12815 },
12816 },
12817 .{
12818 .name = "atan",
12819 .opcode = 6,
12820 .operands = &[_]Operand{
12821 .{ .kind = .IdRef, .quantifier = .required },
12822 },
12823 },
12824 .{
12825 .name = "atan2",
12826 .opcode = 7,
12827 .operands = &[_]Operand{
12828 .{ .kind = .IdRef, .quantifier = .required },
12829 .{ .kind = .IdRef, .quantifier = .required },
12830 },
12831 },
12832 .{
12833 .name = "atanh",
12834 .opcode = 8,
12835 .operands = &[_]Operand{
12836 .{ .kind = .IdRef, .quantifier = .required },
12837 },
12838 },
12839 .{
12840 .name = "atanpi",
12841 .opcode = 9,
12842 .operands = &[_]Operand{
12843 .{ .kind = .IdRef, .quantifier = .required },
12844 },
12845 },
12846 .{
12847 .name = "atan2pi",
12848 .opcode = 10,
12849 .operands = &[_]Operand{
12850 .{ .kind = .IdRef, .quantifier = .required },
12851 .{ .kind = .IdRef, .quantifier = .required },
12852 },
12853 },
12854 .{
12855 .name = "cbrt",
12856 .opcode = 11,
12857 .operands = &[_]Operand{
12858 .{ .kind = .IdRef, .quantifier = .required },
12859 },
12860 },
12861 .{
12862 .name = "ceil",
12863 .opcode = 12,
12864 .operands = &[_]Operand{
12865 .{ .kind = .IdRef, .quantifier = .required },
12866 },
12867 },
12868 .{
12869 .name = "copysign",
12870 .opcode = 13,
12871 .operands = &[_]Operand{
12872 .{ .kind = .IdRef, .quantifier = .required },
12873 .{ .kind = .IdRef, .quantifier = .required },
12874 },
12875 },
12876 .{
12877 .name = "cos",
12878 .opcode = 14,
12879 .operands = &[_]Operand{
12880 .{ .kind = .IdRef, .quantifier = .required },
12881 },
12882 },
12883 .{
12884 .name = "cosh",
12885 .opcode = 15,
12886 .operands = &[_]Operand{
12887 .{ .kind = .IdRef, .quantifier = .required },
12888 },
12889 },
12890 .{
12891 .name = "cospi",
12892 .opcode = 16,
12893 .operands = &[_]Operand{
12894 .{ .kind = .IdRef, .quantifier = .required },
12895 },
12896 },
12897 .{
12898 .name = "erfc",
12899 .opcode = 17,
12900 .operands = &[_]Operand{
12901 .{ .kind = .IdRef, .quantifier = .required },
12902 },
12903 },
12904 .{
12905 .name = "erf",
12906 .opcode = 18,
12907 .operands = &[_]Operand{
12908 .{ .kind = .IdRef, .quantifier = .required },
12909 },
12910 },
12911 .{
12912 .name = "exp",
12913 .opcode = 19,
12914 .operands = &[_]Operand{
12915 .{ .kind = .IdRef, .quantifier = .required },
12916 },
12917 },
12918 .{
12919 .name = "exp2",
12920 .opcode = 20,
12921 .operands = &[_]Operand{
12922 .{ .kind = .IdRef, .quantifier = .required },
12923 },
12924 },
12925 .{
12926 .name = "exp10",
12927 .opcode = 21,
12928 .operands = &[_]Operand{
12929 .{ .kind = .IdRef, .quantifier = .required },
12930 },
12931 },
12932 .{
12933 .name = "expm1",
12934 .opcode = 22,
12935 .operands = &[_]Operand{
12936 .{ .kind = .IdRef, .quantifier = .required },
12937 },
12938 },
12939 .{
12940 .name = "fabs",
12941 .opcode = 23,
12942 .operands = &[_]Operand{
12943 .{ .kind = .IdRef, .quantifier = .required },
12944 },
12945 },
12946 .{
12947 .name = "fdim",
12948 .opcode = 24,
12949 .operands = &[_]Operand{
12950 .{ .kind = .IdRef, .quantifier = .required },
12951 .{ .kind = .IdRef, .quantifier = .required },
12952 },
12953 },
12954 .{
12955 .name = "floor",
12956 .opcode = 25,
12957 .operands = &[_]Operand{
12958 .{ .kind = .IdRef, .quantifier = .required },
12959 },
12960 },
12961 .{
12962 .name = "fma",
12963 .opcode = 26,
12964 .operands = &[_]Operand{
12965 .{ .kind = .IdRef, .quantifier = .required },
12966 .{ .kind = .IdRef, .quantifier = .required },
12967 .{ .kind = .IdRef, .quantifier = .required },
12968 },
12969 },
12970 .{
12971 .name = "fmax",
12972 .opcode = 27,
12973 .operands = &[_]Operand{
12974 .{ .kind = .IdRef, .quantifier = .required },
12975 .{ .kind = .IdRef, .quantifier = .required },
12976 },
12977 },
12978 .{
12979 .name = "fmin",
12980 .opcode = 28,
12981 .operands = &[_]Operand{
12982 .{ .kind = .IdRef, .quantifier = .required },
12983 .{ .kind = .IdRef, .quantifier = .required },
12984 },
12985 },
12986 .{
12987 .name = "fmod",
12988 .opcode = 29,
12989 .operands = &[_]Operand{
12990 .{ .kind = .IdRef, .quantifier = .required },
12991 .{ .kind = .IdRef, .quantifier = .required },
12992 },
12993 },
12994 .{
12995 .name = "fract",
12996 .opcode = 30,
12997 .operands = &[_]Operand{
12998 .{ .kind = .IdRef, .quantifier = .required },
12999 .{ .kind = .IdRef, .quantifier = .required },
13000 },
13001 },
13002 .{
13003 .name = "frexp",
13004 .opcode = 31,
13005 .operands = &[_]Operand{
13006 .{ .kind = .IdRef, .quantifier = .required },
13007 .{ .kind = .IdRef, .quantifier = .required },
13008 },
13009 },
13010 .{
13011 .name = "hypot",
13012 .opcode = 32,
13013 .operands = &[_]Operand{
13014 .{ .kind = .IdRef, .quantifier = .required },
13015 .{ .kind = .IdRef, .quantifier = .required },
13016 },
13017 },
13018 .{
13019 .name = "ilogb",
13020 .opcode = 33,
13021 .operands = &[_]Operand{
13022 .{ .kind = .IdRef, .quantifier = .required },
13023 },
13024 },
13025 .{
13026 .name = "ldexp",
13027 .opcode = 34,
13028 .operands = &[_]Operand{
13029 .{ .kind = .IdRef, .quantifier = .required },
13030 .{ .kind = .IdRef, .quantifier = .required },
13031 },
13032 },
13033 .{
13034 .name = "lgamma",
13035 .opcode = 35,
13036 .operands = &[_]Operand{
13037 .{ .kind = .IdRef, .quantifier = .required },
13038 },
13039 },
13040 .{
13041 .name = "lgamma_r",
13042 .opcode = 36,
13043 .operands = &[_]Operand{
13044 .{ .kind = .IdRef, .quantifier = .required },
13045 .{ .kind = .IdRef, .quantifier = .required },
13046 },
13047 },
13048 .{
13049 .name = "log",
13050 .opcode = 37,
13051 .operands = &[_]Operand{
13052 .{ .kind = .IdRef, .quantifier = .required },
13053 },
13054 },
13055 .{
13056 .name = "log2",
13057 .opcode = 38,
13058 .operands = &[_]Operand{
13059 .{ .kind = .IdRef, .quantifier = .required },
13060 },
13061 },
13062 .{
13063 .name = "log10",
13064 .opcode = 39,
13065 .operands = &[_]Operand{
13066 .{ .kind = .IdRef, .quantifier = .required },
13067 },
13068 },
13069 .{
13070 .name = "log1p",
13071 .opcode = 40,
13072 .operands = &[_]Operand{
13073 .{ .kind = .IdRef, .quantifier = .required },
13074 },
13075 },
13076 .{
13077 .name = "logb",
13078 .opcode = 41,
13079 .operands = &[_]Operand{
13080 .{ .kind = .IdRef, .quantifier = .required },
13081 },
13082 },
13083 .{
13084 .name = "mad",
13085 .opcode = 42,
13086 .operands = &[_]Operand{
13087 .{ .kind = .IdRef, .quantifier = .required },
13088 .{ .kind = .IdRef, .quantifier = .required },
13089 .{ .kind = .IdRef, .quantifier = .required },
13090 },
13091 },
13092 .{
13093 .name = "maxmag",
13094 .opcode = 43,
13095 .operands = &[_]Operand{
13096 .{ .kind = .IdRef, .quantifier = .required },
13097 .{ .kind = .IdRef, .quantifier = .required },
13098 },
13099 },
13100 .{
13101 .name = "minmag",
13102 .opcode = 44,
13103 .operands = &[_]Operand{
13104 .{ .kind = .IdRef, .quantifier = .required },
13105 .{ .kind = .IdRef, .quantifier = .required },
13106 },
13107 },
13108 .{
13109 .name = "modf",
13110 .opcode = 45,
13111 .operands = &[_]Operand{
13112 .{ .kind = .IdRef, .quantifier = .required },
13113 .{ .kind = .IdRef, .quantifier = .required },
13114 },
13115 },
13116 .{
13117 .name = "nan",
13118 .opcode = 46,
13119 .operands = &[_]Operand{
13120 .{ .kind = .IdRef, .quantifier = .required },
13121 },
13122 },
13123 .{
13124 .name = "nextafter",
13125 .opcode = 47,
13126 .operands = &[_]Operand{
13127 .{ .kind = .IdRef, .quantifier = .required },
13128 .{ .kind = .IdRef, .quantifier = .required },
13129 },
13130 },
13131 .{
13132 .name = "pow",
13133 .opcode = 48,
13134 .operands = &[_]Operand{
13135 .{ .kind = .IdRef, .quantifier = .required },
13136 .{ .kind = .IdRef, .quantifier = .required },
13137 },
13138 },
13139 .{
13140 .name = "pown",
13141 .opcode = 49,
13142 .operands = &[_]Operand{
13143 .{ .kind = .IdRef, .quantifier = .required },
13144 .{ .kind = .IdRef, .quantifier = .required },
13145 },
13146 },
13147 .{
13148 .name = "powr",
13149 .opcode = 50,
13150 .operands = &[_]Operand{
13151 .{ .kind = .IdRef, .quantifier = .required },
13152 .{ .kind = .IdRef, .quantifier = .required },
13153 },
13154 },
13155 .{
13156 .name = "remainder",
13157 .opcode = 51,
13158 .operands = &[_]Operand{
13159 .{ .kind = .IdRef, .quantifier = .required },
13160 .{ .kind = .IdRef, .quantifier = .required },
13161 },
13162 },
13163 .{
13164 .name = "remquo",
13165 .opcode = 52,
13166 .operands = &[_]Operand{
13167 .{ .kind = .IdRef, .quantifier = .required },
13168 .{ .kind = .IdRef, .quantifier = .required },
13169 .{ .kind = .IdRef, .quantifier = .required },
13170 },
13171 },
13172 .{
13173 .name = "rint",
13174 .opcode = 53,
13175 .operands = &[_]Operand{
13176 .{ .kind = .IdRef, .quantifier = .required },
13177 },
13178 },
13179 .{
13180 .name = "rootn",
13181 .opcode = 54,
13182 .operands = &[_]Operand{
13183 .{ .kind = .IdRef, .quantifier = .required },
13184 .{ .kind = .IdRef, .quantifier = .required },
13185 },
13186 },
13187 .{
13188 .name = "round",
13189 .opcode = 55,
13190 .operands = &[_]Operand{
13191 .{ .kind = .IdRef, .quantifier = .required },
13192 },
13193 },
13194 .{
13195 .name = "rsqrt",
13196 .opcode = 56,
13197 .operands = &[_]Operand{
13198 .{ .kind = .IdRef, .quantifier = .required },
13199 },
13200 },
13201 .{
13202 .name = "sin",
13203 .opcode = 57,
13204 .operands = &[_]Operand{
13205 .{ .kind = .IdRef, .quantifier = .required },
13206 },
13207 },
13208 .{
13209 .name = "sincos",
13210 .opcode = 58,
13211 .operands = &[_]Operand{
13212 .{ .kind = .IdRef, .quantifier = .required },
13213 .{ .kind = .IdRef, .quantifier = .required },
13214 },
13215 },
13216 .{
13217 .name = "sinh",
13218 .opcode = 59,
13219 .operands = &[_]Operand{
13220 .{ .kind = .IdRef, .quantifier = .required },
13221 },
13222 },
13223 .{
13224 .name = "sinpi",
13225 .opcode = 60,
13226 .operands = &[_]Operand{
13227 .{ .kind = .IdRef, .quantifier = .required },
13228 },
13229 },
13230 .{
13231 .name = "sqrt",
13232 .opcode = 61,
13233 .operands = &[_]Operand{
13234 .{ .kind = .IdRef, .quantifier = .required },
13235 },
13236 },
13237 .{
13238 .name = "tan",
13239 .opcode = 62,
13240 .operands = &[_]Operand{
13241 .{ .kind = .IdRef, .quantifier = .required },
13242 },
13243 },
13244 .{
13245 .name = "tanh",
13246 .opcode = 63,
13247 .operands = &[_]Operand{
13248 .{ .kind = .IdRef, .quantifier = .required },
13249 },
13250 },
13251 .{
13252 .name = "tanpi",
13253 .opcode = 64,
13254 .operands = &[_]Operand{
13255 .{ .kind = .IdRef, .quantifier = .required },
13256 },
13257 },
13258 .{
13259 .name = "tgamma",
13260 .opcode = 65,
13261 .operands = &[_]Operand{
13262 .{ .kind = .IdRef, .quantifier = .required },
13263 },
13264 },
13265 .{
13266 .name = "trunc",
13267 .opcode = 66,
13268 .operands = &[_]Operand{
13269 .{ .kind = .IdRef, .quantifier = .required },
13270 },
13271 },
13272 .{
13273 .name = "half_cos",
13274 .opcode = 67,
13275 .operands = &[_]Operand{
13276 .{ .kind = .IdRef, .quantifier = .required },
13277 },
13278 },
13279 .{
13280 .name = "half_divide",
13281 .opcode = 68,
13282 .operands = &[_]Operand{
13283 .{ .kind = .IdRef, .quantifier = .required },
13284 .{ .kind = .IdRef, .quantifier = .required },
13285 },
13286 },
13287 .{
13288 .name = "half_exp",
13289 .opcode = 69,
13290 .operands = &[_]Operand{
13291 .{ .kind = .IdRef, .quantifier = .required },
13292 },
13293 },
13294 .{
13295 .name = "half_exp2",
13296 .opcode = 70,
13297 .operands = &[_]Operand{
13298 .{ .kind = .IdRef, .quantifier = .required },
13299 },
13300 },
13301 .{
13302 .name = "half_exp10",
13303 .opcode = 71,
13304 .operands = &[_]Operand{
13305 .{ .kind = .IdRef, .quantifier = .required },
13306 },
13307 },
13308 .{
13309 .name = "half_log",
13310 .opcode = 72,
13311 .operands = &[_]Operand{
13312 .{ .kind = .IdRef, .quantifier = .required },
13313 },
13314 },
13315 .{
13316 .name = "half_log2",
13317 .opcode = 73,
13318 .operands = &[_]Operand{
13319 .{ .kind = .IdRef, .quantifier = .required },
13320 },
13321 },
13322 .{
13323 .name = "half_log10",
13324 .opcode = 74,
13325 .operands = &[_]Operand{
13326 .{ .kind = .IdRef, .quantifier = .required },
13327 },
13328 },
13329 .{
13330 .name = "half_powr",
13331 .opcode = 75,
13332 .operands = &[_]Operand{
13333 .{ .kind = .IdRef, .quantifier = .required },
13334 .{ .kind = .IdRef, .quantifier = .required },
13335 },
13336 },
13337 .{
13338 .name = "half_recip",
13339 .opcode = 76,
13340 .operands = &[_]Operand{
13341 .{ .kind = .IdRef, .quantifier = .required },
13342 },
13343 },
13344 .{
13345 .name = "half_rsqrt",
13346 .opcode = 77,
13347 .operands = &[_]Operand{
13348 .{ .kind = .IdRef, .quantifier = .required },
13349 },
13350 },
13351 .{
13352 .name = "half_sin",
13353 .opcode = 78,
13354 .operands = &[_]Operand{
13355 .{ .kind = .IdRef, .quantifier = .required },
13356 },
13357 },
13358 .{
13359 .name = "half_sqrt",
13360 .opcode = 79,
13361 .operands = &[_]Operand{
13362 .{ .kind = .IdRef, .quantifier = .required },
13363 },
13364 },
13365 .{
13366 .name = "half_tan",
13367 .opcode = 80,
13368 .operands = &[_]Operand{
13369 .{ .kind = .IdRef, .quantifier = .required },
13370 },
13371 },
13372 .{
13373 .name = "native_cos",
13374 .opcode = 81,
13375 .operands = &[_]Operand{
13376 .{ .kind = .IdRef, .quantifier = .required },
13377 },
13378 },
13379 .{
13380 .name = "native_divide",
13381 .opcode = 82,
13382 .operands = &[_]Operand{
13383 .{ .kind = .IdRef, .quantifier = .required },
13384 .{ .kind = .IdRef, .quantifier = .required },
13385 },
13386 },
13387 .{
13388 .name = "native_exp",
13389 .opcode = 83,
13390 .operands = &[_]Operand{
13391 .{ .kind = .IdRef, .quantifier = .required },
13392 },
13393 },
13394 .{
13395 .name = "native_exp2",
13396 .opcode = 84,
13397 .operands = &[_]Operand{
13398 .{ .kind = .IdRef, .quantifier = .required },
13399 },
13400 },
13401 .{
13402 .name = "native_exp10",
13403 .opcode = 85,
13404 .operands = &[_]Operand{
13405 .{ .kind = .IdRef, .quantifier = .required },
13406 },
13407 },
13408 .{
13409 .name = "native_log",
13410 .opcode = 86,
13411 .operands = &[_]Operand{
13412 .{ .kind = .IdRef, .quantifier = .required },
13413 },
13414 },
13415 .{
13416 .name = "native_log2",
13417 .opcode = 87,
13418 .operands = &[_]Operand{
13419 .{ .kind = .IdRef, .quantifier = .required },
13420 },
13421 },
13422 .{
13423 .name = "native_log10",
13424 .opcode = 88,
13425 .operands = &[_]Operand{
13426 .{ .kind = .IdRef, .quantifier = .required },
13427 },
13428 },
13429 .{
13430 .name = "native_powr",
13431 .opcode = 89,
13432 .operands = &[_]Operand{
13433 .{ .kind = .IdRef, .quantifier = .required },
13434 .{ .kind = .IdRef, .quantifier = .required },
13435 },
13436 },
13437 .{
13438 .name = "native_recip",
13439 .opcode = 90,
13440 .operands = &[_]Operand{
13441 .{ .kind = .IdRef, .quantifier = .required },
13442 },
13443 },
13444 .{
13445 .name = "native_rsqrt",
13446 .opcode = 91,
13447 .operands = &[_]Operand{
13448 .{ .kind = .IdRef, .quantifier = .required },
13449 },
13450 },
13451 .{
13452 .name = "native_sin",
13453 .opcode = 92,
13454 .operands = &[_]Operand{
13455 .{ .kind = .IdRef, .quantifier = .required },
13456 },
13457 },
13458 .{
13459 .name = "native_sqrt",
13460 .opcode = 93,
13461 .operands = &[_]Operand{
13462 .{ .kind = .IdRef, .quantifier = .required },
13463 },
13464 },
13465 .{
13466 .name = "native_tan",
13467 .opcode = 94,
13468 .operands = &[_]Operand{
13469 .{ .kind = .IdRef, .quantifier = .required },
13470 },
13471 },
13472 .{
13473 .name = "fclamp",
13474 .opcode = 95,
13475 .operands = &[_]Operand{
13476 .{ .kind = .IdRef, .quantifier = .required },
13477 .{ .kind = .IdRef, .quantifier = .required },
13478 .{ .kind = .IdRef, .quantifier = .required },
13479 },
13480 },
13481 .{
13482 .name = "degrees",
13483 .opcode = 96,
13484 .operands = &[_]Operand{
13485 .{ .kind = .IdRef, .quantifier = .required },
13486 },
13487 },
13488 .{
13489 .name = "fmax_common",
13490 .opcode = 97,
13491 .operands = &[_]Operand{
13492 .{ .kind = .IdRef, .quantifier = .required },
13493 .{ .kind = .IdRef, .quantifier = .required },
13494 },
13495 },
13496 .{
13497 .name = "fmin_common",
13498 .opcode = 98,
13499 .operands = &[_]Operand{
13500 .{ .kind = .IdRef, .quantifier = .required },
13501 .{ .kind = .IdRef, .quantifier = .required },
13502 },
13503 },
13504 .{
13505 .name = "mix",
13506 .opcode = 99,
13507 .operands = &[_]Operand{
13508 .{ .kind = .IdRef, .quantifier = .required },
13509 .{ .kind = .IdRef, .quantifier = .required },
13510 .{ .kind = .IdRef, .quantifier = .required },
13511 },
13512 },
13513 .{
13514 .name = "radians",
13515 .opcode = 100,
13516 .operands = &[_]Operand{
13517 .{ .kind = .IdRef, .quantifier = .required },
13518 },
13519 },
13520 .{
13521 .name = "step",
13522 .opcode = 101,
13523 .operands = &[_]Operand{
13524 .{ .kind = .IdRef, .quantifier = .required },
13525 .{ .kind = .IdRef, .quantifier = .required },
13526 },
13527 },
13528 .{
13529 .name = "smoothstep",
13530 .opcode = 102,
13531 .operands = &[_]Operand{
13532 .{ .kind = .IdRef, .quantifier = .required },
13533 .{ .kind = .IdRef, .quantifier = .required },
13534 .{ .kind = .IdRef, .quantifier = .required },
13535 },
13536 },
13537 .{
13538 .name = "sign",
13539 .opcode = 103,
13540 .operands = &[_]Operand{
13541 .{ .kind = .IdRef, .quantifier = .required },
13542 },
13543 },
13544 .{
13545 .name = "cross",
13546 .opcode = 104,
13547 .operands = &[_]Operand{
13548 .{ .kind = .IdRef, .quantifier = .required },
13549 .{ .kind = .IdRef, .quantifier = .required },
13550 },
13551 },
13552 .{
13553 .name = "distance",
13554 .opcode = 105,
13555 .operands = &[_]Operand{
13556 .{ .kind = .IdRef, .quantifier = .required },
13557 .{ .kind = .IdRef, .quantifier = .required },
13558 },
13559 },
13560 .{
13561 .name = "length",
13562 .opcode = 106,
13563 .operands = &[_]Operand{
13564 .{ .kind = .IdRef, .quantifier = .required },
13565 },
13566 },
13567 .{
13568 .name = "normalize",
13569 .opcode = 107,
13570 .operands = &[_]Operand{
13571 .{ .kind = .IdRef, .quantifier = .required },
13572 },
13573 },
13574 .{
13575 .name = "fast_distance",
13576 .opcode = 108,
13577 .operands = &[_]Operand{
13578 .{ .kind = .IdRef, .quantifier = .required },
13579 .{ .kind = .IdRef, .quantifier = .required },
13580 },
13581 },
13582 .{
13583 .name = "fast_length",
13584 .opcode = 109,
13585 .operands = &[_]Operand{
13586 .{ .kind = .IdRef, .quantifier = .required },
13587 },
13588 },
13589 .{
13590 .name = "fast_normalize",
13591 .opcode = 110,
13592 .operands = &[_]Operand{
13593 .{ .kind = .IdRef, .quantifier = .required },
13594 },
13595 },
13596 .{
13597 .name = "s_abs",
13598 .opcode = 141,
13599 .operands = &[_]Operand{
13600 .{ .kind = .IdRef, .quantifier = .required },
13601 },
13602 },
13603 .{
13604 .name = "s_abs_diff",
13605 .opcode = 142,
13606 .operands = &[_]Operand{
13607 .{ .kind = .IdRef, .quantifier = .required },
13608 .{ .kind = .IdRef, .quantifier = .required },
13609 },
13610 },
13611 .{
13612 .name = "s_add_sat",
13613 .opcode = 143,
13614 .operands = &[_]Operand{
13615 .{ .kind = .IdRef, .quantifier = .required },
13616 .{ .kind = .IdRef, .quantifier = .required },
13617 },
13618 },
13619 .{
13620 .name = "u_add_sat",
13621 .opcode = 144,
13622 .operands = &[_]Operand{
13623 .{ .kind = .IdRef, .quantifier = .required },
13624 .{ .kind = .IdRef, .quantifier = .required },
13625 },
13626 },
13627 .{
13628 .name = "s_hadd",
13629 .opcode = 145,
13630 .operands = &[_]Operand{
13631 .{ .kind = .IdRef, .quantifier = .required },
13632 .{ .kind = .IdRef, .quantifier = .required },
13633 },
13634 },
13635 .{
13636 .name = "u_hadd",
13637 .opcode = 146,
13638 .operands = &[_]Operand{
13639 .{ .kind = .IdRef, .quantifier = .required },
13640 .{ .kind = .IdRef, .quantifier = .required },
13641 },
13642 },
13643 .{
13644 .name = "s_rhadd",
13645 .opcode = 147,
13646 .operands = &[_]Operand{
13647 .{ .kind = .IdRef, .quantifier = .required },
13648 .{ .kind = .IdRef, .quantifier = .required },
13649 },
13650 },
13651 .{
13652 .name = "u_rhadd",
13653 .opcode = 148,
13654 .operands = &[_]Operand{
13655 .{ .kind = .IdRef, .quantifier = .required },
13656 .{ .kind = .IdRef, .quantifier = .required },
13657 },
13658 },
13659 .{
13660 .name = "s_clamp",
13661 .opcode = 149,
13662 .operands = &[_]Operand{
13663 .{ .kind = .IdRef, .quantifier = .required },
13664 .{ .kind = .IdRef, .quantifier = .required },
13665 .{ .kind = .IdRef, .quantifier = .required },
13666 },
13667 },
13668 .{
13669 .name = "u_clamp",
13670 .opcode = 150,
13671 .operands = &[_]Operand{
13672 .{ .kind = .IdRef, .quantifier = .required },
13673 .{ .kind = .IdRef, .quantifier = .required },
13674 .{ .kind = .IdRef, .quantifier = .required },
13675 },
13676 },
13677 .{
13678 .name = "clz",
13679 .opcode = 151,
13680 .operands = &[_]Operand{
13681 .{ .kind = .IdRef, .quantifier = .required },
13682 },
13683 },
13684 .{
13685 .name = "ctz",
13686 .opcode = 152,
13687 .operands = &[_]Operand{
13688 .{ .kind = .IdRef, .quantifier = .required },
13689 },
13690 },
13691 .{
13692 .name = "s_mad_hi",
13693 .opcode = 153,
13694 .operands = &[_]Operand{
13695 .{ .kind = .IdRef, .quantifier = .required },
13696 .{ .kind = .IdRef, .quantifier = .required },
13697 .{ .kind = .IdRef, .quantifier = .required },
13698 },
13699 },
13700 .{
13701 .name = "u_mad_sat",
13702 .opcode = 154,
13703 .operands = &[_]Operand{
13704 .{ .kind = .IdRef, .quantifier = .required },
13705 .{ .kind = .IdRef, .quantifier = .required },
13706 .{ .kind = .IdRef, .quantifier = .required },
13707 },
13708 },
13709 .{
13710 .name = "s_mad_sat",
13711 .opcode = 155,
13712 .operands = &[_]Operand{
13713 .{ .kind = .IdRef, .quantifier = .required },
13714 .{ .kind = .IdRef, .quantifier = .required },
13715 .{ .kind = .IdRef, .quantifier = .required },
13716 },
13717 },
13718 .{
13719 .name = "s_max",
13720 .opcode = 156,
13721 .operands = &[_]Operand{
13722 .{ .kind = .IdRef, .quantifier = .required },
13723 .{ .kind = .IdRef, .quantifier = .required },
13724 },
13725 },
13726 .{
13727 .name = "u_max",
13728 .opcode = 157,
13729 .operands = &[_]Operand{
13730 .{ .kind = .IdRef, .quantifier = .required },
13731 .{ .kind = .IdRef, .quantifier = .required },
13732 },
13733 },
13734 .{
13735 .name = "s_min",
13736 .opcode = 158,
13737 .operands = &[_]Operand{
13738 .{ .kind = .IdRef, .quantifier = .required },
13739 .{ .kind = .IdRef, .quantifier = .required },
13740 },
13741 },
13742 .{
13743 .name = "u_min",
13744 .opcode = 159,
13745 .operands = &[_]Operand{
13746 .{ .kind = .IdRef, .quantifier = .required },
13747 .{ .kind = .IdRef, .quantifier = .required },
13748 },
13749 },
13750 .{
13751 .name = "s_mul_hi",
13752 .opcode = 160,
13753 .operands = &[_]Operand{
13754 .{ .kind = .IdRef, .quantifier = .required },
13755 .{ .kind = .IdRef, .quantifier = .required },
13756 },
13757 },
13758 .{
13759 .name = "rotate",
13760 .opcode = 161,
13761 .operands = &[_]Operand{
13762 .{ .kind = .IdRef, .quantifier = .required },
13763 .{ .kind = .IdRef, .quantifier = .required },
13764 },
13765 },
13766 .{
13767 .name = "s_sub_sat",
13768 .opcode = 162,
13769 .operands = &[_]Operand{
13770 .{ .kind = .IdRef, .quantifier = .required },
13771 .{ .kind = .IdRef, .quantifier = .required },
13772 },
13773 },
13774 .{
13775 .name = "u_sub_sat",
13776 .opcode = 163,
13777 .operands = &[_]Operand{
13778 .{ .kind = .IdRef, .quantifier = .required },
13779 .{ .kind = .IdRef, .quantifier = .required },
13780 },
13781 },
13782 .{
13783 .name = "u_upsample",
13784 .opcode = 164,
13785 .operands = &[_]Operand{
13786 .{ .kind = .IdRef, .quantifier = .required },
13787 .{ .kind = .IdRef, .quantifier = .required },
13788 },
13789 },
13790 .{
13791 .name = "s_upsample",
13792 .opcode = 165,
13793 .operands = &[_]Operand{
13794 .{ .kind = .IdRef, .quantifier = .required },
13795 .{ .kind = .IdRef, .quantifier = .required },
13796 },
13797 },
13798 .{
13799 .name = "popcount",
13800 .opcode = 166,
13801 .operands = &[_]Operand{
13802 .{ .kind = .IdRef, .quantifier = .required },
13803 },
13804 },
13805 .{
13806 .name = "s_mad24",
13807 .opcode = 167,
13808 .operands = &[_]Operand{
13809 .{ .kind = .IdRef, .quantifier = .required },
13810 .{ .kind = .IdRef, .quantifier = .required },
13811 .{ .kind = .IdRef, .quantifier = .required },
13812 },
13813 },
13814 .{
13815 .name = "u_mad24",
13816 .opcode = 168,
13817 .operands = &[_]Operand{
13818 .{ .kind = .IdRef, .quantifier = .required },
13819 .{ .kind = .IdRef, .quantifier = .required },
13820 .{ .kind = .IdRef, .quantifier = .required },
13821 },
13822 },
13823 .{
13824 .name = "s_mul24",
13825 .opcode = 169,
13826 .operands = &[_]Operand{
13827 .{ .kind = .IdRef, .quantifier = .required },
13828 .{ .kind = .IdRef, .quantifier = .required },
13829 },
13830 },
13831 .{
13832 .name = "u_mul24",
13833 .opcode = 170,
13834 .operands = &[_]Operand{
13835 .{ .kind = .IdRef, .quantifier = .required },
13836 .{ .kind = .IdRef, .quantifier = .required },
13837 },
13838 },
13839 .{
13840 .name = "vloadn",
13841 .opcode = 171,
13842 .operands = &[_]Operand{
13843 .{ .kind = .IdRef, .quantifier = .required },
13844 .{ .kind = .IdRef, .quantifier = .required },
13845 .{ .kind = .LiteralInteger, .quantifier = .required },
13846 },
13847 },
13848 .{
13849 .name = "vstoren",
13850 .opcode = 172,
13851 .operands = &[_]Operand{
13852 .{ .kind = .IdRef, .quantifier = .required },
13853 .{ .kind = .IdRef, .quantifier = .required },
13854 .{ .kind = .IdRef, .quantifier = .required },
13855 },
13856 },
13857 .{
13858 .name = "vload_half",
13859 .opcode = 173,
13860 .operands = &[_]Operand{
13861 .{ .kind = .IdRef, .quantifier = .required },
13862 .{ .kind = .IdRef, .quantifier = .required },
13863 },
13864 },
13865 .{
13866 .name = "vload_halfn",
13867 .opcode = 174,
13868 .operands = &[_]Operand{
13869 .{ .kind = .IdRef, .quantifier = .required },
13870 .{ .kind = .IdRef, .quantifier = .required },
13871 .{ .kind = .LiteralInteger, .quantifier = .required },
13872 },
13873 },
13874 .{
13875 .name = "vstore_half",
13876 .opcode = 175,
13877 .operands = &[_]Operand{
13878 .{ .kind = .IdRef, .quantifier = .required },
13879 .{ .kind = .IdRef, .quantifier = .required },
13880 .{ .kind = .IdRef, .quantifier = .required },
13881 },
13882 },
13883 .{
13884 .name = "vstore_half_r",
13885 .opcode = 176,
13886 .operands = &[_]Operand{
13887 .{ .kind = .IdRef, .quantifier = .required },
13888 .{ .kind = .IdRef, .quantifier = .required },
13889 .{ .kind = .IdRef, .quantifier = .required },
13890 .{ .kind = .FPRoundingMode, .quantifier = .required },
13891 },
13892 },
13893 .{
13894 .name = "vstore_halfn",
13895 .opcode = 177,
13896 .operands = &[_]Operand{
13897 .{ .kind = .IdRef, .quantifier = .required },
13898 .{ .kind = .IdRef, .quantifier = .required },
13899 .{ .kind = .IdRef, .quantifier = .required },
13900 },
13901 },
13902 .{
13903 .name = "vstore_halfn_r",
13904 .opcode = 178,
13905 .operands = &[_]Operand{
13906 .{ .kind = .IdRef, .quantifier = .required },
13907 .{ .kind = .IdRef, .quantifier = .required },
13908 .{ .kind = .IdRef, .quantifier = .required },
13909 .{ .kind = .FPRoundingMode, .quantifier = .required },
13910 },
13911 },
13912 .{
13913 .name = "vloada_halfn",
13914 .opcode = 179,
13915 .operands = &[_]Operand{
13916 .{ .kind = .IdRef, .quantifier = .required },
13917 .{ .kind = .IdRef, .quantifier = .required },
13918 .{ .kind = .LiteralInteger, .quantifier = .required },
13919 },
13920 },
13921 .{
13922 .name = "vstorea_halfn",
13923 .opcode = 180,
13924 .operands = &[_]Operand{
13925 .{ .kind = .IdRef, .quantifier = .required },
13926 .{ .kind = .IdRef, .quantifier = .required },
13927 .{ .kind = .IdRef, .quantifier = .required },
13928 },
13929 },
13930 .{
13931 .name = "vstorea_halfn_r",
13932 .opcode = 181,
13933 .operands = &[_]Operand{
13934 .{ .kind = .IdRef, .quantifier = .required },
13935 .{ .kind = .IdRef, .quantifier = .required },
13936 .{ .kind = .IdRef, .quantifier = .required },
13937 .{ .kind = .FPRoundingMode, .quantifier = .required },
13938 },
13939 },
13940 .{
13941 .name = "shuffle",
13942 .opcode = 182,
13943 .operands = &[_]Operand{
13944 .{ .kind = .IdRef, .quantifier = .required },
13945 .{ .kind = .IdRef, .quantifier = .required },
13946 },
13947 },
13948 .{
13949 .name = "shuffle2",
13950 .opcode = 183,
13951 .operands = &[_]Operand{
13952 .{ .kind = .IdRef, .quantifier = .required },
13953 .{ .kind = .IdRef, .quantifier = .required },
13954 .{ .kind = .IdRef, .quantifier = .required },
13955 },
13956 },
13957 .{
13958 .name = "printf",
13959 .opcode = 184,
13960 .operands = &[_]Operand{
13961 .{ .kind = .IdRef, .quantifier = .required },
13962 .{ .kind = .IdRef, .quantifier = .variadic },
13963 },
13964 },
13965 .{
13966 .name = "prefetch",
13967 .opcode = 185,
13968 .operands = &[_]Operand{
13969 .{ .kind = .IdRef, .quantifier = .required },
13970 .{ .kind = .IdRef, .quantifier = .required },
13971 },
13972 },
13973 .{
13974 .name = "bitselect",
13975 .opcode = 186,
13976 .operands = &[_]Operand{
13977 .{ .kind = .IdRef, .quantifier = .required },
13978 .{ .kind = .IdRef, .quantifier = .required },
13979 .{ .kind = .IdRef, .quantifier = .required },
13980 },
13981 },
13982 .{
13983 .name = "select",
13984 .opcode = 187,
13985 .operands = &[_]Operand{
13986 .{ .kind = .IdRef, .quantifier = .required },
13987 .{ .kind = .IdRef, .quantifier = .required },
13988 .{ .kind = .IdRef, .quantifier = .required },
13989 },
13990 },
13991 .{
13992 .name = "u_abs",
13993 .opcode = 201,
13994 .operands = &[_]Operand{
13995 .{ .kind = .IdRef, .quantifier = .required },
13996 },
13997 },
13998 .{
13999 .name = "u_abs_diff",
14000 .opcode = 202,
14001 .operands = &[_]Operand{
14002 .{ .kind = .IdRef, .quantifier = .required },
14003 .{ .kind = .IdRef, .quantifier = .required },
14004 },
14005 },
14006 .{
14007 .name = "u_mul_hi",
14008 .opcode = 203,
14009 .operands = &[_]Operand{
14010 .{ .kind = .IdRef, .quantifier = .required },
14011 .{ .kind = .IdRef, .quantifier = .required },
14012 },
14013 },
14014 .{
14015 .name = "u_mad_hi",
14016 .opcode = 204,
14017 .operands = &[_]Operand{
14018 .{ .kind = .IdRef, .quantifier = .required },
14019 .{ .kind = .IdRef, .quantifier = .required },
14020 .{ .kind = .IdRef, .quantifier = .required },
14021 },
14022 },
14023 },
14024 .@"glsl.std.450" => &[_]Instruction{
14025 .{
14026 .name = "Round",
14027 .opcode = 1,
14028 .operands = &[_]Operand{
14029 .{ .kind = .IdRef, .quantifier = .required },
14030 },
14031 },
14032 .{
14033 .name = "RoundEven",
14034 .opcode = 2,
14035 .operands = &[_]Operand{
14036 .{ .kind = .IdRef, .quantifier = .required },
14037 },
14038 },
14039 .{
14040 .name = "Trunc",
14041 .opcode = 3,
14042 .operands = &[_]Operand{
14043 .{ .kind = .IdRef, .quantifier = .required },
14044 },
14045 },
14046 .{
14047 .name = "FAbs",
14048 .opcode = 4,
14049 .operands = &[_]Operand{
14050 .{ .kind = .IdRef, .quantifier = .required },
14051 },
14052 },
14053 .{
14054 .name = "SAbs",
14055 .opcode = 5,
14056 .operands = &[_]Operand{
14057 .{ .kind = .IdRef, .quantifier = .required },
14058 },
14059 },
14060 .{
14061 .name = "FSign",
14062 .opcode = 6,
14063 .operands = &[_]Operand{
14064 .{ .kind = .IdRef, .quantifier = .required },
14065 },
14066 },
14067 .{
14068 .name = "SSign",
14069 .opcode = 7,
14070 .operands = &[_]Operand{
14071 .{ .kind = .IdRef, .quantifier = .required },
14072 },
14073 },
14074 .{
14075 .name = "Floor",
14076 .opcode = 8,
14077 .operands = &[_]Operand{
14078 .{ .kind = .IdRef, .quantifier = .required },
14079 },
14080 },
14081 .{
14082 .name = "Ceil",
14083 .opcode = 9,
14084 .operands = &[_]Operand{
14085 .{ .kind = .IdRef, .quantifier = .required },
14086 },
14087 },
14088 .{
14089 .name = "Fract",
14090 .opcode = 10,
14091 .operands = &[_]Operand{
14092 .{ .kind = .IdRef, .quantifier = .required },
14093 },
14094 },
14095 .{
14096 .name = "Radians",
14097 .opcode = 11,
14098 .operands = &[_]Operand{
14099 .{ .kind = .IdRef, .quantifier = .required },
14100 },
14101 },
14102 .{
14103 .name = "Degrees",
14104 .opcode = 12,
14105 .operands = &[_]Operand{
14106 .{ .kind = .IdRef, .quantifier = .required },
14107 },
14108 },
14109 .{
14110 .name = "Sin",
14111 .opcode = 13,
14112 .operands = &[_]Operand{
14113 .{ .kind = .IdRef, .quantifier = .required },
14114 },
14115 },
14116 .{
14117 .name = "Cos",
14118 .opcode = 14,
14119 .operands = &[_]Operand{
14120 .{ .kind = .IdRef, .quantifier = .required },
14121 },
14122 },
14123 .{
14124 .name = "Tan",
14125 .opcode = 15,
14126 .operands = &[_]Operand{
14127 .{ .kind = .IdRef, .quantifier = .required },
14128 },
14129 },
14130 .{
14131 .name = "Asin",
14132 .opcode = 16,
14133 .operands = &[_]Operand{
14134 .{ .kind = .IdRef, .quantifier = .required },
14135 },
14136 },
14137 .{
14138 .name = "Acos",
14139 .opcode = 17,
14140 .operands = &[_]Operand{
14141 .{ .kind = .IdRef, .quantifier = .required },
14142 },
14143 },
14144 .{
14145 .name = "Atan",
14146 .opcode = 18,
14147 .operands = &[_]Operand{
14148 .{ .kind = .IdRef, .quantifier = .required },
14149 },
14150 },
14151 .{
14152 .name = "Sinh",
14153 .opcode = 19,
14154 .operands = &[_]Operand{
14155 .{ .kind = .IdRef, .quantifier = .required },
14156 },
14157 },
14158 .{
14159 .name = "Cosh",
14160 .opcode = 20,
14161 .operands = &[_]Operand{
14162 .{ .kind = .IdRef, .quantifier = .required },
14163 },
14164 },
14165 .{
14166 .name = "Tanh",
14167 .opcode = 21,
14168 .operands = &[_]Operand{
14169 .{ .kind = .IdRef, .quantifier = .required },
14170 },
14171 },
14172 .{
14173 .name = "Asinh",
14174 .opcode = 22,
14175 .operands = &[_]Operand{
14176 .{ .kind = .IdRef, .quantifier = .required },
14177 },
14178 },
14179 .{
14180 .name = "Acosh",
14181 .opcode = 23,
14182 .operands = &[_]Operand{
14183 .{ .kind = .IdRef, .quantifier = .required },
14184 },
14185 },
14186 .{
14187 .name = "Atanh",
14188 .opcode = 24,
14189 .operands = &[_]Operand{
14190 .{ .kind = .IdRef, .quantifier = .required },
14191 },
14192 },
14193 .{
14194 .name = "Atan2",
14195 .opcode = 25,
14196 .operands = &[_]Operand{
14197 .{ .kind = .IdRef, .quantifier = .required },
14198 .{ .kind = .IdRef, .quantifier = .required },
14199 },
14200 },
14201 .{
14202 .name = "Pow",
14203 .opcode = 26,
14204 .operands = &[_]Operand{
14205 .{ .kind = .IdRef, .quantifier = .required },
14206 .{ .kind = .IdRef, .quantifier = .required },
14207 },
14208 },
14209 .{
14210 .name = "Exp",
14211 .opcode = 27,
14212 .operands = &[_]Operand{
14213 .{ .kind = .IdRef, .quantifier = .required },
14214 },
14215 },
14216 .{
14217 .name = "Log",
14218 .opcode = 28,
14219 .operands = &[_]Operand{
14220 .{ .kind = .IdRef, .quantifier = .required },
14221 },
14222 },
14223 .{
14224 .name = "Exp2",
14225 .opcode = 29,
14226 .operands = &[_]Operand{
14227 .{ .kind = .IdRef, .quantifier = .required },
14228 },
14229 },
14230 .{
14231 .name = "Log2",
14232 .opcode = 30,
14233 .operands = &[_]Operand{
14234 .{ .kind = .IdRef, .quantifier = .required },
14235 },
14236 },
14237 .{
14238 .name = "Sqrt",
14239 .opcode = 31,
14240 .operands = &[_]Operand{
14241 .{ .kind = .IdRef, .quantifier = .required },
14242 },
14243 },
14244 .{
14245 .name = "InverseSqrt",
14246 .opcode = 32,
14247 .operands = &[_]Operand{
14248 .{ .kind = .IdRef, .quantifier = .required },
14249 },
14250 },
14251 .{
14252 .name = "Determinant",
14253 .opcode = 33,
14254 .operands = &[_]Operand{
14255 .{ .kind = .IdRef, .quantifier = .required },
14256 },
14257 },
14258 .{
14259 .name = "MatrixInverse",
14260 .opcode = 34,
14261 .operands = &[_]Operand{
14262 .{ .kind = .IdRef, .quantifier = .required },
14263 },
14264 },
14265 .{
14266 .name = "Modf",
14267 .opcode = 35,
14268 .operands = &[_]Operand{
14269 .{ .kind = .IdRef, .quantifier = .required },
14270 .{ .kind = .IdRef, .quantifier = .required },
14271 },
14272 },
14273 .{
14274 .name = "ModfStruct",
14275 .opcode = 36,
14276 .operands = &[_]Operand{
14277 .{ .kind = .IdRef, .quantifier = .required },
14278 },
14279 },
14280 .{
14281 .name = "FMin",
14282 .opcode = 37,
14283 .operands = &[_]Operand{
14284 .{ .kind = .IdRef, .quantifier = .required },
14285 .{ .kind = .IdRef, .quantifier = .required },
14286 },
14287 },
14288 .{
14289 .name = "UMin",
14290 .opcode = 38,
14291 .operands = &[_]Operand{
14292 .{ .kind = .IdRef, .quantifier = .required },
14293 .{ .kind = .IdRef, .quantifier = .required },
14294 },
14295 },
14296 .{
14297 .name = "SMin",
14298 .opcode = 39,
14299 .operands = &[_]Operand{
14300 .{ .kind = .IdRef, .quantifier = .required },
14301 .{ .kind = .IdRef, .quantifier = .required },
14302 },
14303 },
14304 .{
14305 .name = "FMax",
14306 .opcode = 40,
14307 .operands = &[_]Operand{
14308 .{ .kind = .IdRef, .quantifier = .required },
14309 .{ .kind = .IdRef, .quantifier = .required },
14310 },
14311 },
14312 .{
14313 .name = "UMax",
14314 .opcode = 41,
14315 .operands = &[_]Operand{
14316 .{ .kind = .IdRef, .quantifier = .required },
14317 .{ .kind = .IdRef, .quantifier = .required },
14318 },
14319 },
14320 .{
14321 .name = "SMax",
14322 .opcode = 42,
14323 .operands = &[_]Operand{
14324 .{ .kind = .IdRef, .quantifier = .required },
14325 .{ .kind = .IdRef, .quantifier = .required },
14326 },
14327 },
14328 .{
14329 .name = "FClamp",
14330 .opcode = 43,
14331 .operands = &[_]Operand{
14332 .{ .kind = .IdRef, .quantifier = .required },
14333 .{ .kind = .IdRef, .quantifier = .required },
14334 .{ .kind = .IdRef, .quantifier = .required },
14335 },
14336 },
14337 .{
14338 .name = "UClamp",
14339 .opcode = 44,
14340 .operands = &[_]Operand{
14341 .{ .kind = .IdRef, .quantifier = .required },
14342 .{ .kind = .IdRef, .quantifier = .required },
14343 .{ .kind = .IdRef, .quantifier = .required },
14344 },
14345 },
14346 .{
14347 .name = "SClamp",
14348 .opcode = 45,
14349 .operands = &[_]Operand{
14350 .{ .kind = .IdRef, .quantifier = .required },
14351 .{ .kind = .IdRef, .quantifier = .required },
14352 .{ .kind = .IdRef, .quantifier = .required },
14353 },
14354 },
14355 .{
14356 .name = "FMix",
14357 .opcode = 46,
14358 .operands = &[_]Operand{
14359 .{ .kind = .IdRef, .quantifier = .required },
14360 .{ .kind = .IdRef, .quantifier = .required },
14361 .{ .kind = .IdRef, .quantifier = .required },
14362 },
14363 },
14364 .{
14365 .name = "IMix",
14366 .opcode = 47,
14367 .operands = &[_]Operand{
14368 .{ .kind = .IdRef, .quantifier = .required },
14369 .{ .kind = .IdRef, .quantifier = .required },
14370 .{ .kind = .IdRef, .quantifier = .required },
14371 },
14372 },
14373 .{
14374 .name = "Step",
14375 .opcode = 48,
14376 .operands = &[_]Operand{
14377 .{ .kind = .IdRef, .quantifier = .required },
14378 .{ .kind = .IdRef, .quantifier = .required },
14379 },
14380 },
14381 .{
14382 .name = "SmoothStep",
14383 .opcode = 49,
14384 .operands = &[_]Operand{
14385 .{ .kind = .IdRef, .quantifier = .required },
14386 .{ .kind = .IdRef, .quantifier = .required },
14387 .{ .kind = .IdRef, .quantifier = .required },
14388 },
14389 },
14390 .{
14391 .name = "Fma",
14392 .opcode = 50,
14393 .operands = &[_]Operand{
14394 .{ .kind = .IdRef, .quantifier = .required },
14395 .{ .kind = .IdRef, .quantifier = .required },
14396 .{ .kind = .IdRef, .quantifier = .required },
14397 },
14398 },
14399 .{
14400 .name = "Frexp",
14401 .opcode = 51,
14402 .operands = &[_]Operand{
14403 .{ .kind = .IdRef, .quantifier = .required },
14404 .{ .kind = .IdRef, .quantifier = .required },
14405 },
14406 },
14407 .{
14408 .name = "FrexpStruct",
14409 .opcode = 52,
14410 .operands = &[_]Operand{
14411 .{ .kind = .IdRef, .quantifier = .required },
14412 },
14413 },
14414 .{
14415 .name = "Ldexp",
14416 .opcode = 53,
14417 .operands = &[_]Operand{
14418 .{ .kind = .IdRef, .quantifier = .required },
14419 .{ .kind = .IdRef, .quantifier = .required },
14420 },
14421 },
14422 .{
14423 .name = "PackSnorm4x8",
14424 .opcode = 54,
14425 .operands = &[_]Operand{
14426 .{ .kind = .IdRef, .quantifier = .required },
14427 },
14428 },
14429 .{
14430 .name = "PackUnorm4x8",
14431 .opcode = 55,
14432 .operands = &[_]Operand{
14433 .{ .kind = .IdRef, .quantifier = .required },
14434 },
14435 },
14436 .{
14437 .name = "PackSnorm2x16",
14438 .opcode = 56,
14439 .operands = &[_]Operand{
14440 .{ .kind = .IdRef, .quantifier = .required },
14441 },
14442 },
14443 .{
14444 .name = "PackUnorm2x16",
14445 .opcode = 57,
14446 .operands = &[_]Operand{
14447 .{ .kind = .IdRef, .quantifier = .required },
14448 },
14449 },
14450 .{
14451 .name = "PackHalf2x16",
14452 .opcode = 58,
14453 .operands = &[_]Operand{
14454 .{ .kind = .IdRef, .quantifier = .required },
14455 },
14456 },
14457 .{
14458 .name = "PackDouble2x32",
14459 .opcode = 59,
14460 .operands = &[_]Operand{
14461 .{ .kind = .IdRef, .quantifier = .required },
14462 },
14463 },
14464 .{
14465 .name = "UnpackSnorm2x16",
14466 .opcode = 60,
14467 .operands = &[_]Operand{
14468 .{ .kind = .IdRef, .quantifier = .required },
14469 },
14470 },
14471 .{
14472 .name = "UnpackUnorm2x16",
14473 .opcode = 61,
14474 .operands = &[_]Operand{
14475 .{ .kind = .IdRef, .quantifier = .required },
14476 },
14477 },
14478 .{
14479 .name = "UnpackHalf2x16",
14480 .opcode = 62,
14481 .operands = &[_]Operand{
14482 .{ .kind = .IdRef, .quantifier = .required },
14483 },
14484 },
14485 .{
14486 .name = "UnpackSnorm4x8",
14487 .opcode = 63,
14488 .operands = &[_]Operand{
14489 .{ .kind = .IdRef, .quantifier = .required },
14490 },
14491 },
14492 .{
14493 .name = "UnpackUnorm4x8",
14494 .opcode = 64,
14495 .operands = &[_]Operand{
14496 .{ .kind = .IdRef, .quantifier = .required },
14497 },
14498 },
14499 .{
14500 .name = "UnpackDouble2x32",
14501 .opcode = 65,
14502 .operands = &[_]Operand{
14503 .{ .kind = .IdRef, .quantifier = .required },
14504 },
14505 },
14506 .{
14507 .name = "Length",
14508 .opcode = 66,
14509 .operands = &[_]Operand{
14510 .{ .kind = .IdRef, .quantifier = .required },
14511 },
14512 },
14513 .{
14514 .name = "Distance",
14515 .opcode = 67,
14516 .operands = &[_]Operand{
14517 .{ .kind = .IdRef, .quantifier = .required },
14518 .{ .kind = .IdRef, .quantifier = .required },
14519 },
14520 },
14521 .{
14522 .name = "Cross",
14523 .opcode = 68,
14524 .operands = &[_]Operand{
14525 .{ .kind = .IdRef, .quantifier = .required },
14526 .{ .kind = .IdRef, .quantifier = .required },
14527 },
14528 },
14529 .{
14530 .name = "Normalize",
14531 .opcode = 69,
14532 .operands = &[_]Operand{
14533 .{ .kind = .IdRef, .quantifier = .required },
14534 },
14535 },
14536 .{
14537 .name = "FaceForward",
14538 .opcode = 70,
14539 .operands = &[_]Operand{
14540 .{ .kind = .IdRef, .quantifier = .required },
14541 .{ .kind = .IdRef, .quantifier = .required },
14542 .{ .kind = .IdRef, .quantifier = .required },
14543 },
14544 },
14545 .{
14546 .name = "Reflect",
14547 .opcode = 71,
14548 .operands = &[_]Operand{
14549 .{ .kind = .IdRef, .quantifier = .required },
14550 .{ .kind = .IdRef, .quantifier = .required },
14551 },
14552 },
14553 .{
14554 .name = "Refract",
14555 .opcode = 72,
14556 .operands = &[_]Operand{
14557 .{ .kind = .IdRef, .quantifier = .required },
14558 .{ .kind = .IdRef, .quantifier = .required },
14559 .{ .kind = .IdRef, .quantifier = .required },
14560 },
14561 },
14562 .{
14563 .name = "FindILsb",
14564 .opcode = 73,
14565 .operands = &[_]Operand{
14566 .{ .kind = .IdRef, .quantifier = .required },
14567 },
14568 },
14569 .{
14570 .name = "FindSMsb",
14571 .opcode = 74,
14572 .operands = &[_]Operand{
14573 .{ .kind = .IdRef, .quantifier = .required },
14574 },
14575 },
14576 .{
14577 .name = "FindUMsb",
14578 .opcode = 75,
14579 .operands = &[_]Operand{
14580 .{ .kind = .IdRef, .quantifier = .required },
14581 },
14582 },
14583 .{
14584 .name = "InterpolateAtCentroid",
14585 .opcode = 76,
14586 .operands = &[_]Operand{
14587 .{ .kind = .IdRef, .quantifier = .required },
14588 },
14589 },
14590 .{
14591 .name = "InterpolateAtSample",
14592 .opcode = 77,
14593 .operands = &[_]Operand{
14594 .{ .kind = .IdRef, .quantifier = .required },
14595 .{ .kind = .IdRef, .quantifier = .required },
14596 },
14597 },
14598 .{
14599 .name = "InterpolateAtOffset",
14600 .opcode = 78,
14601 .operands = &[_]Operand{
14602 .{ .kind = .IdRef, .quantifier = .required },
14603 .{ .kind = .IdRef, .quantifier = .required },
14604 },
14605 },
14606 .{
14607 .name = "NMin",
14608 .opcode = 79,
14609 .operands = &[_]Operand{
14610 .{ .kind = .IdRef, .quantifier = .required },
14611 .{ .kind = .IdRef, .quantifier = .required },
14612 },
14613 },
14614 .{
14615 .name = "NMax",
14616 .opcode = 80,
14617 .operands = &[_]Operand{
14618 .{ .kind = .IdRef, .quantifier = .required },
14619 .{ .kind = .IdRef, .quantifier = .required },
14620 },
14621 },
14622 .{
14623 .name = "NClamp",
14624 .opcode = 81,
14625 .operands = &[_]Operand{
14626 .{ .kind = .IdRef, .quantifier = .required },
14627 .{ .kind = .IdRef, .quantifier = .required },
14628 .{ .kind = .IdRef, .quantifier = .required },
14629 },
14630 },
14631 },
14632 .@"opencl.debuginfo.100" => &[_]Instruction{
14633 .{
14634 .name = "DebugInfoNone",
14635 .opcode = 0,
14636 .operands = &[_]Operand{},
14637 },
14638 .{
14639 .name = "DebugCompilationUnit",
14640 .opcode = 1,
14641 .operands = &[_]Operand{
14642 .{ .kind = .LiteralInteger, .quantifier = .required },
14643 .{ .kind = .LiteralInteger, .quantifier = .required },
14644 .{ .kind = .IdRef, .quantifier = .required },
14645 .{ .kind = .SourceLanguage, .quantifier = .required },
14646 },
14647 },
14648 .{
14649 .name = "DebugTypeBasic",
14650 .opcode = 2,
14651 .operands = &[_]Operand{
14652 .{ .kind = .IdRef, .quantifier = .required },
14653 .{ .kind = .IdRef, .quantifier = .required },
14654 .{ .kind = .@"opencl.debuginfo.100.DebugBaseTypeAttributeEncoding", .quantifier = .required },
14655 },
14656 },
14657 .{
14658 .name = "DebugTypePointer",
14659 .opcode = 3,
14660 .operands = &[_]Operand{
14661 .{ .kind = .IdRef, .quantifier = .required },
14662 .{ .kind = .StorageClass, .quantifier = .required },
14663 .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
14664 },
14665 },
14666 .{
14667 .name = "DebugTypeQualifier",
14668 .opcode = 4,
14669 .operands = &[_]Operand{
14670 .{ .kind = .IdRef, .quantifier = .required },
14671 .{ .kind = .@"opencl.debuginfo.100.DebugTypeQualifier", .quantifier = .required },
14672 },
14673 },
14674 .{
14675 .name = "DebugTypeArray",
14676 .opcode = 5,
14677 .operands = &[_]Operand{
14678 .{ .kind = .IdRef, .quantifier = .required },
14679 .{ .kind = .IdRef, .quantifier = .variadic },
14680 },
14681 },
14682 .{
14683 .name = "DebugTypeVector",
14684 .opcode = 6,
14685 .operands = &[_]Operand{
14686 .{ .kind = .IdRef, .quantifier = .required },
14687 .{ .kind = .LiteralInteger, .quantifier = .required },
14688 },
14689 },
14690 .{
14691 .name = "DebugTypedef",
14692 .opcode = 7,
14693 .operands = &[_]Operand{
14694 .{ .kind = .IdRef, .quantifier = .required },
14695 .{ .kind = .IdRef, .quantifier = .required },
14696 .{ .kind = .IdRef, .quantifier = .required },
14697 .{ .kind = .LiteralInteger, .quantifier = .required },
14698 .{ .kind = .LiteralInteger, .quantifier = .required },
14699 .{ .kind = .IdRef, .quantifier = .required },
14700 },
14701 },
14702 .{
14703 .name = "DebugTypeFunction",
14704 .opcode = 8,
14705 .operands = &[_]Operand{
14706 .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
14707 .{ .kind = .IdRef, .quantifier = .required },
14708 .{ .kind = .IdRef, .quantifier = .variadic },
14709 },
14710 },
14711 .{
14712 .name = "DebugTypeEnum",
14713 .opcode = 9,
14714 .operands = &[_]Operand{
14715 .{ .kind = .IdRef, .quantifier = .required },
14716 .{ .kind = .IdRef, .quantifier = .required },
14717 .{ .kind = .IdRef, .quantifier = .required },
14718 .{ .kind = .LiteralInteger, .quantifier = .required },
14719 .{ .kind = .LiteralInteger, .quantifier = .required },
14720 .{ .kind = .IdRef, .quantifier = .required },
14721 .{ .kind = .IdRef, .quantifier = .required },
14722 .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
14723 .{ .kind = .PairIdRefIdRef, .quantifier = .variadic },
14724 },
14725 },
14726 .{
14727 .name = "DebugTypeComposite",
14728 .opcode = 10,
14729 .operands = &[_]Operand{
14730 .{ .kind = .IdRef, .quantifier = .required },
14731 .{ .kind = .@"opencl.debuginfo.100.DebugCompositeType", .quantifier = .required },
14732 .{ .kind = .IdRef, .quantifier = .required },
14733 .{ .kind = .LiteralInteger, .quantifier = .required },
14734 .{ .kind = .LiteralInteger, .quantifier = .required },
14735 .{ .kind = .IdRef, .quantifier = .required },
14736 .{ .kind = .IdRef, .quantifier = .required },
14737 .{ .kind = .IdRef, .quantifier = .required },
14738 .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
14739 .{ .kind = .IdRef, .quantifier = .variadic },
14740 },
14741 },
14742 .{
14743 .name = "DebugTypeMember",
14744 .opcode = 11,
14745 .operands = &[_]Operand{
14746 .{ .kind = .IdRef, .quantifier = .required },
14747 .{ .kind = .IdRef, .quantifier = .required },
14748 .{ .kind = .IdRef, .quantifier = .required },
14749 .{ .kind = .LiteralInteger, .quantifier = .required },
14750 .{ .kind = .LiteralInteger, .quantifier = .required },
14751 .{ .kind = .IdRef, .quantifier = .required },
14752 .{ .kind = .IdRef, .quantifier = .required },
14753 .{ .kind = .IdRef, .quantifier = .required },
14754 .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
14755 .{ .kind = .IdRef, .quantifier = .optional },
14756 },
14757 },
14758 .{
14759 .name = "DebugTypeInheritance",
14760 .opcode = 12,
14761 .operands = &[_]Operand{
14762 .{ .kind = .IdRef, .quantifier = .required },
14763 .{ .kind = .IdRef, .quantifier = .required },
14764 .{ .kind = .IdRef, .quantifier = .required },
14765 .{ .kind = .IdRef, .quantifier = .required },
14766 .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
14767 },
14768 },
14769 .{
14770 .name = "DebugTypePtrToMember",
14771 .opcode = 13,
14772 .operands = &[_]Operand{
14773 .{ .kind = .IdRef, .quantifier = .required },
14774 .{ .kind = .IdRef, .quantifier = .required },
14775 },
14776 },
14777 .{
14778 .name = "DebugTypeTemplate",
14779 .opcode = 14,
14780 .operands = &[_]Operand{
14781 .{ .kind = .IdRef, .quantifier = .required },
14782 .{ .kind = .IdRef, .quantifier = .variadic },
14783 },
14784 },
14785 .{
14786 .name = "DebugTypeTemplateParameter",
14787 .opcode = 15,
14788 .operands = &[_]Operand{
14789 .{ .kind = .IdRef, .quantifier = .required },
14790 .{ .kind = .IdRef, .quantifier = .required },
14791 .{ .kind = .IdRef, .quantifier = .required },
14792 .{ .kind = .IdRef, .quantifier = .required },
14793 .{ .kind = .LiteralInteger, .quantifier = .required },
14794 .{ .kind = .LiteralInteger, .quantifier = .required },
14795 },
14796 },
14797 .{
14798 .name = "DebugTypeTemplateTemplateParameter",
14799 .opcode = 16,
14800 .operands = &[_]Operand{
14801 .{ .kind = .IdRef, .quantifier = .required },
14802 .{ .kind = .IdRef, .quantifier = .required },
14803 .{ .kind = .IdRef, .quantifier = .required },
14804 .{ .kind = .LiteralInteger, .quantifier = .required },
14805 .{ .kind = .LiteralInteger, .quantifier = .required },
14806 },
14807 },
14808 .{
14809 .name = "DebugTypeTemplateParameterPack",
14810 .opcode = 17,
14811 .operands = &[_]Operand{
14812 .{ .kind = .IdRef, .quantifier = .required },
14813 .{ .kind = .IdRef, .quantifier = .required },
14814 .{ .kind = .LiteralInteger, .quantifier = .required },
14815 .{ .kind = .LiteralInteger, .quantifier = .required },
14816 .{ .kind = .IdRef, .quantifier = .variadic },
14817 },
14818 },
14819 .{
14820 .name = "DebugGlobalVariable",
14821 .opcode = 18,
14822 .operands = &[_]Operand{
14823 .{ .kind = .IdRef, .quantifier = .required },
14824 .{ .kind = .IdRef, .quantifier = .required },
14825 .{ .kind = .IdRef, .quantifier = .required },
14826 .{ .kind = .LiteralInteger, .quantifier = .required },
14827 .{ .kind = .LiteralInteger, .quantifier = .required },
14828 .{ .kind = .IdRef, .quantifier = .required },
14829 .{ .kind = .IdRef, .quantifier = .required },
14830 .{ .kind = .IdRef, .quantifier = .required },
14831 .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
14832 .{ .kind = .IdRef, .quantifier = .optional },
14833 },
14834 },
14835 .{
14836 .name = "DebugFunctionDeclaration",
14837 .opcode = 19,
14838 .operands = &[_]Operand{
14839 .{ .kind = .IdRef, .quantifier = .required },
14840 .{ .kind = .IdRef, .quantifier = .required },
14841 .{ .kind = .IdRef, .quantifier = .required },
14842 .{ .kind = .LiteralInteger, .quantifier = .required },
14843 .{ .kind = .LiteralInteger, .quantifier = .required },
14844 .{ .kind = .IdRef, .quantifier = .required },
14845 .{ .kind = .IdRef, .quantifier = .required },
14846 .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
14847 },
14848 },
14849 .{
14850 .name = "DebugFunction",
14851 .opcode = 20,
14852 .operands = &[_]Operand{
14853 .{ .kind = .IdRef, .quantifier = .required },
14854 .{ .kind = .IdRef, .quantifier = .required },
14855 .{ .kind = .IdRef, .quantifier = .required },
14856 .{ .kind = .LiteralInteger, .quantifier = .required },
14857 .{ .kind = .LiteralInteger, .quantifier = .required },
14858 .{ .kind = .IdRef, .quantifier = .required },
14859 .{ .kind = .IdRef, .quantifier = .required },
14860 .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
14861 .{ .kind = .LiteralInteger, .quantifier = .required },
14862 .{ .kind = .IdRef, .quantifier = .required },
14863 .{ .kind = .IdRef, .quantifier = .optional },
14864 },
14865 },
14866 .{
14867 .name = "DebugLexicalBlock",
14868 .opcode = 21,
14869 .operands = &[_]Operand{
14870 .{ .kind = .IdRef, .quantifier = .required },
14871 .{ .kind = .LiteralInteger, .quantifier = .required },
14872 .{ .kind = .LiteralInteger, .quantifier = .required },
14873 .{ .kind = .IdRef, .quantifier = .required },
14874 .{ .kind = .IdRef, .quantifier = .optional },
14875 },
14876 },
14877 .{
14878 .name = "DebugLexicalBlockDiscriminator",
14879 .opcode = 22,
14880 .operands = &[_]Operand{
14881 .{ .kind = .IdRef, .quantifier = .required },
14882 .{ .kind = .LiteralInteger, .quantifier = .required },
14883 .{ .kind = .IdRef, .quantifier = .required },
14884 },
14885 },
14886 .{
14887 .name = "DebugScope",
14888 .opcode = 23,
14889 .operands = &[_]Operand{
14890 .{ .kind = .IdRef, .quantifier = .required },
14891 .{ .kind = .IdRef, .quantifier = .optional },
14892 },
14893 },
14894 .{
14895 .name = "DebugNoScope",
14896 .opcode = 24,
14897 .operands = &[_]Operand{},
14898 },
14899 .{
14900 .name = "DebugInlinedAt",
14901 .opcode = 25,
14902 .operands = &[_]Operand{
14903 .{ .kind = .LiteralInteger, .quantifier = .required },
14904 .{ .kind = .IdRef, .quantifier = .required },
14905 .{ .kind = .IdRef, .quantifier = .optional },
14906 },
14907 },
14908 .{
14909 .name = "DebugLocalVariable",
14910 .opcode = 26,
14911 .operands = &[_]Operand{
14912 .{ .kind = .IdRef, .quantifier = .required },
14913 .{ .kind = .IdRef, .quantifier = .required },
14914 .{ .kind = .IdRef, .quantifier = .required },
14915 .{ .kind = .LiteralInteger, .quantifier = .required },
14916 .{ .kind = .LiteralInteger, .quantifier = .required },
14917 .{ .kind = .IdRef, .quantifier = .required },
14918 .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
14919 .{ .kind = .LiteralInteger, .quantifier = .optional },
14920 },
14921 },
14922 .{
14923 .name = "DebugInlinedVariable",
14924 .opcode = 27,
14925 .operands = &[_]Operand{
14926 .{ .kind = .IdRef, .quantifier = .required },
14927 .{ .kind = .IdRef, .quantifier = .required },
14928 },
14929 },
14930 .{
14931 .name = "DebugDeclare",
14932 .opcode = 28,
14933 .operands = &[_]Operand{
14934 .{ .kind = .IdRef, .quantifier = .required },
14935 .{ .kind = .IdRef, .quantifier = .required },
14936 .{ .kind = .IdRef, .quantifier = .required },
14937 },
14938 },
14939 .{
14940 .name = "DebugValue",
14941 .opcode = 29,
14942 .operands = &[_]Operand{
14943 .{ .kind = .IdRef, .quantifier = .required },
14944 .{ .kind = .IdRef, .quantifier = .required },
14945 .{ .kind = .IdRef, .quantifier = .required },
14946 .{ .kind = .IdRef, .quantifier = .variadic },
14947 },
14948 },
14949 .{
14950 .name = "DebugOperation",
14951 .opcode = 30,
14952 .operands = &[_]Operand{
14953 .{ .kind = .@"opencl.debuginfo.100.DebugOperation", .quantifier = .required },
14954 .{ .kind = .LiteralInteger, .quantifier = .variadic },
14955 },
14956 },
14957 .{
14958 .name = "DebugExpression",
14959 .opcode = 31,
14960 .operands = &[_]Operand{
14961 .{ .kind = .IdRef, .quantifier = .variadic },
14962 },
14963 },
14964 .{
14965 .name = "DebugMacroDef",
14966 .opcode = 32,
14967 .operands = &[_]Operand{
14968 .{ .kind = .IdRef, .quantifier = .required },
14969 .{ .kind = .LiteralInteger, .quantifier = .required },
14970 .{ .kind = .IdRef, .quantifier = .required },
14971 .{ .kind = .IdRef, .quantifier = .optional },
14972 },
14973 },
14974 .{
14975 .name = "DebugMacroUndef",
14976 .opcode = 33,
14977 .operands = &[_]Operand{
14978 .{ .kind = .IdRef, .quantifier = .required },
14979 .{ .kind = .LiteralInteger, .quantifier = .required },
14980 .{ .kind = .IdRef, .quantifier = .required },
14981 },
14982 },
14983 .{
14984 .name = "DebugImportedEntity",
14985 .opcode = 34,
14986 .operands = &[_]Operand{
14987 .{ .kind = .IdRef, .quantifier = .required },
14988 .{ .kind = .@"opencl.debuginfo.100.DebugImportedEntity", .quantifier = .required },
14989 .{ .kind = .IdRef, .quantifier = .required },
14990 .{ .kind = .IdRef, .quantifier = .required },
14991 .{ .kind = .LiteralInteger, .quantifier = .required },
14992 .{ .kind = .LiteralInteger, .quantifier = .required },
14993 .{ .kind = .IdRef, .quantifier = .required },
14994 },
14995 },
14996 .{
14997 .name = "DebugSource",
14998 .opcode = 35,
14999 .operands = &[_]Operand{
15000 .{ .kind = .IdRef, .quantifier = .required },
15001 .{ .kind = .IdRef, .quantifier = .optional },
15002 },
15003 },
15004 .{
15005 .name = "DebugModuleINTEL",
15006 .opcode = 36,
15007 .operands = &[_]Operand{
15008 .{ .kind = .IdRef, .quantifier = .required },
15009 .{ .kind = .IdRef, .quantifier = .required },
15010 .{ .kind = .IdRef, .quantifier = .required },
15011 .{ .kind = .LiteralInteger, .quantifier = .required },
15012 .{ .kind = .IdRef, .quantifier = .required },
15013 .{ .kind = .IdRef, .quantifier = .required },
15014 .{ .kind = .IdRef, .quantifier = .required },
15015 .{ .kind = .LiteralInteger, .quantifier = .required },
15016 },
15017 },
15018 },
15019 .@"spv-amd-shader-ballot" => &[_]Instruction{
15020 .{
15021 .name = "SwizzleInvocationsAMD",
15022 .opcode = 1,
15023 .operands = &[_]Operand{
15024 .{ .kind = .IdRef, .quantifier = .required },
15025 .{ .kind = .IdRef, .quantifier = .required },
15026 },
15027 },
15028 .{
15029 .name = "SwizzleInvocationsMaskedAMD",
15030 .opcode = 2,
15031 .operands = &[_]Operand{
15032 .{ .kind = .IdRef, .quantifier = .required },
15033 .{ .kind = .IdRef, .quantifier = .required },
15034 },
15035 },
15036 .{
15037 .name = "WriteInvocationAMD",
15038 .opcode = 3,
15039 .operands = &[_]Operand{
15040 .{ .kind = .IdRef, .quantifier = .required },
15041 .{ .kind = .IdRef, .quantifier = .required },
15042 .{ .kind = .IdRef, .quantifier = .required },
15043 },
15044 },
15045 .{
15046 .name = "MbcntAMD",
15047 .opcode = 4,
15048 .operands = &[_]Operand{
15049 .{ .kind = .IdRef, .quantifier = .required },
15050 },
15051 },
15052 },
15053 .@"nonsemantic.shader.debuginfo.100" => &[_]Instruction{
15054 .{
15055 .name = "DebugInfoNone",
15056 .opcode = 0,
15057 .operands = &[_]Operand{},
15058 },
15059 .{
15060 .name = "DebugCompilationUnit",
15061 .opcode = 1,
15062 .operands = &[_]Operand{
15063 .{ .kind = .IdRef, .quantifier = .required },
15064 .{ .kind = .IdRef, .quantifier = .required },
15065 .{ .kind = .IdRef, .quantifier = .required },
15066 .{ .kind = .IdRef, .quantifier = .required },
15067 },
15068 },
15069 .{
15070 .name = "DebugTypeBasic",
15071 .opcode = 2,
15072 .operands = &[_]Operand{
15073 .{ .kind = .IdRef, .quantifier = .required },
15074 .{ .kind = .IdRef, .quantifier = .required },
15075 .{ .kind = .IdRef, .quantifier = .required },
15076 .{ .kind = .IdRef, .quantifier = .required },
15077 },
15078 },
15079 .{
15080 .name = "DebugTypePointer",
15081 .opcode = 3,
15082 .operands = &[_]Operand{
15083 .{ .kind = .IdRef, .quantifier = .required },
15084 .{ .kind = .IdRef, .quantifier = .required },
15085 .{ .kind = .IdRef, .quantifier = .required },
15086 },
15087 },
15088 .{
15089 .name = "DebugTypeQualifier",
15090 .opcode = 4,
15091 .operands = &[_]Operand{
15092 .{ .kind = .IdRef, .quantifier = .required },
15093 .{ .kind = .IdRef, .quantifier = .required },
15094 },
15095 },
15096 .{
15097 .name = "DebugTypeArray",
15098 .opcode = 5,
15099 .operands = &[_]Operand{
15100 .{ .kind = .IdRef, .quantifier = .required },
15101 .{ .kind = .IdRef, .quantifier = .variadic },
15102 },
15103 },
15104 .{
15105 .name = "DebugTypeVector",
15106 .opcode = 6,
15107 .operands = &[_]Operand{
15108 .{ .kind = .IdRef, .quantifier = .required },
15109 .{ .kind = .IdRef, .quantifier = .required },
15110 },
15111 },
15112 .{
15113 .name = "DebugTypedef",
15114 .opcode = 7,
15115 .operands = &[_]Operand{
15116 .{ .kind = .IdRef, .quantifier = .required },
15117 .{ .kind = .IdRef, .quantifier = .required },
15118 .{ .kind = .IdRef, .quantifier = .required },
15119 .{ .kind = .IdRef, .quantifier = .required },
15120 .{ .kind = .IdRef, .quantifier = .required },
15121 .{ .kind = .IdRef, .quantifier = .required },
15122 },
15123 },
15124 .{
15125 .name = "DebugTypeFunction",
15126 .opcode = 8,
15127 .operands = &[_]Operand{
15128 .{ .kind = .IdRef, .quantifier = .required },
15129 .{ .kind = .IdRef, .quantifier = .required },
15130 .{ .kind = .IdRef, .quantifier = .variadic },
15131 },
15132 },
15133 .{
15134 .name = "DebugTypeEnum",
15135 .opcode = 9,
15136 .operands = &[_]Operand{
15137 .{ .kind = .IdRef, .quantifier = .required },
15138 .{ .kind = .IdRef, .quantifier = .required },
15139 .{ .kind = .IdRef, .quantifier = .required },
15140 .{ .kind = .IdRef, .quantifier = .required },
15141 .{ .kind = .IdRef, .quantifier = .required },
15142 .{ .kind = .IdRef, .quantifier = .required },
15143 .{ .kind = .IdRef, .quantifier = .required },
15144 .{ .kind = .IdRef, .quantifier = .required },
15145 .{ .kind = .PairIdRefIdRef, .quantifier = .variadic },
15146 },
15147 },
15148 .{
15149 .name = "DebugTypeComposite",
15150 .opcode = 10,
15151 .operands = &[_]Operand{
15152 .{ .kind = .IdRef, .quantifier = .required },
15153 .{ .kind = .IdRef, .quantifier = .required },
15154 .{ .kind = .IdRef, .quantifier = .required },
15155 .{ .kind = .IdRef, .quantifier = .required },
15156 .{ .kind = .IdRef, .quantifier = .required },
15157 .{ .kind = .IdRef, .quantifier = .required },
15158 .{ .kind = .IdRef, .quantifier = .required },
15159 .{ .kind = .IdRef, .quantifier = .required },
15160 .{ .kind = .IdRef, .quantifier = .required },
15161 .{ .kind = .IdRef, .quantifier = .variadic },
15162 },
15163 },
15164 .{
15165 .name = "DebugTypeMember",
15166 .opcode = 11,
15167 .operands = &[_]Operand{
15168 .{ .kind = .IdRef, .quantifier = .required },
15169 .{ .kind = .IdRef, .quantifier = .required },
15170 .{ .kind = .IdRef, .quantifier = .required },
15171 .{ .kind = .IdRef, .quantifier = .required },
15172 .{ .kind = .IdRef, .quantifier = .required },
15173 .{ .kind = .IdRef, .quantifier = .required },
15174 .{ .kind = .IdRef, .quantifier = .required },
15175 .{ .kind = .IdRef, .quantifier = .required },
15176 .{ .kind = .IdRef, .quantifier = .optional },
15177 },
15178 },
15179 .{
15180 .name = "DebugTypeInheritance",
15181 .opcode = 12,
15182 .operands = &[_]Operand{
15183 .{ .kind = .IdRef, .quantifier = .required },
15184 .{ .kind = .IdRef, .quantifier = .required },
15185 .{ .kind = .IdRef, .quantifier = .required },
15186 .{ .kind = .IdRef, .quantifier = .required },
15187 },
15188 },
15189 .{
15190 .name = "DebugTypePtrToMember",
15191 .opcode = 13,
15192 .operands = &[_]Operand{
15193 .{ .kind = .IdRef, .quantifier = .required },
15194 .{ .kind = .IdRef, .quantifier = .required },
15195 },
15196 },
15197 .{
15198 .name = "DebugTypeTemplate",
15199 .opcode = 14,
15200 .operands = &[_]Operand{
15201 .{ .kind = .IdRef, .quantifier = .required },
15202 .{ .kind = .IdRef, .quantifier = .variadic },
15203 },
15204 },
15205 .{
15206 .name = "DebugTypeTemplateParameter",
15207 .opcode = 15,
15208 .operands = &[_]Operand{
15209 .{ .kind = .IdRef, .quantifier = .required },
15210 .{ .kind = .IdRef, .quantifier = .required },
15211 .{ .kind = .IdRef, .quantifier = .required },
15212 .{ .kind = .IdRef, .quantifier = .required },
15213 .{ .kind = .IdRef, .quantifier = .required },
15214 .{ .kind = .IdRef, .quantifier = .required },
15215 },
15216 },
15217 .{
15218 .name = "DebugTypeTemplateTemplateParameter",
15219 .opcode = 16,
15220 .operands = &[_]Operand{
15221 .{ .kind = .IdRef, .quantifier = .required },
15222 .{ .kind = .IdRef, .quantifier = .required },
15223 .{ .kind = .IdRef, .quantifier = .required },
15224 .{ .kind = .IdRef, .quantifier = .required },
15225 .{ .kind = .IdRef, .quantifier = .required },
15226 },
15227 },
15228 .{
15229 .name = "DebugTypeTemplateParameterPack",
15230 .opcode = 17,
15231 .operands = &[_]Operand{
15232 .{ .kind = .IdRef, .quantifier = .required },
15233 .{ .kind = .IdRef, .quantifier = .required },
15234 .{ .kind = .IdRef, .quantifier = .required },
15235 .{ .kind = .IdRef, .quantifier = .required },
15236 .{ .kind = .IdRef, .quantifier = .variadic },
15237 },
15238 },
15239 .{
15240 .name = "DebugGlobalVariable",
15241 .opcode = 18,
15242 .operands = &[_]Operand{
15243 .{ .kind = .IdRef, .quantifier = .required },
15244 .{ .kind = .IdRef, .quantifier = .required },
15245 .{ .kind = .IdRef, .quantifier = .required },
15246 .{ .kind = .IdRef, .quantifier = .required },
15247 .{ .kind = .IdRef, .quantifier = .required },
15248 .{ .kind = .IdRef, .quantifier = .required },
15249 .{ .kind = .IdRef, .quantifier = .required },
15250 .{ .kind = .IdRef, .quantifier = .required },
15251 .{ .kind = .IdRef, .quantifier = .required },
15252 .{ .kind = .IdRef, .quantifier = .optional },
15253 },
15254 },
15255 .{
15256 .name = "DebugFunctionDeclaration",
15257 .opcode = 19,
15258 .operands = &[_]Operand{
15259 .{ .kind = .IdRef, .quantifier = .required },
15260 .{ .kind = .IdRef, .quantifier = .required },
15261 .{ .kind = .IdRef, .quantifier = .required },
15262 .{ .kind = .IdRef, .quantifier = .required },
15263 .{ .kind = .IdRef, .quantifier = .required },
15264 .{ .kind = .IdRef, .quantifier = .required },
15265 .{ .kind = .IdRef, .quantifier = .required },
15266 .{ .kind = .IdRef, .quantifier = .required },
15267 },
15268 },
15269 .{
15270 .name = "DebugFunction",
15271 .opcode = 20,
15272 .operands = &[_]Operand{
15273 .{ .kind = .IdRef, .quantifier = .required },
15274 .{ .kind = .IdRef, .quantifier = .required },
15275 .{ .kind = .IdRef, .quantifier = .required },
15276 .{ .kind = .IdRef, .quantifier = .required },
15277 .{ .kind = .IdRef, .quantifier = .required },
15278 .{ .kind = .IdRef, .quantifier = .required },
15279 .{ .kind = .IdRef, .quantifier = .required },
15280 .{ .kind = .IdRef, .quantifier = .required },
15281 .{ .kind = .IdRef, .quantifier = .required },
15282 .{ .kind = .IdRef, .quantifier = .optional },
15283 },
15284 },
15285 .{
15286 .name = "DebugLexicalBlock",
15287 .opcode = 21,
15288 .operands = &[_]Operand{
15289 .{ .kind = .IdRef, .quantifier = .required },
15290 .{ .kind = .IdRef, .quantifier = .required },
15291 .{ .kind = .IdRef, .quantifier = .required },
15292 .{ .kind = .IdRef, .quantifier = .required },
15293 .{ .kind = .IdRef, .quantifier = .optional },
15294 },
15295 },
15296 .{
15297 .name = "DebugLexicalBlockDiscriminator",
15298 .opcode = 22,
15299 .operands = &[_]Operand{
15300 .{ .kind = .IdRef, .quantifier = .required },
15301 .{ .kind = .IdRef, .quantifier = .required },
15302 .{ .kind = .IdRef, .quantifier = .required },
15303 },
15304 },
15305 .{
15306 .name = "DebugScope",
15307 .opcode = 23,
15308 .operands = &[_]Operand{
15309 .{ .kind = .IdRef, .quantifier = .required },
15310 .{ .kind = .IdRef, .quantifier = .optional },
15311 },
15312 },
15313 .{
15314 .name = "DebugNoScope",
15315 .opcode = 24,
15316 .operands = &[_]Operand{},
15317 },
15318 .{
15319 .name = "DebugInlinedAt",
15320 .opcode = 25,
15321 .operands = &[_]Operand{
15322 .{ .kind = .IdRef, .quantifier = .required },
15323 .{ .kind = .IdRef, .quantifier = .required },
15324 .{ .kind = .IdRef, .quantifier = .optional },
15325 },
15326 },
15327 .{
15328 .name = "DebugLocalVariable",
15329 .opcode = 26,
15330 .operands = &[_]Operand{
15331 .{ .kind = .IdRef, .quantifier = .required },
15332 .{ .kind = .IdRef, .quantifier = .required },
15333 .{ .kind = .IdRef, .quantifier = .required },
15334 .{ .kind = .IdRef, .quantifier = .required },
15335 .{ .kind = .IdRef, .quantifier = .required },
15336 .{ .kind = .IdRef, .quantifier = .required },
15337 .{ .kind = .IdRef, .quantifier = .required },
15338 .{ .kind = .IdRef, .quantifier = .optional },
15339 },
15340 },
15341 .{
15342 .name = "DebugInlinedVariable",
15343 .opcode = 27,
15344 .operands = &[_]Operand{
15345 .{ .kind = .IdRef, .quantifier = .required },
15346 .{ .kind = .IdRef, .quantifier = .required },
15347 },
15348 },
15349 .{
15350 .name = "DebugDeclare",
15351 .opcode = 28,
15352 .operands = &[_]Operand{
15353 .{ .kind = .IdRef, .quantifier = .required },
15354 .{ .kind = .IdRef, .quantifier = .required },
15355 .{ .kind = .IdRef, .quantifier = .required },
15356 .{ .kind = .IdRef, .quantifier = .variadic },
15357 },
15358 },
15359 .{
15360 .name = "DebugValue",
15361 .opcode = 29,
15362 .operands = &[_]Operand{
15363 .{ .kind = .IdRef, .quantifier = .required },
15364 .{ .kind = .IdRef, .quantifier = .required },
15365 .{ .kind = .IdRef, .quantifier = .required },
15366 .{ .kind = .IdRef, .quantifier = .variadic },
15367 },
15368 },
15369 .{
15370 .name = "DebugOperation",
15371 .opcode = 30,
15372 .operands = &[_]Operand{
15373 .{ .kind = .IdRef, .quantifier = .required },
15374 .{ .kind = .IdRef, .quantifier = .variadic },
15375 },
15376 },
15377 .{
15378 .name = "DebugExpression",
15379 .opcode = 31,
15380 .operands = &[_]Operand{
15381 .{ .kind = .IdRef, .quantifier = .variadic },
15382 },
15383 },
15384 .{
15385 .name = "DebugMacroDef",
15386 .opcode = 32,
15387 .operands = &[_]Operand{
15388 .{ .kind = .IdRef, .quantifier = .required },
15389 .{ .kind = .IdRef, .quantifier = .required },
15390 .{ .kind = .IdRef, .quantifier = .required },
15391 .{ .kind = .IdRef, .quantifier = .optional },
15392 },
15393 },
15394 .{
15395 .name = "DebugMacroUndef",
15396 .opcode = 33,
15397 .operands = &[_]Operand{
15398 .{ .kind = .IdRef, .quantifier = .required },
15399 .{ .kind = .IdRef, .quantifier = .required },
15400 .{ .kind = .IdRef, .quantifier = .required },
15401 },
15402 },
15403 .{
15404 .name = "DebugImportedEntity",
15405 .opcode = 34,
15406 .operands = &[_]Operand{
15407 .{ .kind = .IdRef, .quantifier = .required },
15408 .{ .kind = .IdRef, .quantifier = .required },
15409 .{ .kind = .IdRef, .quantifier = .required },
15410 .{ .kind = .IdRef, .quantifier = .required },
15411 .{ .kind = .IdRef, .quantifier = .required },
15412 .{ .kind = .IdRef, .quantifier = .required },
15413 .{ .kind = .IdRef, .quantifier = .required },
15414 },
15415 },
15416 .{
15417 .name = "DebugSource",
15418 .opcode = 35,
15419 .operands = &[_]Operand{
15420 .{ .kind = .IdRef, .quantifier = .required },
15421 .{ .kind = .IdRef, .quantifier = .optional },
15422 },
15423 },
15424 .{
15425 .name = "DebugFunctionDefinition",
15426 .opcode = 101,
15427 .operands = &[_]Operand{
15428 .{ .kind = .IdRef, .quantifier = .required },
15429 .{ .kind = .IdRef, .quantifier = .required },
15430 },
15431 },
15432 .{
15433 .name = "DebugSourceContinued",
15434 .opcode = 102,
15435 .operands = &[_]Operand{
15436 .{ .kind = .IdRef, .quantifier = .required },
15437 },
15438 },
15439 .{
15440 .name = "DebugLine",
15441 .opcode = 103,
15442 .operands = &[_]Operand{
15443 .{ .kind = .IdRef, .quantifier = .required },
15444 .{ .kind = .IdRef, .quantifier = .required },
15445 .{ .kind = .IdRef, .quantifier = .required },
15446 .{ .kind = .IdRef, .quantifier = .required },
15447 .{ .kind = .IdRef, .quantifier = .required },
15448 },
15449 },
15450 .{
15451 .name = "DebugNoLine",
15452 .opcode = 104,
15453 .operands = &[_]Operand{},
15454 },
15455 .{
15456 .name = "DebugBuildIdentifier",
15457 .opcode = 105,
15458 .operands = &[_]Operand{
15459 .{ .kind = .IdRef, .quantifier = .required },
15460 .{ .kind = .IdRef, .quantifier = .required },
15461 },
15462 },
15463 .{
15464 .name = "DebugStoragePath",
15465 .opcode = 106,
15466 .operands = &[_]Operand{
15467 .{ .kind = .IdRef, .quantifier = .required },
15468 },
15469 },
15470 .{
15471 .name = "DebugEntryPoint",
15472 .opcode = 107,
15473 .operands = &[_]Operand{
15474 .{ .kind = .IdRef, .quantifier = .required },
15475 .{ .kind = .IdRef, .quantifier = .required },
15476 .{ .kind = .IdRef, .quantifier = .required },
15477 .{ .kind = .IdRef, .quantifier = .required },
15478 },
15479 },
15480 .{
15481 .name = "DebugTypeMatrix",
15482 .opcode = 108,
15483 .operands = &[_]Operand{
15484 .{ .kind = .IdRef, .quantifier = .required },
15485 .{ .kind = .IdRef, .quantifier = .required },
15486 .{ .kind = .IdRef, .quantifier = .required },
15487 },
15488 },
15489 },
15490 .@"nonsemantic.vkspreflection" => &[_]Instruction{
15491 .{
15492 .name = "Configuration",
15493 .opcode = 1,
15494 .operands = &[_]Operand{
15495 .{ .kind = .LiteralString, .quantifier = .required },
15496 .{ .kind = .LiteralInteger, .quantifier = .required },
15497 .{ .kind = .LiteralString, .quantifier = .required },
15498 .{ .kind = .LiteralString, .quantifier = .required },
15499 .{ .kind = .LiteralString, .quantifier = .required },
15500 .{ .kind = .LiteralInteger, .quantifier = .required },
15501 .{ .kind = .LiteralInteger, .quantifier = .required },
15502 .{ .kind = .LiteralInteger, .quantifier = .required },
15503 },
15504 },
15505 .{
15506 .name = "StartCounter",
15507 .opcode = 2,
15508 .operands = &[_]Operand{
15509 .{ .kind = .LiteralString, .quantifier = .required },
15510 },
15511 },
15512 .{
15513 .name = "StopCounter",
15514 .opcode = 3,
15515 .operands = &[_]Operand{
15516 .{ .kind = .IdRef, .quantifier = .required },
15517 },
15518 },
15519 .{
15520 .name = "PushConstants",
15521 .opcode = 4,
15522 .operands = &[_]Operand{
15523 .{ .kind = .LiteralInteger, .quantifier = .required },
15524 .{ .kind = .LiteralInteger, .quantifier = .required },
15525 .{ .kind = .LiteralString, .quantifier = .required },
15526 .{ .kind = .LiteralInteger, .quantifier = .required },
15527 },
15528 },
15529 .{
15530 .name = "SpecializationMapEntry",
15531 .opcode = 5,
15532 .operands = &[_]Operand{
15533 .{ .kind = .LiteralInteger, .quantifier = .required },
15534 .{ .kind = .LiteralInteger, .quantifier = .required },
15535 .{ .kind = .LiteralInteger, .quantifier = .required },
15536 },
15537 },
15538 .{
15539 .name = "DescriptorSetBuffer",
15540 .opcode = 6,
15541 .operands = &[_]Operand{
15542 .{ .kind = .LiteralInteger, .quantifier = .required },
15543 .{ .kind = .LiteralInteger, .quantifier = .required },
15544 .{ .kind = .LiteralInteger, .quantifier = .required },
15545 .{ .kind = .LiteralInteger, .quantifier = .required },
15546 .{ .kind = .LiteralInteger, .quantifier = .required },
15547 .{ .kind = .LiteralInteger, .quantifier = .required },
15548 .{ .kind = .LiteralInteger, .quantifier = .required },
15549 .{ .kind = .LiteralInteger, .quantifier = .required },
15550 .{ .kind = .LiteralInteger, .quantifier = .required },
15551 .{ .kind = .LiteralInteger, .quantifier = .required },
15552 .{ .kind = .LiteralInteger, .quantifier = .required },
15553 .{ .kind = .LiteralInteger, .quantifier = .required },
15554 .{ .kind = .LiteralInteger, .quantifier = .required },
15555 },
15556 },
15557 .{
15558 .name = "DescriptorSetImage",
15559 .opcode = 7,
15560 .operands = &[_]Operand{
15561 .{ .kind = .LiteralInteger, .quantifier = .required },
15562 .{ .kind = .LiteralInteger, .quantifier = .required },
15563 .{ .kind = .LiteralInteger, .quantifier = .required },
15564 .{ .kind = .LiteralInteger, .quantifier = .required },
15565 .{ .kind = .LiteralInteger, .quantifier = .required },
15566 .{ .kind = .LiteralInteger, .quantifier = .required },
15567 .{ .kind = .LiteralInteger, .quantifier = .required },
15568 .{ .kind = .LiteralInteger, .quantifier = .required },
15569 .{ .kind = .LiteralInteger, .quantifier = .required },
15570 .{ .kind = .LiteralInteger, .quantifier = .required },
15571 .{ .kind = .LiteralInteger, .quantifier = .required },
15572 .{ .kind = .LiteralInteger, .quantifier = .required },
15573 .{ .kind = .LiteralInteger, .quantifier = .required },
15574 .{ .kind = .LiteralInteger, .quantifier = .required },
15575 .{ .kind = .LiteralInteger, .quantifier = .required },
15576 .{ .kind = .LiteralInteger, .quantifier = .required },
15577 .{ .kind = .LiteralInteger, .quantifier = .required },
15578 .{ .kind = .LiteralInteger, .quantifier = .required },
15579 .{ .kind = .LiteralInteger, .quantifier = .required },
15580 .{ .kind = .LiteralInteger, .quantifier = .required },
15581 .{ .kind = .LiteralInteger, .quantifier = .required },
15582 .{ .kind = .LiteralInteger, .quantifier = .required },
15583 .{ .kind = .LiteralInteger, .quantifier = .required },
15584 .{ .kind = .LiteralInteger, .quantifier = .required },
15585 .{ .kind = .LiteralInteger, .quantifier = .required },
15586 .{ .kind = .LiteralInteger, .quantifier = .required },
15587 .{ .kind = .LiteralInteger, .quantifier = .required },
15588 .{ .kind = .LiteralInteger, .quantifier = .required },
15589 .{ .kind = .LiteralInteger, .quantifier = .required },
15590 .{ .kind = .LiteralInteger, .quantifier = .required },
15591 .{ .kind = .LiteralInteger, .quantifier = .required },
15592 .{ .kind = .LiteralInteger, .quantifier = .required },
15593 .{ .kind = .LiteralInteger, .quantifier = .required },
15594 },
15595 },
15596 .{
15597 .name = "DescriptorSetSampler",
15598 .opcode = 8,
15599 .operands = &[_]Operand{
15600 .{ .kind = .LiteralInteger, .quantifier = .required },
15601 .{ .kind = .LiteralInteger, .quantifier = .required },
15602 .{ .kind = .LiteralInteger, .quantifier = .required },
15603 .{ .kind = .LiteralInteger, .quantifier = .required },
15604 .{ .kind = .LiteralInteger, .quantifier = .required },
15605 .{ .kind = .LiteralInteger, .quantifier = .required },
15606 .{ .kind = .LiteralInteger, .quantifier = .required },
15607 .{ .kind = .LiteralInteger, .quantifier = .required },
15608 .{ .kind = .LiteralInteger, .quantifier = .required },
15609 .{ .kind = .LiteralInteger, .quantifier = .required },
15610 .{ .kind = .LiteralFloat, .quantifier = .required },
15611 .{ .kind = .LiteralInteger, .quantifier = .required },
15612 .{ .kind = .LiteralFloat, .quantifier = .required },
15613 .{ .kind = .LiteralInteger, .quantifier = .required },
15614 .{ .kind = .LiteralInteger, .quantifier = .required },
15615 .{ .kind = .LiteralFloat, .quantifier = .required },
15616 .{ .kind = .LiteralFloat, .quantifier = .required },
15617 .{ .kind = .LiteralInteger, .quantifier = .required },
15618 .{ .kind = .LiteralInteger, .quantifier = .required },
15619 },
15620 },
15621 },
15622 .@"nonsemantic.clspvreflection" => &[_]Instruction{
15623 .{
15624 .name = "Kernel",
15625 .opcode = 1,
15626 .operands = &[_]Operand{
15627 .{ .kind = .IdRef, .quantifier = .required },
15628 .{ .kind = .IdRef, .quantifier = .required },
15629 .{ .kind = .IdRef, .quantifier = .optional },
15630 .{ .kind = .IdRef, .quantifier = .optional },
15631 .{ .kind = .IdRef, .quantifier = .optional },
15632 },
15633 },
15634 .{
15635 .name = "ArgumentInfo",
15636 .opcode = 2,
15637 .operands = &[_]Operand{
15638 .{ .kind = .IdRef, .quantifier = .required },
15639 .{ .kind = .IdRef, .quantifier = .optional },
15640 .{ .kind = .IdRef, .quantifier = .optional },
15641 .{ .kind = .IdRef, .quantifier = .optional },
15642 .{ .kind = .IdRef, .quantifier = .optional },
15643 },
15644 },
15645 .{
15646 .name = "ArgumentStorageBuffer",
15647 .opcode = 3,
15648 .operands = &[_]Operand{
15649 .{ .kind = .IdRef, .quantifier = .required },
15650 .{ .kind = .IdRef, .quantifier = .required },
15651 .{ .kind = .IdRef, .quantifier = .required },
15652 .{ .kind = .IdRef, .quantifier = .required },
15653 .{ .kind = .IdRef, .quantifier = .optional },
15654 },
15655 },
15656 .{
15657 .name = "ArgumentUniform",
15658 .opcode = 4,
15659 .operands = &[_]Operand{
15660 .{ .kind = .IdRef, .quantifier = .required },
15661 .{ .kind = .IdRef, .quantifier = .required },
15662 .{ .kind = .IdRef, .quantifier = .required },
15663 .{ .kind = .IdRef, .quantifier = .required },
15664 .{ .kind = .IdRef, .quantifier = .optional },
15665 },
15666 },
15667 .{
15668 .name = "ArgumentPodStorageBuffer",
15669 .opcode = 5,
15670 .operands = &[_]Operand{
15671 .{ .kind = .IdRef, .quantifier = .required },
15672 .{ .kind = .IdRef, .quantifier = .required },
15673 .{ .kind = .IdRef, .quantifier = .required },
15674 .{ .kind = .IdRef, .quantifier = .required },
15675 .{ .kind = .IdRef, .quantifier = .required },
15676 .{ .kind = .IdRef, .quantifier = .required },
15677 .{ .kind = .IdRef, .quantifier = .optional },
15678 },
15679 },
15680 .{
15681 .name = "ArgumentPodUniform",
15682 .opcode = 6,
15683 .operands = &[_]Operand{
15684 .{ .kind = .IdRef, .quantifier = .required },
15685 .{ .kind = .IdRef, .quantifier = .required },
15686 .{ .kind = .IdRef, .quantifier = .required },
15687 .{ .kind = .IdRef, .quantifier = .required },
15688 .{ .kind = .IdRef, .quantifier = .required },
15689 .{ .kind = .IdRef, .quantifier = .required },
15690 .{ .kind = .IdRef, .quantifier = .optional },
15691 },
15692 },
15693 .{
15694 .name = "ArgumentPodPushConstant",
15695 .opcode = 7,
15696 .operands = &[_]Operand{
15697 .{ .kind = .IdRef, .quantifier = .required },
15698 .{ .kind = .IdRef, .quantifier = .required },
15699 .{ .kind = .IdRef, .quantifier = .required },
15700 .{ .kind = .IdRef, .quantifier = .required },
15701 .{ .kind = .IdRef, .quantifier = .optional },
15702 },
15703 },
15704 .{
15705 .name = "ArgumentSampledImage",
15706 .opcode = 8,
15707 .operands = &[_]Operand{
15708 .{ .kind = .IdRef, .quantifier = .required },
15709 .{ .kind = .IdRef, .quantifier = .required },
15710 .{ .kind = .IdRef, .quantifier = .required },
15711 .{ .kind = .IdRef, .quantifier = .required },
15712 .{ .kind = .IdRef, .quantifier = .optional },
15713 },
15714 },
15715 .{
15716 .name = "ArgumentStorageImage",
15717 .opcode = 9,
15718 .operands = &[_]Operand{
15719 .{ .kind = .IdRef, .quantifier = .required },
15720 .{ .kind = .IdRef, .quantifier = .required },
15721 .{ .kind = .IdRef, .quantifier = .required },
15722 .{ .kind = .IdRef, .quantifier = .required },
15723 .{ .kind = .IdRef, .quantifier = .optional },
15724 },
15725 },
15726 .{
15727 .name = "ArgumentSampler",
15728 .opcode = 10,
15729 .operands = &[_]Operand{
15730 .{ .kind = .IdRef, .quantifier = .required },
15731 .{ .kind = .IdRef, .quantifier = .required },
15732 .{ .kind = .IdRef, .quantifier = .required },
15733 .{ .kind = .IdRef, .quantifier = .required },
15734 .{ .kind = .IdRef, .quantifier = .optional },
15735 },
15736 },
15737 .{
15738 .name = "ArgumentWorkgroup",
15739 .opcode = 11,
15740 .operands = &[_]Operand{
15741 .{ .kind = .IdRef, .quantifier = .required },
15742 .{ .kind = .IdRef, .quantifier = .required },
15743 .{ .kind = .IdRef, .quantifier = .required },
15744 .{ .kind = .IdRef, .quantifier = .required },
15745 .{ .kind = .IdRef, .quantifier = .optional },
15746 },
15747 },
15748 .{
15749 .name = "SpecConstantWorkgroupSize",
15750 .opcode = 12,
15751 .operands = &[_]Operand{
15752 .{ .kind = .IdRef, .quantifier = .required },
15753 .{ .kind = .IdRef, .quantifier = .required },
15754 .{ .kind = .IdRef, .quantifier = .required },
15755 },
15756 },
15757 .{
15758 .name = "SpecConstantGlobalOffset",
15759 .opcode = 13,
15760 .operands = &[_]Operand{
15761 .{ .kind = .IdRef, .quantifier = .required },
15762 .{ .kind = .IdRef, .quantifier = .required },
15763 .{ .kind = .IdRef, .quantifier = .required },
15764 },
15765 },
15766 .{
15767 .name = "SpecConstantWorkDim",
15768 .opcode = 14,
15769 .operands = &[_]Operand{
15770 .{ .kind = .IdRef, .quantifier = .required },
15771 },
15772 },
15773 .{
15774 .name = "PushConstantGlobalOffset",
15775 .opcode = 15,
15776 .operands = &[_]Operand{
15777 .{ .kind = .IdRef, .quantifier = .required },
15778 .{ .kind = .IdRef, .quantifier = .required },
15779 },
15780 },
15781 .{
15782 .name = "PushConstantEnqueuedLocalSize",
15783 .opcode = 16,
15784 .operands = &[_]Operand{
15785 .{ .kind = .IdRef, .quantifier = .required },
15786 .{ .kind = .IdRef, .quantifier = .required },
15787 },
15788 },
15789 .{
15790 .name = "PushConstantGlobalSize",
15791 .opcode = 17,
15792 .operands = &[_]Operand{
15793 .{ .kind = .IdRef, .quantifier = .required },
15794 .{ .kind = .IdRef, .quantifier = .required },
15795 },
15796 },
15797 .{
15798 .name = "PushConstantRegionOffset",
15799 .opcode = 18,
15800 .operands = &[_]Operand{
15801 .{ .kind = .IdRef, .quantifier = .required },
15802 .{ .kind = .IdRef, .quantifier = .required },
15803 },
15804 },
15805 .{
15806 .name = "PushConstantNumWorkgroups",
15807 .opcode = 19,
15808 .operands = &[_]Operand{
15809 .{ .kind = .IdRef, .quantifier = .required },
15810 .{ .kind = .IdRef, .quantifier = .required },
15811 },
15812 },
15813 .{
15814 .name = "PushConstantRegionGroupOffset",
15815 .opcode = 20,
15816 .operands = &[_]Operand{
15817 .{ .kind = .IdRef, .quantifier = .required },
15818 .{ .kind = .IdRef, .quantifier = .required },
15819 },
15820 },
15821 .{
15822 .name = "ConstantDataStorageBuffer",
15823 .opcode = 21,
15824 .operands = &[_]Operand{
15825 .{ .kind = .IdRef, .quantifier = .required },
15826 .{ .kind = .IdRef, .quantifier = .required },
15827 .{ .kind = .IdRef, .quantifier = .required },
15828 },
15829 },
15830 .{
15831 .name = "ConstantDataUniform",
15832 .opcode = 22,
15833 .operands = &[_]Operand{
15834 .{ .kind = .IdRef, .quantifier = .required },
15835 .{ .kind = .IdRef, .quantifier = .required },
15836 .{ .kind = .IdRef, .quantifier = .required },
15837 },
15838 },
15839 .{
15840 .name = "LiteralSampler",
15841 .opcode = 23,
15842 .operands = &[_]Operand{
15843 .{ .kind = .IdRef, .quantifier = .required },
15844 .{ .kind = .IdRef, .quantifier = .required },
15845 .{ .kind = .IdRef, .quantifier = .required },
15846 },
15847 },
15848 .{
15849 .name = "PropertyRequiredWorkgroupSize",
15850 .opcode = 24,
15851 .operands = &[_]Operand{
15852 .{ .kind = .IdRef, .quantifier = .required },
15853 .{ .kind = .IdRef, .quantifier = .required },
15854 .{ .kind = .IdRef, .quantifier = .required },
15855 .{ .kind = .IdRef, .quantifier = .required },
15856 },
15857 },
15858 .{
15859 .name = "SpecConstantSubgroupMaxSize",
15860 .opcode = 25,
15861 .operands = &[_]Operand{
15862 .{ .kind = .IdRef, .quantifier = .required },
15863 },
15864 },
15865 .{
15866 .name = "ArgumentPointerPushConstant",
15867 .opcode = 26,
15868 .operands = &[_]Operand{
15869 .{ .kind = .IdRef, .quantifier = .required },
15870 .{ .kind = .IdRef, .quantifier = .required },
15871 .{ .kind = .IdRef, .quantifier = .required },
15872 .{ .kind = .IdRef, .quantifier = .required },
15873 .{ .kind = .IdRef, .quantifier = .optional },
15874 },
15875 },
15876 .{
15877 .name = "ArgumentPointerUniform",
15878 .opcode = 27,
15879 .operands = &[_]Operand{
15880 .{ .kind = .IdRef, .quantifier = .required },
15881 .{ .kind = .IdRef, .quantifier = .required },
15882 .{ .kind = .IdRef, .quantifier = .required },
15883 .{ .kind = .IdRef, .quantifier = .required },
15884 .{ .kind = .IdRef, .quantifier = .required },
15885 .{ .kind = .IdRef, .quantifier = .required },
15886 .{ .kind = .IdRef, .quantifier = .optional },
15887 },
15888 },
15889 .{
15890 .name = "ProgramScopeVariablesStorageBuffer",
15891 .opcode = 28,
15892 .operands = &[_]Operand{
15893 .{ .kind = .IdRef, .quantifier = .required },
15894 .{ .kind = .IdRef, .quantifier = .required },
15895 .{ .kind = .IdRef, .quantifier = .required },
15896 },
15897 },
15898 .{
15899 .name = "ProgramScopeVariablePointerRelocation",
15900 .opcode = 29,
15901 .operands = &[_]Operand{
15902 .{ .kind = .IdRef, .quantifier = .required },
15903 .{ .kind = .IdRef, .quantifier = .required },
15904 .{ .kind = .IdRef, .quantifier = .required },
15905 },
15906 },
15907 .{
15908 .name = "ImageArgumentInfoChannelOrderPushConstant",
15909 .opcode = 30,
15910 .operands = &[_]Operand{
15911 .{ .kind = .IdRef, .quantifier = .required },
15912 .{ .kind = .IdRef, .quantifier = .required },
15913 .{ .kind = .IdRef, .quantifier = .required },
15914 .{ .kind = .IdRef, .quantifier = .required },
15915 },
15916 },
15917 .{
15918 .name = "ImageArgumentInfoChannelDataTypePushConstant",
15919 .opcode = 31,
15920 .operands = &[_]Operand{
15921 .{ .kind = .IdRef, .quantifier = .required },
15922 .{ .kind = .IdRef, .quantifier = .required },
15923 .{ .kind = .IdRef, .quantifier = .required },
15924 .{ .kind = .IdRef, .quantifier = .required },
15925 },
15926 },
15927 .{
15928 .name = "ImageArgumentInfoChannelOrderUniform",
15929 .opcode = 32,
15930 .operands = &[_]Operand{
15931 .{ .kind = .IdRef, .quantifier = .required },
15932 .{ .kind = .IdRef, .quantifier = .required },
15933 .{ .kind = .IdRef, .quantifier = .required },
15934 .{ .kind = .IdRef, .quantifier = .required },
15935 .{ .kind = .IdRef, .quantifier = .required },
15936 .{ .kind = .IdRef, .quantifier = .required },
15937 },
15938 },
15939 .{
15940 .name = "ImageArgumentInfoChannelDataTypeUniform",
15941 .opcode = 33,
15942 .operands = &[_]Operand{
15943 .{ .kind = .IdRef, .quantifier = .required },
15944 .{ .kind = .IdRef, .quantifier = .required },
15945 .{ .kind = .IdRef, .quantifier = .required },
15946 .{ .kind = .IdRef, .quantifier = .required },
15947 .{ .kind = .IdRef, .quantifier = .required },
15948 .{ .kind = .IdRef, .quantifier = .required },
15949 },
15950 },
15951 .{
15952 .name = "ArgumentStorageTexelBuffer",
15953 .opcode = 34,
15954 .operands = &[_]Operand{
15955 .{ .kind = .IdRef, .quantifier = .required },
15956 .{ .kind = .IdRef, .quantifier = .required },
15957 .{ .kind = .IdRef, .quantifier = .required },
15958 .{ .kind = .IdRef, .quantifier = .required },
15959 .{ .kind = .IdRef, .quantifier = .optional },
15960 },
15961 },
15962 .{
15963 .name = "ArgumentUniformTexelBuffer",
15964 .opcode = 35,
15965 .operands = &[_]Operand{
15966 .{ .kind = .IdRef, .quantifier = .required },
15967 .{ .kind = .IdRef, .quantifier = .required },
15968 .{ .kind = .IdRef, .quantifier = .required },
15969 .{ .kind = .IdRef, .quantifier = .required },
15970 .{ .kind = .IdRef, .quantifier = .optional },
15971 },
15972 },
15973 .{
15974 .name = "ConstantDataPointerPushConstant",
15975 .opcode = 36,
15976 .operands = &[_]Operand{
15977 .{ .kind = .IdRef, .quantifier = .required },
15978 .{ .kind = .IdRef, .quantifier = .required },
15979 .{ .kind = .IdRef, .quantifier = .required },
15980 },
15981 },
15982 .{
15983 .name = "ProgramScopeVariablePointerPushConstant",
15984 .opcode = 37,
15985 .operands = &[_]Operand{
15986 .{ .kind = .IdRef, .quantifier = .required },
15987 .{ .kind = .IdRef, .quantifier = .required },
15988 .{ .kind = .IdRef, .quantifier = .required },
15989 },
15990 },
15991 .{
15992 .name = "PrintfInfo",
15993 .opcode = 38,
15994 .operands = &[_]Operand{
15995 .{ .kind = .IdRef, .quantifier = .required },
15996 .{ .kind = .IdRef, .quantifier = .required },
15997 .{ .kind = .IdRef, .quantifier = .variadic },
15998 },
15999 },
16000 .{
16001 .name = "PrintfBufferStorageBuffer",
16002 .opcode = 39,
16003 .operands = &[_]Operand{
16004 .{ .kind = .IdRef, .quantifier = .required },
16005 .{ .kind = .IdRef, .quantifier = .required },
16006 .{ .kind = .IdRef, .quantifier = .required },
16007 },
16008 },
16009 .{
16010 .name = "PrintfBufferPointerPushConstant",
16011 .opcode = 40,
16012 .operands = &[_]Operand{
16013 .{ .kind = .IdRef, .quantifier = .required },
16014 .{ .kind = .IdRef, .quantifier = .required },
16015 .{ .kind = .IdRef, .quantifier = .required },
16016 },
16017 },
16018 .{
16019 .name = "NormalizedSamplerMaskPushConstant",
16020 .opcode = 41,
16021 .operands = &[_]Operand{
16022 .{ .kind = .IdRef, .quantifier = .required },
16023 .{ .kind = .IdRef, .quantifier = .required },
16024 .{ .kind = .IdRef, .quantifier = .required },
16025 .{ .kind = .IdRef, .quantifier = .required },
16026 },
16027 },
16028 },
16029 .@"spv-amd-gcn-shader" => &[_]Instruction{
16030 .{
16031 .name = "CubeFaceIndexAMD",
16032 .opcode = 1,
16033 .operands = &[_]Operand{
16034 .{ .kind = .IdRef, .quantifier = .required },
16035 },
16036 },
16037 .{
16038 .name = "CubeFaceCoordAMD",
16039 .opcode = 2,
16040 .operands = &[_]Operand{
16041 .{ .kind = .IdRef, .quantifier = .required },
16042 },
16043 },
16044 .{
16045 .name = "TimeAMD",
16046 .opcode = 3,
16047 .operands = &[_]Operand{},
16048 },
16049 },
16050 .@"spv-amd-shader-trinary-minmax" => &[_]Instruction{
16051 .{
16052 .name = "FMin3AMD",
16053 .opcode = 1,
16054 .operands = &[_]Operand{
16055 .{ .kind = .IdRef, .quantifier = .required },
16056 .{ .kind = .IdRef, .quantifier = .required },
16057 .{ .kind = .IdRef, .quantifier = .required },
16058 },
16059 },
16060 .{
16061 .name = "UMin3AMD",
16062 .opcode = 2,
16063 .operands = &[_]Operand{
16064 .{ .kind = .IdRef, .quantifier = .required },
16065 .{ .kind = .IdRef, .quantifier = .required },
16066 .{ .kind = .IdRef, .quantifier = .required },
16067 },
16068 },
16069 .{
16070 .name = "SMin3AMD",
16071 .opcode = 3,
16072 .operands = &[_]Operand{
16073 .{ .kind = .IdRef, .quantifier = .required },
16074 .{ .kind = .IdRef, .quantifier = .required },
16075 .{ .kind = .IdRef, .quantifier = .required },
16076 },
16077 },
16078 .{
16079 .name = "FMax3AMD",
16080 .opcode = 4,
16081 .operands = &[_]Operand{
16082 .{ .kind = .IdRef, .quantifier = .required },
16083 .{ .kind = .IdRef, .quantifier = .required },
16084 .{ .kind = .IdRef, .quantifier = .required },
16085 },
16086 },
16087 .{
16088 .name = "UMax3AMD",
16089 .opcode = 5,
16090 .operands = &[_]Operand{
16091 .{ .kind = .IdRef, .quantifier = .required },
16092 .{ .kind = .IdRef, .quantifier = .required },
16093 .{ .kind = .IdRef, .quantifier = .required },
16094 },
16095 },
16096 .{
16097 .name = "SMax3AMD",
16098 .opcode = 6,
16099 .operands = &[_]Operand{
16100 .{ .kind = .IdRef, .quantifier = .required },
16101 .{ .kind = .IdRef, .quantifier = .required },
16102 .{ .kind = .IdRef, .quantifier = .required },
16103 },
16104 },
16105 .{
16106 .name = "FMid3AMD",
16107 .opcode = 7,
16108 .operands = &[_]Operand{
16109 .{ .kind = .IdRef, .quantifier = .required },
16110 .{ .kind = .IdRef, .quantifier = .required },
16111 .{ .kind = .IdRef, .quantifier = .required },
16112 },
16113 },
16114 .{
16115 .name = "UMid3AMD",
16116 .opcode = 8,
16117 .operands = &[_]Operand{
16118 .{ .kind = .IdRef, .quantifier = .required },
16119 .{ .kind = .IdRef, .quantifier = .required },
16120 .{ .kind = .IdRef, .quantifier = .required },
16121 },
16122 },
16123 .{
16124 .name = "SMid3AMD",
16125 .opcode = 9,
16126 .operands = &[_]Operand{
16127 .{ .kind = .IdRef, .quantifier = .required },
16128 .{ .kind = .IdRef, .quantifier = .required },
16129 .{ .kind = .IdRef, .quantifier = .required },
16130 },
16131 },
16132 },
16133 .debuginfo => &[_]Instruction{
16134 .{
16135 .name = "DebugInfoNone",
16136 .opcode = 0,
16137 .operands = &[_]Operand{},
16138 },
16139 .{
16140 .name = "DebugCompilationUnit",
16141 .opcode = 1,
16142 .operands = &[_]Operand{
16143 .{ .kind = .IdRef, .quantifier = .required },
16144 .{ .kind = .LiteralInteger, .quantifier = .required },
16145 .{ .kind = .LiteralInteger, .quantifier = .required },
16146 },
16147 },
16148 .{
16149 .name = "DebugTypeBasic",
16150 .opcode = 2,
16151 .operands = &[_]Operand{
16152 .{ .kind = .IdRef, .quantifier = .required },
16153 .{ .kind = .IdRef, .quantifier = .required },
16154 .{ .kind = .@"debuginfo.DebugBaseTypeAttributeEncoding", .quantifier = .required },
16155 },
16156 },
16157 .{
16158 .name = "DebugTypePointer",
16159 .opcode = 3,
16160 .operands = &[_]Operand{
16161 .{ .kind = .IdRef, .quantifier = .required },
16162 .{ .kind = .StorageClass, .quantifier = .required },
16163 .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
16164 },
16165 },
16166 .{
16167 .name = "DebugTypeQualifier",
16168 .opcode = 4,
16169 .operands = &[_]Operand{
16170 .{ .kind = .IdRef, .quantifier = .required },
16171 .{ .kind = .@"debuginfo.DebugTypeQualifier", .quantifier = .required },
16172 },
16173 },
16174 .{
16175 .name = "DebugTypeArray",
16176 .opcode = 5,
16177 .operands = &[_]Operand{
16178 .{ .kind = .IdRef, .quantifier = .required },
16179 .{ .kind = .IdRef, .quantifier = .variadic },
16180 },
16181 },
16182 .{
16183 .name = "DebugTypeVector",
16184 .opcode = 6,
16185 .operands = &[_]Operand{
16186 .{ .kind = .IdRef, .quantifier = .required },
16187 .{ .kind = .LiteralInteger, .quantifier = .required },
16188 },
16189 },
16190 .{
16191 .name = "DebugTypedef",
16192 .opcode = 7,
16193 .operands = &[_]Operand{
16194 .{ .kind = .IdRef, .quantifier = .required },
16195 .{ .kind = .IdRef, .quantifier = .required },
16196 .{ .kind = .IdRef, .quantifier = .required },
16197 .{ .kind = .LiteralInteger, .quantifier = .required },
16198 .{ .kind = .LiteralInteger, .quantifier = .required },
16199 .{ .kind = .IdRef, .quantifier = .required },
16200 },
16201 },
16202 .{
16203 .name = "DebugTypeFunction",
16204 .opcode = 8,
16205 .operands = &[_]Operand{
16206 .{ .kind = .IdRef, .quantifier = .required },
16207 .{ .kind = .IdRef, .quantifier = .variadic },
16208 },
16209 },
16210 .{
16211 .name = "DebugTypeEnum",
16212 .opcode = 9,
16213 .operands = &[_]Operand{
16214 .{ .kind = .IdRef, .quantifier = .required },
16215 .{ .kind = .IdRef, .quantifier = .required },
16216 .{ .kind = .IdRef, .quantifier = .required },
16217 .{ .kind = .LiteralInteger, .quantifier = .required },
16218 .{ .kind = .LiteralInteger, .quantifier = .required },
16219 .{ .kind = .IdRef, .quantifier = .required },
16220 .{ .kind = .IdRef, .quantifier = .required },
16221 .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
16222 .{ .kind = .PairIdRefIdRef, .quantifier = .variadic },
16223 },
16224 },
16225 .{
16226 .name = "DebugTypeComposite",
16227 .opcode = 10,
16228 .operands = &[_]Operand{
16229 .{ .kind = .IdRef, .quantifier = .required },
16230 .{ .kind = .@"debuginfo.DebugCompositeType", .quantifier = .required },
16231 .{ .kind = .IdRef, .quantifier = .required },
16232 .{ .kind = .LiteralInteger, .quantifier = .required },
16233 .{ .kind = .LiteralInteger, .quantifier = .required },
16234 .{ .kind = .IdRef, .quantifier = .required },
16235 .{ .kind = .IdRef, .quantifier = .required },
16236 .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
16237 .{ .kind = .IdRef, .quantifier = .variadic },
16238 },
16239 },
16240 .{
16241 .name = "DebugTypeMember",
16242 .opcode = 11,
16243 .operands = &[_]Operand{
16244 .{ .kind = .IdRef, .quantifier = .required },
16245 .{ .kind = .IdRef, .quantifier = .required },
16246 .{ .kind = .IdRef, .quantifier = .required },
16247 .{ .kind = .LiteralInteger, .quantifier = .required },
16248 .{ .kind = .LiteralInteger, .quantifier = .required },
16249 .{ .kind = .IdRef, .quantifier = .required },
16250 .{ .kind = .IdRef, .quantifier = .required },
16251 .{ .kind = .IdRef, .quantifier = .required },
16252 .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
16253 .{ .kind = .IdRef, .quantifier = .optional },
16254 },
16255 },
16256 .{
16257 .name = "DebugTypeInheritance",
16258 .opcode = 12,
16259 .operands = &[_]Operand{
16260 .{ .kind = .IdRef, .quantifier = .required },
16261 .{ .kind = .IdRef, .quantifier = .required },
16262 .{ .kind = .IdRef, .quantifier = .required },
16263 .{ .kind = .IdRef, .quantifier = .required },
16264 .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
16265 },
16266 },
16267 .{
16268 .name = "DebugTypePtrToMember",
16269 .opcode = 13,
16270 .operands = &[_]Operand{
16271 .{ .kind = .IdRef, .quantifier = .required },
16272 .{ .kind = .IdRef, .quantifier = .required },
16273 },
16274 },
16275 .{
16276 .name = "DebugTypeTemplate",
16277 .opcode = 14,
16278 .operands = &[_]Operand{
16279 .{ .kind = .IdRef, .quantifier = .required },
16280 .{ .kind = .IdRef, .quantifier = .variadic },
16281 },
16282 },
16283 .{
16284 .name = "DebugTypeTemplateParameter",
16285 .opcode = 15,
16286 .operands = &[_]Operand{
16287 .{ .kind = .IdRef, .quantifier = .required },
16288 .{ .kind = .IdRef, .quantifier = .required },
16289 .{ .kind = .IdRef, .quantifier = .required },
16290 .{ .kind = .IdRef, .quantifier = .required },
16291 .{ .kind = .LiteralInteger, .quantifier = .required },
16292 .{ .kind = .LiteralInteger, .quantifier = .required },
16293 },
16294 },
16295 .{
16296 .name = "DebugTypeTemplateTemplateParameter",
16297 .opcode = 16,
16298 .operands = &[_]Operand{
16299 .{ .kind = .IdRef, .quantifier = .required },
16300 .{ .kind = .IdRef, .quantifier = .required },
16301 .{ .kind = .IdRef, .quantifier = .required },
16302 .{ .kind = .LiteralInteger, .quantifier = .required },
16303 .{ .kind = .LiteralInteger, .quantifier = .required },
16304 },
16305 },
16306 .{
16307 .name = "DebugTypeTemplateParameterPack",
16308 .opcode = 17,
16309 .operands = &[_]Operand{
16310 .{ .kind = .IdRef, .quantifier = .required },
16311 .{ .kind = .IdRef, .quantifier = .required },
16312 .{ .kind = .LiteralInteger, .quantifier = .required },
16313 .{ .kind = .LiteralInteger, .quantifier = .required },
16314 .{ .kind = .IdRef, .quantifier = .variadic },
16315 },
16316 },
16317 .{
16318 .name = "DebugGlobalVariable",
16319 .opcode = 18,
16320 .operands = &[_]Operand{
16321 .{ .kind = .IdRef, .quantifier = .required },
16322 .{ .kind = .IdRef, .quantifier = .required },
16323 .{ .kind = .IdRef, .quantifier = .required },
16324 .{ .kind = .LiteralInteger, .quantifier = .required },
16325 .{ .kind = .LiteralInteger, .quantifier = .required },
16326 .{ .kind = .IdRef, .quantifier = .required },
16327 .{ .kind = .IdRef, .quantifier = .required },
16328 .{ .kind = .IdRef, .quantifier = .required },
16329 .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
16330 .{ .kind = .IdRef, .quantifier = .optional },
16331 },
16332 },
16333 .{
16334 .name = "DebugFunctionDeclaration",
16335 .opcode = 19,
16336 .operands = &[_]Operand{
16337 .{ .kind = .IdRef, .quantifier = .required },
16338 .{ .kind = .IdRef, .quantifier = .required },
16339 .{ .kind = .IdRef, .quantifier = .required },
16340 .{ .kind = .LiteralInteger, .quantifier = .required },
16341 .{ .kind = .LiteralInteger, .quantifier = .required },
16342 .{ .kind = .IdRef, .quantifier = .required },
16343 .{ .kind = .IdRef, .quantifier = .required },
16344 .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
16345 },
16346 },
16347 .{
16348 .name = "DebugFunction",
16349 .opcode = 20,
16350 .operands = &[_]Operand{
16351 .{ .kind = .IdRef, .quantifier = .required },
16352 .{ .kind = .IdRef, .quantifier = .required },
16353 .{ .kind = .IdRef, .quantifier = .required },
16354 .{ .kind = .LiteralInteger, .quantifier = .required },
16355 .{ .kind = .LiteralInteger, .quantifier = .required },
16356 .{ .kind = .IdRef, .quantifier = .required },
16357 .{ .kind = .IdRef, .quantifier = .required },
16358 .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
16359 .{ .kind = .LiteralInteger, .quantifier = .required },
16360 .{ .kind = .IdRef, .quantifier = .required },
16361 .{ .kind = .IdRef, .quantifier = .optional },
16362 },
16363 },
16364 .{
16365 .name = "DebugLexicalBlock",
16366 .opcode = 21,
16367 .operands = &[_]Operand{
16368 .{ .kind = .IdRef, .quantifier = .required },
16369 .{ .kind = .LiteralInteger, .quantifier = .required },
16370 .{ .kind = .LiteralInteger, .quantifier = .required },
16371 .{ .kind = .IdRef, .quantifier = .required },
16372 .{ .kind = .IdRef, .quantifier = .optional },
16373 },
16374 },
16375 .{
16376 .name = "DebugLexicalBlockDiscriminator",
16377 .opcode = 22,
16378 .operands = &[_]Operand{
16379 .{ .kind = .IdRef, .quantifier = .required },
16380 .{ .kind = .LiteralInteger, .quantifier = .required },
16381 .{ .kind = .IdRef, .quantifier = .required },
16382 },
16383 },
16384 .{
16385 .name = "DebugScope",
16386 .opcode = 23,
16387 .operands = &[_]Operand{
16388 .{ .kind = .IdRef, .quantifier = .required },
16389 .{ .kind = .IdRef, .quantifier = .optional },
16390 },
16391 },
16392 .{
16393 .name = "DebugNoScope",
16394 .opcode = 24,
16395 .operands = &[_]Operand{},
16396 },
16397 .{
16398 .name = "DebugInlinedAt",
16399 .opcode = 25,
16400 .operands = &[_]Operand{
16401 .{ .kind = .LiteralInteger, .quantifier = .required },
16402 .{ .kind = .IdRef, .quantifier = .required },
16403 .{ .kind = .IdRef, .quantifier = .optional },
16404 },
16405 },
16406 .{
16407 .name = "DebugLocalVariable",
16408 .opcode = 26,
16409 .operands = &[_]Operand{
16410 .{ .kind = .IdRef, .quantifier = .required },
16411 .{ .kind = .IdRef, .quantifier = .required },
16412 .{ .kind = .IdRef, .quantifier = .required },
16413 .{ .kind = .LiteralInteger, .quantifier = .required },
16414 .{ .kind = .LiteralInteger, .quantifier = .required },
16415 .{ .kind = .IdRef, .quantifier = .required },
16416 .{ .kind = .LiteralInteger, .quantifier = .optional },
16417 },
16418 },
16419 .{
16420 .name = "DebugInlinedVariable",
16421 .opcode = 27,
16422 .operands = &[_]Operand{
16423 .{ .kind = .IdRef, .quantifier = .required },
16424 .{ .kind = .IdRef, .quantifier = .required },
16425 },
16426 },
16427 .{
16428 .name = "DebugDeclare",
16429 .opcode = 28,
16430 .operands = &[_]Operand{
16431 .{ .kind = .IdRef, .quantifier = .required },
16432 .{ .kind = .IdRef, .quantifier = .required },
16433 .{ .kind = .IdRef, .quantifier = .required },
16434 },
16435 },
16436 .{
16437 .name = "DebugValue",
16438 .opcode = 29,
16439 .operands = &[_]Operand{
16440 .{ .kind = .IdRef, .quantifier = .required },
16441 .{ .kind = .IdRef, .quantifier = .required },
16442 .{ .kind = .IdRef, .quantifier = .variadic },
16443 },
16444 },
16445 .{
16446 .name = "DebugOperation",
16447 .opcode = 30,
16448 .operands = &[_]Operand{
16449 .{ .kind = .@"debuginfo.DebugOperation", .quantifier = .required },
16450 .{ .kind = .LiteralInteger, .quantifier = .variadic },
16451 },
16452 },
16453 .{
16454 .name = "DebugExpression",
16455 .opcode = 31,
16456 .operands = &[_]Operand{
16457 .{ .kind = .IdRef, .quantifier = .variadic },
16458 },
16459 },
16460 .{
16461 .name = "DebugMacroDef",
16462 .opcode = 32,
16463 .operands = &[_]Operand{
16464 .{ .kind = .IdRef, .quantifier = .required },
16465 .{ .kind = .LiteralInteger, .quantifier = .required },
16466 .{ .kind = .IdRef, .quantifier = .required },
16467 .{ .kind = .IdRef, .quantifier = .optional },
16468 },
16469 },
16470 .{
16471 .name = "DebugMacroUndef",
16472 .opcode = 33,
16473 .operands = &[_]Operand{
16474 .{ .kind = .IdRef, .quantifier = .required },
16475 .{ .kind = .LiteralInteger, .quantifier = .required },
16476 .{ .kind = .IdRef, .quantifier = .required },
16477 },
16478 },
16479 },
16480 .@"nonsemantic.debugprintf" => &[_]Instruction{
16481 .{
16482 .name = "DebugPrintf",
16483 .opcode = 1,
16484 .operands = &[_]Operand{
16485 .{ .kind = .IdRef, .quantifier = .required },
16486 .{ .kind = .IdRef, .quantifier = .variadic },
16487 },
16488 },
16489 },
16490 .@"spv-amd-shader-explicit-vertex-parameter" => &[_]Instruction{
16491 .{
16492 .name = "InterpolateAtVertexAMD",
16493 .opcode = 1,
16494 .operands = &[_]Operand{
16495 .{ .kind = .IdRef, .quantifier = .required },
16496 .{ .kind = .IdRef, .quantifier = .required },
16497 },
16498 },
16499 },
16500 .@"nonsemantic.debugbreak" => &[_]Instruction{
16501 .{
16502 .name = "DebugBreak",
16503 .opcode = 1,
16504 .operands = &[_]Operand{},
16505 },
16506 },
16507 };
16508 }
16509};