From 028f532dc0ef1d544d6fcb9074cef92a11d6d25b Mon Sep 17 00:00:00 2001 From: Robin Voetter Date: Thu, 7 Mar 2024 20:10:13 +0100 Subject: [PATCH] spirv: update spec to SPIRV-Headers/8b246ff We need this "unstable" version to get the Zig identifiers. --- src/codegen/spirv/spec.zig | 15264 ++++++++++++++++++++++++++++------- 1 file changed, 12547 insertions(+), 2717 deletions(-) diff --git a/src/codegen/spirv/spec.zig b/src/codegen/spirv/spec.zig index 7cd4bbbd1b..ce6bef4b6b 100644 --- a/src/codegen/spirv/spec.zig +++ b/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,2696 +2642,21 @@ pub const Opcode = enum(u16) { .OpTypeStructContinuedINTEL => struct { id_ref: []const IdRef = &.{} }, .OpConstantCompositeContinuedINTEL => struct { constituents: []const IdRef = &.{} }, .OpSpecConstantCompositeContinuedINTEL => struct { constituents: []const 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 }, - }, + .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 class(self: Opcode) Class { @@ -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{}, + }, + }, + }; + } +};