Commit 028f532dc0
Changed files (1)
src
codegen
spirv
src/codegen/spirv/spec.zig
@@ -22,6 +22,7 @@ pub const IdMemorySemantics = IdRef;
pub const IdScope = IdRef;
pub const LiteralInteger = Word;
+pub const LiteralFloat = Word;
pub const LiteralString = []const u8;
pub const LiteralContextDependentNumber = union(enum) {
int32: i32,
@@ -62,6 +63,12 @@ pub const Enumerant = struct {
parameters: []const OperandKind,
};
+pub const Instruction = struct {
+ name: []const u8,
+ opcode: Word,
+ operands: []const Operand,
+};
+
pub const version = Version{ .major = 1, .minor = 6, .patch = 1 };
pub const magic_number: Word = 0x07230203;
@@ -92,6 +99,7 @@ pub const Class = enum {
NonUniform,
Reserved,
};
+
pub const OperandKind = enum {
ImageOperands,
FPFastMathMode,
@@ -103,6 +111,7 @@ pub const OperandKind = enum {
KernelProfilingInfo,
RayFlags,
FragmentShadingRate,
+ RawAccessChainOperands,
SourceLanguage,
ExecutionModel,
AddressingModel,
@@ -122,6 +131,7 @@ pub const OperandKind = enum {
OverflowModes,
LinkageType,
AccessQualifier,
+ HostAccessQualifier,
FunctionParameterAttribute,
Decoration,
BuiltIn,
@@ -133,6 +143,13 @@ pub const OperandKind = enum {
RayQueryCommittedIntersectionType,
RayQueryCandidateIntersectionType,
PackedVectorFormat,
+ CooperativeMatrixOperands,
+ CooperativeMatrixLayout,
+ CooperativeMatrixUse,
+ InitializationModeQualifier,
+ LoadCacheControl,
+ StoreCacheControl,
+ NamedMaximumNumberOfRegisters,
IdResultType,
IdResult,
IdMemorySemantics,
@@ -140,12 +157,32 @@ pub const OperandKind = enum {
IdRef,
LiteralInteger,
LiteralString,
+ LiteralFloat,
LiteralContextDependentNumber,
LiteralExtInstInteger,
LiteralSpecConstantOpInteger,
PairLiteralIntegerIdRef,
PairIdRefLiteralInteger,
PairIdRefIdRef,
+ @"opencl.debuginfo.100.DebugInfoFlags",
+ @"opencl.debuginfo.100.DebugBaseTypeAttributeEncoding",
+ @"opencl.debuginfo.100.DebugCompositeType",
+ @"opencl.debuginfo.100.DebugTypeQualifier",
+ @"opencl.debuginfo.100.DebugOperation",
+ @"opencl.debuginfo.100.DebugImportedEntity",
+ @"nonsemantic.shader.debuginfo.100.DebugInfoFlags",
+ @"nonsemantic.shader.debuginfo.100.BuildIdentifierFlags",
+ @"nonsemantic.shader.debuginfo.100.DebugBaseTypeAttributeEncoding",
+ @"nonsemantic.shader.debuginfo.100.DebugCompositeType",
+ @"nonsemantic.shader.debuginfo.100.DebugTypeQualifier",
+ @"nonsemantic.shader.debuginfo.100.DebugOperation",
+ @"nonsemantic.shader.debuginfo.100.DebugImportedEntity",
+ @"nonsemantic.clspvreflection.KernelPropertyFlags",
+ @"debuginfo.DebugInfoFlags",
+ @"debuginfo.DebugBaseTypeAttributeEncoding",
+ @"debuginfo.DebugCompositeType",
+ @"debuginfo.DebugTypeQualifier",
+ @"debuginfo.DebugOperation",
pub fn category(self: OperandKind) OperandCategory {
return switch (self) {
@@ -159,6 +196,7 @@ pub const OperandKind = enum {
.KernelProfilingInfo => .bit_enum,
.RayFlags => .bit_enum,
.FragmentShadingRate => .bit_enum,
+ .RawAccessChainOperands => .bit_enum,
.SourceLanguage => .value_enum,
.ExecutionModel => .value_enum,
.AddressingModel => .value_enum,
@@ -178,6 +216,7 @@ pub const OperandKind = enum {
.OverflowModes => .value_enum,
.LinkageType => .value_enum,
.AccessQualifier => .value_enum,
+ .HostAccessQualifier => .value_enum,
.FunctionParameterAttribute => .value_enum,
.Decoration => .value_enum,
.BuiltIn => .value_enum,
@@ -189,6 +228,13 @@ pub const OperandKind = enum {
.RayQueryCommittedIntersectionType => .value_enum,
.RayQueryCandidateIntersectionType => .value_enum,
.PackedVectorFormat => .value_enum,
+ .CooperativeMatrixOperands => .bit_enum,
+ .CooperativeMatrixLayout => .value_enum,
+ .CooperativeMatrixUse => .value_enum,
+ .InitializationModeQualifier => .value_enum,
+ .LoadCacheControl => .value_enum,
+ .StoreCacheControl => .value_enum,
+ .NamedMaximumNumberOfRegisters => .value_enum,
.IdResultType => .id,
.IdResult => .id,
.IdMemorySemantics => .id,
@@ -196,12 +242,32 @@ pub const OperandKind = enum {
.IdRef => .id,
.LiteralInteger => .literal,
.LiteralString => .literal,
+ .LiteralFloat => .literal,
.LiteralContextDependentNumber => .literal,
.LiteralExtInstInteger => .literal,
.LiteralSpecConstantOpInteger => .literal,
.PairLiteralIntegerIdRef => .composite,
.PairIdRefLiteralInteger => .composite,
.PairIdRefIdRef => .composite,
+ .@"opencl.debuginfo.100.DebugInfoFlags" => .bit_enum,
+ .@"opencl.debuginfo.100.DebugBaseTypeAttributeEncoding" => .value_enum,
+ .@"opencl.debuginfo.100.DebugCompositeType" => .value_enum,
+ .@"opencl.debuginfo.100.DebugTypeQualifier" => .value_enum,
+ .@"opencl.debuginfo.100.DebugOperation" => .value_enum,
+ .@"opencl.debuginfo.100.DebugImportedEntity" => .value_enum,
+ .@"nonsemantic.shader.debuginfo.100.DebugInfoFlags" => .bit_enum,
+ .@"nonsemantic.shader.debuginfo.100.BuildIdentifierFlags" => .bit_enum,
+ .@"nonsemantic.shader.debuginfo.100.DebugBaseTypeAttributeEncoding" => .value_enum,
+ .@"nonsemantic.shader.debuginfo.100.DebugCompositeType" => .value_enum,
+ .@"nonsemantic.shader.debuginfo.100.DebugTypeQualifier" => .value_enum,
+ .@"nonsemantic.shader.debuginfo.100.DebugOperation" => .value_enum,
+ .@"nonsemantic.shader.debuginfo.100.DebugImportedEntity" => .value_enum,
+ .@"nonsemantic.clspvreflection.KernelPropertyFlags" => .bit_enum,
+ .@"debuginfo.DebugInfoFlags" => .bit_enum,
+ .@"debuginfo.DebugBaseTypeAttributeEncoding" => .value_enum,
+ .@"debuginfo.DebugCompositeType" => .value_enum,
+ .@"debuginfo.DebugTypeQualifier" => .value_enum,
+ .@"debuginfo.DebugOperation" => .value_enum,
};
}
pub fn enumerants(self: OperandKind) []const Enumerant {
@@ -234,8 +300,11 @@ pub const OperandKind = enum {
.{ .name = "NSZ", .value = 0x0004, .parameters = &[_]OperandKind{} },
.{ .name = "AllowRecip", .value = 0x0008, .parameters = &[_]OperandKind{} },
.{ .name = "Fast", .value = 0x0010, .parameters = &[_]OperandKind{} },
+ .{ .name = "AllowContract", .value = 0x10000, .parameters = &[_]OperandKind{} },
.{ .name = "AllowContractFastINTEL", .value = 0x10000, .parameters = &[_]OperandKind{} },
+ .{ .name = "AllowReassoc", .value = 0x20000, .parameters = &[_]OperandKind{} },
.{ .name = "AllowReassocINTEL", .value = 0x20000, .parameters = &[_]OperandKind{} },
+ .{ .name = "AllowTransform", .value = 0x40000, .parameters = &[_]OperandKind{} },
},
.SelectionControl => &[_]Enumerant{
.{ .name = "Flatten", .value = 0x0001, .parameters = &[_]OperandKind{} },
@@ -258,7 +327,9 @@ pub const OperandKind = enum {
.{ .name = "LoopCoalesceINTEL", .value = 0x100000, .parameters = &[_]OperandKind{.LiteralInteger} },
.{ .name = "MaxInterleavingINTEL", .value = 0x200000, .parameters = &[_]OperandKind{.LiteralInteger} },
.{ .name = "SpeculatedIterationsINTEL", .value = 0x400000, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "NoFusionINTEL", .value = 0x800000, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "NoFusionINTEL", .value = 0x800000, .parameters = &[_]OperandKind{} },
+ .{ .name = "LoopCountINTEL", .value = 0x1000000, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "MaxReinvocationDelayINTEL", .value = 0x2000000, .parameters = &[_]OperandKind{.LiteralInteger} },
},
.FunctionControl => &[_]Enumerant{
.{ .name = "Inline", .value = 0x0001, .parameters = &[_]OperandKind{} },
@@ -297,6 +368,8 @@ pub const OperandKind = enum {
.{ .name = "MakePointerVisibleKHR", .value = 0x0010, .parameters = &[_]OperandKind{.IdScope} },
.{ .name = "NonPrivatePointer", .value = 0x0020, .parameters = &[_]OperandKind{} },
.{ .name = "NonPrivatePointerKHR", .value = 0x0020, .parameters = &[_]OperandKind{} },
+ .{ .name = "AliasScopeINTELMask", .value = 0x10000, .parameters = &[_]OperandKind{.IdRef} },
+ .{ .name = "NoAliasINTELMask", .value = 0x20000, .parameters = &[_]OperandKind{.IdRef} },
},
.KernelProfilingInfo => &[_]Enumerant{
.{ .name = "CmdExecTime", .value = 0x0001, .parameters = &[_]OperandKind{} },
@@ -313,6 +386,7 @@ pub const OperandKind = enum {
.{ .name = "CullNoOpaqueKHR", .value = 0x0080, .parameters = &[_]OperandKind{} },
.{ .name = "SkipTrianglesKHR", .value = 0x0100, .parameters = &[_]OperandKind{} },
.{ .name = "SkipAABBsKHR", .value = 0x0200, .parameters = &[_]OperandKind{} },
+ .{ .name = "ForceOpacityMicromap2StateEXT", .value = 0x0400, .parameters = &[_]OperandKind{} },
},
.FragmentShadingRate => &[_]Enumerant{
.{ .name = "Vertical2Pixels", .value = 0x0001, .parameters = &[_]OperandKind{} },
@@ -320,6 +394,10 @@ pub const OperandKind = enum {
.{ .name = "Horizontal2Pixels", .value = 0x0004, .parameters = &[_]OperandKind{} },
.{ .name = "Horizontal4Pixels", .value = 0x0008, .parameters = &[_]OperandKind{} },
},
+ .RawAccessChainOperands => &[_]Enumerant{
+ .{ .name = "RobustnessPerComponentNV", .value = 0x0001, .parameters = &[_]OperandKind{} },
+ .{ .name = "RobustnessPerElementNV", .value = 0x0002, .parameters = &[_]OperandKind{} },
+ },
.SourceLanguage => &[_]Enumerant{
.{ .name = "Unknown", .value = 0, .parameters = &[_]OperandKind{} },
.{ .name = "ESSL", .value = 1, .parameters = &[_]OperandKind{} },
@@ -328,6 +406,12 @@ pub const OperandKind = enum {
.{ .name = "OpenCL_CPP", .value = 4, .parameters = &[_]OperandKind{} },
.{ .name = "HLSL", .value = 5, .parameters = &[_]OperandKind{} },
.{ .name = "CPP_for_OpenCL", .value = 6, .parameters = &[_]OperandKind{} },
+ .{ .name = "SYCL", .value = 7, .parameters = &[_]OperandKind{} },
+ .{ .name = "HERO_C", .value = 8, .parameters = &[_]OperandKind{} },
+ .{ .name = "NZSL", .value = 9, .parameters = &[_]OperandKind{} },
+ .{ .name = "WGSL", .value = 10, .parameters = &[_]OperandKind{} },
+ .{ .name = "Slang", .value = 11, .parameters = &[_]OperandKind{} },
+ .{ .name = "Zig", .value = 12, .parameters = &[_]OperandKind{} },
},
.ExecutionModel => &[_]Enumerant{
.{ .name = "Vertex", .value = 0, .parameters = &[_]OperandKind{} },
@@ -351,6 +435,8 @@ pub const OperandKind = enum {
.{ .name = "MissKHR", .value = 5317, .parameters = &[_]OperandKind{} },
.{ .name = "CallableNV", .value = 5318, .parameters = &[_]OperandKind{} },
.{ .name = "CallableKHR", .value = 5318, .parameters = &[_]OperandKind{} },
+ .{ .name = "TaskEXT", .value = 5364, .parameters = &[_]OperandKind{} },
+ .{ .name = "MeshEXT", .value = 5365, .parameters = &[_]OperandKind{} },
},
.AddressingModel => &[_]Enumerant{
.{ .name = "Logical", .value = 0, .parameters = &[_]OperandKind{} },
@@ -405,6 +491,9 @@ pub const OperandKind = enum {
.{ .name = "SubgroupsPerWorkgroupId", .value = 37, .parameters = &[_]OperandKind{.IdRef} },
.{ .name = "LocalSizeId", .value = 38, .parameters = &[_]OperandKind{ .IdRef, .IdRef, .IdRef } },
.{ .name = "LocalSizeHintId", .value = 39, .parameters = &[_]OperandKind{ .IdRef, .IdRef, .IdRef } },
+ .{ .name = "NonCoherentColorAttachmentReadEXT", .value = 4169, .parameters = &[_]OperandKind{} },
+ .{ .name = "NonCoherentDepthAttachmentReadEXT", .value = 4170, .parameters = &[_]OperandKind{} },
+ .{ .name = "NonCoherentStencilAttachmentReadEXT", .value = 4171, .parameters = &[_]OperandKind{} },
.{ .name = "SubgroupUniformControlFlowKHR", .value = 4421, .parameters = &[_]OperandKind{} },
.{ .name = "PostDepthCoverage", .value = 4446, .parameters = &[_]OperandKind{} },
.{ .name = "DenormPreserve", .value = 4459, .parameters = &[_]OperandKind{.LiteralInteger} },
@@ -412,12 +501,29 @@ pub const OperandKind = enum {
.{ .name = "SignedZeroInfNanPreserve", .value = 4461, .parameters = &[_]OperandKind{.LiteralInteger} },
.{ .name = "RoundingModeRTE", .value = 4462, .parameters = &[_]OperandKind{.LiteralInteger} },
.{ .name = "RoundingModeRTZ", .value = 4463, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "EarlyAndLateFragmentTestsAMD", .value = 5017, .parameters = &[_]OperandKind{} },
.{ .name = "StencilRefReplacingEXT", .value = 5027, .parameters = &[_]OperandKind{} },
+ .{ .name = "CoalescingAMDX", .value = 5069, .parameters = &[_]OperandKind{} },
+ .{ .name = "MaxNodeRecursionAMDX", .value = 5071, .parameters = &[_]OperandKind{.IdRef} },
+ .{ .name = "StaticNumWorkgroupsAMDX", .value = 5072, .parameters = &[_]OperandKind{ .IdRef, .IdRef, .IdRef } },
+ .{ .name = "ShaderIndexAMDX", .value = 5073, .parameters = &[_]OperandKind{.IdRef} },
+ .{ .name = "MaxNumWorkgroupsAMDX", .value = 5077, .parameters = &[_]OperandKind{ .IdRef, .IdRef, .IdRef } },
+ .{ .name = "StencilRefUnchangedFrontAMD", .value = 5079, .parameters = &[_]OperandKind{} },
+ .{ .name = "StencilRefGreaterFrontAMD", .value = 5080, .parameters = &[_]OperandKind{} },
+ .{ .name = "StencilRefLessFrontAMD", .value = 5081, .parameters = &[_]OperandKind{} },
+ .{ .name = "StencilRefUnchangedBackAMD", .value = 5082, .parameters = &[_]OperandKind{} },
+ .{ .name = "StencilRefGreaterBackAMD", .value = 5083, .parameters = &[_]OperandKind{} },
+ .{ .name = "StencilRefLessBackAMD", .value = 5084, .parameters = &[_]OperandKind{} },
+ .{ .name = "QuadDerivativesKHR", .value = 5088, .parameters = &[_]OperandKind{} },
+ .{ .name = "RequireFullQuadsKHR", .value = 5089, .parameters = &[_]OperandKind{} },
.{ .name = "OutputLinesNV", .value = 5269, .parameters = &[_]OperandKind{} },
+ .{ .name = "OutputLinesEXT", .value = 5269, .parameters = &[_]OperandKind{} },
.{ .name = "OutputPrimitivesNV", .value = 5270, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "OutputPrimitivesEXT", .value = 5270, .parameters = &[_]OperandKind{.LiteralInteger} },
.{ .name = "DerivativeGroupQuadsNV", .value = 5289, .parameters = &[_]OperandKind{} },
.{ .name = "DerivativeGroupLinearNV", .value = 5290, .parameters = &[_]OperandKind{} },
.{ .name = "OutputTrianglesNV", .value = 5298, .parameters = &[_]OperandKind{} },
+ .{ .name = "OutputTrianglesEXT", .value = 5298, .parameters = &[_]OperandKind{} },
.{ .name = "PixelInterlockOrderedEXT", .value = 5366, .parameters = &[_]OperandKind{} },
.{ .name = "PixelInterlockUnorderedEXT", .value = 5367, .parameters = &[_]OperandKind{} },
.{ .name = "SampleInterlockOrderedEXT", .value = 5368, .parameters = &[_]OperandKind{} },
@@ -434,6 +540,14 @@ pub const OperandKind = enum {
.{ .name = "NoGlobalOffsetINTEL", .value = 5895, .parameters = &[_]OperandKind{} },
.{ .name = "NumSIMDWorkitemsINTEL", .value = 5896, .parameters = &[_]OperandKind{.LiteralInteger} },
.{ .name = "SchedulerTargetFmaxMhzINTEL", .value = 5903, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "MaximallyReconvergesKHR", .value = 6023, .parameters = &[_]OperandKind{} },
+ .{ .name = "FPFastMathDefault", .value = 6028, .parameters = &[_]OperandKind{ .IdRef, .IdRef } },
+ .{ .name = "StreamingInterfaceINTEL", .value = 6154, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "RegisterMapInterfaceINTEL", .value = 6160, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "NamedBarrierCountINTEL", .value = 6417, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "MaximumRegistersINTEL", .value = 6461, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "MaximumRegistersIdINTEL", .value = 6462, .parameters = &[_]OperandKind{.IdRef} },
+ .{ .name = "NamedMaximumRegistersINTEL", .value = 6463, .parameters = &[_]OperandKind{.NamedMaximumNumberOfRegisters} },
},
.StorageClass => &[_]Enumerant{
.{ .name = "UniformConstant", .value = 0, .parameters = &[_]OperandKind{} },
@@ -449,6 +563,9 @@ pub const OperandKind = enum {
.{ .name = "AtomicCounter", .value = 10, .parameters = &[_]OperandKind{} },
.{ .name = "Image", .value = 11, .parameters = &[_]OperandKind{} },
.{ .name = "StorageBuffer", .value = 12, .parameters = &[_]OperandKind{} },
+ .{ .name = "TileImageEXT", .value = 4172, .parameters = &[_]OperandKind{} },
+ .{ .name = "NodePayloadAMDX", .value = 5068, .parameters = &[_]OperandKind{} },
+ .{ .name = "NodeOutputPayloadAMDX", .value = 5076, .parameters = &[_]OperandKind{} },
.{ .name = "CallableDataNV", .value = 5328, .parameters = &[_]OperandKind{} },
.{ .name = "CallableDataKHR", .value = 5328, .parameters = &[_]OperandKind{} },
.{ .name = "IncomingCallableDataNV", .value = 5329, .parameters = &[_]OperandKind{} },
@@ -463,6 +580,8 @@ pub const OperandKind = enum {
.{ .name = "ShaderRecordBufferKHR", .value = 5343, .parameters = &[_]OperandKind{} },
.{ .name = "PhysicalStorageBuffer", .value = 5349, .parameters = &[_]OperandKind{} },
.{ .name = "PhysicalStorageBufferEXT", .value = 5349, .parameters = &[_]OperandKind{} },
+ .{ .name = "HitObjectAttributeNV", .value = 5385, .parameters = &[_]OperandKind{} },
+ .{ .name = "TaskPayloadWorkgroupEXT", .value = 5402, .parameters = &[_]OperandKind{} },
.{ .name = "CodeSectionINTEL", .value = 5605, .parameters = &[_]OperandKind{} },
.{ .name = "DeviceOnlyINTEL", .value = 5936, .parameters = &[_]OperandKind{} },
.{ .name = "HostOnlyINTEL", .value = 5937, .parameters = &[_]OperandKind{} },
@@ -475,6 +594,7 @@ pub const OperandKind = enum {
.{ .name = "Rect", .value = 4, .parameters = &[_]OperandKind{} },
.{ .name = "Buffer", .value = 5, .parameters = &[_]OperandKind{} },
.{ .name = "SubpassData", .value = 6, .parameters = &[_]OperandKind{} },
+ .{ .name = "TileImageDataEXT", .value = 4173, .parameters = &[_]OperandKind{} },
},
.SamplerAddressingMode => &[_]Enumerant{
.{ .name = "None", .value = 0, .parameters = &[_]OperandKind{} },
@@ -571,6 +691,8 @@ pub const OperandKind = enum {
.{ .name = "Float", .value = 14, .parameters = &[_]OperandKind{} },
.{ .name = "UnormInt24", .value = 15, .parameters = &[_]OperandKind{} },
.{ .name = "UnormInt101010_2", .value = 16, .parameters = &[_]OperandKind{} },
+ .{ .name = "UnsignedIntRaw10EXT", .value = 19, .parameters = &[_]OperandKind{} },
+ .{ .name = "UnsignedIntRaw12EXT", .value = 20, .parameters = &[_]OperandKind{} },
},
.FPRoundingMode => &[_]Enumerant{
.{ .name = "RTE", .value = 0, .parameters = &[_]OperandKind{} },
@@ -612,6 +734,12 @@ pub const OperandKind = enum {
.{ .name = "WriteOnly", .value = 1, .parameters = &[_]OperandKind{} },
.{ .name = "ReadWrite", .value = 2, .parameters = &[_]OperandKind{} },
},
+ .HostAccessQualifier => &[_]Enumerant{
+ .{ .name = "NoneINTEL", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "ReadINTEL", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "WriteINTEL", .value = 2, .parameters = &[_]OperandKind{} },
+ .{ .name = "ReadWriteINTEL", .value = 3, .parameters = &[_]OperandKind{} },
+ },
.FunctionParameterAttribute => &[_]Enumerant{
.{ .name = "Zext", .value = 0, .parameters = &[_]OperandKind{} },
.{ .name = "Sext", .value = 1, .parameters = &[_]OperandKind{} },
@@ -621,6 +749,7 @@ pub const OperandKind = enum {
.{ .name = "NoCapture", .value = 5, .parameters = &[_]OperandKind{} },
.{ .name = "NoWrite", .value = 6, .parameters = &[_]OperandKind{} },
.{ .name = "NoReadWrite", .value = 7, .parameters = &[_]OperandKind{} },
+ .{ .name = "RuntimeAlignedINTEL", .value = 5940, .parameters = &[_]OperandKind{} },
},
.Decoration => &[_]Enumerant{
.{ .name = "RelaxedPrecision", .value = 0, .parameters = &[_]OperandKind{} },
@@ -672,12 +801,20 @@ pub const OperandKind = enum {
.{ .name = "MaxByteOffsetId", .value = 47, .parameters = &[_]OperandKind{.IdRef} },
.{ .name = "NoSignedWrap", .value = 4469, .parameters = &[_]OperandKind{} },
.{ .name = "NoUnsignedWrap", .value = 4470, .parameters = &[_]OperandKind{} },
+ .{ .name = "WeightTextureQCOM", .value = 4487, .parameters = &[_]OperandKind{} },
+ .{ .name = "BlockMatchTextureQCOM", .value = 4488, .parameters = &[_]OperandKind{} },
+ .{ .name = "BlockMatchSamplerQCOM", .value = 4499, .parameters = &[_]OperandKind{} },
.{ .name = "ExplicitInterpAMD", .value = 4999, .parameters = &[_]OperandKind{} },
+ .{ .name = "NodeSharesPayloadLimitsWithAMDX", .value = 5019, .parameters = &[_]OperandKind{.IdRef} },
+ .{ .name = "NodeMaxPayloadsAMDX", .value = 5020, .parameters = &[_]OperandKind{.IdRef} },
+ .{ .name = "TrackFinishWritingAMDX", .value = 5078, .parameters = &[_]OperandKind{} },
+ .{ .name = "PayloadNodeNameAMDX", .value = 5091, .parameters = &[_]OperandKind{.LiteralString} },
.{ .name = "OverrideCoverageNV", .value = 5248, .parameters = &[_]OperandKind{} },
.{ .name = "PassthroughNV", .value = 5250, .parameters = &[_]OperandKind{} },
.{ .name = "ViewportRelativeNV", .value = 5252, .parameters = &[_]OperandKind{} },
.{ .name = "SecondaryViewportRelativeNV", .value = 5256, .parameters = &[_]OperandKind{.LiteralInteger} },
.{ .name = "PerPrimitiveNV", .value = 5271, .parameters = &[_]OperandKind{} },
+ .{ .name = "PerPrimitiveEXT", .value = 5271, .parameters = &[_]OperandKind{} },
.{ .name = "PerViewNV", .value = 5272, .parameters = &[_]OperandKind{} },
.{ .name = "PerTaskNV", .value = 5273, .parameters = &[_]OperandKind{} },
.{ .name = "PerVertexKHR", .value = 5285, .parameters = &[_]OperandKind{} },
@@ -688,6 +825,7 @@ pub const OperandKind = enum {
.{ .name = "RestrictPointerEXT", .value = 5355, .parameters = &[_]OperandKind{} },
.{ .name = "AliasedPointer", .value = 5356, .parameters = &[_]OperandKind{} },
.{ .name = "AliasedPointerEXT", .value = 5356, .parameters = &[_]OperandKind{} },
+ .{ .name = "HitObjectShaderRecordBufferNV", .value = 5386, .parameters = &[_]OperandKind{} },
.{ .name = "BindlessSamplerNV", .value = 5398, .parameters = &[_]OperandKind{} },
.{ .name = "BindlessImageNV", .value = 5399, .parameters = &[_]OperandKind{} },
.{ .name = "BoundSamplerNV", .value = 5400, .parameters = &[_]OperandKind{} },
@@ -720,18 +858,45 @@ pub const OperandKind = enum {
.{ .name = "MergeINTEL", .value = 5834, .parameters = &[_]OperandKind{ .LiteralString, .LiteralString } },
.{ .name = "BankBitsINTEL", .value = 5835, .parameters = &[_]OperandKind{.LiteralInteger} },
.{ .name = "ForcePow2DepthINTEL", .value = 5836, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "StridesizeINTEL", .value = 5883, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "WordsizeINTEL", .value = 5884, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "TrueDualPortINTEL", .value = 5885, .parameters = &[_]OperandKind{} },
.{ .name = "BurstCoalesceINTEL", .value = 5899, .parameters = &[_]OperandKind{} },
.{ .name = "CacheSizeINTEL", .value = 5900, .parameters = &[_]OperandKind{.LiteralInteger} },
.{ .name = "DontStaticallyCoalesceINTEL", .value = 5901, .parameters = &[_]OperandKind{} },
.{ .name = "PrefetchINTEL", .value = 5902, .parameters = &[_]OperandKind{.LiteralInteger} },
.{ .name = "StallEnableINTEL", .value = 5905, .parameters = &[_]OperandKind{} },
.{ .name = "FuseLoopsInFunctionINTEL", .value = 5907, .parameters = &[_]OperandKind{} },
+ .{ .name = "MathOpDSPModeINTEL", .value = 5909, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger } },
+ .{ .name = "AliasScopeINTEL", .value = 5914, .parameters = &[_]OperandKind{.IdRef} },
+ .{ .name = "NoAliasINTEL", .value = 5915, .parameters = &[_]OperandKind{.IdRef} },
+ .{ .name = "InitiationIntervalINTEL", .value = 5917, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "MaxConcurrencyINTEL", .value = 5918, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "PipelineEnableINTEL", .value = 5919, .parameters = &[_]OperandKind{.LiteralInteger} },
.{ .name = "BufferLocationINTEL", .value = 5921, .parameters = &[_]OperandKind{.LiteralInteger} },
.{ .name = "IOPipeStorageINTEL", .value = 5944, .parameters = &[_]OperandKind{.LiteralInteger} },
.{ .name = "FunctionFloatingPointModeINTEL", .value = 6080, .parameters = &[_]OperandKind{ .LiteralInteger, .FPOperationMode } },
.{ .name = "SingleElementVectorINTEL", .value = 6085, .parameters = &[_]OperandKind{} },
.{ .name = "VectorComputeCallableFunctionINTEL", .value = 6087, .parameters = &[_]OperandKind{} },
.{ .name = "MediaBlockIOINTEL", .value = 6140, .parameters = &[_]OperandKind{} },
+ .{ .name = "StallFreeINTEL", .value = 6151, .parameters = &[_]OperandKind{} },
+ .{ .name = "FPMaxErrorDecorationINTEL", .value = 6170, .parameters = &[_]OperandKind{.LiteralFloat} },
+ .{ .name = "LatencyControlLabelINTEL", .value = 6172, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "LatencyControlConstraintINTEL", .value = 6173, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger, .LiteralInteger } },
+ .{ .name = "ConduitKernelArgumentINTEL", .value = 6175, .parameters = &[_]OperandKind{} },
+ .{ .name = "RegisterMapKernelArgumentINTEL", .value = 6176, .parameters = &[_]OperandKind{} },
+ .{ .name = "MMHostInterfaceAddressWidthINTEL", .value = 6177, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "MMHostInterfaceDataWidthINTEL", .value = 6178, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "MMHostInterfaceLatencyINTEL", .value = 6179, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "MMHostInterfaceReadWriteModeINTEL", .value = 6180, .parameters = &[_]OperandKind{.AccessQualifier} },
+ .{ .name = "MMHostInterfaceMaxBurstINTEL", .value = 6181, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "MMHostInterfaceWaitRequestINTEL", .value = 6182, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "StableKernelArgumentINTEL", .value = 6183, .parameters = &[_]OperandKind{} },
+ .{ .name = "HostAccessINTEL", .value = 6188, .parameters = &[_]OperandKind{ .HostAccessQualifier, .LiteralString } },
+ .{ .name = "InitModeINTEL", .value = 6190, .parameters = &[_]OperandKind{.InitializationModeQualifier} },
+ .{ .name = "ImplementInRegisterMapINTEL", .value = 6191, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "CacheControlLoadINTEL", .value = 6442, .parameters = &[_]OperandKind{ .LiteralInteger, .LoadCacheControl } },
+ .{ .name = "CacheControlStoreINTEL", .value = 6443, .parameters = &[_]OperandKind{ .LiteralInteger, .StoreCacheControl } },
},
.BuiltIn => &[_]Enumerant{
.{ .name = "Position", .value = 0, .parameters = &[_]OperandKind{} },
@@ -775,6 +940,11 @@ pub const OperandKind = enum {
.{ .name = "SubgroupLocalInvocationId", .value = 41, .parameters = &[_]OperandKind{} },
.{ .name = "VertexIndex", .value = 42, .parameters = &[_]OperandKind{} },
.{ .name = "InstanceIndex", .value = 43, .parameters = &[_]OperandKind{} },
+ .{ .name = "CoreIDARM", .value = 4160, .parameters = &[_]OperandKind{} },
+ .{ .name = "CoreCountARM", .value = 4161, .parameters = &[_]OperandKind{} },
+ .{ .name = "CoreMaxIDARM", .value = 4162, .parameters = &[_]OperandKind{} },
+ .{ .name = "WarpIDARM", .value = 4163, .parameters = &[_]OperandKind{} },
+ .{ .name = "WarpMaxIDARM", .value = 4164, .parameters = &[_]OperandKind{} },
.{ .name = "SubgroupEqMask", .value = 4416, .parameters = &[_]OperandKind{} },
.{ .name = "SubgroupEqMaskKHR", .value = 4416, .parameters = &[_]OperandKind{} },
.{ .name = "SubgroupGeMask", .value = 4417, .parameters = &[_]OperandKind{} },
@@ -800,6 +970,8 @@ pub const OperandKind = enum {
.{ .name = "BaryCoordSmoothSampleAMD", .value = 4997, .parameters = &[_]OperandKind{} },
.{ .name = "BaryCoordPullModelAMD", .value = 4998, .parameters = &[_]OperandKind{} },
.{ .name = "FragStencilRefEXT", .value = 5014, .parameters = &[_]OperandKind{} },
+ .{ .name = "CoalescedInputCountAMDX", .value = 5021, .parameters = &[_]OperandKind{} },
+ .{ .name = "ShaderIndexAMDX", .value = 5073, .parameters = &[_]OperandKind{} },
.{ .name = "ViewportMaskNV", .value = 5253, .parameters = &[_]OperandKind{} },
.{ .name = "SecondaryPositionNV", .value = 5257, .parameters = &[_]OperandKind{} },
.{ .name = "SecondaryViewportMaskNV", .value = 5258, .parameters = &[_]OperandKind{} },
@@ -822,6 +994,10 @@ pub const OperandKind = enum {
.{ .name = "FragmentSizeNV", .value = 5292, .parameters = &[_]OperandKind{} },
.{ .name = "FragInvocationCountEXT", .value = 5293, .parameters = &[_]OperandKind{} },
.{ .name = "InvocationsPerPixelNV", .value = 5293, .parameters = &[_]OperandKind{} },
+ .{ .name = "PrimitivePointIndicesEXT", .value = 5294, .parameters = &[_]OperandKind{} },
+ .{ .name = "PrimitiveLineIndicesEXT", .value = 5295, .parameters = &[_]OperandKind{} },
+ .{ .name = "PrimitiveTriangleIndicesEXT", .value = 5296, .parameters = &[_]OperandKind{} },
+ .{ .name = "CullPrimitiveEXT", .value = 5299, .parameters = &[_]OperandKind{} },
.{ .name = "LaunchIdNV", .value = 5319, .parameters = &[_]OperandKind{} },
.{ .name = "LaunchIdKHR", .value = 5319, .parameters = &[_]OperandKind{} },
.{ .name = "LaunchSizeNV", .value = 5320, .parameters = &[_]OperandKind{} },
@@ -848,6 +1024,9 @@ pub const OperandKind = enum {
.{ .name = "HitKindNV", .value = 5333, .parameters = &[_]OperandKind{} },
.{ .name = "HitKindKHR", .value = 5333, .parameters = &[_]OperandKind{} },
.{ .name = "CurrentRayTimeNV", .value = 5334, .parameters = &[_]OperandKind{} },
+ .{ .name = "HitTriangleVertexPositionsKHR", .value = 5335, .parameters = &[_]OperandKind{} },
+ .{ .name = "HitMicroTriangleVertexPositionsNV", .value = 5337, .parameters = &[_]OperandKind{} },
+ .{ .name = "HitMicroTriangleVertexBarycentricsNV", .value = 5344, .parameters = &[_]OperandKind{} },
.{ .name = "IncomingRayFlagsNV", .value = 5351, .parameters = &[_]OperandKind{} },
.{ .name = "IncomingRayFlagsKHR", .value = 5351, .parameters = &[_]OperandKind{} },
.{ .name = "RayGeometryIndexKHR", .value = 5352, .parameters = &[_]OperandKind{} },
@@ -855,6 +1034,9 @@ pub const OperandKind = enum {
.{ .name = "SMCountNV", .value = 5375, .parameters = &[_]OperandKind{} },
.{ .name = "WarpIDNV", .value = 5376, .parameters = &[_]OperandKind{} },
.{ .name = "SMIDNV", .value = 5377, .parameters = &[_]OperandKind{} },
+ .{ .name = "HitKindFrontFacingMicroTriangleNV", .value = 5405, .parameters = &[_]OperandKind{} },
+ .{ .name = "HitKindBackFacingMicroTriangleNV", .value = 5406, .parameters = &[_]OperandKind{} },
+ .{ .name = "CullMaskKHR", .value = 6021, .parameters = &[_]OperandKind{} },
},
.Scope => &[_]Enumerant{
.{ .name = "CrossDevice", .value = 0, .parameters = &[_]OperandKind{} },
@@ -951,6 +1133,10 @@ pub const OperandKind = enum {
.{ .name = "ShaderLayer", .value = 69, .parameters = &[_]OperandKind{} },
.{ .name = "ShaderViewportIndex", .value = 70, .parameters = &[_]OperandKind{} },
.{ .name = "UniformDecoration", .value = 71, .parameters = &[_]OperandKind{} },
+ .{ .name = "CoreBuiltinsARM", .value = 4165, .parameters = &[_]OperandKind{} },
+ .{ .name = "TileImageColorReadAccessEXT", .value = 4166, .parameters = &[_]OperandKind{} },
+ .{ .name = "TileImageDepthReadAccessEXT", .value = 4167, .parameters = &[_]OperandKind{} },
+ .{ .name = "TileImageStencilReadAccessEXT", .value = 4168, .parameters = &[_]OperandKind{} },
.{ .name = "FragmentShadingRateKHR", .value = 4422, .parameters = &[_]OperandKind{} },
.{ .name = "SubgroupBallotKHR", .value = 4423, .parameters = &[_]OperandKind{} },
.{ .name = "DrawParameters", .value = 4427, .parameters = &[_]OperandKind{} },
@@ -982,6 +1168,10 @@ pub const OperandKind = enum {
.{ .name = "RayQueryKHR", .value = 4472, .parameters = &[_]OperandKind{} },
.{ .name = "RayTraversalPrimitiveCullingKHR", .value = 4478, .parameters = &[_]OperandKind{} },
.{ .name = "RayTracingKHR", .value = 4479, .parameters = &[_]OperandKind{} },
+ .{ .name = "TextureSampleWeightedQCOM", .value = 4484, .parameters = &[_]OperandKind{} },
+ .{ .name = "TextureBoxFilterQCOM", .value = 4485, .parameters = &[_]OperandKind{} },
+ .{ .name = "TextureBlockMatchQCOM", .value = 4486, .parameters = &[_]OperandKind{} },
+ .{ .name = "TextureBlockMatch2QCOM", .value = 4498, .parameters = &[_]OperandKind{} },
.{ .name = "Float16ImageAMD", .value = 5008, .parameters = &[_]OperandKind{} },
.{ .name = "ImageGatherBiasLodAMD", .value = 5009, .parameters = &[_]OperandKind{} },
.{ .name = "FragmentMaskAMD", .value = 5010, .parameters = &[_]OperandKind{} },
@@ -989,6 +1179,8 @@ pub const OperandKind = enum {
.{ .name = "ImageReadWriteLodAMD", .value = 5015, .parameters = &[_]OperandKind{} },
.{ .name = "Int64ImageEXT", .value = 5016, .parameters = &[_]OperandKind{} },
.{ .name = "ShaderClockKHR", .value = 5055, .parameters = &[_]OperandKind{} },
+ .{ .name = "ShaderEnqueueAMDX", .value = 5067, .parameters = &[_]OperandKind{} },
+ .{ .name = "QuadControlKHR", .value = 5087, .parameters = &[_]OperandKind{} },
.{ .name = "SampleMaskOverrideCoverageNV", .value = 5249, .parameters = &[_]OperandKind{} },
.{ .name = "GeometryShaderPassthroughNV", .value = 5251, .parameters = &[_]OperandKind{} },
.{ .name = "ShaderViewportIndexLayerEXT", .value = 5254, .parameters = &[_]OperandKind{} },
@@ -999,6 +1191,7 @@ pub const OperandKind = enum {
.{ .name = "FragmentFullyCoveredEXT", .value = 5265, .parameters = &[_]OperandKind{} },
.{ .name = "MeshShadingNV", .value = 5266, .parameters = &[_]OperandKind{} },
.{ .name = "ImageFootprintNV", .value = 5282, .parameters = &[_]OperandKind{} },
+ .{ .name = "MeshShadingEXT", .value = 5283, .parameters = &[_]OperandKind{} },
.{ .name = "FragmentBarycentricKHR", .value = 5284, .parameters = &[_]OperandKind{} },
.{ .name = "FragmentBarycentricNV", .value = 5284, .parameters = &[_]OperandKind{} },
.{ .name = "ComputeDerivativeGroupQuadsNV", .value = 5288, .parameters = &[_]OperandKind{} },
@@ -1029,6 +1222,7 @@ pub const OperandKind = enum {
.{ .name = "UniformTexelBufferArrayNonUniformIndexingEXT", .value = 5311, .parameters = &[_]OperandKind{} },
.{ .name = "StorageTexelBufferArrayNonUniformIndexing", .value = 5312, .parameters = &[_]OperandKind{} },
.{ .name = "StorageTexelBufferArrayNonUniformIndexingEXT", .value = 5312, .parameters = &[_]OperandKind{} },
+ .{ .name = "RayTracingPositionFetchKHR", .value = 5336, .parameters = &[_]OperandKind{} },
.{ .name = "RayTracingNV", .value = 5340, .parameters = &[_]OperandKind{} },
.{ .name = "RayTracingMotionBlurNV", .value = 5341, .parameters = &[_]OperandKind{} },
.{ .name = "VulkanMemoryModel", .value = 5345, .parameters = &[_]OperandKind{} },
@@ -1046,7 +1240,14 @@ pub const OperandKind = enum {
.{ .name = "FragmentShaderPixelInterlockEXT", .value = 5378, .parameters = &[_]OperandKind{} },
.{ .name = "DemoteToHelperInvocation", .value = 5379, .parameters = &[_]OperandKind{} },
.{ .name = "DemoteToHelperInvocationEXT", .value = 5379, .parameters = &[_]OperandKind{} },
+ .{ .name = "DisplacementMicromapNV", .value = 5380, .parameters = &[_]OperandKind{} },
+ .{ .name = "RayTracingOpacityMicromapEXT", .value = 5381, .parameters = &[_]OperandKind{} },
+ .{ .name = "ShaderInvocationReorderNV", .value = 5383, .parameters = &[_]OperandKind{} },
.{ .name = "BindlessTextureNV", .value = 5390, .parameters = &[_]OperandKind{} },
+ .{ .name = "RayQueryPositionFetchKHR", .value = 5391, .parameters = &[_]OperandKind{} },
+ .{ .name = "AtomicFloat16VectorNV", .value = 5404, .parameters = &[_]OperandKind{} },
+ .{ .name = "RayTracingDisplacementMicromapNV", .value = 5409, .parameters = &[_]OperandKind{} },
+ .{ .name = "RawAccessChainsNV", .value = 5414, .parameters = &[_]OperandKind{} },
.{ .name = "SubgroupShuffleINTEL", .value = 5568, .parameters = &[_]OperandKind{} },
.{ .name = "SubgroupBufferBlockIOINTEL", .value = 5569, .parameters = &[_]OperandKind{} },
.{ .name = "SubgroupImageBlockIOINTEL", .value = 5570, .parameters = &[_]OperandKind{} },
@@ -1079,9 +1280,13 @@ pub const OperandKind = enum {
.{ .name = "FPGAMemoryAccessesINTEL", .value = 5898, .parameters = &[_]OperandKind{} },
.{ .name = "FPGAClusterAttributesINTEL", .value = 5904, .parameters = &[_]OperandKind{} },
.{ .name = "LoopFuseINTEL", .value = 5906, .parameters = &[_]OperandKind{} },
+ .{ .name = "FPGADSPControlINTEL", .value = 5908, .parameters = &[_]OperandKind{} },
+ .{ .name = "MemoryAccessAliasingINTEL", .value = 5910, .parameters = &[_]OperandKind{} },
+ .{ .name = "FPGAInvocationPipeliningAttributesINTEL", .value = 5916, .parameters = &[_]OperandKind{} },
.{ .name = "FPGABufferLocationINTEL", .value = 5920, .parameters = &[_]OperandKind{} },
.{ .name = "ArbitraryPrecisionFixedPointINTEL", .value = 5922, .parameters = &[_]OperandKind{} },
.{ .name = "USMStorageClassesINTEL", .value = 5935, .parameters = &[_]OperandKind{} },
+ .{ .name = "RuntimeAlignedAttributeINTEL", .value = 5939, .parameters = &[_]OperandKind{} },
.{ .name = "IOPipesINTEL", .value = 5943, .parameters = &[_]OperandKind{} },
.{ .name = "BlockingPipesINTEL", .value = 5945, .parameters = &[_]OperandKind{} },
.{ .name = "FPGARegINTEL", .value = 5948, .parameters = &[_]OperandKind{} },
@@ -1093,13 +1298,30 @@ pub const OperandKind = enum {
.{ .name = "DotProductInput4x8BitPackedKHR", .value = 6018, .parameters = &[_]OperandKind{} },
.{ .name = "DotProduct", .value = 6019, .parameters = &[_]OperandKind{} },
.{ .name = "DotProductKHR", .value = 6019, .parameters = &[_]OperandKind{} },
+ .{ .name = "RayCullMaskKHR", .value = 6020, .parameters = &[_]OperandKind{} },
+ .{ .name = "CooperativeMatrixKHR", .value = 6022, .parameters = &[_]OperandKind{} },
.{ .name = "BitInstructions", .value = 6025, .parameters = &[_]OperandKind{} },
+ .{ .name = "GroupNonUniformRotateKHR", .value = 6026, .parameters = &[_]OperandKind{} },
+ .{ .name = "FloatControls2", .value = 6029, .parameters = &[_]OperandKind{} },
.{ .name = "AtomicFloat32AddEXT", .value = 6033, .parameters = &[_]OperandKind{} },
.{ .name = "AtomicFloat64AddEXT", .value = 6034, .parameters = &[_]OperandKind{} },
- .{ .name = "LongConstantCompositeINTEL", .value = 6089, .parameters = &[_]OperandKind{} },
+ .{ .name = "LongCompositesINTEL", .value = 6089, .parameters = &[_]OperandKind{} },
.{ .name = "OptNoneINTEL", .value = 6094, .parameters = &[_]OperandKind{} },
.{ .name = "AtomicFloat16AddEXT", .value = 6095, .parameters = &[_]OperandKind{} },
.{ .name = "DebugInfoModuleINTEL", .value = 6114, .parameters = &[_]OperandKind{} },
+ .{ .name = "BFloat16ConversionINTEL", .value = 6115, .parameters = &[_]OperandKind{} },
+ .{ .name = "SplitBarrierINTEL", .value = 6141, .parameters = &[_]OperandKind{} },
+ .{ .name = "FPGAClusterAttributesV2INTEL", .value = 6150, .parameters = &[_]OperandKind{} },
+ .{ .name = "FPGAKernelAttributesv2INTEL", .value = 6161, .parameters = &[_]OperandKind{} },
+ .{ .name = "FPMaxErrorINTEL", .value = 6169, .parameters = &[_]OperandKind{} },
+ .{ .name = "FPGALatencyControlINTEL", .value = 6171, .parameters = &[_]OperandKind{} },
+ .{ .name = "FPGAArgumentInterfacesINTEL", .value = 6174, .parameters = &[_]OperandKind{} },
+ .{ .name = "GlobalVariableHostAccessINTEL", .value = 6187, .parameters = &[_]OperandKind{} },
+ .{ .name = "GlobalVariableFPGADecorationsINTEL", .value = 6189, .parameters = &[_]OperandKind{} },
+ .{ .name = "GroupUniformArithmeticKHR", .value = 6400, .parameters = &[_]OperandKind{} },
+ .{ .name = "MaskedGatherScatterINTEL", .value = 6427, .parameters = &[_]OperandKind{} },
+ .{ .name = "CacheControlsINTEL", .value = 6441, .parameters = &[_]OperandKind{} },
+ .{ .name = "RegisterLimitsINTEL", .value = 6460, .parameters = &[_]OperandKind{} },
},
.RayQueryIntersection => &[_]Enumerant{
.{ .name = "RayQueryCandidateIntersectionKHR", .value = 0, .parameters = &[_]OperandKind{} },
@@ -1118,6 +1340,43 @@ pub const OperandKind = enum {
.{ .name = "PackedVectorFormat4x8Bit", .value = 0, .parameters = &[_]OperandKind{} },
.{ .name = "PackedVectorFormat4x8BitKHR", .value = 0, .parameters = &[_]OperandKind{} },
},
+ .CooperativeMatrixOperands => &[_]Enumerant{
+ .{ .name = "NoneKHR", .value = 0x0000, .parameters = &[_]OperandKind{} },
+ .{ .name = "MatrixASignedComponentsKHR", .value = 0x0001, .parameters = &[_]OperandKind{} },
+ .{ .name = "MatrixBSignedComponentsKHR", .value = 0x0002, .parameters = &[_]OperandKind{} },
+ .{ .name = "MatrixCSignedComponentsKHR", .value = 0x0004, .parameters = &[_]OperandKind{} },
+ .{ .name = "MatrixResultSignedComponentsKHR", .value = 0x0008, .parameters = &[_]OperandKind{} },
+ .{ .name = "SaturatingAccumulationKHR", .value = 0x0010, .parameters = &[_]OperandKind{} },
+ },
+ .CooperativeMatrixLayout => &[_]Enumerant{
+ .{ .name = "RowMajorKHR", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "ColumnMajorKHR", .value = 1, .parameters = &[_]OperandKind{} },
+ },
+ .CooperativeMatrixUse => &[_]Enumerant{
+ .{ .name = "MatrixAKHR", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "MatrixBKHR", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "MatrixAccumulatorKHR", .value = 2, .parameters = &[_]OperandKind{} },
+ },
+ .InitializationModeQualifier => &[_]Enumerant{
+ .{ .name = "InitOnDeviceReprogramINTEL", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "InitOnDeviceResetINTEL", .value = 1, .parameters = &[_]OperandKind{} },
+ },
+ .LoadCacheControl => &[_]Enumerant{
+ .{ .name = "UncachedINTEL", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "CachedINTEL", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "StreamingINTEL", .value = 2, .parameters = &[_]OperandKind{} },
+ .{ .name = "InvalidateAfterReadINTEL", .value = 3, .parameters = &[_]OperandKind{} },
+ .{ .name = "ConstCachedINTEL", .value = 4, .parameters = &[_]OperandKind{} },
+ },
+ .StoreCacheControl => &[_]Enumerant{
+ .{ .name = "UncachedINTEL", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "WriteThroughINTEL", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "WriteBackINTEL", .value = 2, .parameters = &[_]OperandKind{} },
+ .{ .name = "StreamingINTEL", .value = 3, .parameters = &[_]OperandKind{} },
+ },
+ .NamedMaximumNumberOfRegisters => &[_]Enumerant{
+ .{ .name = "AutoINTEL", .value = 0, .parameters = &[_]OperandKind{} },
+ },
.IdResultType => unreachable,
.IdResult => unreachable,
.IdMemorySemantics => unreachable,
@@ -1125,12 +1384,182 @@ pub const OperandKind = enum {
.IdRef => unreachable,
.LiteralInteger => unreachable,
.LiteralString => unreachable,
+ .LiteralFloat => unreachable,
.LiteralContextDependentNumber => unreachable,
.LiteralExtInstInteger => unreachable,
.LiteralSpecConstantOpInteger => unreachable,
.PairLiteralIntegerIdRef => unreachable,
.PairIdRefLiteralInteger => unreachable,
.PairIdRefIdRef => unreachable,
+ .@"opencl.debuginfo.100.DebugInfoFlags" => &[_]Enumerant{
+ .{ .name = "FlagIsProtected", .value = 0x01, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsPrivate", .value = 0x02, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsPublic", .value = 0x03, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsLocal", .value = 0x04, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsDefinition", .value = 0x08, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagFwdDecl", .value = 0x10, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagArtificial", .value = 0x20, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagExplicit", .value = 0x40, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagPrototyped", .value = 0x80, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagObjectPointer", .value = 0x100, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagStaticMember", .value = 0x200, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIndirectVariable", .value = 0x400, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagLValueReference", .value = 0x800, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagRValueReference", .value = 0x1000, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsOptimized", .value = 0x2000, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsEnumClass", .value = 0x4000, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagTypePassByValue", .value = 0x8000, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagTypePassByReference", .value = 0x10000, .parameters = &[_]OperandKind{} },
+ },
+ .@"opencl.debuginfo.100.DebugBaseTypeAttributeEncoding" => &[_]Enumerant{
+ .{ .name = "Unspecified", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "Address", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "Boolean", .value = 2, .parameters = &[_]OperandKind{} },
+ .{ .name = "Float", .value = 3, .parameters = &[_]OperandKind{} },
+ .{ .name = "Signed", .value = 4, .parameters = &[_]OperandKind{} },
+ .{ .name = "SignedChar", .value = 5, .parameters = &[_]OperandKind{} },
+ .{ .name = "Unsigned", .value = 6, .parameters = &[_]OperandKind{} },
+ .{ .name = "UnsignedChar", .value = 7, .parameters = &[_]OperandKind{} },
+ },
+ .@"opencl.debuginfo.100.DebugCompositeType" => &[_]Enumerant{
+ .{ .name = "Class", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "Structure", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "Union", .value = 2, .parameters = &[_]OperandKind{} },
+ },
+ .@"opencl.debuginfo.100.DebugTypeQualifier" => &[_]Enumerant{
+ .{ .name = "ConstType", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "VolatileType", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "RestrictType", .value = 2, .parameters = &[_]OperandKind{} },
+ .{ .name = "AtomicType", .value = 3, .parameters = &[_]OperandKind{} },
+ },
+ .@"opencl.debuginfo.100.DebugOperation" => &[_]Enumerant{
+ .{ .name = "Deref", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "Plus", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "Minus", .value = 2, .parameters = &[_]OperandKind{} },
+ .{ .name = "PlusUconst", .value = 3, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "BitPiece", .value = 4, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger } },
+ .{ .name = "Swap", .value = 5, .parameters = &[_]OperandKind{} },
+ .{ .name = "Xderef", .value = 6, .parameters = &[_]OperandKind{} },
+ .{ .name = "StackValue", .value = 7, .parameters = &[_]OperandKind{} },
+ .{ .name = "Constu", .value = 8, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "Fragment", .value = 9, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger } },
+ },
+ .@"opencl.debuginfo.100.DebugImportedEntity" => &[_]Enumerant{
+ .{ .name = "ImportedModule", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "ImportedDeclaration", .value = 1, .parameters = &[_]OperandKind{} },
+ },
+ .@"nonsemantic.shader.debuginfo.100.DebugInfoFlags" => &[_]Enumerant{
+ .{ .name = "FlagIsProtected", .value = 0x01, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsPrivate", .value = 0x02, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsPublic", .value = 0x03, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsLocal", .value = 0x04, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsDefinition", .value = 0x08, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagFwdDecl", .value = 0x10, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagArtificial", .value = 0x20, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagExplicit", .value = 0x40, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagPrototyped", .value = 0x80, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagObjectPointer", .value = 0x100, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagStaticMember", .value = 0x200, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIndirectVariable", .value = 0x400, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagLValueReference", .value = 0x800, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagRValueReference", .value = 0x1000, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsOptimized", .value = 0x2000, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsEnumClass", .value = 0x4000, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagTypePassByValue", .value = 0x8000, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagTypePassByReference", .value = 0x10000, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagUnknownPhysicalLayout", .value = 0x20000, .parameters = &[_]OperandKind{} },
+ },
+ .@"nonsemantic.shader.debuginfo.100.BuildIdentifierFlags" => &[_]Enumerant{
+ .{ .name = "IdentifierPossibleDuplicates", .value = 0x01, .parameters = &[_]OperandKind{} },
+ },
+ .@"nonsemantic.shader.debuginfo.100.DebugBaseTypeAttributeEncoding" => &[_]Enumerant{
+ .{ .name = "Unspecified", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "Address", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "Boolean", .value = 2, .parameters = &[_]OperandKind{} },
+ .{ .name = "Float", .value = 3, .parameters = &[_]OperandKind{} },
+ .{ .name = "Signed", .value = 4, .parameters = &[_]OperandKind{} },
+ .{ .name = "SignedChar", .value = 5, .parameters = &[_]OperandKind{} },
+ .{ .name = "Unsigned", .value = 6, .parameters = &[_]OperandKind{} },
+ .{ .name = "UnsignedChar", .value = 7, .parameters = &[_]OperandKind{} },
+ },
+ .@"nonsemantic.shader.debuginfo.100.DebugCompositeType" => &[_]Enumerant{
+ .{ .name = "Class", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "Structure", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "Union", .value = 2, .parameters = &[_]OperandKind{} },
+ },
+ .@"nonsemantic.shader.debuginfo.100.DebugTypeQualifier" => &[_]Enumerant{
+ .{ .name = "ConstType", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "VolatileType", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "RestrictType", .value = 2, .parameters = &[_]OperandKind{} },
+ .{ .name = "AtomicType", .value = 3, .parameters = &[_]OperandKind{} },
+ },
+ .@"nonsemantic.shader.debuginfo.100.DebugOperation" => &[_]Enumerant{
+ .{ .name = "Deref", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "Plus", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "Minus", .value = 2, .parameters = &[_]OperandKind{} },
+ .{ .name = "PlusUconst", .value = 3, .parameters = &[_]OperandKind{.IdRef} },
+ .{ .name = "BitPiece", .value = 4, .parameters = &[_]OperandKind{ .IdRef, .IdRef } },
+ .{ .name = "Swap", .value = 5, .parameters = &[_]OperandKind{} },
+ .{ .name = "Xderef", .value = 6, .parameters = &[_]OperandKind{} },
+ .{ .name = "StackValue", .value = 7, .parameters = &[_]OperandKind{} },
+ .{ .name = "Constu", .value = 8, .parameters = &[_]OperandKind{.IdRef} },
+ .{ .name = "Fragment", .value = 9, .parameters = &[_]OperandKind{ .IdRef, .IdRef } },
+ },
+ .@"nonsemantic.shader.debuginfo.100.DebugImportedEntity" => &[_]Enumerant{
+ .{ .name = "ImportedModule", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "ImportedDeclaration", .value = 1, .parameters = &[_]OperandKind{} },
+ },
+ .@"nonsemantic.clspvreflection.KernelPropertyFlags" => &[_]Enumerant{
+ .{ .name = "MayUsePrintf", .value = 0x1, .parameters = &[_]OperandKind{} },
+ },
+ .@"debuginfo.DebugInfoFlags" => &[_]Enumerant{
+ .{ .name = "FlagIsProtected", .value = 0x01, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsPrivate", .value = 0x02, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsPublic", .value = 0x03, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsLocal", .value = 0x04, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsDefinition", .value = 0x08, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagFwdDecl", .value = 0x10, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagArtificial", .value = 0x20, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagExplicit", .value = 0x40, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagPrototyped", .value = 0x80, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagObjectPointer", .value = 0x100, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagStaticMember", .value = 0x200, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIndirectVariable", .value = 0x400, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagLValueReference", .value = 0x800, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagRValueReference", .value = 0x1000, .parameters = &[_]OperandKind{} },
+ .{ .name = "FlagIsOptimized", .value = 0x2000, .parameters = &[_]OperandKind{} },
+ },
+ .@"debuginfo.DebugBaseTypeAttributeEncoding" => &[_]Enumerant{
+ .{ .name = "Unspecified", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "Address", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "Boolean", .value = 2, .parameters = &[_]OperandKind{} },
+ .{ .name = "Float", .value = 4, .parameters = &[_]OperandKind{} },
+ .{ .name = "Signed", .value = 5, .parameters = &[_]OperandKind{} },
+ .{ .name = "SignedChar", .value = 6, .parameters = &[_]OperandKind{} },
+ .{ .name = "Unsigned", .value = 7, .parameters = &[_]OperandKind{} },
+ .{ .name = "UnsignedChar", .value = 8, .parameters = &[_]OperandKind{} },
+ },
+ .@"debuginfo.DebugCompositeType" => &[_]Enumerant{
+ .{ .name = "Class", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "Structure", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "Union", .value = 2, .parameters = &[_]OperandKind{} },
+ },
+ .@"debuginfo.DebugTypeQualifier" => &[_]Enumerant{
+ .{ .name = "ConstType", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "VolatileType", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "RestrictType", .value = 2, .parameters = &[_]OperandKind{} },
+ },
+ .@"debuginfo.DebugOperation" => &[_]Enumerant{
+ .{ .name = "Deref", .value = 0, .parameters = &[_]OperandKind{} },
+ .{ .name = "Plus", .value = 1, .parameters = &[_]OperandKind{} },
+ .{ .name = "Minus", .value = 2, .parameters = &[_]OperandKind{} },
+ .{ .name = "PlusUconst", .value = 3, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .{ .name = "BitPiece", .value = 4, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger } },
+ .{ .name = "Swap", .value = 5, .parameters = &[_]OperandKind{} },
+ .{ .name = "Xderef", .value = 6, .parameters = &[_]OperandKind{} },
+ .{ .name = "StackValue", .value = 7, .parameters = &[_]OperandKind{} },
+ .{ .name = "Constu", .value = 8, .parameters = &[_]OperandKind{.LiteralInteger} },
+ },
};
}
};
@@ -1479,12 +1908,16 @@ pub const Opcode = enum(u16) {
OpPtrEqual = 401,
OpPtrNotEqual = 402,
OpPtrDiff = 403,
+ OpColorAttachmentReadEXT = 4160,
+ OpDepthAttachmentReadEXT = 4161,
+ OpStencilAttachmentReadEXT = 4162,
OpTerminateInvocation = 4416,
OpSubgroupBallotKHR = 4421,
OpSubgroupFirstInvocationKHR = 4422,
OpSubgroupAllKHR = 4428,
OpSubgroupAnyKHR = 4429,
OpSubgroupAllEqualKHR = 4430,
+ OpGroupNonUniformRotateKHR = 4431,
OpSubgroupReadInvocationKHR = 4432,
OpTraceRayKHR = 4445,
OpExecuteCallableKHR = 4446,
@@ -1497,6 +1930,11 @@ pub const Opcode = enum(u16) {
OpSDotAccSat = 4453,
OpUDotAccSat = 4454,
OpSUDotAccSat = 4455,
+ OpTypeCooperativeMatrixKHR = 4456,
+ OpCooperativeMatrixLoadKHR = 4457,
+ OpCooperativeMatrixStoreKHR = 4458,
+ OpCooperativeMatrixMulAddKHR = 4459,
+ OpCooperativeMatrixLengthKHR = 4460,
OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
@@ -1504,6 +1942,14 @@ pub const Opcode = enum(u16) {
OpRayQueryConfirmIntersectionKHR = 4476,
OpRayQueryProceedKHR = 4477,
OpRayQueryGetIntersectionTypeKHR = 4479,
+ OpImageSampleWeightedQCOM = 4480,
+ OpImageBoxFilterQCOM = 4481,
+ OpImageBlockMatchSSDQCOM = 4482,
+ OpImageBlockMatchSADQCOM = 4483,
+ OpImageBlockMatchWindowSSDQCOM = 4500,
+ OpImageBlockMatchWindowSADQCOM = 4501,
+ OpImageBlockMatchGatherSSDQCOM = 4502,
+ OpImageBlockMatchGatherSADQCOM = 4503,
OpGroupIAddNonUniformAMD = 5000,
OpGroupFAddNonUniformAMD = 5001,
OpGroupFMinNonUniformAMD = 5002,
@@ -1515,15 +1961,58 @@ pub const Opcode = enum(u16) {
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
+ OpFinalizeNodePayloadsAMDX = 5075,
+ OpFinishWritingNodePayloadAMDX = 5078,
+ OpInitializeNodePayloadsAMDX = 5090,
+ OpGroupNonUniformQuadAllKHR = 5110,
+ OpGroupNonUniformQuadAnyKHR = 5111,
+ OpHitObjectRecordHitMotionNV = 5249,
+ OpHitObjectRecordHitWithIndexMotionNV = 5250,
+ OpHitObjectRecordMissMotionNV = 5251,
+ OpHitObjectGetWorldToObjectNV = 5252,
+ OpHitObjectGetObjectToWorldNV = 5253,
+ OpHitObjectGetObjectRayDirectionNV = 5254,
+ OpHitObjectGetObjectRayOriginNV = 5255,
+ OpHitObjectTraceRayMotionNV = 5256,
+ OpHitObjectGetShaderRecordBufferHandleNV = 5257,
+ OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
+ OpHitObjectRecordEmptyNV = 5259,
+ OpHitObjectTraceRayNV = 5260,
+ OpHitObjectRecordHitNV = 5261,
+ OpHitObjectRecordHitWithIndexNV = 5262,
+ OpHitObjectRecordMissNV = 5263,
+ OpHitObjectExecuteShaderNV = 5264,
+ OpHitObjectGetCurrentTimeNV = 5265,
+ OpHitObjectGetAttributesNV = 5266,
+ OpHitObjectGetHitKindNV = 5267,
+ OpHitObjectGetPrimitiveIndexNV = 5268,
+ OpHitObjectGetGeometryIndexNV = 5269,
+ OpHitObjectGetInstanceIdNV = 5270,
+ OpHitObjectGetInstanceCustomIndexNV = 5271,
+ OpHitObjectGetWorldRayDirectionNV = 5272,
+ OpHitObjectGetWorldRayOriginNV = 5273,
+ OpHitObjectGetRayTMaxNV = 5274,
+ OpHitObjectGetRayTMinNV = 5275,
+ OpHitObjectIsEmptyNV = 5276,
+ OpHitObjectIsHitNV = 5277,
+ OpHitObjectIsMissNV = 5278,
+ OpReorderThreadWithHitObjectNV = 5279,
+ OpReorderThreadWithHintNV = 5280,
+ OpTypeHitObjectNV = 5281,
OpImageSampleFootprintNV = 5283,
+ OpEmitMeshTasksEXT = 5294,
+ OpSetMeshOutputsEXT = 5295,
OpGroupNonUniformPartitionNV = 5296,
OpWritePackedPrimitiveIndices4x8NV = 5299,
+ OpFetchMicroTriangleVertexPositionNV = 5300,
+ OpFetchMicroTriangleVertexBarycentricNV = 5301,
OpReportIntersectionKHR = 5334,
OpIgnoreIntersectionNV = 5335,
OpTerminateRayNV = 5336,
OpTraceNV = 5337,
OpTraceMotionNV = 5338,
OpTraceRayMotionNV = 5339,
+ OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
OpTypeAccelerationStructureKHR = 5341,
OpExecuteCallableNV = 5344,
OpTypeCooperativeMatrixNV = 5358,
@@ -1542,6 +2031,7 @@ pub const Opcode = enum(u16) {
OpConvertUToSampledImageNV = 5395,
OpConvertSampledImageToUNV = 5396,
OpSamplerImageAddressingModeNV = 5397,
+ OpRawAccessChainNV = 5398,
OpSubgroupShuffleINTEL = 5571,
OpSubgroupShuffleDownINTEL = 5572,
OpSubgroupShuffleUpINTEL = 5573,
@@ -1598,6 +2088,21 @@ pub const Opcode = enum(u16) {
OpTypeStructContinuedINTEL = 6090,
OpConstantCompositeContinuedINTEL = 6091,
OpSpecConstantCompositeContinuedINTEL = 6092,
+ OpCompositeConstructContinuedINTEL = 6096,
+ OpConvertFToBF16INTEL = 6116,
+ OpConvertBF16ToFINTEL = 6117,
+ OpControlBarrierArriveINTEL = 6142,
+ OpControlBarrierWaitINTEL = 6143,
+ OpGroupIMulKHR = 6401,
+ OpGroupFMulKHR = 6402,
+ OpGroupBitwiseAndKHR = 6403,
+ OpGroupBitwiseOrKHR = 6404,
+ OpGroupBitwiseXorKHR = 6405,
+ OpGroupLogicalAndKHR = 6406,
+ OpGroupLogicalOrKHR = 6407,
+ OpGroupLogicalXorKHR = 6408,
+ OpMaskedGatherINTEL = 6428,
+ OpMaskedScatterINTEL = 6429,
pub const OpSDotKHR = Opcode.OpSDot;
pub const OpUDotKHR = Opcode.OpUDot;
@@ -1957,12 +2462,16 @@ pub const Opcode = enum(u16) {
.OpPtrEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
.OpPtrNotEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
.OpPtrDiff => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
+ .OpColorAttachmentReadEXT => struct { id_result_type: IdResultType, id_result: IdResult, attachment: IdRef, sample: ?IdRef = null },
+ .OpDepthAttachmentReadEXT => struct { id_result_type: IdResultType, id_result: IdResult, sample: ?IdRef = null },
+ .OpStencilAttachmentReadEXT => struct { id_result_type: IdResultType, id_result: IdResult, sample: ?IdRef = null },
.OpTerminateInvocation => void,
.OpSubgroupBallotKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
.OpSubgroupFirstInvocationKHR => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef },
.OpSubgroupAllKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
.OpSubgroupAnyKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
.OpSubgroupAllEqualKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
+ .OpGroupNonUniformRotateKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, delta: IdRef, clustersize: ?IdRef = null },
.OpSubgroupReadInvocationKHR => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef, index: IdRef },
.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 },
.OpExecuteCallableKHR => struct { sbt_index: IdRef, callable_data: IdRef },
@@ -1975,6 +2484,11 @@ pub const Opcode = enum(u16) {
.OpSDotAccSat => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, accumulator: IdRef, packed_vector_format: ?PackedVectorFormat = null },
.OpUDotAccSat => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, accumulator: IdRef, packed_vector_format: ?PackedVectorFormat = null },
.OpSUDotAccSat => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, accumulator: IdRef, packed_vector_format: ?PackedVectorFormat = null },
+ .OpTypeCooperativeMatrixKHR => struct { id_result: IdResult, component_type: IdRef, scope: IdScope, rows: IdRef, columns: IdRef, use: IdRef },
+ .OpCooperativeMatrixLoadKHR => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memorylayout: IdRef, stride: ?IdRef = null, memory_operand: ?MemoryAccess.Extended = null },
+ .OpCooperativeMatrixStoreKHR => struct { pointer: IdRef, object: IdRef, memorylayout: IdRef, stride: ?IdRef = null, memory_operand: ?MemoryAccess.Extended = null },
+ .OpCooperativeMatrixMulAddKHR => struct { id_result_type: IdResultType, id_result: IdResult, a: IdRef, b: IdRef, c: IdRef, cooperative_matrix_operands: ?CooperativeMatrixOperands = null },
+ .OpCooperativeMatrixLengthKHR => struct { id_result_type: IdResultType, id_result: IdResult, type: IdRef },
.OpTypeRayQueryKHR => struct { id_result: IdResult },
.OpRayQueryInitializeKHR => struct { rayquery: IdRef, accel: IdRef, rayflags: IdRef, cullmask: IdRef, rayorigin: IdRef, raytmin: IdRef, raydirection: IdRef, raytmax: IdRef },
.OpRayQueryTerminateKHR => struct { rayquery: IdRef },
@@ -1982,6 +2496,14 @@ pub const Opcode = enum(u16) {
.OpRayQueryConfirmIntersectionKHR => struct { rayquery: IdRef },
.OpRayQueryProceedKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef },
.OpRayQueryGetIntersectionTypeKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
+ .OpImageSampleWeightedQCOM => struct { id_result_type: IdResultType, id_result: IdResult, texture: IdRef, coordinates: IdRef, weights: IdRef },
+ .OpImageBoxFilterQCOM => struct { id_result_type: IdResultType, id_result: IdResult, texture: IdRef, coordinates: IdRef, box_size: IdRef },
+ .OpImageBlockMatchSSDQCOM => struct { id_result_type: IdResultType, id_result: IdResult, target: IdRef, target_coordinates: IdRef, reference: IdRef, reference_coordinates: IdRef, block_size: IdRef },
+ .OpImageBlockMatchSADQCOM => struct { id_result_type: IdResultType, id_result: IdResult, target: IdRef, target_coordinates: IdRef, reference: IdRef, reference_coordinates: IdRef, block_size: IdRef },
+ .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 },
+ .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 },
+ .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 },
+ .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 },
.OpGroupIAddNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
.OpGroupFAddNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
.OpGroupFMinNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
@@ -1993,15 +2515,58 @@ pub const Opcode = enum(u16) {
.OpFragmentMaskFetchAMD => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef },
.OpFragmentFetchAMD => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, fragment_index: IdRef },
.OpReadClockKHR => struct { id_result_type: IdResultType, id_result: IdResult, scope: IdScope },
+ .OpFinalizeNodePayloadsAMDX => struct { payload_array: IdRef },
+ .OpFinishWritingNodePayloadAMDX => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef },
+ .OpInitializeNodePayloadsAMDX => struct { payload_array: IdRef, visibility: IdScope, payload_count: IdRef, node_index: IdRef },
+ .OpGroupNonUniformQuadAllKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
+ .OpGroupNonUniformQuadAnyKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
+ .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 },
+ .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 },
+ .OpHitObjectRecordMissMotionNV => struct { hit_object: IdRef, sbt_index: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef, current_time: IdRef },
+ .OpHitObjectGetWorldToObjectNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectGetObjectToWorldNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectGetObjectRayDirectionNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectGetObjectRayOriginNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .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 },
+ .OpHitObjectGetShaderRecordBufferHandleNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectGetShaderBindingTableRecordIndexNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectRecordEmptyNV => struct { hit_object: IdRef },
+ .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 },
+ .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 },
+ .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 },
+ .OpHitObjectRecordMissNV => struct { hit_object: IdRef, sbt_index: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef },
+ .OpHitObjectExecuteShaderNV => struct { hit_object: IdRef, payload: IdRef },
+ .OpHitObjectGetCurrentTimeNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectGetAttributesNV => struct { hit_object: IdRef, hit_object_attribute: IdRef },
+ .OpHitObjectGetHitKindNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectGetPrimitiveIndexNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectGetGeometryIndexNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectGetInstanceIdNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectGetInstanceCustomIndexNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectGetWorldRayDirectionNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectGetWorldRayOriginNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectGetRayTMaxNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectGetRayTMinNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectIsEmptyNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectIsHitNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpHitObjectIsMissNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
+ .OpReorderThreadWithHitObjectNV => struct { hit_object: IdRef, hint: ?IdRef = null, bits: ?IdRef = null },
+ .OpReorderThreadWithHintNV => struct { hint: IdRef, bits: IdRef },
+ .OpTypeHitObjectNV => struct { id_result: IdResult },
.OpImageSampleFootprintNV => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, granularity: IdRef, coarse: IdRef, image_operands: ?ImageOperands.Extended = null },
+ .OpEmitMeshTasksEXT => struct { group_count_x: IdRef, group_count_y: IdRef, group_count_z: IdRef, payload: ?IdRef = null },
+ .OpSetMeshOutputsEXT => struct { vertex_count: IdRef, primitive_count: IdRef },
.OpGroupNonUniformPartitionNV => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef },
.OpWritePackedPrimitiveIndices4x8NV => struct { index_offset: IdRef, packed_indices: IdRef },
+ .OpFetchMicroTriangleVertexPositionNV => struct { id_result_type: IdResultType, id_result: IdResult, accel: IdRef, instance_id: IdRef, geometry_index: IdRef, primitive_index: IdRef, barycentric: IdRef },
+ .OpFetchMicroTriangleVertexBarycentricNV => struct { id_result_type: IdResultType, id_result: IdResult, accel: IdRef, instance_id: IdRef, geometry_index: IdRef, primitive_index: IdRef, barycentric: IdRef },
.OpReportIntersectionKHR => struct { id_result_type: IdResultType, id_result: IdResult, hit: IdRef, hitkind: IdRef },
.OpIgnoreIntersectionNV => void,
.OpTerminateRayNV => void,
.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 },
.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 },
.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 },
+ .OpRayQueryGetIntersectionTriangleVertexPositionsKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
.OpTypeAccelerationStructureKHR => struct { id_result: IdResult },
.OpExecuteCallableNV => struct { sbt_index: IdRef, callable_dataid: IdRef },
.OpTypeCooperativeMatrixNV => struct { id_result: IdResult, component_type: IdRef, execution: IdScope, rows: IdRef, columns: IdRef },
@@ -2020,6 +2585,7 @@ pub const Opcode = enum(u16) {
.OpConvertUToSampledImageNV => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
.OpConvertSampledImageToUNV => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
.OpSamplerImageAddressingModeNV => struct { bit_width: LiteralInteger },
+ .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 },
.OpSubgroupShuffleINTEL => struct { id_result_type: IdResultType, id_result: IdResult, data: IdRef, invocationid: IdRef },
.OpSubgroupShuffleDownINTEL => struct { id_result_type: IdResultType, id_result: IdResult, current: IdRef, next: IdRef, delta: IdRef },
.OpSubgroupShuffleUpINTEL => struct { id_result_type: IdResultType, id_result: IdResult, previous: IdRef, current: IdRef, delta: IdRef },
@@ -2076,2699 +2642,24 @@ pub const Opcode = enum(u16) {
.OpTypeStructContinuedINTEL => struct { id_ref: []const IdRef = &.{} },
.OpConstantCompositeContinuedINTEL => struct { constituents: []const IdRef = &.{} },
.OpSpecConstantCompositeContinuedINTEL => struct { constituents: []const IdRef = &.{} },
+ .OpCompositeConstructContinuedINTEL => struct { id_result_type: IdResultType, id_result: IdResult, constituents: []const IdRef = &.{} },
+ .OpConvertFToBF16INTEL => struct { id_result_type: IdResultType, id_result: IdResult, float_value: IdRef },
+ .OpConvertBF16ToFINTEL => struct { id_result_type: IdResultType, id_result: IdResult, bfloat16_value: IdRef },
+ .OpControlBarrierArriveINTEL => struct { execution: IdScope, memory: IdScope, semantics: IdMemorySemantics },
+ .OpControlBarrierWaitINTEL => struct { execution: IdScope, memory: IdScope, semantics: IdMemorySemantics },
+ .OpGroupIMulKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
+ .OpGroupFMulKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
+ .OpGroupBitwiseAndKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
+ .OpGroupBitwiseOrKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
+ .OpGroupBitwiseXorKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
+ .OpGroupLogicalAndKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
+ .OpGroupLogicalOrKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
+ .OpGroupLogicalXorKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
+ .OpMaskedGatherINTEL => struct { id_result_type: IdResultType, id_result: IdResult, ptrvector: IdRef, alignment: LiteralInteger, mask: IdRef, fillempty: IdRef },
+ .OpMaskedScatterINTEL => struct { inputvector: IdRef, ptrvector: IdRef, alignment: LiteralInteger, mask: IdRef },
};
}
- pub fn operands(self: Opcode) []const Operand {
- return switch (self) {
- .OpNop => &[_]Operand{},
- .OpUndef => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpSourceContinued => &[_]Operand{
- .{ .kind = .LiteralString, .quantifier = .required },
- },
- .OpSource => &[_]Operand{
- .{ .kind = .SourceLanguage, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- .{ .kind = .LiteralString, .quantifier = .optional },
- },
- .OpSourceExtension => &[_]Operand{
- .{ .kind = .LiteralString, .quantifier = .required },
- },
- .OpName => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
- },
- .OpMemberName => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
- },
- .OpString => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
- },
- .OpLine => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- },
- .OpExtension => &[_]Operand{
- .{ .kind = .LiteralString, .quantifier = .required },
- },
- .OpExtInstImport => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
- },
- .OpExtInst => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralExtInstInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpMemoryModel => &[_]Operand{
- .{ .kind = .AddressingModel, .quantifier = .required },
- .{ .kind = .MemoryModel, .quantifier = .required },
- },
- .OpEntryPoint => &[_]Operand{
- .{ .kind = .ExecutionModel, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpExecutionMode => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ExecutionMode, .quantifier = .required },
- },
- .OpCapability => &[_]Operand{
- .{ .kind = .Capability, .quantifier = .required },
- },
- .OpTypeVoid => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpTypeBool => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpTypeInt => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- },
- .OpTypeFloat => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- },
- .OpTypeVector => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- },
- .OpTypeMatrix => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- },
- .OpTypeImage => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .Dim, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .ImageFormat, .quantifier = .required },
- .{ .kind = .AccessQualifier, .quantifier = .optional },
- },
- .OpTypeSampler => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpTypeSampledImage => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpTypeArray => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpTypeRuntimeArray => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpTypeStruct => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpTypeOpaque => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
- },
- .OpTypePointer => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .StorageClass, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpTypeFunction => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpTypeEvent => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpTypeDeviceEvent => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpTypeReserveId => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpTypeQueue => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpTypePipe => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .AccessQualifier, .quantifier = .required },
- },
- .OpTypeForwardPointer => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .StorageClass, .quantifier = .required },
- },
- .OpConstantTrue => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpConstantFalse => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpConstant => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralContextDependentNumber, .quantifier = .required },
- },
- .OpConstantComposite => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpConstantSampler => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .SamplerAddressingMode, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .SamplerFilterMode, .quantifier = .required },
- },
- .OpConstantNull => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpSpecConstantTrue => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpSpecConstantFalse => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpSpecConstant => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralContextDependentNumber, .quantifier = .required },
- },
- .OpSpecConstantComposite => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpSpecConstantOp => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralSpecConstantOpInteger, .quantifier = .required },
- },
- .OpFunction => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .FunctionControl, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFunctionParameter => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpFunctionEnd => &[_]Operand{},
- .OpFunctionCall => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpVariable => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .StorageClass, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpImageTexelPointer => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpLoad => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
- },
- .OpStore => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
- },
- .OpCopyMemory => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
- },
- .OpCopyMemorySized => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
- },
- .OpAccessChain => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpInBoundsAccessChain => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpPtrAccessChain => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpArrayLength => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- },
- .OpGenericPtrMemSemantics => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpInBoundsPtrAccessChain => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpDecorate => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .Decoration, .quantifier = .required },
- },
- .OpMemberDecorate => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .Decoration, .quantifier = .required },
- },
- .OpDecorationGroup => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpGroupDecorate => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpGroupMemberDecorate => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PairIdRefLiteralInteger, .quantifier = .variadic },
- },
- .OpVectorExtractDynamic => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpVectorInsertDynamic => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpVectorShuffle => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .variadic },
- },
- .OpCompositeConstruct => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpCompositeExtract => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .variadic },
- },
- .OpCompositeInsert => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .variadic },
- },
- .OpCopyObject => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpTranspose => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSampledImage => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpImageSampleImplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImageSampleExplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
- },
- .OpImageSampleDrefImplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImageSampleDrefExplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
- },
- .OpImageSampleProjImplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImageSampleProjExplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
- },
- .OpImageSampleProjDrefImplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImageSampleProjDrefExplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
- },
- .OpImageFetch => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImageGather => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImageDrefGather => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImageRead => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImageWrite => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImage => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpImageQueryFormat => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpImageQueryOrder => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpImageQuerySizeLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpImageQuerySize => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpImageQueryLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpImageQueryLevels => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpImageQuerySamples => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpConvertFToU => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpConvertFToS => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpConvertSToF => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpConvertUToF => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpUConvert => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSConvert => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFConvert => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpQuantizeToF16 => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpConvertPtrToU => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSatConvertSToU => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSatConvertUToS => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpConvertUToPtr => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpPtrCastToGeneric => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGenericCastToPtr => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGenericCastToPtrExplicit => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .StorageClass, .quantifier = .required },
- },
- .OpBitcast => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSNegate => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFNegate => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpIAdd => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFAdd => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpISub => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFSub => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpIMul => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFMul => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpUDiv => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSDiv => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFDiv => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpUMod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSRem => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSMod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFRem => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFMod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpVectorTimesScalar => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpMatrixTimesScalar => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpVectorTimesMatrix => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpMatrixTimesVector => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpMatrixTimesMatrix => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpOuterProduct => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpDot => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpIAddCarry => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpISubBorrow => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpUMulExtended => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSMulExtended => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAny => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAll => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpIsNan => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpIsInf => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpIsFinite => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpIsNormal => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSignBitSet => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpLessOrGreater => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpOrdered => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpUnordered => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpLogicalEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpLogicalNotEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpLogicalOr => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpLogicalAnd => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpLogicalNot => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSelect => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpIEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpINotEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpUGreaterThan => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSGreaterThan => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpUGreaterThanEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSGreaterThanEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpULessThan => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSLessThan => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpULessThanEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSLessThanEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFOrdEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFUnordEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFOrdNotEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFUnordNotEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFOrdLessThan => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFUnordLessThan => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFOrdGreaterThan => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFUnordGreaterThan => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFOrdLessThanEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFUnordLessThanEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFOrdGreaterThanEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFUnordGreaterThanEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpShiftRightLogical => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpShiftRightArithmetic => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpShiftLeftLogical => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpBitwiseOr => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpBitwiseXor => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpBitwiseAnd => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpNot => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpBitFieldInsert => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpBitFieldSExtract => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpBitFieldUExtract => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpBitReverse => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpBitCount => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpDPdx => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpDPdy => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFwidth => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpDPdxFine => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpDPdyFine => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFwidthFine => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpDPdxCoarse => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpDPdyCoarse => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFwidthCoarse => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpEmitVertex => &[_]Operand{},
- .OpEndPrimitive => &[_]Operand{},
- .OpEmitStreamVertex => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpEndStreamPrimitive => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpControlBarrier => &[_]Operand{
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- },
- .OpMemoryBarrier => &[_]Operand{
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- },
- .OpAtomicLoad => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- },
- .OpAtomicStore => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAtomicExchange => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAtomicCompareExchange => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAtomicCompareExchangeWeak => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAtomicIIncrement => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- },
- .OpAtomicIDecrement => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- },
- .OpAtomicIAdd => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAtomicISub => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAtomicSMin => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAtomicUMin => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAtomicSMax => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAtomicUMax => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAtomicAnd => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAtomicOr => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAtomicXor => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpPhi => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .PairIdRefIdRef, .quantifier = .variadic },
- },
- .OpLoopMerge => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LoopControl, .quantifier = .required },
- },
- .OpSelectionMerge => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .SelectionControl, .quantifier = .required },
- },
- .OpLabel => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpBranch => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpBranchConditional => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .variadic },
- },
- .OpSwitch => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PairLiteralIntegerIdRef, .quantifier = .variadic },
- },
- .OpKill => &[_]Operand{},
- .OpReturn => &[_]Operand{},
- .OpReturnValue => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpUnreachable => &[_]Operand{},
- .OpLifetimeStart => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- },
- .OpLifetimeStop => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- },
- .OpGroupAsyncCopy => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupWaitEvents => &[_]Operand{
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupAll => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupAny => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupBroadcast => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupIAdd => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupFAdd => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupFMin => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupUMin => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupSMin => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupFMax => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupUMax => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupSMax => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpReadPipe => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpWritePipe => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpReservedReadPipe => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpReservedWritePipe => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpReserveReadPipePackets => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpReserveWritePipePackets => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpCommitReadPipe => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpCommitWritePipe => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpIsValidReserveId => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGetNumPipePackets => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGetMaxPipePackets => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupReserveReadPipePackets => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupReserveWritePipePackets => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupCommitReadPipe => &[_]Operand{
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupCommitWritePipe => &[_]Operand{
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpEnqueueMarker => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpEnqueueKernel => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpGetKernelNDrangeSubGroupCount => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGetKernelNDrangeMaxSubGroupSize => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGetKernelWorkGroupSize => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGetKernelPreferredWorkGroupSizeMultiple => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRetainEvent => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpReleaseEvent => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpCreateUserEvent => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpIsValidEvent => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSetUserEventStatus => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpCaptureEventProfilingInfo => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGetDefaultQueue => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpBuildNDRange => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpImageSparseSampleImplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImageSparseSampleExplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
- },
- .OpImageSparseSampleDrefImplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImageSparseSampleDrefExplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
- },
- .OpImageSparseSampleProjImplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImageSparseSampleProjExplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
- },
- .OpImageSparseSampleProjDrefImplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImageSparseSampleProjDrefExplicitLod => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
- },
- .OpImageSparseFetch => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImageSparseGather => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImageSparseDrefGather => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpImageSparseTexelsResident => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpNoLine => &[_]Operand{},
- .OpAtomicFlagTestAndSet => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- },
- .OpAtomicFlagClear => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- },
- .OpImageSparseRead => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpSizeOf => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpTypePipeStorage => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpConstantPipeStorage => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- },
- .OpCreatePipeFromPipeStorage => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGetKernelLocalSizeForSubgroupCount => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGetKernelMaxNumSubgroups => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpTypeNamedBarrier => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpNamedBarrierInitialize => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpMemoryNamedBarrier => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- },
- .OpModuleProcessed => &[_]Operand{
- .{ .kind = .LiteralString, .quantifier = .required },
- },
- .OpExecutionModeId => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ExecutionMode, .quantifier = .required },
- },
- .OpDecorateId => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .Decoration, .quantifier = .required },
- },
- .OpGroupNonUniformElect => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- },
- .OpGroupNonUniformAll => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformAny => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformAllEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformBroadcast => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformBroadcastFirst => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformBallot => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformInverseBallot => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformBallotBitExtract => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformBallotBitCount => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformBallotFindLSB => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformBallotFindMSB => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformShuffle => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformShuffleXor => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformShuffleUp => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformShuffleDown => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformIAdd => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformFAdd => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformIMul => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformFMul => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformSMin => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformUMin => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformFMin => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformSMax => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformUMax => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformFMax => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformBitwiseAnd => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformBitwiseOr => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformBitwiseXor => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformLogicalAnd => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformLogicalOr => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformLogicalXor => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- },
- .OpGroupNonUniformQuadBroadcast => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupNonUniformQuadSwap => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpCopyLogical => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpPtrEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpPtrNotEqual => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpPtrDiff => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpTerminateInvocation => &[_]Operand{},
- .OpSubgroupBallotKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSubgroupFirstInvocationKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSubgroupAllKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSubgroupAnyKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSubgroupAllEqualKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSubgroupReadInvocationKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpTraceRayKHR => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpExecuteCallableKHR => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpConvertUToAccelerationStructureKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpIgnoreIntersectionKHR => &[_]Operand{},
- .OpTerminateRayKHR => &[_]Operand{},
- .OpSDot => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
- },
- .OpUDot => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
- },
- .OpSUDot => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
- },
- .OpSDotAccSat => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
- },
- .OpUDotAccSat => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
- },
- .OpSUDotAccSat => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
- },
- .OpTypeRayQueryKHR => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpRayQueryInitializeKHR => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryTerminateKHR => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGenerateIntersectionKHR => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryConfirmIntersectionKHR => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryProceedKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetIntersectionTypeKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupIAddNonUniformAMD => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupFAddNonUniformAMD => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupFMinNonUniformAMD => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupUMinNonUniformAMD => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupSMinNonUniformAMD => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupFMaxNonUniformAMD => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupUMaxNonUniformAMD => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpGroupSMaxNonUniformAMD => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFragmentMaskFetchAMD => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFragmentFetchAMD => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpReadClockKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- },
- .OpImageSampleFootprintNV => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
- },
- .OpGroupNonUniformPartitionNV => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpWritePackedPrimitiveIndices4x8NV => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpReportIntersectionKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpIgnoreIntersectionNV => &[_]Operand{},
- .OpTerminateRayNV => &[_]Operand{},
- .OpTraceNV => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpTraceMotionNV => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpTraceRayMotionNV => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpTypeAccelerationStructureKHR => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpExecuteCallableNV => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpTypeCooperativeMatrixNV => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpCooperativeMatrixLoadNV => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
- },
- .OpCooperativeMatrixStoreNV => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
- },
- .OpCooperativeMatrixMulAddNV => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpCooperativeMatrixLengthNV => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpBeginInvocationInterlockEXT => &[_]Operand{},
- .OpEndInvocationInterlockEXT => &[_]Operand{},
- .OpDemoteToHelperInvocation => &[_]Operand{},
- .OpIsHelperInvocationEXT => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- },
- .OpConvertUToImageNV => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpConvertUToSamplerNV => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpConvertImageToUNV => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpConvertSamplerToUNV => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpConvertUToSampledImageNV => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpConvertSampledImageToUNV => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSamplerImageAddressingModeNV => &[_]Operand{
- .{ .kind = .LiteralInteger, .quantifier = .required },
- },
- .OpSubgroupShuffleINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSubgroupShuffleDownINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSubgroupShuffleUpINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSubgroupShuffleXorINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSubgroupBlockReadINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSubgroupBlockWriteINTEL => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSubgroupImageBlockReadINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSubgroupImageBlockWriteINTEL => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSubgroupImageMediaBlockReadINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpSubgroupImageMediaBlockWriteINTEL => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpUCountLeadingZerosINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpUCountTrailingZerosINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAbsISubINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAbsUSubINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpIAddSatINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpUAddSatINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpIAverageINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpUAverageINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpIAverageRoundedINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpUAverageRoundedINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpISubSatINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpUSubSatINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpIMul32x16INTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpUMul32x16INTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAtomicFMinEXT => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAtomicFMaxEXT => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAssumeTrueKHR => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpExpectKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpDecorateString => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .Decoration, .quantifier = .required },
- },
- .OpMemberDecorateString => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .Decoration, .quantifier = .required },
- },
- .OpLoopControlINTEL => &[_]Operand{
- .{ .kind = .LiteralInteger, .quantifier = .variadic },
- },
- .OpReadPipeBlockingINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpWritePipeBlockingINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpFPGARegINTEL => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetRayTMinKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetRayFlagsKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetIntersectionTKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetIntersectionInstanceCustomIndexKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetIntersectionInstanceIdKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetIntersectionGeometryIndexKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetIntersectionPrimitiveIndexKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetIntersectionBarycentricsKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetIntersectionFrontFaceKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetIntersectionCandidateAABBOpaqueKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetIntersectionObjectRayDirectionKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetIntersectionObjectRayOriginKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetWorldRayDirectionKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetWorldRayOriginKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetIntersectionObjectToWorldKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpRayQueryGetIntersectionWorldToObjectKHR => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpAtomicFAddEXT => &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- .OpTypeBufferSurfaceINTEL => &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .AccessQualifier, .quantifier = .required },
- },
- .OpTypeStructContinuedINTEL => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpConstantCompositeContinuedINTEL => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- .OpSpecConstantCompositeContinuedINTEL => &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .variadic },
- },
- };
- }
- pub fn class(self: Opcode) Class {
+ pub fn class(self: Opcode) Class {
return switch (self) {
.OpNop => .Miscellaneous,
.OpUndef => .Miscellaneous,
@@ -5114,12 +3005,16 @@ pub const Opcode = enum(u16) {
.OpPtrEqual => .Memory,
.OpPtrNotEqual => .Memory,
.OpPtrDiff => .Memory,
+ .OpColorAttachmentReadEXT => .Image,
+ .OpDepthAttachmentReadEXT => .Image,
+ .OpStencilAttachmentReadEXT => .Image,
.OpTerminateInvocation => .ControlFlow,
.OpSubgroupBallotKHR => .Group,
.OpSubgroupFirstInvocationKHR => .Group,
.OpSubgroupAllKHR => .Group,
.OpSubgroupAnyKHR => .Group,
.OpSubgroupAllEqualKHR => .Group,
+ .OpGroupNonUniformRotateKHR => .Group,
.OpSubgroupReadInvocationKHR => .Group,
.OpTraceRayKHR => .Reserved,
.OpExecuteCallableKHR => .Reserved,
@@ -5132,13 +3027,26 @@ pub const Opcode = enum(u16) {
.OpSDotAccSat => .Arithmetic,
.OpUDotAccSat => .Arithmetic,
.OpSUDotAccSat => .Arithmetic,
- .OpTypeRayQueryKHR => .Reserved,
+ .OpTypeCooperativeMatrixKHR => .TypeDeclaration,
+ .OpCooperativeMatrixLoadKHR => .Memory,
+ .OpCooperativeMatrixStoreKHR => .Memory,
+ .OpCooperativeMatrixMulAddKHR => .Arithmetic,
+ .OpCooperativeMatrixLengthKHR => .Miscellaneous,
+ .OpTypeRayQueryKHR => .TypeDeclaration,
.OpRayQueryInitializeKHR => .Reserved,
.OpRayQueryTerminateKHR => .Reserved,
.OpRayQueryGenerateIntersectionKHR => .Reserved,
.OpRayQueryConfirmIntersectionKHR => .Reserved,
.OpRayQueryProceedKHR => .Reserved,
.OpRayQueryGetIntersectionTypeKHR => .Reserved,
+ .OpImageSampleWeightedQCOM => .Image,
+ .OpImageBoxFilterQCOM => .Image,
+ .OpImageBlockMatchSSDQCOM => .Image,
+ .OpImageBlockMatchSADQCOM => .Image,
+ .OpImageBlockMatchWindowSSDQCOM => .Image,
+ .OpImageBlockMatchWindowSADQCOM => .Image,
+ .OpImageBlockMatchGatherSSDQCOM => .Image,
+ .OpImageBlockMatchGatherSADQCOM => .Image,
.OpGroupIAddNonUniformAMD => .Group,
.OpGroupFAddNonUniformAMD => .Group,
.OpGroupFMinNonUniformAMD => .Group,
@@ -5150,18 +3058,61 @@ pub const Opcode = enum(u16) {
.OpFragmentMaskFetchAMD => .Reserved,
.OpFragmentFetchAMD => .Reserved,
.OpReadClockKHR => .Reserved,
+ .OpFinalizeNodePayloadsAMDX => .Reserved,
+ .OpFinishWritingNodePayloadAMDX => .Reserved,
+ .OpInitializeNodePayloadsAMDX => .Reserved,
+ .OpGroupNonUniformQuadAllKHR => .NonUniform,
+ .OpGroupNonUniformQuadAnyKHR => .NonUniform,
+ .OpHitObjectRecordHitMotionNV => .Reserved,
+ .OpHitObjectRecordHitWithIndexMotionNV => .Reserved,
+ .OpHitObjectRecordMissMotionNV => .Reserved,
+ .OpHitObjectGetWorldToObjectNV => .Reserved,
+ .OpHitObjectGetObjectToWorldNV => .Reserved,
+ .OpHitObjectGetObjectRayDirectionNV => .Reserved,
+ .OpHitObjectGetObjectRayOriginNV => .Reserved,
+ .OpHitObjectTraceRayMotionNV => .Reserved,
+ .OpHitObjectGetShaderRecordBufferHandleNV => .Reserved,
+ .OpHitObjectGetShaderBindingTableRecordIndexNV => .Reserved,
+ .OpHitObjectRecordEmptyNV => .Reserved,
+ .OpHitObjectTraceRayNV => .Reserved,
+ .OpHitObjectRecordHitNV => .Reserved,
+ .OpHitObjectRecordHitWithIndexNV => .Reserved,
+ .OpHitObjectRecordMissNV => .Reserved,
+ .OpHitObjectExecuteShaderNV => .Reserved,
+ .OpHitObjectGetCurrentTimeNV => .Reserved,
+ .OpHitObjectGetAttributesNV => .Reserved,
+ .OpHitObjectGetHitKindNV => .Reserved,
+ .OpHitObjectGetPrimitiveIndexNV => .Reserved,
+ .OpHitObjectGetGeometryIndexNV => .Reserved,
+ .OpHitObjectGetInstanceIdNV => .Reserved,
+ .OpHitObjectGetInstanceCustomIndexNV => .Reserved,
+ .OpHitObjectGetWorldRayDirectionNV => .Reserved,
+ .OpHitObjectGetWorldRayOriginNV => .Reserved,
+ .OpHitObjectGetRayTMaxNV => .Reserved,
+ .OpHitObjectGetRayTMinNV => .Reserved,
+ .OpHitObjectIsEmptyNV => .Reserved,
+ .OpHitObjectIsHitNV => .Reserved,
+ .OpHitObjectIsMissNV => .Reserved,
+ .OpReorderThreadWithHitObjectNV => .Reserved,
+ .OpReorderThreadWithHintNV => .Reserved,
+ .OpTypeHitObjectNV => .TypeDeclaration,
.OpImageSampleFootprintNV => .Image,
+ .OpEmitMeshTasksEXT => .Reserved,
+ .OpSetMeshOutputsEXT => .Reserved,
.OpGroupNonUniformPartitionNV => .NonUniform,
.OpWritePackedPrimitiveIndices4x8NV => .Reserved,
+ .OpFetchMicroTriangleVertexPositionNV => .Reserved,
+ .OpFetchMicroTriangleVertexBarycentricNV => .Reserved,
.OpReportIntersectionKHR => .Reserved,
.OpIgnoreIntersectionNV => .Reserved,
.OpTerminateRayNV => .Reserved,
.OpTraceNV => .Reserved,
.OpTraceMotionNV => .Reserved,
.OpTraceRayMotionNV => .Reserved,
- .OpTypeAccelerationStructureKHR => .Reserved,
+ .OpRayQueryGetIntersectionTriangleVertexPositionsKHR => .Reserved,
+ .OpTypeAccelerationStructureKHR => .TypeDeclaration,
.OpExecuteCallableNV => .Reserved,
- .OpTypeCooperativeMatrixNV => .Reserved,
+ .OpTypeCooperativeMatrixNV => .TypeDeclaration,
.OpCooperativeMatrixLoadNV => .Reserved,
.OpCooperativeMatrixStoreNV => .Reserved,
.OpCooperativeMatrixMulAddNV => .Reserved,
@@ -5177,6 +3128,7 @@ pub const Opcode = enum(u16) {
.OpConvertUToSampledImageNV => .Reserved,
.OpConvertSampledImageToUNV => .Reserved,
.OpSamplerImageAddressingModeNV => .Reserved,
+ .OpRawAccessChainNV => .Memory,
.OpSubgroupShuffleINTEL => .Group,
.OpSubgroupShuffleDownINTEL => .Group,
.OpSubgroupShuffleUpINTEL => .Group,
@@ -5233,6 +3185,21 @@ pub const Opcode = enum(u16) {
.OpTypeStructContinuedINTEL => .TypeDeclaration,
.OpConstantCompositeContinuedINTEL => .ConstantCreation,
.OpSpecConstantCompositeContinuedINTEL => .ConstantCreation,
+ .OpCompositeConstructContinuedINTEL => .Composite,
+ .OpConvertFToBF16INTEL => .Conversion,
+ .OpConvertBF16ToFINTEL => .Conversion,
+ .OpControlBarrierArriveINTEL => .Barrier,
+ .OpControlBarrierWaitINTEL => .Barrier,
+ .OpGroupIMulKHR => .Group,
+ .OpGroupFMulKHR => .Group,
+ .OpGroupBitwiseAndKHR => .Group,
+ .OpGroupBitwiseOrKHR => .Group,
+ .OpGroupBitwiseXorKHR => .Group,
+ .OpGroupLogicalAndKHR => .Group,
+ .OpGroupLogicalOrKHR => .Group,
+ .OpGroupLogicalXorKHR => .Group,
+ .OpMaskedGatherINTEL => .Memory,
+ .OpMaskedScatterINTEL => .Memory,
};
}
};
@@ -5327,9 +3294,9 @@ pub const FPFastMathMode = packed struct {
_reserved_bit_13: bool = false,
_reserved_bit_14: bool = false,
_reserved_bit_15: bool = false,
- AllowContractFastINTEL: bool = false,
- AllowReassocINTEL: bool = false,
- _reserved_bit_18: bool = false,
+ AllowContract: bool = false,
+ AllowReassoc: bool = false,
+ AllowTransform: bool = false,
_reserved_bit_19: bool = false,
_reserved_bit_20: bool = false,
_reserved_bit_21: bool = false,
@@ -5343,6 +3310,9 @@ pub const FPFastMathMode = packed struct {
_reserved_bit_29: bool = false,
_reserved_bit_30: bool = false,
_reserved_bit_31: bool = false,
+
+ pub const AllowContractFastINTEL: FPFastMathMode = .{ .AllowContract = true };
+ pub const AllowReassocINTEL: FPFastMathMode = .{ .AllowReassoc = true };
};
pub const SelectionControl = packed struct {
Flatten: bool = false,
@@ -5403,8 +3373,8 @@ pub const LoopControl = packed struct {
MaxInterleavingINTEL: bool = false,
SpeculatedIterationsINTEL: bool = false,
NoFusionINTEL: bool = false,
- _reserved_bit_24: bool = false,
- _reserved_bit_25: bool = false,
+ LoopCountINTEL: bool = false,
+ MaxReinvocationDelayINTEL: bool = false,
_reserved_bit_26: bool = false,
_reserved_bit_27: bool = false,
_reserved_bit_28: bool = false,
@@ -5436,9 +3406,9 @@ pub const LoopControl = packed struct {
LoopCoalesceINTEL: ?struct { literal_integer: LiteralInteger } = null,
MaxInterleavingINTEL: ?struct { literal_integer: LiteralInteger } = null,
SpeculatedIterationsINTEL: ?struct { literal_integer: LiteralInteger } = null,
- NoFusionINTEL: ?struct { literal_integer: LiteralInteger } = null,
- _reserved_bit_24: bool = false,
- _reserved_bit_25: bool = false,
+ NoFusionINTEL: bool = false,
+ LoopCountINTEL: ?struct { literal_integer: LiteralInteger } = null,
+ MaxReinvocationDelayINTEL: ?struct { literal_integer: LiteralInteger } = null,
_reserved_bit_26: bool = false,
_reserved_bit_27: bool = false,
_reserved_bit_28: bool = false,
@@ -5536,8 +3506,8 @@ pub const MemoryAccess = packed struct {
_reserved_bit_13: bool = false,
_reserved_bit_14: bool = false,
_reserved_bit_15: bool = false,
- _reserved_bit_16: bool = false,
- _reserved_bit_17: bool = false,
+ AliasScopeINTELMask: bool = false,
+ NoAliasINTELMask: bool = false,
_reserved_bit_18: bool = false,
_reserved_bit_19: bool = false,
_reserved_bit_20: bool = false,
@@ -5574,8 +3544,8 @@ pub const MemoryAccess = packed struct {
_reserved_bit_13: bool = false,
_reserved_bit_14: bool = false,
_reserved_bit_15: bool = false,
- _reserved_bit_16: bool = false,
- _reserved_bit_17: bool = false,
+ AliasScopeINTELMask: ?struct { id_ref: IdRef } = null,
+ NoAliasINTELMask: ?struct { id_ref: IdRef } = null,
_reserved_bit_18: bool = false,
_reserved_bit_19: bool = false,
_reserved_bit_20: bool = false,
@@ -5637,7 +3607,7 @@ pub const RayFlags = packed struct {
CullNoOpaqueKHR: bool = false,
SkipTrianglesKHR: bool = false,
SkipAABBsKHR: bool = false,
- _reserved_bit_10: bool = false,
+ ForceOpacityMicromap2StateEXT: bool = false,
_reserved_bit_11: bool = false,
_reserved_bit_12: bool = false,
_reserved_bit_13: bool = false,
@@ -5694,6 +3664,40 @@ pub const FragmentShadingRate = packed struct {
_reserved_bit_30: bool = false,
_reserved_bit_31: bool = false,
};
+pub const RawAccessChainOperands = packed struct {
+ RobustnessPerComponentNV: bool = false,
+ RobustnessPerElementNV: bool = false,
+ _reserved_bit_2: bool = false,
+ _reserved_bit_3: bool = false,
+ _reserved_bit_4: bool = false,
+ _reserved_bit_5: bool = false,
+ _reserved_bit_6: bool = false,
+ _reserved_bit_7: bool = false,
+ _reserved_bit_8: bool = false,
+ _reserved_bit_9: bool = false,
+ _reserved_bit_10: bool = false,
+ _reserved_bit_11: bool = false,
+ _reserved_bit_12: bool = false,
+ _reserved_bit_13: bool = false,
+ _reserved_bit_14: bool = false,
+ _reserved_bit_15: bool = false,
+ _reserved_bit_16: bool = false,
+ _reserved_bit_17: bool = false,
+ _reserved_bit_18: bool = false,
+ _reserved_bit_19: bool = false,
+ _reserved_bit_20: bool = false,
+ _reserved_bit_21: bool = false,
+ _reserved_bit_22: bool = false,
+ _reserved_bit_23: bool = false,
+ _reserved_bit_24: bool = false,
+ _reserved_bit_25: bool = false,
+ _reserved_bit_26: bool = false,
+ _reserved_bit_27: bool = false,
+ _reserved_bit_28: bool = false,
+ _reserved_bit_29: bool = false,
+ _reserved_bit_30: bool = false,
+ _reserved_bit_31: bool = false,
+};
pub const SourceLanguage = enum(u32) {
Unknown = 0,
ESSL = 1,
@@ -5702,6 +3706,12 @@ pub const SourceLanguage = enum(u32) {
OpenCL_CPP = 4,
HLSL = 5,
CPP_for_OpenCL = 6,
+ SYCL = 7,
+ HERO_C = 8,
+ NZSL = 9,
+ WGSL = 10,
+ Slang = 11,
+ Zig = 12,
};
pub const ExecutionModel = enum(u32) {
Vertex = 0,
@@ -5719,6 +3729,8 @@ pub const ExecutionModel = enum(u32) {
ClosestHitKHR = 5316,
MissKHR = 5317,
CallableKHR = 5318,
+ TaskEXT = 5364,
+ MeshEXT = 5365,
pub const RayGenerationNV = ExecutionModel.RayGenerationKHR;
pub const IntersectionNV = ExecutionModel.IntersectionKHR;
@@ -5782,6 +3794,9 @@ pub const ExecutionMode = enum(u32) {
SubgroupsPerWorkgroupId = 37,
LocalSizeId = 38,
LocalSizeHintId = 39,
+ NonCoherentColorAttachmentReadEXT = 4169,
+ NonCoherentDepthAttachmentReadEXT = 4170,
+ NonCoherentStencilAttachmentReadEXT = 4171,
SubgroupUniformControlFlowKHR = 4421,
PostDepthCoverage = 4446,
DenormPreserve = 4459,
@@ -5789,12 +3804,26 @@ pub const ExecutionMode = enum(u32) {
SignedZeroInfNanPreserve = 4461,
RoundingModeRTE = 4462,
RoundingModeRTZ = 4463,
+ EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
- OutputLinesNV = 5269,
- OutputPrimitivesNV = 5270,
+ CoalescingAMDX = 5069,
+ MaxNodeRecursionAMDX = 5071,
+ StaticNumWorkgroupsAMDX = 5072,
+ ShaderIndexAMDX = 5073,
+ MaxNumWorkgroupsAMDX = 5077,
+ StencilRefUnchangedFrontAMD = 5079,
+ StencilRefGreaterFrontAMD = 5080,
+ StencilRefLessFrontAMD = 5081,
+ StencilRefUnchangedBackAMD = 5082,
+ StencilRefGreaterBackAMD = 5083,
+ StencilRefLessBackAMD = 5084,
+ QuadDerivativesKHR = 5088,
+ RequireFullQuadsKHR = 5089,
+ OutputLinesEXT = 5269,
+ OutputPrimitivesEXT = 5270,
DerivativeGroupQuadsNV = 5289,
DerivativeGroupLinearNV = 5290,
- OutputTrianglesNV = 5298,
+ OutputTrianglesEXT = 5298,
PixelInterlockOrderedEXT = 5366,
PixelInterlockUnorderedEXT = 5367,
SampleInterlockOrderedEXT = 5368,
@@ -5811,6 +3840,18 @@ pub const ExecutionMode = enum(u32) {
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
SchedulerTargetFmaxMhzINTEL = 5903,
+ MaximallyReconvergesKHR = 6023,
+ FPFastMathDefault = 6028,
+ StreamingInterfaceINTEL = 6154,
+ RegisterMapInterfaceINTEL = 6160,
+ NamedBarrierCountINTEL = 6417,
+ MaximumRegistersINTEL = 6461,
+ MaximumRegistersIdINTEL = 6462,
+ NamedMaximumRegistersINTEL = 6463,
+
+ pub const OutputLinesNV = ExecutionMode.OutputLinesEXT;
+ pub const OutputPrimitivesNV = ExecutionMode.OutputPrimitivesEXT;
+ pub const OutputTrianglesNV = ExecutionMode.OutputTrianglesEXT;
pub const Extended = union(ExecutionMode) {
Invocations: struct { literal_integer: LiteralInteger },
@@ -5851,6 +3892,9 @@ pub const ExecutionMode = enum(u32) {
SubgroupsPerWorkgroupId: struct { subgroups_per_workgroup: IdRef },
LocalSizeId: struct { x_size: IdRef, y_size: IdRef, z_size: IdRef },
LocalSizeHintId: struct { x_size_hint: IdRef, y_size_hint: IdRef, z_size_hint: IdRef },
+ NonCoherentColorAttachmentReadEXT,
+ NonCoherentDepthAttachmentReadEXT,
+ NonCoherentStencilAttachmentReadEXT,
SubgroupUniformControlFlowKHR,
PostDepthCoverage,
DenormPreserve: struct { target_width: LiteralInteger },
@@ -5858,12 +3902,26 @@ pub const ExecutionMode = enum(u32) {
SignedZeroInfNanPreserve: struct { target_width: LiteralInteger },
RoundingModeRTE: struct { target_width: LiteralInteger },
RoundingModeRTZ: struct { target_width: LiteralInteger },
+ EarlyAndLateFragmentTestsAMD,
StencilRefReplacingEXT,
- OutputLinesNV,
- OutputPrimitivesNV: struct { primitive_count: LiteralInteger },
+ CoalescingAMDX,
+ MaxNodeRecursionAMDX: struct { number_of_recursions: IdRef },
+ StaticNumWorkgroupsAMDX: struct { x_size: IdRef, y_size: IdRef, z_size: IdRef },
+ ShaderIndexAMDX: struct { shader_index: IdRef },
+ MaxNumWorkgroupsAMDX: struct { x_size: IdRef, y_size: IdRef, z_size: IdRef },
+ StencilRefUnchangedFrontAMD,
+ StencilRefGreaterFrontAMD,
+ StencilRefLessFrontAMD,
+ StencilRefUnchangedBackAMD,
+ StencilRefGreaterBackAMD,
+ StencilRefLessBackAMD,
+ QuadDerivativesKHR,
+ RequireFullQuadsKHR,
+ OutputLinesEXT,
+ OutputPrimitivesEXT: struct { primitive_count: LiteralInteger },
DerivativeGroupQuadsNV,
DerivativeGroupLinearNV,
- OutputTrianglesNV,
+ OutputTrianglesEXT,
PixelInterlockOrderedEXT,
PixelInterlockUnorderedEXT,
SampleInterlockOrderedEXT,
@@ -5880,6 +3938,14 @@ pub const ExecutionMode = enum(u32) {
NoGlobalOffsetINTEL,
NumSIMDWorkitemsINTEL: struct { literal_integer: LiteralInteger },
SchedulerTargetFmaxMhzINTEL: struct { literal_integer: LiteralInteger },
+ MaximallyReconvergesKHR,
+ FPFastMathDefault: struct { target_type: IdRef, id_ref_1: IdRef },
+ StreamingInterfaceINTEL: struct { stallfreereturn: LiteralInteger },
+ RegisterMapInterfaceINTEL: struct { waitfordonewrite: LiteralInteger },
+ NamedBarrierCountINTEL: struct { barrier_count: LiteralInteger },
+ MaximumRegistersINTEL: struct { number_of_registers: LiteralInteger },
+ MaximumRegistersIdINTEL: struct { number_of_registers: IdRef },
+ NamedMaximumRegistersINTEL: struct { named_maximum_number_of_registers: NamedMaximumNumberOfRegisters },
};
};
pub const StorageClass = enum(u32) {
@@ -5896,6 +3962,9 @@ pub const StorageClass = enum(u32) {
AtomicCounter = 10,
Image = 11,
StorageBuffer = 12,
+ TileImageEXT = 4172,
+ NodePayloadAMDX = 5068,
+ NodeOutputPayloadAMDX = 5076,
CallableDataKHR = 5328,
IncomingCallableDataKHR = 5329,
RayPayloadKHR = 5338,
@@ -5903,6 +3972,8 @@ pub const StorageClass = enum(u32) {
IncomingRayPayloadKHR = 5342,
ShaderRecordBufferKHR = 5343,
PhysicalStorageBuffer = 5349,
+ HitObjectAttributeNV = 5385,
+ TaskPayloadWorkgroupEXT = 5402,
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
HostOnlyINTEL = 5937,
@@ -5923,6 +3994,7 @@ pub const Dim = enum(u32) {
Rect = 4,
Buffer = 5,
SubpassData = 6,
+ TileImageDataEXT = 4173,
};
pub const SamplerAddressingMode = enum(u32) {
None = 0,
@@ -6019,6 +4091,8 @@ pub const ImageChannelDataType = enum(u32) {
Float = 14,
UnormInt24 = 15,
UnormInt101010_2 = 16,
+ UnsignedIntRaw10EXT = 19,
+ UnsignedIntRaw12EXT = 20,
};
pub const FPRoundingMode = enum(u32) {
RTE = 0,
@@ -6060,6 +4134,12 @@ pub const AccessQualifier = enum(u32) {
WriteOnly = 1,
ReadWrite = 2,
};
+pub const HostAccessQualifier = enum(u32) {
+ NoneINTEL = 0,
+ ReadINTEL = 1,
+ WriteINTEL = 2,
+ ReadWriteINTEL = 3,
+};
pub const FunctionParameterAttribute = enum(u32) {
Zext = 0,
Sext = 1,
@@ -6069,6 +4149,7 @@ pub const FunctionParameterAttribute = enum(u32) {
NoCapture = 5,
NoWrite = 6,
NoReadWrite = 7,
+ RuntimeAlignedINTEL = 5940,
};
pub const Decoration = enum(u32) {
RelaxedPrecision = 0,
@@ -6120,18 +4201,26 @@ pub const Decoration = enum(u32) {
MaxByteOffsetId = 47,
NoSignedWrap = 4469,
NoUnsignedWrap = 4470,
+ WeightTextureQCOM = 4487,
+ BlockMatchTextureQCOM = 4488,
+ BlockMatchSamplerQCOM = 4499,
ExplicitInterpAMD = 4999,
+ NodeSharesPayloadLimitsWithAMDX = 5019,
+ NodeMaxPayloadsAMDX = 5020,
+ TrackFinishWritingAMDX = 5078,
+ PayloadNodeNameAMDX = 5091,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
ViewportRelativeNV = 5252,
SecondaryViewportRelativeNV = 5256,
- PerPrimitiveNV = 5271,
+ PerPrimitiveEXT = 5271,
PerViewNV = 5272,
PerTaskNV = 5273,
PerVertexKHR = 5285,
NonUniform = 5300,
RestrictPointer = 5355,
AliasedPointer = 5356,
+ HitObjectShaderRecordBufferNV = 5386,
BindlessSamplerNV = 5398,
BindlessImageNV = 5399,
BoundSamplerNV = 5400,
@@ -6162,19 +4251,47 @@ pub const Decoration = enum(u32) {
MergeINTEL = 5834,
BankBitsINTEL = 5835,
ForcePow2DepthINTEL = 5836,
+ StridesizeINTEL = 5883,
+ WordsizeINTEL = 5884,
+ TrueDualPortINTEL = 5885,
BurstCoalesceINTEL = 5899,
CacheSizeINTEL = 5900,
DontStaticallyCoalesceINTEL = 5901,
PrefetchINTEL = 5902,
StallEnableINTEL = 5905,
FuseLoopsInFunctionINTEL = 5907,
+ MathOpDSPModeINTEL = 5909,
+ AliasScopeINTEL = 5914,
+ NoAliasINTEL = 5915,
+ InitiationIntervalINTEL = 5917,
+ MaxConcurrencyINTEL = 5918,
+ PipelineEnableINTEL = 5919,
BufferLocationINTEL = 5921,
IOPipeStorageINTEL = 5944,
FunctionFloatingPointModeINTEL = 6080,
SingleElementVectorINTEL = 6085,
VectorComputeCallableFunctionINTEL = 6087,
MediaBlockIOINTEL = 6140,
+ StallFreeINTEL = 6151,
+ FPMaxErrorDecorationINTEL = 6170,
+ LatencyControlLabelINTEL = 6172,
+ LatencyControlConstraintINTEL = 6173,
+ ConduitKernelArgumentINTEL = 6175,
+ RegisterMapKernelArgumentINTEL = 6176,
+ MMHostInterfaceAddressWidthINTEL = 6177,
+ MMHostInterfaceDataWidthINTEL = 6178,
+ MMHostInterfaceLatencyINTEL = 6179,
+ MMHostInterfaceReadWriteModeINTEL = 6180,
+ MMHostInterfaceMaxBurstINTEL = 6181,
+ MMHostInterfaceWaitRequestINTEL = 6182,
+ StableKernelArgumentINTEL = 6183,
+ HostAccessINTEL = 6188,
+ InitModeINTEL = 6190,
+ ImplementInRegisterMapINTEL = 6191,
+ CacheControlLoadINTEL = 6442,
+ CacheControlStoreINTEL = 6443,
+ pub const PerPrimitiveNV = Decoration.PerPrimitiveEXT;
pub const PerVertexNV = Decoration.PerVertexKHR;
pub const NonUniformEXT = Decoration.NonUniform;
pub const RestrictPointerEXT = Decoration.RestrictPointer;
@@ -6232,18 +4349,26 @@ pub const Decoration = enum(u32) {
MaxByteOffsetId: struct { max_byte_offset: IdRef },
NoSignedWrap,
NoUnsignedWrap,
+ WeightTextureQCOM,
+ BlockMatchTextureQCOM,
+ BlockMatchSamplerQCOM,
ExplicitInterpAMD,
+ NodeSharesPayloadLimitsWithAMDX: struct { payload_array: IdRef },
+ NodeMaxPayloadsAMDX: struct { max_number_of_payloads: IdRef },
+ TrackFinishWritingAMDX,
+ PayloadNodeNameAMDX: struct { node_name: LiteralString },
OverrideCoverageNV,
PassthroughNV,
ViewportRelativeNV,
SecondaryViewportRelativeNV: struct { offset: LiteralInteger },
- PerPrimitiveNV,
+ PerPrimitiveEXT,
PerViewNV,
PerTaskNV,
PerVertexKHR,
NonUniform,
RestrictPointer,
AliasedPointer,
+ HitObjectShaderRecordBufferNV,
BindlessSamplerNV,
BindlessImageNV,
BoundSamplerNV,
@@ -6274,18 +4399,45 @@ pub const Decoration = enum(u32) {
MergeINTEL: struct { merge_key: LiteralString, merge_type: LiteralString },
BankBitsINTEL: struct { bank_bits: []const LiteralInteger = &.{} },
ForcePow2DepthINTEL: struct { force_key: LiteralInteger },
+ StridesizeINTEL: struct { stride_size: LiteralInteger },
+ WordsizeINTEL: struct { word_size: LiteralInteger },
+ TrueDualPortINTEL,
BurstCoalesceINTEL,
CacheSizeINTEL: struct { cache_size_in_bytes: LiteralInteger },
DontStaticallyCoalesceINTEL,
PrefetchINTEL: struct { prefetcher_size_in_bytes: LiteralInteger },
StallEnableINTEL,
FuseLoopsInFunctionINTEL,
+ MathOpDSPModeINTEL: struct { mode: LiteralInteger, propagate: LiteralInteger },
+ AliasScopeINTEL: struct { aliasing_scopes_list: IdRef },
+ NoAliasINTEL: struct { aliasing_scopes_list: IdRef },
+ InitiationIntervalINTEL: struct { cycles: LiteralInteger },
+ MaxConcurrencyINTEL: struct { invocations: LiteralInteger },
+ PipelineEnableINTEL: struct { enable: LiteralInteger },
BufferLocationINTEL: struct { buffer_location_id: LiteralInteger },
IOPipeStorageINTEL: struct { io_pipe_id: LiteralInteger },
FunctionFloatingPointModeINTEL: struct { target_width: LiteralInteger, fp_operation_mode: FPOperationMode },
SingleElementVectorINTEL,
VectorComputeCallableFunctionINTEL,
MediaBlockIOINTEL,
+ StallFreeINTEL,
+ FPMaxErrorDecorationINTEL: struct { max_error: LiteralFloat },
+ LatencyControlLabelINTEL: struct { latency_label: LiteralInteger },
+ LatencyControlConstraintINTEL: struct { relative_to: LiteralInteger, control_type: LiteralInteger, relative_cycle: LiteralInteger },
+ ConduitKernelArgumentINTEL,
+ RegisterMapKernelArgumentINTEL,
+ MMHostInterfaceAddressWidthINTEL: struct { addresswidth: LiteralInteger },
+ MMHostInterfaceDataWidthINTEL: struct { datawidth: LiteralInteger },
+ MMHostInterfaceLatencyINTEL: struct { latency: LiteralInteger },
+ MMHostInterfaceReadWriteModeINTEL: struct { readwritemode: AccessQualifier },
+ MMHostInterfaceMaxBurstINTEL: struct { maxburstcount: LiteralInteger },
+ MMHostInterfaceWaitRequestINTEL: struct { waitrequest: LiteralInteger },
+ StableKernelArgumentINTEL,
+ HostAccessINTEL: struct { access: HostAccessQualifier, name: LiteralString },
+ InitModeINTEL: struct { trigger: InitializationModeQualifier },
+ ImplementInRegisterMapINTEL: struct { value: LiteralInteger },
+ CacheControlLoadINTEL: struct { cache_level: LiteralInteger, cache_control: LoadCacheControl },
+ CacheControlStoreINTEL: struct { cache_level: LiteralInteger, cache_control: StoreCacheControl },
};
};
pub const BuiltIn = enum(u32) {
@@ -6330,6 +4482,11 @@ pub const BuiltIn = enum(u32) {
SubgroupLocalInvocationId = 41,
VertexIndex = 42,
InstanceIndex = 43,
+ CoreIDARM = 4160,
+ CoreCountARM = 4161,
+ CoreMaxIDARM = 4162,
+ WarpIDARM = 4163,
+ WarpMaxIDARM = 4164,
SubgroupEqMask = 4416,
SubgroupGeMask = 4417,
SubgroupGtMask = 4418,
@@ -6350,6 +4507,8 @@ pub const BuiltIn = enum(u32) {
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
+ CoalescedInputCountAMDX = 5021,
+ ShaderIndexAMDX = 5073,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
@@ -6368,6 +4527,10 @@ pub const BuiltIn = enum(u32) {
BaryCoordNoPerspKHR = 5287,
FragSizeEXT = 5292,
FragInvocationCountEXT = 5293,
+ PrimitivePointIndicesEXT = 5294,
+ PrimitiveLineIndicesEXT = 5295,
+ PrimitiveTriangleIndicesEXT = 5296,
+ CullPrimitiveEXT = 5299,
LaunchIdKHR = 5319,
LaunchSizeKHR = 5320,
WorldRayOriginKHR = 5321,
@@ -6382,12 +4545,18 @@ pub const BuiltIn = enum(u32) {
HitTNV = 5332,
HitKindKHR = 5333,
CurrentRayTimeNV = 5334,
+ HitTriangleVertexPositionsKHR = 5335,
+ HitMicroTriangleVertexPositionsNV = 5337,
+ HitMicroTriangleVertexBarycentricsNV = 5344,
IncomingRayFlagsKHR = 5351,
RayGeometryIndexKHR = 5352,
WarpsPerSMNV = 5374,
SMCountNV = 5375,
WarpIDNV = 5376,
SMIDNV = 5377,
+ HitKindFrontFacingMicroTriangleNV = 5405,
+ HitKindBackFacingMicroTriangleNV = 5406,
+ CullMaskKHR = 6021,
pub const SubgroupEqMaskKHR = BuiltIn.SubgroupEqMask;
pub const SubgroupGeMaskKHR = BuiltIn.SubgroupGeMask;
@@ -6508,6 +4677,10 @@ pub const Capability = enum(u32) {
ShaderLayer = 69,
ShaderViewportIndex = 70,
UniformDecoration = 71,
+ CoreBuiltinsARM = 4165,
+ TileImageColorReadAccessEXT = 4166,
+ TileImageDepthReadAccessEXT = 4167,
+ TileImageStencilReadAccessEXT = 4168,
FragmentShadingRateKHR = 4422,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
@@ -6537,6 +4710,10 @@ pub const Capability = enum(u32) {
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
+ TextureSampleWeightedQCOM = 4484,
+ TextureBoxFilterQCOM = 4485,
+ TextureBlockMatchQCOM = 4486,
+ TextureBlockMatch2QCOM = 4498,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
@@ -6544,6 +4721,8 @@ pub const Capability = enum(u32) {
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
+ ShaderEnqueueAMDX = 5067,
+ QuadControlKHR = 5087,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
@@ -6553,6 +4732,7 @@ pub const Capability = enum(u32) {
FragmentFullyCoveredEXT = 5265,
MeshShadingNV = 5266,
ImageFootprintNV = 5282,
+ MeshShadingEXT = 5283,
FragmentBarycentricKHR = 5284,
ComputeDerivativeGroupQuadsNV = 5288,
FragmentDensityEXT = 5291,
@@ -6569,6 +4749,7 @@ pub const Capability = enum(u32) {
InputAttachmentArrayNonUniformIndexing = 5310,
UniformTexelBufferArrayNonUniformIndexing = 5311,
StorageTexelBufferArrayNonUniformIndexing = 5312,
+ RayTracingPositionFetchKHR = 5336,
RayTracingNV = 5340,
RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
@@ -6582,7 +4763,14 @@ pub const Capability = enum(u32) {
ShaderSMBuiltinsNV = 5373,
FragmentShaderPixelInterlockEXT = 5378,
DemoteToHelperInvocation = 5379,
+ DisplacementMicromapNV = 5380,
+ RayTracingOpacityMicromapEXT = 5381,
+ ShaderInvocationReorderNV = 5383,
BindlessTextureNV = 5390,
+ RayQueryPositionFetchKHR = 5391,
+ AtomicFloat16VectorNV = 5404,
+ RayTracingDisplacementMicromapNV = 5409,
+ RawAccessChainsNV = 5414,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
@@ -6615,9 +4803,13 @@ pub const Capability = enum(u32) {
FPGAMemoryAccessesINTEL = 5898,
FPGAClusterAttributesINTEL = 5904,
LoopFuseINTEL = 5906,
+ FPGADSPControlINTEL = 5908,
+ MemoryAccessAliasingINTEL = 5910,
+ FPGAInvocationPipeliningAttributesINTEL = 5916,
FPGABufferLocationINTEL = 5920,
ArbitraryPrecisionFixedPointINTEL = 5922,
USMStorageClassesINTEL = 5935,
+ RuntimeAlignedAttributeINTEL = 5939,
IOPipesINTEL = 5943,
BlockingPipesINTEL = 5945,
FPGARegINTEL = 5948,
@@ -6625,13 +4817,30 @@ pub const Capability = enum(u32) {
DotProductInput4x8Bit = 6017,
DotProductInput4x8BitPacked = 6018,
DotProduct = 6019,
+ RayCullMaskKHR = 6020,
+ CooperativeMatrixKHR = 6022,
BitInstructions = 6025,
+ GroupNonUniformRotateKHR = 6026,
+ FloatControls2 = 6029,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
- LongConstantCompositeINTEL = 6089,
+ LongCompositesINTEL = 6089,
OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
DebugInfoModuleINTEL = 6114,
+ BFloat16ConversionINTEL = 6115,
+ SplitBarrierINTEL = 6141,
+ FPGAClusterAttributesV2INTEL = 6150,
+ FPGAKernelAttributesv2INTEL = 6161,
+ FPMaxErrorINTEL = 6169,
+ FPGALatencyControlINTEL = 6171,
+ FPGAArgumentInterfacesINTEL = 6174,
+ GlobalVariableHostAccessINTEL = 6187,
+ GlobalVariableFPGADecorationsINTEL = 6189,
+ GroupUniformArithmeticKHR = 6400,
+ MaskedGatherScatterINTEL = 6427,
+ CacheControlsINTEL = 6441,
+ RegisterLimitsINTEL = 6460,
pub const StorageUniformBufferBlock16 = Capability.StorageBuffer16BitAccess;
pub const StorageUniform16 = Capability.UniformAndStorageBuffer16BitAccess;
@@ -6677,3 +4886,11624 @@ pub const PackedVectorFormat = enum(u32) {
pub const PackedVectorFormat4x8BitKHR = PackedVectorFormat.PackedVectorFormat4x8Bit;
};
+pub const CooperativeMatrixOperands = packed struct {
+ MatrixASignedComponentsKHR: bool = false,
+ MatrixBSignedComponentsKHR: bool = false,
+ MatrixCSignedComponentsKHR: bool = false,
+ MatrixResultSignedComponentsKHR: bool = false,
+ SaturatingAccumulationKHR: bool = false,
+ _reserved_bit_5: bool = false,
+ _reserved_bit_6: bool = false,
+ _reserved_bit_7: bool = false,
+ _reserved_bit_8: bool = false,
+ _reserved_bit_9: bool = false,
+ _reserved_bit_10: bool = false,
+ _reserved_bit_11: bool = false,
+ _reserved_bit_12: bool = false,
+ _reserved_bit_13: bool = false,
+ _reserved_bit_14: bool = false,
+ _reserved_bit_15: bool = false,
+ _reserved_bit_16: bool = false,
+ _reserved_bit_17: bool = false,
+ _reserved_bit_18: bool = false,
+ _reserved_bit_19: bool = false,
+ _reserved_bit_20: bool = false,
+ _reserved_bit_21: bool = false,
+ _reserved_bit_22: bool = false,
+ _reserved_bit_23: bool = false,
+ _reserved_bit_24: bool = false,
+ _reserved_bit_25: bool = false,
+ _reserved_bit_26: bool = false,
+ _reserved_bit_27: bool = false,
+ _reserved_bit_28: bool = false,
+ _reserved_bit_29: bool = false,
+ _reserved_bit_30: bool = false,
+ _reserved_bit_31: bool = false,
+};
+pub const CooperativeMatrixLayout = enum(u32) {
+ RowMajorKHR = 0,
+ ColumnMajorKHR = 1,
+};
+pub const CooperativeMatrixUse = enum(u32) {
+ MatrixAKHR = 0,
+ MatrixBKHR = 1,
+ MatrixAccumulatorKHR = 2,
+};
+pub const InitializationModeQualifier = enum(u32) {
+ InitOnDeviceReprogramINTEL = 0,
+ InitOnDeviceResetINTEL = 1,
+};
+pub const LoadCacheControl = enum(u32) {
+ UncachedINTEL = 0,
+ CachedINTEL = 1,
+ StreamingINTEL = 2,
+ InvalidateAfterReadINTEL = 3,
+ ConstCachedINTEL = 4,
+};
+pub const StoreCacheControl = enum(u32) {
+ UncachedINTEL = 0,
+ WriteThroughINTEL = 1,
+ WriteBackINTEL = 2,
+ StreamingINTEL = 3,
+};
+pub const NamedMaximumNumberOfRegisters = enum(u32) {
+ AutoINTEL = 0,
+};
+pub const @"opencl.debuginfo.100.DebugInfoFlags" = packed struct {
+ FlagIsProtected: bool = false,
+ FlagIsPrivate: bool = false,
+ FlagIsLocal: bool = false,
+ FlagIsDefinition: bool = false,
+ FlagFwdDecl: bool = false,
+ FlagArtificial: bool = false,
+ FlagExplicit: bool = false,
+ FlagPrototyped: bool = false,
+ FlagObjectPointer: bool = false,
+ FlagStaticMember: bool = false,
+ FlagIndirectVariable: bool = false,
+ FlagLValueReference: bool = false,
+ FlagRValueReference: bool = false,
+ FlagIsOptimized: bool = false,
+ FlagIsEnumClass: bool = false,
+ FlagTypePassByValue: bool = false,
+ FlagTypePassByReference: bool = false,
+ _reserved_bit_17: bool = false,
+ _reserved_bit_18: bool = false,
+ _reserved_bit_19: bool = false,
+ _reserved_bit_20: bool = false,
+ _reserved_bit_21: bool = false,
+ _reserved_bit_22: bool = false,
+ _reserved_bit_23: bool = false,
+ _reserved_bit_24: bool = false,
+ _reserved_bit_25: bool = false,
+ _reserved_bit_26: bool = false,
+ _reserved_bit_27: bool = false,
+ _reserved_bit_28: bool = false,
+ _reserved_bit_29: bool = false,
+ _reserved_bit_30: bool = false,
+ _reserved_bit_31: bool = false,
+};
+pub const @"opencl.debuginfo.100.DebugBaseTypeAttributeEncoding" = enum(u32) {
+ Unspecified = 0,
+ Address = 1,
+ Boolean = 2,
+ Float = 3,
+ Signed = 4,
+ SignedChar = 5,
+ Unsigned = 6,
+ UnsignedChar = 7,
+};
+pub const @"opencl.debuginfo.100.DebugCompositeType" = enum(u32) {
+ Class = 0,
+ Structure = 1,
+ Union = 2,
+};
+pub const @"opencl.debuginfo.100.DebugTypeQualifier" = enum(u32) {
+ ConstType = 0,
+ VolatileType = 1,
+ RestrictType = 2,
+ AtomicType = 3,
+};
+pub const @"opencl.debuginfo.100.DebugOperation" = enum(u32) {
+ Deref = 0,
+ Plus = 1,
+ Minus = 2,
+ PlusUconst = 3,
+ BitPiece = 4,
+ Swap = 5,
+ Xderef = 6,
+ StackValue = 7,
+ Constu = 8,
+ Fragment = 9,
+
+ pub const Extended = union(@"opencl.debuginfo.100.DebugOperation") {
+ Deref,
+ Plus,
+ Minus,
+ PlusUconst: struct { literal_integer: LiteralInteger },
+ BitPiece: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger },
+ Swap,
+ Xderef,
+ StackValue,
+ Constu: struct { literal_integer: LiteralInteger },
+ Fragment: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger },
+ };
+};
+pub const @"opencl.debuginfo.100.DebugImportedEntity" = enum(u32) {
+ ImportedModule = 0,
+ ImportedDeclaration = 1,
+};
+pub const @"nonsemantic.shader.debuginfo.100.DebugInfoFlags" = packed struct {
+ FlagIsProtected: bool = false,
+ FlagIsPrivate: bool = false,
+ FlagIsLocal: bool = false,
+ FlagIsDefinition: bool = false,
+ FlagFwdDecl: bool = false,
+ FlagArtificial: bool = false,
+ FlagExplicit: bool = false,
+ FlagPrototyped: bool = false,
+ FlagObjectPointer: bool = false,
+ FlagStaticMember: bool = false,
+ FlagIndirectVariable: bool = false,
+ FlagLValueReference: bool = false,
+ FlagRValueReference: bool = false,
+ FlagIsOptimized: bool = false,
+ FlagIsEnumClass: bool = false,
+ FlagTypePassByValue: bool = false,
+ FlagTypePassByReference: bool = false,
+ FlagUnknownPhysicalLayout: bool = false,
+ _reserved_bit_18: bool = false,
+ _reserved_bit_19: bool = false,
+ _reserved_bit_20: bool = false,
+ _reserved_bit_21: bool = false,
+ _reserved_bit_22: bool = false,
+ _reserved_bit_23: bool = false,
+ _reserved_bit_24: bool = false,
+ _reserved_bit_25: bool = false,
+ _reserved_bit_26: bool = false,
+ _reserved_bit_27: bool = false,
+ _reserved_bit_28: bool = false,
+ _reserved_bit_29: bool = false,
+ _reserved_bit_30: bool = false,
+ _reserved_bit_31: bool = false,
+};
+pub const @"nonsemantic.shader.debuginfo.100.BuildIdentifierFlags" = packed struct {
+ IdentifierPossibleDuplicates: bool = false,
+ _reserved_bit_1: bool = false,
+ _reserved_bit_2: bool = false,
+ _reserved_bit_3: bool = false,
+ _reserved_bit_4: bool = false,
+ _reserved_bit_5: bool = false,
+ _reserved_bit_6: bool = false,
+ _reserved_bit_7: bool = false,
+ _reserved_bit_8: bool = false,
+ _reserved_bit_9: bool = false,
+ _reserved_bit_10: bool = false,
+ _reserved_bit_11: bool = false,
+ _reserved_bit_12: bool = false,
+ _reserved_bit_13: bool = false,
+ _reserved_bit_14: bool = false,
+ _reserved_bit_15: bool = false,
+ _reserved_bit_16: bool = false,
+ _reserved_bit_17: bool = false,
+ _reserved_bit_18: bool = false,
+ _reserved_bit_19: bool = false,
+ _reserved_bit_20: bool = false,
+ _reserved_bit_21: bool = false,
+ _reserved_bit_22: bool = false,
+ _reserved_bit_23: bool = false,
+ _reserved_bit_24: bool = false,
+ _reserved_bit_25: bool = false,
+ _reserved_bit_26: bool = false,
+ _reserved_bit_27: bool = false,
+ _reserved_bit_28: bool = false,
+ _reserved_bit_29: bool = false,
+ _reserved_bit_30: bool = false,
+ _reserved_bit_31: bool = false,
+};
+pub const @"nonsemantic.shader.debuginfo.100.DebugBaseTypeAttributeEncoding" = enum(u32) {
+ Unspecified = 0,
+ Address = 1,
+ Boolean = 2,
+ Float = 3,
+ Signed = 4,
+ SignedChar = 5,
+ Unsigned = 6,
+ UnsignedChar = 7,
+};
+pub const @"nonsemantic.shader.debuginfo.100.DebugCompositeType" = enum(u32) {
+ Class = 0,
+ Structure = 1,
+ Union = 2,
+};
+pub const @"nonsemantic.shader.debuginfo.100.DebugTypeQualifier" = enum(u32) {
+ ConstType = 0,
+ VolatileType = 1,
+ RestrictType = 2,
+ AtomicType = 3,
+};
+pub const @"nonsemantic.shader.debuginfo.100.DebugOperation" = enum(u32) {
+ Deref = 0,
+ Plus = 1,
+ Minus = 2,
+ PlusUconst = 3,
+ BitPiece = 4,
+ Swap = 5,
+ Xderef = 6,
+ StackValue = 7,
+ Constu = 8,
+ Fragment = 9,
+
+ pub const Extended = union(@"nonsemantic.shader.debuginfo.100.DebugOperation") {
+ Deref,
+ Plus,
+ Minus,
+ PlusUconst: struct { id_ref: IdRef },
+ BitPiece: struct { id_ref_0: IdRef, id_ref_1: IdRef },
+ Swap,
+ Xderef,
+ StackValue,
+ Constu: struct { id_ref: IdRef },
+ Fragment: struct { id_ref_0: IdRef, id_ref_1: IdRef },
+ };
+};
+pub const @"nonsemantic.shader.debuginfo.100.DebugImportedEntity" = enum(u32) {
+ ImportedModule = 0,
+ ImportedDeclaration = 1,
+};
+pub const @"nonsemantic.clspvreflection.KernelPropertyFlags" = packed struct {
+ MayUsePrintf: bool = false,
+ _reserved_bit_1: bool = false,
+ _reserved_bit_2: bool = false,
+ _reserved_bit_3: bool = false,
+ _reserved_bit_4: bool = false,
+ _reserved_bit_5: bool = false,
+ _reserved_bit_6: bool = false,
+ _reserved_bit_7: bool = false,
+ _reserved_bit_8: bool = false,
+ _reserved_bit_9: bool = false,
+ _reserved_bit_10: bool = false,
+ _reserved_bit_11: bool = false,
+ _reserved_bit_12: bool = false,
+ _reserved_bit_13: bool = false,
+ _reserved_bit_14: bool = false,
+ _reserved_bit_15: bool = false,
+ _reserved_bit_16: bool = false,
+ _reserved_bit_17: bool = false,
+ _reserved_bit_18: bool = false,
+ _reserved_bit_19: bool = false,
+ _reserved_bit_20: bool = false,
+ _reserved_bit_21: bool = false,
+ _reserved_bit_22: bool = false,
+ _reserved_bit_23: bool = false,
+ _reserved_bit_24: bool = false,
+ _reserved_bit_25: bool = false,
+ _reserved_bit_26: bool = false,
+ _reserved_bit_27: bool = false,
+ _reserved_bit_28: bool = false,
+ _reserved_bit_29: bool = false,
+ _reserved_bit_30: bool = false,
+ _reserved_bit_31: bool = false,
+};
+pub const @"debuginfo.DebugInfoFlags" = packed struct {
+ FlagIsProtected: bool = false,
+ FlagIsPrivate: bool = false,
+ FlagIsLocal: bool = false,
+ FlagIsDefinition: bool = false,
+ FlagFwdDecl: bool = false,
+ FlagArtificial: bool = false,
+ FlagExplicit: bool = false,
+ FlagPrototyped: bool = false,
+ FlagObjectPointer: bool = false,
+ FlagStaticMember: bool = false,
+ FlagIndirectVariable: bool = false,
+ FlagLValueReference: bool = false,
+ FlagRValueReference: bool = false,
+ FlagIsOptimized: bool = false,
+ _reserved_bit_14: bool = false,
+ _reserved_bit_15: bool = false,
+ _reserved_bit_16: bool = false,
+ _reserved_bit_17: bool = false,
+ _reserved_bit_18: bool = false,
+ _reserved_bit_19: bool = false,
+ _reserved_bit_20: bool = false,
+ _reserved_bit_21: bool = false,
+ _reserved_bit_22: bool = false,
+ _reserved_bit_23: bool = false,
+ _reserved_bit_24: bool = false,
+ _reserved_bit_25: bool = false,
+ _reserved_bit_26: bool = false,
+ _reserved_bit_27: bool = false,
+ _reserved_bit_28: bool = false,
+ _reserved_bit_29: bool = false,
+ _reserved_bit_30: bool = false,
+ _reserved_bit_31: bool = false,
+};
+pub const @"debuginfo.DebugBaseTypeAttributeEncoding" = enum(u32) {
+ Unspecified = 0,
+ Address = 1,
+ Boolean = 2,
+ Float = 4,
+ Signed = 5,
+ SignedChar = 6,
+ Unsigned = 7,
+ UnsignedChar = 8,
+};
+pub const @"debuginfo.DebugCompositeType" = enum(u32) {
+ Class = 0,
+ Structure = 1,
+ Union = 2,
+};
+pub const @"debuginfo.DebugTypeQualifier" = enum(u32) {
+ ConstType = 0,
+ VolatileType = 1,
+ RestrictType = 2,
+};
+pub const @"debuginfo.DebugOperation" = enum(u32) {
+ Deref = 0,
+ Plus = 1,
+ Minus = 2,
+ PlusUconst = 3,
+ BitPiece = 4,
+ Swap = 5,
+ Xderef = 6,
+ StackValue = 7,
+ Constu = 8,
+
+ pub const Extended = union(@"debuginfo.DebugOperation") {
+ Deref,
+ Plus,
+ Minus,
+ PlusUconst: struct { literal_integer: LiteralInteger },
+ BitPiece: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger },
+ Swap,
+ Xderef,
+ StackValue,
+ Constu: struct { literal_integer: LiteralInteger },
+ };
+};
+pub const InstructionSet = enum {
+ core,
+ @"opencl.std.100",
+ @"glsl.std.450",
+ @"opencl.debuginfo.100",
+ @"spv-amd-shader-ballot",
+ @"nonsemantic.shader.debuginfo.100",
+ @"nonsemantic.vkspreflection",
+ @"nonsemantic.clspvreflection",
+ @"spv-amd-gcn-shader",
+ @"spv-amd-shader-trinary-minmax",
+ debuginfo,
+ @"nonsemantic.debugprintf",
+ @"spv-amd-shader-explicit-vertex-parameter",
+ @"nonsemantic.debugbreak",
+
+ pub fn instructions(self: InstructionSet) []const Instruction {
+ return switch (self) {
+ .core => &[_]Instruction{
+ .{
+ .name = "OpNop",
+ .opcode = 0,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpUndef",
+ .opcode = 1,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSourceContinued",
+ .opcode = 2,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralString, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSource",
+ .opcode = 3,
+ .operands = &[_]Operand{
+ .{ .kind = .SourceLanguage, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ .{ .kind = .LiteralString, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpSourceExtension",
+ .opcode = 4,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralString, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpName",
+ .opcode = 5,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralString, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpMemberName",
+ .opcode = 6,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralString, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpString",
+ .opcode = 7,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .LiteralString, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpLine",
+ .opcode = 8,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpExtension",
+ .opcode = 10,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralString, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpExtInstImport",
+ .opcode = 11,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .LiteralString, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpExtInst",
+ .opcode = 12,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralExtInstInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpMemoryModel",
+ .opcode = 14,
+ .operands = &[_]Operand{
+ .{ .kind = .AddressingModel, .quantifier = .required },
+ .{ .kind = .MemoryModel, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpEntryPoint",
+ .opcode = 15,
+ .operands = &[_]Operand{
+ .{ .kind = .ExecutionModel, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralString, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpExecutionMode",
+ .opcode = 16,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ExecutionMode, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpCapability",
+ .opcode = 17,
+ .operands = &[_]Operand{
+ .{ .kind = .Capability, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeVoid",
+ .opcode = 19,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeBool",
+ .opcode = 20,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeInt",
+ .opcode = 21,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeFloat",
+ .opcode = 22,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeVector",
+ .opcode = 23,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeMatrix",
+ .opcode = 24,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeImage",
+ .opcode = 25,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .Dim, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .ImageFormat, .quantifier = .required },
+ .{ .kind = .AccessQualifier, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpTypeSampler",
+ .opcode = 26,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeSampledImage",
+ .opcode = 27,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeArray",
+ .opcode = 28,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeRuntimeArray",
+ .opcode = 29,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeStruct",
+ .opcode = 30,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpTypeOpaque",
+ .opcode = 31,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .LiteralString, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypePointer",
+ .opcode = 32,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .StorageClass, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeFunction",
+ .opcode = 33,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpTypeEvent",
+ .opcode = 34,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeDeviceEvent",
+ .opcode = 35,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeReserveId",
+ .opcode = 36,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeQueue",
+ .opcode = 37,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypePipe",
+ .opcode = 38,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .AccessQualifier, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeForwardPointer",
+ .opcode = 39,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .StorageClass, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConstantTrue",
+ .opcode = 41,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConstantFalse",
+ .opcode = 42,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConstant",
+ .opcode = 43,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .LiteralContextDependentNumber, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConstantComposite",
+ .opcode = 44,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpConstantSampler",
+ .opcode = 45,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .SamplerAddressingMode, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .SamplerFilterMode, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConstantNull",
+ .opcode = 46,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSpecConstantTrue",
+ .opcode = 48,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSpecConstantFalse",
+ .opcode = 49,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSpecConstant",
+ .opcode = 50,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .LiteralContextDependentNumber, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSpecConstantComposite",
+ .opcode = 51,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpSpecConstantOp",
+ .opcode = 52,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .LiteralSpecConstantOpInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFunction",
+ .opcode = 54,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .FunctionControl, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFunctionParameter",
+ .opcode = 55,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFunctionEnd",
+ .opcode = 56,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpFunctionCall",
+ .opcode = 57,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpVariable",
+ .opcode = 59,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .StorageClass, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageTexelPointer",
+ .opcode = 60,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpLoad",
+ .opcode = 61,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .MemoryAccess, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpStore",
+ .opcode = 62,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .MemoryAccess, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpCopyMemory",
+ .opcode = 63,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .MemoryAccess, .quantifier = .optional },
+ .{ .kind = .MemoryAccess, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpCopyMemorySized",
+ .opcode = 64,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .MemoryAccess, .quantifier = .optional },
+ .{ .kind = .MemoryAccess, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpAccessChain",
+ .opcode = 65,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpInBoundsAccessChain",
+ .opcode = 66,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpPtrAccessChain",
+ .opcode = 67,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpArrayLength",
+ .opcode = 68,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGenericPtrMemSemantics",
+ .opcode = 69,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpInBoundsPtrAccessChain",
+ .opcode = 70,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpDecorate",
+ .opcode = 71,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .Decoration, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpMemberDecorate",
+ .opcode = 72,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .Decoration, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpDecorationGroup",
+ .opcode = 73,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupDecorate",
+ .opcode = 74,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpGroupMemberDecorate",
+ .opcode = 75,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .PairIdRefLiteralInteger, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpVectorExtractDynamic",
+ .opcode = 77,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpVectorInsertDynamic",
+ .opcode = 78,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpVectorShuffle",
+ .opcode = 79,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpCompositeConstruct",
+ .opcode = 80,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpCompositeExtract",
+ .opcode = 81,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpCompositeInsert",
+ .opcode = 82,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpCopyObject",
+ .opcode = 83,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTranspose",
+ .opcode = 84,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSampledImage",
+ .opcode = 86,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageSampleImplicitLod",
+ .opcode = 87,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageSampleExplicitLod",
+ .opcode = 88,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageSampleDrefImplicitLod",
+ .opcode = 89,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageSampleDrefExplicitLod",
+ .opcode = 90,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageSampleProjImplicitLod",
+ .opcode = 91,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageSampleProjExplicitLod",
+ .opcode = 92,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageSampleProjDrefImplicitLod",
+ .opcode = 93,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageSampleProjDrefExplicitLod",
+ .opcode = 94,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageFetch",
+ .opcode = 95,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageGather",
+ .opcode = 96,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageDrefGather",
+ .opcode = 97,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageRead",
+ .opcode = 98,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageWrite",
+ .opcode = 99,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImage",
+ .opcode = 100,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageQueryFormat",
+ .opcode = 101,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageQueryOrder",
+ .opcode = 102,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageQuerySizeLod",
+ .opcode = 103,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageQuerySize",
+ .opcode = 104,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageQueryLod",
+ .opcode = 105,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageQueryLevels",
+ .opcode = 106,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageQuerySamples",
+ .opcode = 107,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConvertFToU",
+ .opcode = 109,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConvertFToS",
+ .opcode = 110,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConvertSToF",
+ .opcode = 111,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConvertUToF",
+ .opcode = 112,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpUConvert",
+ .opcode = 113,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSConvert",
+ .opcode = 114,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFConvert",
+ .opcode = 115,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpQuantizeToF16",
+ .opcode = 116,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConvertPtrToU",
+ .opcode = 117,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSatConvertSToU",
+ .opcode = 118,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSatConvertUToS",
+ .opcode = 119,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConvertUToPtr",
+ .opcode = 120,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpPtrCastToGeneric",
+ .opcode = 121,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGenericCastToPtr",
+ .opcode = 122,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGenericCastToPtrExplicit",
+ .opcode = 123,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .StorageClass, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpBitcast",
+ .opcode = 124,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSNegate",
+ .opcode = 126,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFNegate",
+ .opcode = 127,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIAdd",
+ .opcode = 128,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFAdd",
+ .opcode = 129,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpISub",
+ .opcode = 130,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFSub",
+ .opcode = 131,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIMul",
+ .opcode = 132,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFMul",
+ .opcode = 133,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpUDiv",
+ .opcode = 134,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSDiv",
+ .opcode = 135,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFDiv",
+ .opcode = 136,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpUMod",
+ .opcode = 137,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSRem",
+ .opcode = 138,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSMod",
+ .opcode = 139,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFRem",
+ .opcode = 140,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFMod",
+ .opcode = 141,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpVectorTimesScalar",
+ .opcode = 142,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpMatrixTimesScalar",
+ .opcode = 143,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpVectorTimesMatrix",
+ .opcode = 144,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpMatrixTimesVector",
+ .opcode = 145,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpMatrixTimesMatrix",
+ .opcode = 146,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpOuterProduct",
+ .opcode = 147,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpDot",
+ .opcode = 148,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIAddCarry",
+ .opcode = 149,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpISubBorrow",
+ .opcode = 150,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpUMulExtended",
+ .opcode = 151,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSMulExtended",
+ .opcode = 152,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAny",
+ .opcode = 154,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAll",
+ .opcode = 155,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIsNan",
+ .opcode = 156,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIsInf",
+ .opcode = 157,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIsFinite",
+ .opcode = 158,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIsNormal",
+ .opcode = 159,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSignBitSet",
+ .opcode = 160,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpLessOrGreater",
+ .opcode = 161,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpOrdered",
+ .opcode = 162,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpUnordered",
+ .opcode = 163,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpLogicalEqual",
+ .opcode = 164,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpLogicalNotEqual",
+ .opcode = 165,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpLogicalOr",
+ .opcode = 166,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpLogicalAnd",
+ .opcode = 167,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpLogicalNot",
+ .opcode = 168,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSelect",
+ .opcode = 169,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIEqual",
+ .opcode = 170,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpINotEqual",
+ .opcode = 171,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpUGreaterThan",
+ .opcode = 172,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSGreaterThan",
+ .opcode = 173,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpUGreaterThanEqual",
+ .opcode = 174,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSGreaterThanEqual",
+ .opcode = 175,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpULessThan",
+ .opcode = 176,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSLessThan",
+ .opcode = 177,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpULessThanEqual",
+ .opcode = 178,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSLessThanEqual",
+ .opcode = 179,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFOrdEqual",
+ .opcode = 180,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFUnordEqual",
+ .opcode = 181,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFOrdNotEqual",
+ .opcode = 182,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFUnordNotEqual",
+ .opcode = 183,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFOrdLessThan",
+ .opcode = 184,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFUnordLessThan",
+ .opcode = 185,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFOrdGreaterThan",
+ .opcode = 186,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFUnordGreaterThan",
+ .opcode = 187,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFOrdLessThanEqual",
+ .opcode = 188,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFUnordLessThanEqual",
+ .opcode = 189,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFOrdGreaterThanEqual",
+ .opcode = 190,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFUnordGreaterThanEqual",
+ .opcode = 191,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpShiftRightLogical",
+ .opcode = 194,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpShiftRightArithmetic",
+ .opcode = 195,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpShiftLeftLogical",
+ .opcode = 196,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpBitwiseOr",
+ .opcode = 197,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpBitwiseXor",
+ .opcode = 198,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpBitwiseAnd",
+ .opcode = 199,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpNot",
+ .opcode = 200,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpBitFieldInsert",
+ .opcode = 201,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpBitFieldSExtract",
+ .opcode = 202,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpBitFieldUExtract",
+ .opcode = 203,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpBitReverse",
+ .opcode = 204,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpBitCount",
+ .opcode = 205,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpDPdx",
+ .opcode = 207,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpDPdy",
+ .opcode = 208,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFwidth",
+ .opcode = 209,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpDPdxFine",
+ .opcode = 210,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpDPdyFine",
+ .opcode = 211,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFwidthFine",
+ .opcode = 212,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpDPdxCoarse",
+ .opcode = 213,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpDPdyCoarse",
+ .opcode = 214,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFwidthCoarse",
+ .opcode = 215,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpEmitVertex",
+ .opcode = 218,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpEndPrimitive",
+ .opcode = 219,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpEmitStreamVertex",
+ .opcode = 220,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpEndStreamPrimitive",
+ .opcode = 221,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpControlBarrier",
+ .opcode = 224,
+ .operands = &[_]Operand{
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpMemoryBarrier",
+ .opcode = 225,
+ .operands = &[_]Operand{
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicLoad",
+ .opcode = 227,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicStore",
+ .opcode = 228,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicExchange",
+ .opcode = 229,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicCompareExchange",
+ .opcode = 230,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicCompareExchangeWeak",
+ .opcode = 231,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicIIncrement",
+ .opcode = 232,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicIDecrement",
+ .opcode = 233,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicIAdd",
+ .opcode = 234,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicISub",
+ .opcode = 235,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicSMin",
+ .opcode = 236,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicUMin",
+ .opcode = 237,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicSMax",
+ .opcode = 238,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicUMax",
+ .opcode = 239,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicAnd",
+ .opcode = 240,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicOr",
+ .opcode = 241,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicXor",
+ .opcode = 242,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpPhi",
+ .opcode = 245,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .PairIdRefIdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpLoopMerge",
+ .opcode = 246,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LoopControl, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSelectionMerge",
+ .opcode = 247,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .SelectionControl, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpLabel",
+ .opcode = 248,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpBranch",
+ .opcode = 249,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpBranchConditional",
+ .opcode = 250,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpSwitch",
+ .opcode = 251,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .PairLiteralIntegerIdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpKill",
+ .opcode = 252,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpReturn",
+ .opcode = 253,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpReturnValue",
+ .opcode = 254,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpUnreachable",
+ .opcode = 255,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpLifetimeStart",
+ .opcode = 256,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpLifetimeStop",
+ .opcode = 257,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupAsyncCopy",
+ .opcode = 259,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupWaitEvents",
+ .opcode = 260,
+ .operands = &[_]Operand{
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupAll",
+ .opcode = 261,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupAny",
+ .opcode = 262,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupBroadcast",
+ .opcode = 263,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupIAdd",
+ .opcode = 264,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupFAdd",
+ .opcode = 265,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupFMin",
+ .opcode = 266,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupUMin",
+ .opcode = 267,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupSMin",
+ .opcode = 268,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupFMax",
+ .opcode = 269,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupUMax",
+ .opcode = 270,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupSMax",
+ .opcode = 271,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpReadPipe",
+ .opcode = 274,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpWritePipe",
+ .opcode = 275,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpReservedReadPipe",
+ .opcode = 276,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpReservedWritePipe",
+ .opcode = 277,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpReserveReadPipePackets",
+ .opcode = 278,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpReserveWritePipePackets",
+ .opcode = 279,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpCommitReadPipe",
+ .opcode = 280,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpCommitWritePipe",
+ .opcode = 281,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIsValidReserveId",
+ .opcode = 282,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGetNumPipePackets",
+ .opcode = 283,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGetMaxPipePackets",
+ .opcode = 284,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupReserveReadPipePackets",
+ .opcode = 285,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupReserveWritePipePackets",
+ .opcode = 286,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupCommitReadPipe",
+ .opcode = 287,
+ .operands = &[_]Operand{
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupCommitWritePipe",
+ .opcode = 288,
+ .operands = &[_]Operand{
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpEnqueueMarker",
+ .opcode = 291,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpEnqueueKernel",
+ .opcode = 292,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpGetKernelNDrangeSubGroupCount",
+ .opcode = 293,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGetKernelNDrangeMaxSubGroupSize",
+ .opcode = 294,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGetKernelWorkGroupSize",
+ .opcode = 295,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGetKernelPreferredWorkGroupSizeMultiple",
+ .opcode = 296,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRetainEvent",
+ .opcode = 297,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpReleaseEvent",
+ .opcode = 298,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpCreateUserEvent",
+ .opcode = 299,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIsValidEvent",
+ .opcode = 300,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSetUserEventStatus",
+ .opcode = 301,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpCaptureEventProfilingInfo",
+ .opcode = 302,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGetDefaultQueue",
+ .opcode = 303,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpBuildNDRange",
+ .opcode = 304,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageSparseSampleImplicitLod",
+ .opcode = 305,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageSparseSampleExplicitLod",
+ .opcode = 306,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageSparseSampleDrefImplicitLod",
+ .opcode = 307,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageSparseSampleDrefExplicitLod",
+ .opcode = 308,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageSparseSampleProjImplicitLod",
+ .opcode = 309,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageSparseSampleProjExplicitLod",
+ .opcode = 310,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageSparseSampleProjDrefImplicitLod",
+ .opcode = 311,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageSparseSampleProjDrefExplicitLod",
+ .opcode = 312,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageSparseFetch",
+ .opcode = 313,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageSparseGather",
+ .opcode = 314,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageSparseDrefGather",
+ .opcode = 315,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpImageSparseTexelsResident",
+ .opcode = 316,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpNoLine",
+ .opcode = 317,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpAtomicFlagTestAndSet",
+ .opcode = 318,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicFlagClear",
+ .opcode = 319,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageSparseRead",
+ .opcode = 320,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpSizeOf",
+ .opcode = 321,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypePipeStorage",
+ .opcode = 322,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConstantPipeStorage",
+ .opcode = 323,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpCreatePipeFromPipeStorage",
+ .opcode = 324,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGetKernelLocalSizeForSubgroupCount",
+ .opcode = 325,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGetKernelMaxNumSubgroups",
+ .opcode = 326,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeNamedBarrier",
+ .opcode = 327,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpNamedBarrierInitialize",
+ .opcode = 328,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpMemoryNamedBarrier",
+ .opcode = 329,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpModuleProcessed",
+ .opcode = 330,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralString, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpExecutionModeId",
+ .opcode = 331,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ExecutionMode, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpDecorateId",
+ .opcode = 332,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .Decoration, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformElect",
+ .opcode = 333,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformAll",
+ .opcode = 334,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformAny",
+ .opcode = 335,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformAllEqual",
+ .opcode = 336,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformBroadcast",
+ .opcode = 337,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformBroadcastFirst",
+ .opcode = 338,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformBallot",
+ .opcode = 339,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformInverseBallot",
+ .opcode = 340,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformBallotBitExtract",
+ .opcode = 341,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformBallotBitCount",
+ .opcode = 342,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformBallotFindLSB",
+ .opcode = 343,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformBallotFindMSB",
+ .opcode = 344,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformShuffle",
+ .opcode = 345,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformShuffleXor",
+ .opcode = 346,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformShuffleUp",
+ .opcode = 347,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformShuffleDown",
+ .opcode = 348,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformIAdd",
+ .opcode = 349,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformFAdd",
+ .opcode = 350,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformIMul",
+ .opcode = 351,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformFMul",
+ .opcode = 352,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformSMin",
+ .opcode = 353,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformUMin",
+ .opcode = 354,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformFMin",
+ .opcode = 355,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformSMax",
+ .opcode = 356,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformUMax",
+ .opcode = 357,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformFMax",
+ .opcode = 358,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformBitwiseAnd",
+ .opcode = 359,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformBitwiseOr",
+ .opcode = 360,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformBitwiseXor",
+ .opcode = 361,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformLogicalAnd",
+ .opcode = 362,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformLogicalOr",
+ .opcode = 363,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformLogicalXor",
+ .opcode = 364,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformQuadBroadcast",
+ .opcode = 365,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformQuadSwap",
+ .opcode = 366,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpCopyLogical",
+ .opcode = 400,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpPtrEqual",
+ .opcode = 401,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpPtrNotEqual",
+ .opcode = 402,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpPtrDiff",
+ .opcode = 403,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpColorAttachmentReadEXT",
+ .opcode = 4160,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpDepthAttachmentReadEXT",
+ .opcode = 4161,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpStencilAttachmentReadEXT",
+ .opcode = 4162,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpTerminateInvocation",
+ .opcode = 4416,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpSubgroupBallotKHR",
+ .opcode = 4421,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupFirstInvocationKHR",
+ .opcode = 4422,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAllKHR",
+ .opcode = 4428,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAnyKHR",
+ .opcode = 4429,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAllEqualKHR",
+ .opcode = 4430,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformRotateKHR",
+ .opcode = 4431,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpSubgroupReadInvocationKHR",
+ .opcode = 4432,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTraceRayKHR",
+ .opcode = 4445,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpExecuteCallableKHR",
+ .opcode = 4446,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConvertUToAccelerationStructureKHR",
+ .opcode = 4447,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIgnoreIntersectionKHR",
+ .opcode = 4448,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpTerminateRayKHR",
+ .opcode = 4449,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpSDot",
+ .opcode = 4450,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpSDotKHR",
+ .opcode = 4450,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpUDot",
+ .opcode = 4451,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpUDotKHR",
+ .opcode = 4451,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpSUDot",
+ .opcode = 4452,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpSUDotKHR",
+ .opcode = 4452,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpSDotAccSat",
+ .opcode = 4453,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpSDotAccSatKHR",
+ .opcode = 4453,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpUDotAccSat",
+ .opcode = 4454,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpUDotAccSatKHR",
+ .opcode = 4454,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpSUDotAccSat",
+ .opcode = 4455,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpSUDotAccSatKHR",
+ .opcode = 4455,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpTypeCooperativeMatrixKHR",
+ .opcode = 4456,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpCooperativeMatrixLoadKHR",
+ .opcode = 4457,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ .{ .kind = .MemoryAccess, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpCooperativeMatrixStoreKHR",
+ .opcode = 4458,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ .{ .kind = .MemoryAccess, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpCooperativeMatrixMulAddKHR",
+ .opcode = 4459,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .CooperativeMatrixOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpCooperativeMatrixLengthKHR",
+ .opcode = 4460,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeRayQueryKHR",
+ .opcode = 4472,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryInitializeKHR",
+ .opcode = 4473,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryTerminateKHR",
+ .opcode = 4474,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGenerateIntersectionKHR",
+ .opcode = 4475,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryConfirmIntersectionKHR",
+ .opcode = 4476,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryProceedKHR",
+ .opcode = 4477,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetIntersectionTypeKHR",
+ .opcode = 4479,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageSampleWeightedQCOM",
+ .opcode = 4480,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageBoxFilterQCOM",
+ .opcode = 4481,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageBlockMatchSSDQCOM",
+ .opcode = 4482,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageBlockMatchSADQCOM",
+ .opcode = 4483,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageBlockMatchWindowSSDQCOM",
+ .opcode = 4500,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageBlockMatchWindowSADQCOM",
+ .opcode = 4501,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageBlockMatchGatherSSDQCOM",
+ .opcode = 4502,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageBlockMatchGatherSADQCOM",
+ .opcode = 4503,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupIAddNonUniformAMD",
+ .opcode = 5000,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupFAddNonUniformAMD",
+ .opcode = 5001,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupFMinNonUniformAMD",
+ .opcode = 5002,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupUMinNonUniformAMD",
+ .opcode = 5003,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupSMinNonUniformAMD",
+ .opcode = 5004,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupFMaxNonUniformAMD",
+ .opcode = 5005,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupUMaxNonUniformAMD",
+ .opcode = 5006,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupSMaxNonUniformAMD",
+ .opcode = 5007,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFragmentMaskFetchAMD",
+ .opcode = 5011,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFragmentFetchAMD",
+ .opcode = 5012,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpReadClockKHR",
+ .opcode = 5056,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFinalizeNodePayloadsAMDX",
+ .opcode = 5075,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFinishWritingNodePayloadAMDX",
+ .opcode = 5078,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpInitializeNodePayloadsAMDX",
+ .opcode = 5090,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformQuadAllKHR",
+ .opcode = 5110,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformQuadAnyKHR",
+ .opcode = 5111,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectRecordHitMotionNV",
+ .opcode = 5249,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectRecordHitWithIndexMotionNV",
+ .opcode = 5250,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectRecordMissMotionNV",
+ .opcode = 5251,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetWorldToObjectNV",
+ .opcode = 5252,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetObjectToWorldNV",
+ .opcode = 5253,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetObjectRayDirectionNV",
+ .opcode = 5254,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetObjectRayOriginNV",
+ .opcode = 5255,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectTraceRayMotionNV",
+ .opcode = 5256,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetShaderRecordBufferHandleNV",
+ .opcode = 5257,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetShaderBindingTableRecordIndexNV",
+ .opcode = 5258,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectRecordEmptyNV",
+ .opcode = 5259,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectTraceRayNV",
+ .opcode = 5260,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectRecordHitNV",
+ .opcode = 5261,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectRecordHitWithIndexNV",
+ .opcode = 5262,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectRecordMissNV",
+ .opcode = 5263,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectExecuteShaderNV",
+ .opcode = 5264,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetCurrentTimeNV",
+ .opcode = 5265,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetAttributesNV",
+ .opcode = 5266,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetHitKindNV",
+ .opcode = 5267,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetPrimitiveIndexNV",
+ .opcode = 5268,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetGeometryIndexNV",
+ .opcode = 5269,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetInstanceIdNV",
+ .opcode = 5270,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetInstanceCustomIndexNV",
+ .opcode = 5271,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetWorldRayDirectionNV",
+ .opcode = 5272,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetWorldRayOriginNV",
+ .opcode = 5273,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetRayTMaxNV",
+ .opcode = 5274,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectGetRayTMinNV",
+ .opcode = 5275,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectIsEmptyNV",
+ .opcode = 5276,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectIsHitNV",
+ .opcode = 5277,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpHitObjectIsMissNV",
+ .opcode = 5278,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpReorderThreadWithHitObjectNV",
+ .opcode = 5279,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpReorderThreadWithHintNV",
+ .opcode = 5280,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeHitObjectNV",
+ .opcode = 5281,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpImageSampleFootprintNV",
+ .opcode = 5283,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .ImageOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpEmitMeshTasksEXT",
+ .opcode = 5294,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpSetMeshOutputsEXT",
+ .opcode = 5295,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupNonUniformPartitionNV",
+ .opcode = 5296,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpWritePackedPrimitiveIndices4x8NV",
+ .opcode = 5299,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFetchMicroTriangleVertexPositionNV",
+ .opcode = 5300,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFetchMicroTriangleVertexBarycentricNV",
+ .opcode = 5301,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpReportIntersectionNV",
+ .opcode = 5334,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpReportIntersectionKHR",
+ .opcode = 5334,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIgnoreIntersectionNV",
+ .opcode = 5335,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpTerminateRayNV",
+ .opcode = 5336,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpTraceNV",
+ .opcode = 5337,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTraceMotionNV",
+ .opcode = 5338,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTraceRayMotionNV",
+ .opcode = 5339,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetIntersectionTriangleVertexPositionsKHR",
+ .opcode = 5340,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeAccelerationStructureNV",
+ .opcode = 5341,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeAccelerationStructureKHR",
+ .opcode = 5341,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpExecuteCallableNV",
+ .opcode = 5344,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeCooperativeMatrixNV",
+ .opcode = 5358,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpCooperativeMatrixLoadNV",
+ .opcode = 5359,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .MemoryAccess, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpCooperativeMatrixStoreNV",
+ .opcode = 5360,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .MemoryAccess, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpCooperativeMatrixMulAddNV",
+ .opcode = 5361,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpCooperativeMatrixLengthNV",
+ .opcode = 5362,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpBeginInvocationInterlockEXT",
+ .opcode = 5364,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpEndInvocationInterlockEXT",
+ .opcode = 5365,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpDemoteToHelperInvocation",
+ .opcode = 5380,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpDemoteToHelperInvocationEXT",
+ .opcode = 5380,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "OpIsHelperInvocationEXT",
+ .opcode = 5381,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConvertUToImageNV",
+ .opcode = 5391,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConvertUToSamplerNV",
+ .opcode = 5392,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConvertImageToUNV",
+ .opcode = 5393,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConvertSamplerToUNV",
+ .opcode = 5394,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConvertUToSampledImageNV",
+ .opcode = 5395,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConvertSampledImageToUNV",
+ .opcode = 5396,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSamplerImageAddressingModeNV",
+ .opcode = 5397,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRawAccessChainNV",
+ .opcode = 5398,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .RawAccessChainOperands, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpSubgroupShuffleINTEL",
+ .opcode = 5571,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupShuffleDownINTEL",
+ .opcode = 5572,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupShuffleUpINTEL",
+ .opcode = 5573,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupShuffleXorINTEL",
+ .opcode = 5574,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupBlockReadINTEL",
+ .opcode = 5575,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupBlockWriteINTEL",
+ .opcode = 5576,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupImageBlockReadINTEL",
+ .opcode = 5577,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupImageBlockWriteINTEL",
+ .opcode = 5578,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupImageMediaBlockReadINTEL",
+ .opcode = 5580,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupImageMediaBlockWriteINTEL",
+ .opcode = 5581,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpUCountLeadingZerosINTEL",
+ .opcode = 5585,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpUCountTrailingZerosINTEL",
+ .opcode = 5586,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAbsISubINTEL",
+ .opcode = 5587,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAbsUSubINTEL",
+ .opcode = 5588,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIAddSatINTEL",
+ .opcode = 5589,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpUAddSatINTEL",
+ .opcode = 5590,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIAverageINTEL",
+ .opcode = 5591,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpUAverageINTEL",
+ .opcode = 5592,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIAverageRoundedINTEL",
+ .opcode = 5593,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpUAverageRoundedINTEL",
+ .opcode = 5594,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpISubSatINTEL",
+ .opcode = 5595,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpUSubSatINTEL",
+ .opcode = 5596,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpIMul32x16INTEL",
+ .opcode = 5597,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpUMul32x16INTEL",
+ .opcode = 5598,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConstantFunctionPointerINTEL",
+ .opcode = 5600,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFunctionPointerCallINTEL",
+ .opcode = 5601,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpAsmTargetINTEL",
+ .opcode = 5609,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .LiteralString, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAsmINTEL",
+ .opcode = 5610,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralString, .quantifier = .required },
+ .{ .kind = .LiteralString, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAsmCallINTEL",
+ .opcode = 5611,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpAtomicFMinEXT",
+ .opcode = 5614,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicFMaxEXT",
+ .opcode = 5615,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAssumeTrueKHR",
+ .opcode = 5630,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpExpectKHR",
+ .opcode = 5631,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpDecorateString",
+ .opcode = 5632,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .Decoration, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpDecorateStringGOOGLE",
+ .opcode = 5632,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .Decoration, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpMemberDecorateString",
+ .opcode = 5633,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .Decoration, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpMemberDecorateStringGOOGLE",
+ .opcode = 5633,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .Decoration, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpVmeImageINTEL",
+ .opcode = 5699,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeVmeImageINTEL",
+ .opcode = 5700,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeAvcImePayloadINTEL",
+ .opcode = 5701,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeAvcRefPayloadINTEL",
+ .opcode = 5702,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeAvcSicPayloadINTEL",
+ .opcode = 5703,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeAvcMcePayloadINTEL",
+ .opcode = 5704,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeAvcMceResultINTEL",
+ .opcode = 5705,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeAvcImeResultINTEL",
+ .opcode = 5706,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeAvcImeResultSingleReferenceStreamoutINTEL",
+ .opcode = 5707,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeAvcImeResultDualReferenceStreamoutINTEL",
+ .opcode = 5708,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeAvcImeSingleReferenceStreaminINTEL",
+ .opcode = 5709,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeAvcImeDualReferenceStreaminINTEL",
+ .opcode = 5710,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeAvcRefResultINTEL",
+ .opcode = 5711,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeAvcSicResultINTEL",
+ .opcode = 5712,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL",
+ .opcode = 5713,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL",
+ .opcode = 5714,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL",
+ .opcode = 5715,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceSetInterShapePenaltyINTEL",
+ .opcode = 5716,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL",
+ .opcode = 5717,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL",
+ .opcode = 5718,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL",
+ .opcode = 5719,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL",
+ .opcode = 5720,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL",
+ .opcode = 5721,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL",
+ .opcode = 5722,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL",
+ .opcode = 5723,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL",
+ .opcode = 5724,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL",
+ .opcode = 5725,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL",
+ .opcode = 5726,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL",
+ .opcode = 5727,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceSetAcOnlyHaarINTEL",
+ .opcode = 5728,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL",
+ .opcode = 5729,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL",
+ .opcode = 5730,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL",
+ .opcode = 5731,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceConvertToImePayloadINTEL",
+ .opcode = 5732,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceConvertToImeResultINTEL",
+ .opcode = 5733,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceConvertToRefPayloadINTEL",
+ .opcode = 5734,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceConvertToRefResultINTEL",
+ .opcode = 5735,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceConvertToSicPayloadINTEL",
+ .opcode = 5736,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceConvertToSicResultINTEL",
+ .opcode = 5737,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetMotionVectorsINTEL",
+ .opcode = 5738,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetInterDistortionsINTEL",
+ .opcode = 5739,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetBestInterDistortionsINTEL",
+ .opcode = 5740,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetInterMajorShapeINTEL",
+ .opcode = 5741,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetInterMinorShapeINTEL",
+ .opcode = 5742,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetInterDirectionsINTEL",
+ .opcode = 5743,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetInterMotionVectorCountINTEL",
+ .opcode = 5744,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetInterReferenceIdsINTEL",
+ .opcode = 5745,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL",
+ .opcode = 5746,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeInitializeINTEL",
+ .opcode = 5747,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeSetSingleReferenceINTEL",
+ .opcode = 5748,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeSetDualReferenceINTEL",
+ .opcode = 5749,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeRefWindowSizeINTEL",
+ .opcode = 5750,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeAdjustRefOffsetINTEL",
+ .opcode = 5751,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeConvertToMcePayloadINTEL",
+ .opcode = 5752,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL",
+ .opcode = 5753,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL",
+ .opcode = 5754,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL",
+ .opcode = 5755,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeSetWeightedSadINTEL",
+ .opcode = 5756,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL",
+ .opcode = 5757,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL",
+ .opcode = 5758,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL",
+ .opcode = 5759,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL",
+ .opcode = 5760,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL",
+ .opcode = 5761,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL",
+ .opcode = 5762,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL",
+ .opcode = 5763,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL",
+ .opcode = 5764,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeConvertToMceResultINTEL",
+ .opcode = 5765,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL",
+ .opcode = 5766,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeGetDualReferenceStreaminINTEL",
+ .opcode = 5767,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL",
+ .opcode = 5768,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL",
+ .opcode = 5769,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL",
+ .opcode = 5770,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL",
+ .opcode = 5771,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL",
+ .opcode = 5772,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL",
+ .opcode = 5773,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL",
+ .opcode = 5774,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL",
+ .opcode = 5775,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeGetBorderReachedINTEL",
+ .opcode = 5776,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL",
+ .opcode = 5777,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL",
+ .opcode = 5778,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL",
+ .opcode = 5779,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL",
+ .opcode = 5780,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcFmeInitializeINTEL",
+ .opcode = 5781,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcBmeInitializeINTEL",
+ .opcode = 5782,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcRefConvertToMcePayloadINTEL",
+ .opcode = 5783,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL",
+ .opcode = 5784,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcRefSetBilinearFilterEnableINTEL",
+ .opcode = 5785,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL",
+ .opcode = 5786,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL",
+ .opcode = 5787,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL",
+ .opcode = 5788,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL",
+ .opcode = 5789,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcRefConvertToMceResultINTEL",
+ .opcode = 5790,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicInitializeINTEL",
+ .opcode = 5791,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicConfigureSkcINTEL",
+ .opcode = 5792,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicConfigureIpeLumaINTEL",
+ .opcode = 5793,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL",
+ .opcode = 5794,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicGetMotionVectorMaskINTEL",
+ .opcode = 5795,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicConvertToMcePayloadINTEL",
+ .opcode = 5796,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL",
+ .opcode = 5797,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL",
+ .opcode = 5798,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL",
+ .opcode = 5799,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicSetBilinearFilterEnableINTEL",
+ .opcode = 5800,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL",
+ .opcode = 5801,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL",
+ .opcode = 5802,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicEvaluateIpeINTEL",
+ .opcode = 5803,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL",
+ .opcode = 5804,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL",
+ .opcode = 5805,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL",
+ .opcode = 5806,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL",
+ .opcode = 5807,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicConvertToMceResultINTEL",
+ .opcode = 5808,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicGetIpeLumaShapeINTEL",
+ .opcode = 5809,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL",
+ .opcode = 5810,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL",
+ .opcode = 5811,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL",
+ .opcode = 5812,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicGetIpeChromaModeINTEL",
+ .opcode = 5813,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL",
+ .opcode = 5814,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL",
+ .opcode = 5815,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSubgroupAvcSicGetInterRawSadsINTEL",
+ .opcode = 5816,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpVariableLengthArrayINTEL",
+ .opcode = 5818,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpSaveMemoryINTEL",
+ .opcode = 5819,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRestoreMemoryINTEL",
+ .opcode = 5820,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatSinCosPiINTEL",
+ .opcode = 5840,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatCastINTEL",
+ .opcode = 5841,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatCastFromIntINTEL",
+ .opcode = 5842,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatCastToIntINTEL",
+ .opcode = 5843,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatAddINTEL",
+ .opcode = 5846,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatSubINTEL",
+ .opcode = 5847,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatMulINTEL",
+ .opcode = 5848,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatDivINTEL",
+ .opcode = 5849,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatGTINTEL",
+ .opcode = 5850,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatGEINTEL",
+ .opcode = 5851,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatLTINTEL",
+ .opcode = 5852,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatLEINTEL",
+ .opcode = 5853,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatEQINTEL",
+ .opcode = 5854,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatRecipINTEL",
+ .opcode = 5855,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatRSqrtINTEL",
+ .opcode = 5856,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatCbrtINTEL",
+ .opcode = 5857,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatHypotINTEL",
+ .opcode = 5858,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatSqrtINTEL",
+ .opcode = 5859,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatLogINTEL",
+ .opcode = 5860,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatLog2INTEL",
+ .opcode = 5861,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatLog10INTEL",
+ .opcode = 5862,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatLog1pINTEL",
+ .opcode = 5863,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatExpINTEL",
+ .opcode = 5864,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatExp2INTEL",
+ .opcode = 5865,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatExp10INTEL",
+ .opcode = 5866,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatExpm1INTEL",
+ .opcode = 5867,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatSinINTEL",
+ .opcode = 5868,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatCosINTEL",
+ .opcode = 5869,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatSinCosINTEL",
+ .opcode = 5870,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatSinPiINTEL",
+ .opcode = 5871,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatCosPiINTEL",
+ .opcode = 5872,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatASinINTEL",
+ .opcode = 5873,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatASinPiINTEL",
+ .opcode = 5874,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatACosINTEL",
+ .opcode = 5875,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatACosPiINTEL",
+ .opcode = 5876,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatATanINTEL",
+ .opcode = 5877,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatATanPiINTEL",
+ .opcode = 5878,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatATan2INTEL",
+ .opcode = 5879,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatPowINTEL",
+ .opcode = 5880,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatPowRINTEL",
+ .opcode = 5881,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpArbitraryFloatPowNINTEL",
+ .opcode = 5882,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpLoopControlINTEL",
+ .opcode = 5887,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralInteger, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpAliasDomainDeclINTEL",
+ .opcode = 5911,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpAliasScopeDeclINTEL",
+ .opcode = 5912,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "OpAliasScopeListDeclINTEL",
+ .opcode = 5913,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpFixedSqrtINTEL",
+ .opcode = 5923,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFixedRecipINTEL",
+ .opcode = 5924,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFixedRsqrtINTEL",
+ .opcode = 5925,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFixedSinINTEL",
+ .opcode = 5926,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFixedCosINTEL",
+ .opcode = 5927,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFixedSinCosINTEL",
+ .opcode = 5928,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFixedSinPiINTEL",
+ .opcode = 5929,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFixedCosPiINTEL",
+ .opcode = 5930,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFixedSinCosPiINTEL",
+ .opcode = 5931,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFixedLogINTEL",
+ .opcode = 5932,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFixedExpINTEL",
+ .opcode = 5933,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpPtrCastToCrossWorkgroupINTEL",
+ .opcode = 5934,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpCrossWorkgroupCastToPtrINTEL",
+ .opcode = 5938,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpReadPipeBlockingINTEL",
+ .opcode = 5946,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpWritePipeBlockingINTEL",
+ .opcode = 5947,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpFPGARegINTEL",
+ .opcode = 5949,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetRayTMinKHR",
+ .opcode = 6016,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetRayFlagsKHR",
+ .opcode = 6017,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetIntersectionTKHR",
+ .opcode = 6018,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetIntersectionInstanceCustomIndexKHR",
+ .opcode = 6019,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetIntersectionInstanceIdKHR",
+ .opcode = 6020,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR",
+ .opcode = 6021,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetIntersectionGeometryIndexKHR",
+ .opcode = 6022,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetIntersectionPrimitiveIndexKHR",
+ .opcode = 6023,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetIntersectionBarycentricsKHR",
+ .opcode = 6024,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetIntersectionFrontFaceKHR",
+ .opcode = 6025,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR",
+ .opcode = 6026,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetIntersectionObjectRayDirectionKHR",
+ .opcode = 6027,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetIntersectionObjectRayOriginKHR",
+ .opcode = 6028,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetWorldRayDirectionKHR",
+ .opcode = 6029,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetWorldRayOriginKHR",
+ .opcode = 6030,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetIntersectionObjectToWorldKHR",
+ .opcode = 6031,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpRayQueryGetIntersectionWorldToObjectKHR",
+ .opcode = 6032,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpAtomicFAddEXT",
+ .opcode = 6035,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeBufferSurfaceINTEL",
+ .opcode = 6086,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .AccessQualifier, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpTypeStructContinuedINTEL",
+ .opcode = 6090,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpConstantCompositeContinuedINTEL",
+ .opcode = 6091,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpSpecConstantCompositeContinuedINTEL",
+ .opcode = 6092,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpCompositeConstructContinuedINTEL",
+ .opcode = 6096,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "OpConvertFToBF16INTEL",
+ .opcode = 6116,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpConvertBF16ToFINTEL",
+ .opcode = 6117,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpControlBarrierArriveINTEL",
+ .opcode = 6142,
+ .operands = &[_]Operand{
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpControlBarrierWaitINTEL",
+ .opcode = 6143,
+ .operands = &[_]Operand{
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupIMulKHR",
+ .opcode = 6401,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupFMulKHR",
+ .opcode = 6402,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupBitwiseAndKHR",
+ .opcode = 6403,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupBitwiseOrKHR",
+ .opcode = 6404,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupBitwiseXorKHR",
+ .opcode = 6405,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupLogicalAndKHR",
+ .opcode = 6406,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupLogicalOrKHR",
+ .opcode = 6407,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpGroupLogicalXorKHR",
+ .opcode = 6408,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdScope, .quantifier = .required },
+ .{ .kind = .GroupOperation, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpMaskedGatherINTEL",
+ .opcode = 6428,
+ .operands = &[_]Operand{
+ .{ .kind = .IdResultType, .quantifier = .required },
+ .{ .kind = .IdResult, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "OpMaskedScatterINTEL",
+ .opcode = 6429,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ },
+ .@"opencl.std.100" => &[_]Instruction{
+ .{
+ .name = "acos",
+ .opcode = 0,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "acosh",
+ .opcode = 1,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "acospi",
+ .opcode = 2,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "asin",
+ .opcode = 3,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "asinh",
+ .opcode = 4,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "asinpi",
+ .opcode = 5,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "atan",
+ .opcode = 6,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "atan2",
+ .opcode = 7,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "atanh",
+ .opcode = 8,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "atanpi",
+ .opcode = 9,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "atan2pi",
+ .opcode = 10,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "cbrt",
+ .opcode = 11,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "ceil",
+ .opcode = 12,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "copysign",
+ .opcode = 13,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "cos",
+ .opcode = 14,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "cosh",
+ .opcode = 15,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "cospi",
+ .opcode = 16,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "erfc",
+ .opcode = 17,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "erf",
+ .opcode = 18,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "exp",
+ .opcode = 19,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "exp2",
+ .opcode = 20,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "exp10",
+ .opcode = 21,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "expm1",
+ .opcode = 22,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "fabs",
+ .opcode = 23,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "fdim",
+ .opcode = 24,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "floor",
+ .opcode = 25,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "fma",
+ .opcode = 26,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "fmax",
+ .opcode = 27,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "fmin",
+ .opcode = 28,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "fmod",
+ .opcode = 29,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "fract",
+ .opcode = 30,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "frexp",
+ .opcode = 31,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "hypot",
+ .opcode = 32,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "ilogb",
+ .opcode = 33,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "ldexp",
+ .opcode = 34,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "lgamma",
+ .opcode = 35,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "lgamma_r",
+ .opcode = 36,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "log",
+ .opcode = 37,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "log2",
+ .opcode = 38,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "log10",
+ .opcode = 39,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "log1p",
+ .opcode = 40,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "logb",
+ .opcode = 41,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "mad",
+ .opcode = 42,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "maxmag",
+ .opcode = 43,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "minmag",
+ .opcode = 44,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "modf",
+ .opcode = 45,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "nan",
+ .opcode = 46,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "nextafter",
+ .opcode = 47,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "pow",
+ .opcode = 48,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "pown",
+ .opcode = 49,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "powr",
+ .opcode = 50,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "remainder",
+ .opcode = 51,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "remquo",
+ .opcode = 52,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "rint",
+ .opcode = 53,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "rootn",
+ .opcode = 54,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "round",
+ .opcode = 55,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "rsqrt",
+ .opcode = 56,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "sin",
+ .opcode = 57,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "sincos",
+ .opcode = 58,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "sinh",
+ .opcode = 59,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "sinpi",
+ .opcode = 60,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "sqrt",
+ .opcode = 61,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "tan",
+ .opcode = 62,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "tanh",
+ .opcode = 63,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "tanpi",
+ .opcode = 64,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "tgamma",
+ .opcode = 65,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "trunc",
+ .opcode = 66,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "half_cos",
+ .opcode = 67,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "half_divide",
+ .opcode = 68,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "half_exp",
+ .opcode = 69,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "half_exp2",
+ .opcode = 70,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "half_exp10",
+ .opcode = 71,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "half_log",
+ .opcode = 72,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "half_log2",
+ .opcode = 73,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "half_log10",
+ .opcode = 74,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "half_powr",
+ .opcode = 75,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "half_recip",
+ .opcode = 76,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "half_rsqrt",
+ .opcode = 77,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "half_sin",
+ .opcode = 78,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "half_sqrt",
+ .opcode = 79,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "half_tan",
+ .opcode = 80,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "native_cos",
+ .opcode = 81,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "native_divide",
+ .opcode = 82,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "native_exp",
+ .opcode = 83,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "native_exp2",
+ .opcode = 84,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "native_exp10",
+ .opcode = 85,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "native_log",
+ .opcode = 86,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "native_log2",
+ .opcode = 87,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "native_log10",
+ .opcode = 88,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "native_powr",
+ .opcode = 89,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "native_recip",
+ .opcode = 90,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "native_rsqrt",
+ .opcode = 91,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "native_sin",
+ .opcode = 92,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "native_sqrt",
+ .opcode = 93,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "native_tan",
+ .opcode = 94,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "fclamp",
+ .opcode = 95,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "degrees",
+ .opcode = 96,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "fmax_common",
+ .opcode = 97,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "fmin_common",
+ .opcode = 98,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "mix",
+ .opcode = 99,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "radians",
+ .opcode = 100,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "step",
+ .opcode = 101,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "smoothstep",
+ .opcode = 102,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "sign",
+ .opcode = 103,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "cross",
+ .opcode = 104,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "distance",
+ .opcode = 105,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "length",
+ .opcode = 106,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "normalize",
+ .opcode = 107,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "fast_distance",
+ .opcode = 108,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "fast_length",
+ .opcode = 109,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "fast_normalize",
+ .opcode = 110,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "s_abs",
+ .opcode = 141,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "s_abs_diff",
+ .opcode = 142,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "s_add_sat",
+ .opcode = 143,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "u_add_sat",
+ .opcode = 144,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "s_hadd",
+ .opcode = 145,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "u_hadd",
+ .opcode = 146,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "s_rhadd",
+ .opcode = 147,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "u_rhadd",
+ .opcode = 148,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "s_clamp",
+ .opcode = 149,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "u_clamp",
+ .opcode = 150,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "clz",
+ .opcode = 151,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "ctz",
+ .opcode = 152,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "s_mad_hi",
+ .opcode = 153,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "u_mad_sat",
+ .opcode = 154,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "s_mad_sat",
+ .opcode = 155,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "s_max",
+ .opcode = 156,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "u_max",
+ .opcode = 157,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "s_min",
+ .opcode = 158,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "u_min",
+ .opcode = 159,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "s_mul_hi",
+ .opcode = 160,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "rotate",
+ .opcode = 161,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "s_sub_sat",
+ .opcode = 162,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "u_sub_sat",
+ .opcode = 163,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "u_upsample",
+ .opcode = 164,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "s_upsample",
+ .opcode = 165,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "popcount",
+ .opcode = 166,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "s_mad24",
+ .opcode = 167,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "u_mad24",
+ .opcode = 168,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "s_mul24",
+ .opcode = 169,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "u_mul24",
+ .opcode = 170,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "vloadn",
+ .opcode = 171,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "vstoren",
+ .opcode = 172,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "vload_half",
+ .opcode = 173,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "vload_halfn",
+ .opcode = 174,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "vstore_half",
+ .opcode = 175,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "vstore_half_r",
+ .opcode = 176,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .FPRoundingMode, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "vstore_halfn",
+ .opcode = 177,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "vstore_halfn_r",
+ .opcode = 178,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .FPRoundingMode, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "vloada_halfn",
+ .opcode = 179,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "vstorea_halfn",
+ .opcode = 180,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "vstorea_halfn_r",
+ .opcode = 181,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .FPRoundingMode, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "shuffle",
+ .opcode = 182,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "shuffle2",
+ .opcode = 183,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "printf",
+ .opcode = 184,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "prefetch",
+ .opcode = 185,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "bitselect",
+ .opcode = 186,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "select",
+ .opcode = 187,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "u_abs",
+ .opcode = 201,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "u_abs_diff",
+ .opcode = 202,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "u_mul_hi",
+ .opcode = 203,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "u_mad_hi",
+ .opcode = 204,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ },
+ .@"glsl.std.450" => &[_]Instruction{
+ .{
+ .name = "Round",
+ .opcode = 1,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "RoundEven",
+ .opcode = 2,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Trunc",
+ .opcode = 3,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "FAbs",
+ .opcode = 4,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "SAbs",
+ .opcode = 5,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "FSign",
+ .opcode = 6,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "SSign",
+ .opcode = 7,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Floor",
+ .opcode = 8,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Ceil",
+ .opcode = 9,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Fract",
+ .opcode = 10,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Radians",
+ .opcode = 11,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Degrees",
+ .opcode = 12,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Sin",
+ .opcode = 13,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Cos",
+ .opcode = 14,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Tan",
+ .opcode = 15,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Asin",
+ .opcode = 16,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Acos",
+ .opcode = 17,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Atan",
+ .opcode = 18,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Sinh",
+ .opcode = 19,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Cosh",
+ .opcode = 20,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Tanh",
+ .opcode = 21,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Asinh",
+ .opcode = 22,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Acosh",
+ .opcode = 23,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Atanh",
+ .opcode = 24,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Atan2",
+ .opcode = 25,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Pow",
+ .opcode = 26,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Exp",
+ .opcode = 27,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Log",
+ .opcode = 28,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Exp2",
+ .opcode = 29,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Log2",
+ .opcode = 30,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Sqrt",
+ .opcode = 31,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "InverseSqrt",
+ .opcode = 32,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Determinant",
+ .opcode = 33,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "MatrixInverse",
+ .opcode = 34,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Modf",
+ .opcode = 35,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "ModfStruct",
+ .opcode = 36,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "FMin",
+ .opcode = 37,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "UMin",
+ .opcode = 38,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "SMin",
+ .opcode = 39,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "FMax",
+ .opcode = 40,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "UMax",
+ .opcode = 41,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "SMax",
+ .opcode = 42,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "FClamp",
+ .opcode = 43,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "UClamp",
+ .opcode = 44,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "SClamp",
+ .opcode = 45,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "FMix",
+ .opcode = 46,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "IMix",
+ .opcode = 47,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Step",
+ .opcode = 48,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "SmoothStep",
+ .opcode = 49,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Fma",
+ .opcode = 50,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Frexp",
+ .opcode = 51,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "FrexpStruct",
+ .opcode = 52,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Ldexp",
+ .opcode = 53,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PackSnorm4x8",
+ .opcode = 54,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PackUnorm4x8",
+ .opcode = 55,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PackSnorm2x16",
+ .opcode = 56,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PackUnorm2x16",
+ .opcode = 57,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PackHalf2x16",
+ .opcode = 58,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PackDouble2x32",
+ .opcode = 59,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "UnpackSnorm2x16",
+ .opcode = 60,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "UnpackUnorm2x16",
+ .opcode = 61,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "UnpackHalf2x16",
+ .opcode = 62,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "UnpackSnorm4x8",
+ .opcode = 63,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "UnpackUnorm4x8",
+ .opcode = 64,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "UnpackDouble2x32",
+ .opcode = 65,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Length",
+ .opcode = 66,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Distance",
+ .opcode = 67,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Cross",
+ .opcode = 68,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Normalize",
+ .opcode = 69,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "FaceForward",
+ .opcode = 70,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Reflect",
+ .opcode = 71,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "Refract",
+ .opcode = 72,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "FindILsb",
+ .opcode = 73,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "FindSMsb",
+ .opcode = 74,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "FindUMsb",
+ .opcode = 75,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "InterpolateAtCentroid",
+ .opcode = 76,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "InterpolateAtSample",
+ .opcode = 77,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "InterpolateAtOffset",
+ .opcode = 78,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "NMin",
+ .opcode = 79,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "NMax",
+ .opcode = 80,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "NClamp",
+ .opcode = 81,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ },
+ .@"opencl.debuginfo.100" => &[_]Instruction{
+ .{
+ .name = "DebugInfoNone",
+ .opcode = 0,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "DebugCompilationUnit",
+ .opcode = 1,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .SourceLanguage, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeBasic",
+ .opcode = 2,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"opencl.debuginfo.100.DebugBaseTypeAttributeEncoding", .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypePointer",
+ .opcode = 3,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .StorageClass, .quantifier = .required },
+ .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeQualifier",
+ .opcode = 4,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"opencl.debuginfo.100.DebugTypeQualifier", .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeArray",
+ .opcode = 5,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugTypeVector",
+ .opcode = 6,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypedef",
+ .opcode = 7,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeFunction",
+ .opcode = 8,
+ .operands = &[_]Operand{
+ .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugTypeEnum",
+ .opcode = 9,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
+ .{ .kind = .PairIdRefIdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugTypeComposite",
+ .opcode = 10,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"opencl.debuginfo.100.DebugCompositeType", .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugTypeMember",
+ .opcode = 11,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugTypeInheritance",
+ .opcode = 12,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypePtrToMember",
+ .opcode = 13,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeTemplate",
+ .opcode = 14,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugTypeTemplateParameter",
+ .opcode = 15,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeTemplateTemplateParameter",
+ .opcode = 16,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeTemplateParameterPack",
+ .opcode = 17,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugGlobalVariable",
+ .opcode = 18,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugFunctionDeclaration",
+ .opcode = 19,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugFunction",
+ .opcode = 20,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugLexicalBlock",
+ .opcode = 21,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugLexicalBlockDiscriminator",
+ .opcode = 22,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugScope",
+ .opcode = 23,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugNoScope",
+ .opcode = 24,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "DebugInlinedAt",
+ .opcode = 25,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugLocalVariable",
+ .opcode = 26,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"opencl.debuginfo.100.DebugInfoFlags", .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugInlinedVariable",
+ .opcode = 27,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugDeclare",
+ .opcode = 28,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugValue",
+ .opcode = 29,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugOperation",
+ .opcode = 30,
+ .operands = &[_]Operand{
+ .{ .kind = .@"opencl.debuginfo.100.DebugOperation", .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugExpression",
+ .opcode = 31,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugMacroDef",
+ .opcode = 32,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugMacroUndef",
+ .opcode = 33,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugImportedEntity",
+ .opcode = 34,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"opencl.debuginfo.100.DebugImportedEntity", .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugSource",
+ .opcode = 35,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugModuleINTEL",
+ .opcode = 36,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ },
+ .@"spv-amd-shader-ballot" => &[_]Instruction{
+ .{
+ .name = "SwizzleInvocationsAMD",
+ .opcode = 1,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "SwizzleInvocationsMaskedAMD",
+ .opcode = 2,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "WriteInvocationAMD",
+ .opcode = 3,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "MbcntAMD",
+ .opcode = 4,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ },
+ .@"nonsemantic.shader.debuginfo.100" => &[_]Instruction{
+ .{
+ .name = "DebugInfoNone",
+ .opcode = 0,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "DebugCompilationUnit",
+ .opcode = 1,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeBasic",
+ .opcode = 2,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypePointer",
+ .opcode = 3,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeQualifier",
+ .opcode = 4,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeArray",
+ .opcode = 5,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugTypeVector",
+ .opcode = 6,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypedef",
+ .opcode = 7,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeFunction",
+ .opcode = 8,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugTypeEnum",
+ .opcode = 9,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .PairIdRefIdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugTypeComposite",
+ .opcode = 10,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugTypeMember",
+ .opcode = 11,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugTypeInheritance",
+ .opcode = 12,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypePtrToMember",
+ .opcode = 13,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeTemplate",
+ .opcode = 14,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugTypeTemplateParameter",
+ .opcode = 15,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeTemplateTemplateParameter",
+ .opcode = 16,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeTemplateParameterPack",
+ .opcode = 17,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugGlobalVariable",
+ .opcode = 18,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugFunctionDeclaration",
+ .opcode = 19,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugFunction",
+ .opcode = 20,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugLexicalBlock",
+ .opcode = 21,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugLexicalBlockDiscriminator",
+ .opcode = 22,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugScope",
+ .opcode = 23,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugNoScope",
+ .opcode = 24,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "DebugInlinedAt",
+ .opcode = 25,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugLocalVariable",
+ .opcode = 26,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugInlinedVariable",
+ .opcode = 27,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugDeclare",
+ .opcode = 28,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugValue",
+ .opcode = 29,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugOperation",
+ .opcode = 30,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugExpression",
+ .opcode = 31,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugMacroDef",
+ .opcode = 32,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugMacroUndef",
+ .opcode = 33,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugImportedEntity",
+ .opcode = 34,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugSource",
+ .opcode = 35,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugFunctionDefinition",
+ .opcode = 101,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugSourceContinued",
+ .opcode = 102,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugLine",
+ .opcode = 103,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugNoLine",
+ .opcode = 104,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "DebugBuildIdentifier",
+ .opcode = 105,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugStoragePath",
+ .opcode = 106,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugEntryPoint",
+ .opcode = 107,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeMatrix",
+ .opcode = 108,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ },
+ .@"nonsemantic.vkspreflection" => &[_]Instruction{
+ .{
+ .name = "Configuration",
+ .opcode = 1,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralString, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralString, .quantifier = .required },
+ .{ .kind = .LiteralString, .quantifier = .required },
+ .{ .kind = .LiteralString, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "StartCounter",
+ .opcode = 2,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralString, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "StopCounter",
+ .opcode = 3,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PushConstants",
+ .opcode = 4,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralString, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "SpecializationMapEntry",
+ .opcode = 5,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DescriptorSetBuffer",
+ .opcode = 6,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DescriptorSetImage",
+ .opcode = 7,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DescriptorSetSampler",
+ .opcode = 8,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralFloat, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralFloat, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralFloat, .quantifier = .required },
+ .{ .kind = .LiteralFloat, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ },
+ .@"nonsemantic.clspvreflection" => &[_]Instruction{
+ .{
+ .name = "Kernel",
+ .opcode = 1,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "ArgumentInfo",
+ .opcode = 2,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "ArgumentStorageBuffer",
+ .opcode = 3,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "ArgumentUniform",
+ .opcode = 4,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "ArgumentPodStorageBuffer",
+ .opcode = 5,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "ArgumentPodUniform",
+ .opcode = 6,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "ArgumentPodPushConstant",
+ .opcode = 7,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "ArgumentSampledImage",
+ .opcode = 8,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "ArgumentStorageImage",
+ .opcode = 9,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "ArgumentSampler",
+ .opcode = 10,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "ArgumentWorkgroup",
+ .opcode = 11,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "SpecConstantWorkgroupSize",
+ .opcode = 12,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "SpecConstantGlobalOffset",
+ .opcode = 13,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "SpecConstantWorkDim",
+ .opcode = 14,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PushConstantGlobalOffset",
+ .opcode = 15,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PushConstantEnqueuedLocalSize",
+ .opcode = 16,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PushConstantGlobalSize",
+ .opcode = 17,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PushConstantRegionOffset",
+ .opcode = 18,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PushConstantNumWorkgroups",
+ .opcode = 19,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PushConstantRegionGroupOffset",
+ .opcode = 20,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "ConstantDataStorageBuffer",
+ .opcode = 21,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "ConstantDataUniform",
+ .opcode = 22,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "LiteralSampler",
+ .opcode = 23,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PropertyRequiredWorkgroupSize",
+ .opcode = 24,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "SpecConstantSubgroupMaxSize",
+ .opcode = 25,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "ArgumentPointerPushConstant",
+ .opcode = 26,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "ArgumentPointerUniform",
+ .opcode = 27,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "ProgramScopeVariablesStorageBuffer",
+ .opcode = 28,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "ProgramScopeVariablePointerRelocation",
+ .opcode = 29,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "ImageArgumentInfoChannelOrderPushConstant",
+ .opcode = 30,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "ImageArgumentInfoChannelDataTypePushConstant",
+ .opcode = 31,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "ImageArgumentInfoChannelOrderUniform",
+ .opcode = 32,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "ImageArgumentInfoChannelDataTypeUniform",
+ .opcode = 33,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "ArgumentStorageTexelBuffer",
+ .opcode = 34,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "ArgumentUniformTexelBuffer",
+ .opcode = 35,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "ConstantDataPointerPushConstant",
+ .opcode = 36,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "ProgramScopeVariablePointerPushConstant",
+ .opcode = 37,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PrintfInfo",
+ .opcode = 38,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "PrintfBufferStorageBuffer",
+ .opcode = 39,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "PrintfBufferPointerPushConstant",
+ .opcode = 40,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "NormalizedSamplerMaskPushConstant",
+ .opcode = 41,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ },
+ .@"spv-amd-gcn-shader" => &[_]Instruction{
+ .{
+ .name = "CubeFaceIndexAMD",
+ .opcode = 1,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "CubeFaceCoordAMD",
+ .opcode = 2,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "TimeAMD",
+ .opcode = 3,
+ .operands = &[_]Operand{},
+ },
+ },
+ .@"spv-amd-shader-trinary-minmax" => &[_]Instruction{
+ .{
+ .name = "FMin3AMD",
+ .opcode = 1,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "UMin3AMD",
+ .opcode = 2,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "SMin3AMD",
+ .opcode = 3,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "FMax3AMD",
+ .opcode = 4,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "UMax3AMD",
+ .opcode = 5,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "SMax3AMD",
+ .opcode = 6,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "FMid3AMD",
+ .opcode = 7,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "UMid3AMD",
+ .opcode = 8,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "SMid3AMD",
+ .opcode = 9,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ },
+ .debuginfo => &[_]Instruction{
+ .{
+ .name = "DebugInfoNone",
+ .opcode = 0,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "DebugCompilationUnit",
+ .opcode = 1,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeBasic",
+ .opcode = 2,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"debuginfo.DebugBaseTypeAttributeEncoding", .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypePointer",
+ .opcode = 3,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .StorageClass, .quantifier = .required },
+ .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeQualifier",
+ .opcode = 4,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"debuginfo.DebugTypeQualifier", .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeArray",
+ .opcode = 5,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugTypeVector",
+ .opcode = 6,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypedef",
+ .opcode = 7,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeFunction",
+ .opcode = 8,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugTypeEnum",
+ .opcode = 9,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
+ .{ .kind = .PairIdRefIdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugTypeComposite",
+ .opcode = 10,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"debuginfo.DebugCompositeType", .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugTypeMember",
+ .opcode = 11,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugTypeInheritance",
+ .opcode = 12,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypePtrToMember",
+ .opcode = 13,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeTemplate",
+ .opcode = 14,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugTypeTemplateParameter",
+ .opcode = 15,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeTemplateTemplateParameter",
+ .opcode = 16,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugTypeTemplateParameterPack",
+ .opcode = 17,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugGlobalVariable",
+ .opcode = 18,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugFunctionDeclaration",
+ .opcode = 19,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugFunction",
+ .opcode = 20,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .@"debuginfo.DebugInfoFlags", .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugLexicalBlock",
+ .opcode = 21,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugLexicalBlockDiscriminator",
+ .opcode = 22,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugScope",
+ .opcode = 23,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugNoScope",
+ .opcode = 24,
+ .operands = &[_]Operand{},
+ },
+ .{
+ .name = "DebugInlinedAt",
+ .opcode = 25,
+ .operands = &[_]Operand{
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugLocalVariable",
+ .opcode = 26,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugInlinedVariable",
+ .opcode = 27,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugDeclare",
+ .opcode = 28,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ .{
+ .name = "DebugValue",
+ .opcode = 29,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugOperation",
+ .opcode = 30,
+ .operands = &[_]Operand{
+ .{ .kind = .@"debuginfo.DebugOperation", .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugExpression",
+ .opcode = 31,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ .{
+ .name = "DebugMacroDef",
+ .opcode = 32,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .optional },
+ },
+ },
+ .{
+ .name = "DebugMacroUndef",
+ .opcode = 33,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .LiteralInteger, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ },
+ .@"nonsemantic.debugprintf" => &[_]Instruction{
+ .{
+ .name = "DebugPrintf",
+ .opcode = 1,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .variadic },
+ },
+ },
+ },
+ .@"spv-amd-shader-explicit-vertex-parameter" => &[_]Instruction{
+ .{
+ .name = "InterpolateAtVertexAMD",
+ .opcode = 1,
+ .operands = &[_]Operand{
+ .{ .kind = .IdRef, .quantifier = .required },
+ .{ .kind = .IdRef, .quantifier = .required },
+ },
+ },
+ },
+ .@"nonsemantic.debugbreak" => &[_]Instruction{
+ .{
+ .name = "DebugBreak",
+ .opcode = 1,
+ .operands = &[_]Operand{},
+ },
+ },
+ };
+ }
+};