master
    1//! This file is auto-generated by tools/gen_spirv_spec.zig.
    2
    3const std = @import("std");
    4
    5pub const Version = packed struct(Word) {
    6    padding: u8 = 0,
    7    minor: u8,
    8    major: u8,
    9    padding0: u8 = 0,
   10
   11    pub fn toWord(self: @This()) Word {
   12        return @bitCast(self);
   13    }
   14};
   15
   16pub const Word = u32;
   17pub const Id = enum(Word) {
   18    none,
   19    _,
   20
   21    pub fn format(self: Id, writer: *std.Io.Writer) std.Io.Writer.Error!void {
   22        switch (self) {
   23            .none => try writer.writeAll("(none)"),
   24            else => try writer.print("%{d}", .{@intFromEnum(self)}),
   25        }
   26    }
   27};
   28
   29pub const IdRange = struct {
   30    base: u32,
   31    len: u32,
   32
   33    pub fn at(range: IdRange, i: usize) Id {
   34        std.debug.assert(i < range.len);
   35        return @enumFromInt(range.base + i);
   36    }
   37};
   38
   39pub const LiteralInteger = Word;
   40pub const LiteralFloat = Word;
   41pub const LiteralString = []const u8;
   42pub const LiteralContextDependentNumber = union(enum) {
   43    int32: i32,
   44    uint32: u32,
   45    int64: i64,
   46    uint64: u64,
   47    float32: f32,
   48    float64: f64,
   49};
   50pub const LiteralExtInstInteger = struct { inst: Word };
   51pub const LiteralSpecConstantOpInteger = struct { opcode: Opcode };
   52pub const PairLiteralIntegerIdRef = struct { value: LiteralInteger, label: Id };
   53pub const PairIdRefLiteralInteger = struct { target: Id, member: LiteralInteger };
   54pub const PairIdRefIdRef = [2]Id;
   55
   56pub const Quantifier = enum {
   57    required,
   58    optional,
   59    variadic,
   60};
   61
   62pub const Operand = struct {
   63    kind: OperandKind,
   64    quantifier: Quantifier,
   65};
   66
   67pub const OperandCategory = enum {
   68    bit_enum,
   69    value_enum,
   70    id,
   71    literal,
   72    composite,
   73};
   74
   75pub const Enumerant = struct {
   76    name: []const u8,
   77    value: Word,
   78    parameters: []const OperandKind,
   79};
   80
   81pub const Instruction = struct {
   82    name: []const u8,
   83    opcode: Word,
   84    operands: []const Operand,
   85};
   86
   87pub const zig_generator_id: Word = 41;
   88pub const version: Version = .{ .major = 1, .minor = 6, .patch = 4 };
   89pub const magic_number: Word = 0x07230203;
   90
   91pub const Class = enum {
   92    miscellaneous,
   93    debug,
   94    extension,
   95    mode_setting,
   96    type_declaration,
   97    constant_creation,
   98    function,
   99    memory,
  100    annotation,
  101    composite,
  102    image,
  103    conversion,
  104    arithmetic,
  105    relational_and_logical,
  106    bit,
  107    derivative,
  108    primitive,
  109    barrier,
  110    atomic,
  111    control_flow,
  112    group,
  113    pipe,
  114    device_side_enqueue,
  115    non_uniform,
  116    tensor,
  117    graph,
  118    reserved,
  119};
  120
  121pub const OperandKind = enum {
  122    opcode,
  123    image_operands,
  124    fp_fast_math_mode,
  125    selection_control,
  126    loop_control,
  127    function_control,
  128    memory_semantics,
  129    memory_access,
  130    kernel_profiling_info,
  131    ray_flags,
  132    fragment_shading_rate,
  133    raw_access_chain_operands,
  134    source_language,
  135    execution_model,
  136    addressing_model,
  137    memory_model,
  138    execution_mode,
  139    storage_class,
  140    dim,
  141    sampler_addressing_mode,
  142    sampler_filter_mode,
  143    image_format,
  144    image_channel_order,
  145    image_channel_data_type,
  146    fp_rounding_mode,
  147    fp_denorm_mode,
  148    quantization_modes,
  149    fp_operation_mode,
  150    overflow_modes,
  151    linkage_type,
  152    access_qualifier,
  153    host_access_qualifier,
  154    function_parameter_attribute,
  155    decoration,
  156    built_in,
  157    scope,
  158    group_operation,
  159    kernel_enqueue_flags,
  160    capability,
  161    ray_query_intersection,
  162    ray_query_committed_intersection_type,
  163    ray_query_candidate_intersection_type,
  164    packed_vector_format,
  165    cooperative_matrix_operands,
  166    cooperative_matrix_layout,
  167    cooperative_matrix_use,
  168    cooperative_matrix_reduce,
  169    tensor_clamp_mode,
  170    tensor_addressing_operands,
  171    initialization_mode_qualifier,
  172    load_cache_control,
  173    store_cache_control,
  174    named_maximum_number_of_registers,
  175    matrix_multiply_accumulate_operands,
  176    fp_encoding,
  177    cooperative_vector_matrix_layout,
  178    component_type,
  179    id_result_type,
  180    id_result,
  181    id_memory_semantics,
  182    id_scope,
  183    id_ref,
  184    literal_integer,
  185    literal_string,
  186    literal_float,
  187    literal_context_dependent_number,
  188    literal_ext_inst_integer,
  189    literal_spec_constant_op_integer,
  190    pair_literal_integer_id_ref,
  191    pair_id_ref_literal_integer,
  192    pair_id_ref_id_ref,
  193    tensor_operands,
  194
  195    pub fn category(self: OperandKind) OperandCategory {
  196        return switch (self) {
  197            .opcode => .literal,
  198            .image_operands => .bit_enum,
  199            .fp_fast_math_mode => .bit_enum,
  200            .selection_control => .bit_enum,
  201            .loop_control => .bit_enum,
  202            .function_control => .bit_enum,
  203            .memory_semantics => .bit_enum,
  204            .memory_access => .bit_enum,
  205            .kernel_profiling_info => .bit_enum,
  206            .ray_flags => .bit_enum,
  207            .fragment_shading_rate => .bit_enum,
  208            .raw_access_chain_operands => .bit_enum,
  209            .source_language => .value_enum,
  210            .execution_model => .value_enum,
  211            .addressing_model => .value_enum,
  212            .memory_model => .value_enum,
  213            .execution_mode => .value_enum,
  214            .storage_class => .value_enum,
  215            .dim => .value_enum,
  216            .sampler_addressing_mode => .value_enum,
  217            .sampler_filter_mode => .value_enum,
  218            .image_format => .value_enum,
  219            .image_channel_order => .value_enum,
  220            .image_channel_data_type => .value_enum,
  221            .fp_rounding_mode => .value_enum,
  222            .fp_denorm_mode => .value_enum,
  223            .quantization_modes => .value_enum,
  224            .fp_operation_mode => .value_enum,
  225            .overflow_modes => .value_enum,
  226            .linkage_type => .value_enum,
  227            .access_qualifier => .value_enum,
  228            .host_access_qualifier => .value_enum,
  229            .function_parameter_attribute => .value_enum,
  230            .decoration => .value_enum,
  231            .built_in => .value_enum,
  232            .scope => .value_enum,
  233            .group_operation => .value_enum,
  234            .kernel_enqueue_flags => .value_enum,
  235            .capability => .value_enum,
  236            .ray_query_intersection => .value_enum,
  237            .ray_query_committed_intersection_type => .value_enum,
  238            .ray_query_candidate_intersection_type => .value_enum,
  239            .packed_vector_format => .value_enum,
  240            .cooperative_matrix_operands => .bit_enum,
  241            .cooperative_matrix_layout => .value_enum,
  242            .cooperative_matrix_use => .value_enum,
  243            .cooperative_matrix_reduce => .bit_enum,
  244            .tensor_clamp_mode => .value_enum,
  245            .tensor_addressing_operands => .bit_enum,
  246            .initialization_mode_qualifier => .value_enum,
  247            .load_cache_control => .value_enum,
  248            .store_cache_control => .value_enum,
  249            .named_maximum_number_of_registers => .value_enum,
  250            .matrix_multiply_accumulate_operands => .bit_enum,
  251            .fp_encoding => .value_enum,
  252            .cooperative_vector_matrix_layout => .value_enum,
  253            .component_type => .value_enum,
  254            .id_result_type => .id,
  255            .id_result => .id,
  256            .id_memory_semantics => .id,
  257            .id_scope => .id,
  258            .id_ref => .id,
  259            .literal_integer => .literal,
  260            .literal_string => .literal,
  261            .literal_float => .literal,
  262            .literal_context_dependent_number => .literal,
  263            .literal_ext_inst_integer => .literal,
  264            .literal_spec_constant_op_integer => .literal,
  265            .pair_literal_integer_id_ref => .composite,
  266            .pair_id_ref_literal_integer => .composite,
  267            .pair_id_ref_id_ref => .composite,
  268            .tensor_operands => .bit_enum,
  269        };
  270    }
  271    pub fn enumerants(self: OperandKind) []const Enumerant {
  272        return switch (self) {
  273            .opcode => unreachable,
  274            .image_operands => &.{
  275                .{ .name = "Bias", .value = 0x0001, .parameters = &.{.id_ref} },
  276                .{ .name = "Lod", .value = 0x0002, .parameters = &.{.id_ref} },
  277                .{ .name = "Grad", .value = 0x0004, .parameters = &.{ .id_ref, .id_ref } },
  278                .{ .name = "ConstOffset", .value = 0x0008, .parameters = &.{.id_ref} },
  279                .{ .name = "Offset", .value = 0x0010, .parameters = &.{.id_ref} },
  280                .{ .name = "ConstOffsets", .value = 0x0020, .parameters = &.{.id_ref} },
  281                .{ .name = "Sample", .value = 0x0040, .parameters = &.{.id_ref} },
  282                .{ .name = "MinLod", .value = 0x0080, .parameters = &.{.id_ref} },
  283                .{ .name = "MakeTexelAvailable", .value = 0x0100, .parameters = &.{.id_scope} },
  284                .{ .name = "MakeTexelVisible", .value = 0x0200, .parameters = &.{.id_scope} },
  285                .{ .name = "NonPrivateTexel", .value = 0x0400, .parameters = &.{} },
  286                .{ .name = "VolatileTexel", .value = 0x0800, .parameters = &.{} },
  287                .{ .name = "SignExtend", .value = 0x1000, .parameters = &.{} },
  288                .{ .name = "ZeroExtend", .value = 0x2000, .parameters = &.{} },
  289                .{ .name = "Nontemporal", .value = 0x4000, .parameters = &.{} },
  290                .{ .name = "Offsets", .value = 0x10000, .parameters = &.{.id_ref} },
  291            },
  292            .fp_fast_math_mode => &.{
  293                .{ .name = "NotNaN", .value = 0x0001, .parameters = &.{} },
  294                .{ .name = "NotInf", .value = 0x0002, .parameters = &.{} },
  295                .{ .name = "NSZ", .value = 0x0004, .parameters = &.{} },
  296                .{ .name = "AllowRecip", .value = 0x0008, .parameters = &.{} },
  297                .{ .name = "Fast", .value = 0x0010, .parameters = &.{} },
  298                .{ .name = "AllowContract", .value = 0x10000, .parameters = &.{} },
  299                .{ .name = "AllowReassoc", .value = 0x20000, .parameters = &.{} },
  300                .{ .name = "AllowTransform", .value = 0x40000, .parameters = &.{} },
  301            },
  302            .selection_control => &.{
  303                .{ .name = "Flatten", .value = 0x0001, .parameters = &.{} },
  304                .{ .name = "DontFlatten", .value = 0x0002, .parameters = &.{} },
  305            },
  306            .loop_control => &.{
  307                .{ .name = "Unroll", .value = 0x0001, .parameters = &.{} },
  308                .{ .name = "DontUnroll", .value = 0x0002, .parameters = &.{} },
  309                .{ .name = "DependencyInfinite", .value = 0x0004, .parameters = &.{} },
  310                .{ .name = "DependencyLength", .value = 0x0008, .parameters = &.{.literal_integer} },
  311                .{ .name = "MinIterations", .value = 0x0010, .parameters = &.{.literal_integer} },
  312                .{ .name = "MaxIterations", .value = 0x0020, .parameters = &.{.literal_integer} },
  313                .{ .name = "IterationMultiple", .value = 0x0040, .parameters = &.{.literal_integer} },
  314                .{ .name = "PeelCount", .value = 0x0080, .parameters = &.{.literal_integer} },
  315                .{ .name = "PartialCount", .value = 0x0100, .parameters = &.{.literal_integer} },
  316                .{ .name = "InitiationIntervalINTEL", .value = 0x10000, .parameters = &.{.literal_integer} },
  317                .{ .name = "MaxConcurrencyINTEL", .value = 0x20000, .parameters = &.{.literal_integer} },
  318                .{ .name = "DependencyArrayINTEL", .value = 0x40000, .parameters = &.{.literal_integer} },
  319                .{ .name = "PipelineEnableINTEL", .value = 0x80000, .parameters = &.{.literal_integer} },
  320                .{ .name = "LoopCoalesceINTEL", .value = 0x100000, .parameters = &.{.literal_integer} },
  321                .{ .name = "MaxInterleavingINTEL", .value = 0x200000, .parameters = &.{.literal_integer} },
  322                .{ .name = "SpeculatedIterationsINTEL", .value = 0x400000, .parameters = &.{.literal_integer} },
  323                .{ .name = "NoFusionINTEL", .value = 0x800000, .parameters = &.{} },
  324                .{ .name = "LoopCountINTEL", .value = 0x1000000, .parameters = &.{.literal_integer} },
  325                .{ .name = "MaxReinvocationDelayINTEL", .value = 0x2000000, .parameters = &.{.literal_integer} },
  326            },
  327            .function_control => &.{
  328                .{ .name = "Inline", .value = 0x0001, .parameters = &.{} },
  329                .{ .name = "DontInline", .value = 0x0002, .parameters = &.{} },
  330                .{ .name = "Pure", .value = 0x0004, .parameters = &.{} },
  331                .{ .name = "Const", .value = 0x0008, .parameters = &.{} },
  332                .{ .name = "OptNoneEXT", .value = 0x10000, .parameters = &.{} },
  333            },
  334            .memory_semantics => &.{
  335                .{ .name = "Relaxed", .value = 0x0000, .parameters = &.{} },
  336                .{ .name = "Acquire", .value = 0x0002, .parameters = &.{} },
  337                .{ .name = "Release", .value = 0x0004, .parameters = &.{} },
  338                .{ .name = "AcquireRelease", .value = 0x0008, .parameters = &.{} },
  339                .{ .name = "SequentiallyConsistent", .value = 0x0010, .parameters = &.{} },
  340                .{ .name = "UniformMemory", .value = 0x0040, .parameters = &.{} },
  341                .{ .name = "SubgroupMemory", .value = 0x0080, .parameters = &.{} },
  342                .{ .name = "WorkgroupMemory", .value = 0x0100, .parameters = &.{} },
  343                .{ .name = "CrossWorkgroupMemory", .value = 0x0200, .parameters = &.{} },
  344                .{ .name = "AtomicCounterMemory", .value = 0x0400, .parameters = &.{} },
  345                .{ .name = "ImageMemory", .value = 0x0800, .parameters = &.{} },
  346                .{ .name = "OutputMemory", .value = 0x1000, .parameters = &.{} },
  347                .{ .name = "MakeAvailable", .value = 0x2000, .parameters = &.{} },
  348                .{ .name = "MakeVisible", .value = 0x4000, .parameters = &.{} },
  349                .{ .name = "Volatile", .value = 0x8000, .parameters = &.{} },
  350            },
  351            .memory_access => &.{
  352                .{ .name = "Volatile", .value = 0x0001, .parameters = &.{} },
  353                .{ .name = "Aligned", .value = 0x0002, .parameters = &.{.literal_integer} },
  354                .{ .name = "Nontemporal", .value = 0x0004, .parameters = &.{} },
  355                .{ .name = "MakePointerAvailable", .value = 0x0008, .parameters = &.{.id_scope} },
  356                .{ .name = "MakePointerVisible", .value = 0x0010, .parameters = &.{.id_scope} },
  357                .{ .name = "NonPrivatePointer", .value = 0x0020, .parameters = &.{} },
  358                .{ .name = "AliasScopeINTELMask", .value = 0x10000, .parameters = &.{.id_ref} },
  359                .{ .name = "NoAliasINTELMask", .value = 0x20000, .parameters = &.{.id_ref} },
  360            },
  361            .kernel_profiling_info => &.{
  362                .{ .name = "CmdExecTime", .value = 0x0001, .parameters = &.{} },
  363            },
  364            .ray_flags => &.{
  365                .{ .name = "NoneKHR", .value = 0x0000, .parameters = &.{} },
  366                .{ .name = "OpaqueKHR", .value = 0x0001, .parameters = &.{} },
  367                .{ .name = "NoOpaqueKHR", .value = 0x0002, .parameters = &.{} },
  368                .{ .name = "TerminateOnFirstHitKHR", .value = 0x0004, .parameters = &.{} },
  369                .{ .name = "SkipClosestHitShaderKHR", .value = 0x0008, .parameters = &.{} },
  370                .{ .name = "CullBackFacingTrianglesKHR", .value = 0x0010, .parameters = &.{} },
  371                .{ .name = "CullFrontFacingTrianglesKHR", .value = 0x0020, .parameters = &.{} },
  372                .{ .name = "CullOpaqueKHR", .value = 0x0040, .parameters = &.{} },
  373                .{ .name = "CullNoOpaqueKHR", .value = 0x0080, .parameters = &.{} },
  374                .{ .name = "SkipTrianglesKHR", .value = 0x0100, .parameters = &.{} },
  375                .{ .name = "SkipAABBsKHR", .value = 0x0200, .parameters = &.{} },
  376                .{ .name = "ForceOpacityMicromap2StateEXT", .value = 0x0400, .parameters = &.{} },
  377            },
  378            .fragment_shading_rate => &.{
  379                .{ .name = "Vertical2Pixels", .value = 0x0001, .parameters = &.{} },
  380                .{ .name = "Vertical4Pixels", .value = 0x0002, .parameters = &.{} },
  381                .{ .name = "Horizontal2Pixels", .value = 0x0004, .parameters = &.{} },
  382                .{ .name = "Horizontal4Pixels", .value = 0x0008, .parameters = &.{} },
  383            },
  384            .raw_access_chain_operands => &.{
  385                .{ .name = "RobustnessPerComponentNV", .value = 0x0001, .parameters = &.{} },
  386                .{ .name = "RobustnessPerElementNV", .value = 0x0002, .parameters = &.{} },
  387            },
  388            .source_language => &.{
  389                .{ .name = "Unknown", .value = 0, .parameters = &.{} },
  390                .{ .name = "ESSL", .value = 1, .parameters = &.{} },
  391                .{ .name = "GLSL", .value = 2, .parameters = &.{} },
  392                .{ .name = "OpenCL_C", .value = 3, .parameters = &.{} },
  393                .{ .name = "OpenCL_CPP", .value = 4, .parameters = &.{} },
  394                .{ .name = "HLSL", .value = 5, .parameters = &.{} },
  395                .{ .name = "CPP_for_OpenCL", .value = 6, .parameters = &.{} },
  396                .{ .name = "SYCL", .value = 7, .parameters = &.{} },
  397                .{ .name = "HERO_C", .value = 8, .parameters = &.{} },
  398                .{ .name = "NZSL", .value = 9, .parameters = &.{} },
  399                .{ .name = "WGSL", .value = 10, .parameters = &.{} },
  400                .{ .name = "Slang", .value = 11, .parameters = &.{} },
  401                .{ .name = "Zig", .value = 12, .parameters = &.{} },
  402                .{ .name = "Rust", .value = 13, .parameters = &.{} },
  403            },
  404            .execution_model => &.{
  405                .{ .name = "Vertex", .value = 0, .parameters = &.{} },
  406                .{ .name = "TessellationControl", .value = 1, .parameters = &.{} },
  407                .{ .name = "TessellationEvaluation", .value = 2, .parameters = &.{} },
  408                .{ .name = "Geometry", .value = 3, .parameters = &.{} },
  409                .{ .name = "Fragment", .value = 4, .parameters = &.{} },
  410                .{ .name = "GLCompute", .value = 5, .parameters = &.{} },
  411                .{ .name = "Kernel", .value = 6, .parameters = &.{} },
  412                .{ .name = "TaskNV", .value = 5267, .parameters = &.{} },
  413                .{ .name = "MeshNV", .value = 5268, .parameters = &.{} },
  414                .{ .name = "RayGenerationKHR", .value = 5313, .parameters = &.{} },
  415                .{ .name = "IntersectionKHR", .value = 5314, .parameters = &.{} },
  416                .{ .name = "AnyHitKHR", .value = 5315, .parameters = &.{} },
  417                .{ .name = "ClosestHitKHR", .value = 5316, .parameters = &.{} },
  418                .{ .name = "MissKHR", .value = 5317, .parameters = &.{} },
  419                .{ .name = "CallableKHR", .value = 5318, .parameters = &.{} },
  420                .{ .name = "TaskEXT", .value = 5364, .parameters = &.{} },
  421                .{ .name = "MeshEXT", .value = 5365, .parameters = &.{} },
  422            },
  423            .addressing_model => &.{
  424                .{ .name = "Logical", .value = 0, .parameters = &.{} },
  425                .{ .name = "Physical32", .value = 1, .parameters = &.{} },
  426                .{ .name = "Physical64", .value = 2, .parameters = &.{} },
  427                .{ .name = "PhysicalStorageBuffer64", .value = 5348, .parameters = &.{} },
  428            },
  429            .memory_model => &.{
  430                .{ .name = "Simple", .value = 0, .parameters = &.{} },
  431                .{ .name = "GLSL450", .value = 1, .parameters = &.{} },
  432                .{ .name = "OpenCL", .value = 2, .parameters = &.{} },
  433                .{ .name = "Vulkan", .value = 3, .parameters = &.{} },
  434            },
  435            .execution_mode => &.{
  436                .{ .name = "Invocations", .value = 0, .parameters = &.{.literal_integer} },
  437                .{ .name = "SpacingEqual", .value = 1, .parameters = &.{} },
  438                .{ .name = "SpacingFractionalEven", .value = 2, .parameters = &.{} },
  439                .{ .name = "SpacingFractionalOdd", .value = 3, .parameters = &.{} },
  440                .{ .name = "VertexOrderCw", .value = 4, .parameters = &.{} },
  441                .{ .name = "VertexOrderCcw", .value = 5, .parameters = &.{} },
  442                .{ .name = "PixelCenterInteger", .value = 6, .parameters = &.{} },
  443                .{ .name = "OriginUpperLeft", .value = 7, .parameters = &.{} },
  444                .{ .name = "OriginLowerLeft", .value = 8, .parameters = &.{} },
  445                .{ .name = "EarlyFragmentTests", .value = 9, .parameters = &.{} },
  446                .{ .name = "PointMode", .value = 10, .parameters = &.{} },
  447                .{ .name = "Xfb", .value = 11, .parameters = &.{} },
  448                .{ .name = "DepthReplacing", .value = 12, .parameters = &.{} },
  449                .{ .name = "DepthGreater", .value = 14, .parameters = &.{} },
  450                .{ .name = "DepthLess", .value = 15, .parameters = &.{} },
  451                .{ .name = "DepthUnchanged", .value = 16, .parameters = &.{} },
  452                .{ .name = "LocalSize", .value = 17, .parameters = &.{ .literal_integer, .literal_integer, .literal_integer } },
  453                .{ .name = "LocalSizeHint", .value = 18, .parameters = &.{ .literal_integer, .literal_integer, .literal_integer } },
  454                .{ .name = "InputPoints", .value = 19, .parameters = &.{} },
  455                .{ .name = "InputLines", .value = 20, .parameters = &.{} },
  456                .{ .name = "InputLinesAdjacency", .value = 21, .parameters = &.{} },
  457                .{ .name = "Triangles", .value = 22, .parameters = &.{} },
  458                .{ .name = "InputTrianglesAdjacency", .value = 23, .parameters = &.{} },
  459                .{ .name = "Quads", .value = 24, .parameters = &.{} },
  460                .{ .name = "Isolines", .value = 25, .parameters = &.{} },
  461                .{ .name = "OutputVertices", .value = 26, .parameters = &.{.literal_integer} },
  462                .{ .name = "OutputPoints", .value = 27, .parameters = &.{} },
  463                .{ .name = "OutputLineStrip", .value = 28, .parameters = &.{} },
  464                .{ .name = "OutputTriangleStrip", .value = 29, .parameters = &.{} },
  465                .{ .name = "VecTypeHint", .value = 30, .parameters = &.{.literal_integer} },
  466                .{ .name = "ContractionOff", .value = 31, .parameters = &.{} },
  467                .{ .name = "Initializer", .value = 33, .parameters = &.{} },
  468                .{ .name = "Finalizer", .value = 34, .parameters = &.{} },
  469                .{ .name = "SubgroupSize", .value = 35, .parameters = &.{.literal_integer} },
  470                .{ .name = "SubgroupsPerWorkgroup", .value = 36, .parameters = &.{.literal_integer} },
  471                .{ .name = "SubgroupsPerWorkgroupId", .value = 37, .parameters = &.{.id_ref} },
  472                .{ .name = "LocalSizeId", .value = 38, .parameters = &.{ .id_ref, .id_ref, .id_ref } },
  473                .{ .name = "LocalSizeHintId", .value = 39, .parameters = &.{ .id_ref, .id_ref, .id_ref } },
  474                .{ .name = "NonCoherentColorAttachmentReadEXT", .value = 4169, .parameters = &.{} },
  475                .{ .name = "NonCoherentDepthAttachmentReadEXT", .value = 4170, .parameters = &.{} },
  476                .{ .name = "NonCoherentStencilAttachmentReadEXT", .value = 4171, .parameters = &.{} },
  477                .{ .name = "SubgroupUniformControlFlowKHR", .value = 4421, .parameters = &.{} },
  478                .{ .name = "PostDepthCoverage", .value = 4446, .parameters = &.{} },
  479                .{ .name = "DenormPreserve", .value = 4459, .parameters = &.{.literal_integer} },
  480                .{ .name = "DenormFlushToZero", .value = 4460, .parameters = &.{.literal_integer} },
  481                .{ .name = "SignedZeroInfNanPreserve", .value = 4461, .parameters = &.{.literal_integer} },
  482                .{ .name = "RoundingModeRTE", .value = 4462, .parameters = &.{.literal_integer} },
  483                .{ .name = "RoundingModeRTZ", .value = 4463, .parameters = &.{.literal_integer} },
  484                .{ .name = "NonCoherentTileAttachmentReadQCOM", .value = 4489, .parameters = &.{} },
  485                .{ .name = "TileShadingRateQCOM", .value = 4490, .parameters = &.{ .literal_integer, .literal_integer, .literal_integer } },
  486                .{ .name = "EarlyAndLateFragmentTestsAMD", .value = 5017, .parameters = &.{} },
  487                .{ .name = "StencilRefReplacingEXT", .value = 5027, .parameters = &.{} },
  488                .{ .name = "CoalescingAMDX", .value = 5069, .parameters = &.{} },
  489                .{ .name = "IsApiEntryAMDX", .value = 5070, .parameters = &.{.id_ref} },
  490                .{ .name = "MaxNodeRecursionAMDX", .value = 5071, .parameters = &.{.id_ref} },
  491                .{ .name = "StaticNumWorkgroupsAMDX", .value = 5072, .parameters = &.{ .id_ref, .id_ref, .id_ref } },
  492                .{ .name = "ShaderIndexAMDX", .value = 5073, .parameters = &.{.id_ref} },
  493                .{ .name = "MaxNumWorkgroupsAMDX", .value = 5077, .parameters = &.{ .id_ref, .id_ref, .id_ref } },
  494                .{ .name = "StencilRefUnchangedFrontAMD", .value = 5079, .parameters = &.{} },
  495                .{ .name = "StencilRefGreaterFrontAMD", .value = 5080, .parameters = &.{} },
  496                .{ .name = "StencilRefLessFrontAMD", .value = 5081, .parameters = &.{} },
  497                .{ .name = "StencilRefUnchangedBackAMD", .value = 5082, .parameters = &.{} },
  498                .{ .name = "StencilRefGreaterBackAMD", .value = 5083, .parameters = &.{} },
  499                .{ .name = "StencilRefLessBackAMD", .value = 5084, .parameters = &.{} },
  500                .{ .name = "QuadDerivativesKHR", .value = 5088, .parameters = &.{} },
  501                .{ .name = "RequireFullQuadsKHR", .value = 5089, .parameters = &.{} },
  502                .{ .name = "SharesInputWithAMDX", .value = 5102, .parameters = &.{ .id_ref, .id_ref } },
  503                .{ .name = "OutputLinesEXT", .value = 5269, .parameters = &.{} },
  504                .{ .name = "OutputPrimitivesEXT", .value = 5270, .parameters = &.{.literal_integer} },
  505                .{ .name = "DerivativeGroupQuadsKHR", .value = 5289, .parameters = &.{} },
  506                .{ .name = "DerivativeGroupLinearKHR", .value = 5290, .parameters = &.{} },
  507                .{ .name = "OutputTrianglesEXT", .value = 5298, .parameters = &.{} },
  508                .{ .name = "PixelInterlockOrderedEXT", .value = 5366, .parameters = &.{} },
  509                .{ .name = "PixelInterlockUnorderedEXT", .value = 5367, .parameters = &.{} },
  510                .{ .name = "SampleInterlockOrderedEXT", .value = 5368, .parameters = &.{} },
  511                .{ .name = "SampleInterlockUnorderedEXT", .value = 5369, .parameters = &.{} },
  512                .{ .name = "ShadingRateInterlockOrderedEXT", .value = 5370, .parameters = &.{} },
  513                .{ .name = "ShadingRateInterlockUnorderedEXT", .value = 5371, .parameters = &.{} },
  514                .{ .name = "SharedLocalMemorySizeINTEL", .value = 5618, .parameters = &.{.literal_integer} },
  515                .{ .name = "RoundingModeRTPINTEL", .value = 5620, .parameters = &.{.literal_integer} },
  516                .{ .name = "RoundingModeRTNINTEL", .value = 5621, .parameters = &.{.literal_integer} },
  517                .{ .name = "FloatingPointModeALTINTEL", .value = 5622, .parameters = &.{.literal_integer} },
  518                .{ .name = "FloatingPointModeIEEEINTEL", .value = 5623, .parameters = &.{.literal_integer} },
  519                .{ .name = "MaxWorkgroupSizeINTEL", .value = 5893, .parameters = &.{ .literal_integer, .literal_integer, .literal_integer } },
  520                .{ .name = "MaxWorkDimINTEL", .value = 5894, .parameters = &.{.literal_integer} },
  521                .{ .name = "NoGlobalOffsetINTEL", .value = 5895, .parameters = &.{} },
  522                .{ .name = "NumSIMDWorkitemsINTEL", .value = 5896, .parameters = &.{.literal_integer} },
  523                .{ .name = "SchedulerTargetFmaxMhzINTEL", .value = 5903, .parameters = &.{.literal_integer} },
  524                .{ .name = "MaximallyReconvergesKHR", .value = 6023, .parameters = &.{} },
  525                .{ .name = "FPFastMathDefault", .value = 6028, .parameters = &.{ .id_ref, .id_ref } },
  526                .{ .name = "StreamingInterfaceINTEL", .value = 6154, .parameters = &.{.literal_integer} },
  527                .{ .name = "RegisterMapInterfaceINTEL", .value = 6160, .parameters = &.{.literal_integer} },
  528                .{ .name = "NamedBarrierCountINTEL", .value = 6417, .parameters = &.{.literal_integer} },
  529                .{ .name = "MaximumRegistersINTEL", .value = 6461, .parameters = &.{.literal_integer} },
  530                .{ .name = "MaximumRegistersIdINTEL", .value = 6462, .parameters = &.{.id_ref} },
  531                .{ .name = "NamedMaximumRegistersINTEL", .value = 6463, .parameters = &.{.named_maximum_number_of_registers} },
  532            },
  533            .storage_class => &.{
  534                .{ .name = "UniformConstant", .value = 0, .parameters = &.{} },
  535                .{ .name = "Input", .value = 1, .parameters = &.{} },
  536                .{ .name = "Uniform", .value = 2, .parameters = &.{} },
  537                .{ .name = "Output", .value = 3, .parameters = &.{} },
  538                .{ .name = "Workgroup", .value = 4, .parameters = &.{} },
  539                .{ .name = "CrossWorkgroup", .value = 5, .parameters = &.{} },
  540                .{ .name = "Private", .value = 6, .parameters = &.{} },
  541                .{ .name = "Function", .value = 7, .parameters = &.{} },
  542                .{ .name = "Generic", .value = 8, .parameters = &.{} },
  543                .{ .name = "PushConstant", .value = 9, .parameters = &.{} },
  544                .{ .name = "AtomicCounter", .value = 10, .parameters = &.{} },
  545                .{ .name = "Image", .value = 11, .parameters = &.{} },
  546                .{ .name = "StorageBuffer", .value = 12, .parameters = &.{} },
  547                .{ .name = "TileImageEXT", .value = 4172, .parameters = &.{} },
  548                .{ .name = "TileAttachmentQCOM", .value = 4491, .parameters = &.{} },
  549                .{ .name = "NodePayloadAMDX", .value = 5068, .parameters = &.{} },
  550                .{ .name = "CallableDataKHR", .value = 5328, .parameters = &.{} },
  551                .{ .name = "IncomingCallableDataKHR", .value = 5329, .parameters = &.{} },
  552                .{ .name = "RayPayloadKHR", .value = 5338, .parameters = &.{} },
  553                .{ .name = "HitAttributeKHR", .value = 5339, .parameters = &.{} },
  554                .{ .name = "IncomingRayPayloadKHR", .value = 5342, .parameters = &.{} },
  555                .{ .name = "ShaderRecordBufferKHR", .value = 5343, .parameters = &.{} },
  556                .{ .name = "PhysicalStorageBuffer", .value = 5349, .parameters = &.{} },
  557                .{ .name = "HitObjectAttributeNV", .value = 5385, .parameters = &.{} },
  558                .{ .name = "TaskPayloadWorkgroupEXT", .value = 5402, .parameters = &.{} },
  559                .{ .name = "CodeSectionINTEL", .value = 5605, .parameters = &.{} },
  560                .{ .name = "DeviceOnlyINTEL", .value = 5936, .parameters = &.{} },
  561                .{ .name = "HostOnlyINTEL", .value = 5937, .parameters = &.{} },
  562            },
  563            .dim => &.{
  564                .{ .name = "1D", .value = 0, .parameters = &.{} },
  565                .{ .name = "2D", .value = 1, .parameters = &.{} },
  566                .{ .name = "3D", .value = 2, .parameters = &.{} },
  567                .{ .name = "Cube", .value = 3, .parameters = &.{} },
  568                .{ .name = "Rect", .value = 4, .parameters = &.{} },
  569                .{ .name = "Buffer", .value = 5, .parameters = &.{} },
  570                .{ .name = "SubpassData", .value = 6, .parameters = &.{} },
  571                .{ .name = "TileImageDataEXT", .value = 4173, .parameters = &.{} },
  572            },
  573            .sampler_addressing_mode => &.{
  574                .{ .name = "None", .value = 0, .parameters = &.{} },
  575                .{ .name = "ClampToEdge", .value = 1, .parameters = &.{} },
  576                .{ .name = "Clamp", .value = 2, .parameters = &.{} },
  577                .{ .name = "Repeat", .value = 3, .parameters = &.{} },
  578                .{ .name = "RepeatMirrored", .value = 4, .parameters = &.{} },
  579            },
  580            .sampler_filter_mode => &.{
  581                .{ .name = "Nearest", .value = 0, .parameters = &.{} },
  582                .{ .name = "Linear", .value = 1, .parameters = &.{} },
  583            },
  584            .image_format => &.{
  585                .{ .name = "Unknown", .value = 0, .parameters = &.{} },
  586                .{ .name = "Rgba32f", .value = 1, .parameters = &.{} },
  587                .{ .name = "Rgba16f", .value = 2, .parameters = &.{} },
  588                .{ .name = "R32f", .value = 3, .parameters = &.{} },
  589                .{ .name = "Rgba8", .value = 4, .parameters = &.{} },
  590                .{ .name = "Rgba8Snorm", .value = 5, .parameters = &.{} },
  591                .{ .name = "Rg32f", .value = 6, .parameters = &.{} },
  592                .{ .name = "Rg16f", .value = 7, .parameters = &.{} },
  593                .{ .name = "R11fG11fB10f", .value = 8, .parameters = &.{} },
  594                .{ .name = "R16f", .value = 9, .parameters = &.{} },
  595                .{ .name = "Rgba16", .value = 10, .parameters = &.{} },
  596                .{ .name = "Rgb10A2", .value = 11, .parameters = &.{} },
  597                .{ .name = "Rg16", .value = 12, .parameters = &.{} },
  598                .{ .name = "Rg8", .value = 13, .parameters = &.{} },
  599                .{ .name = "R16", .value = 14, .parameters = &.{} },
  600                .{ .name = "R8", .value = 15, .parameters = &.{} },
  601                .{ .name = "Rgba16Snorm", .value = 16, .parameters = &.{} },
  602                .{ .name = "Rg16Snorm", .value = 17, .parameters = &.{} },
  603                .{ .name = "Rg8Snorm", .value = 18, .parameters = &.{} },
  604                .{ .name = "R16Snorm", .value = 19, .parameters = &.{} },
  605                .{ .name = "R8Snorm", .value = 20, .parameters = &.{} },
  606                .{ .name = "Rgba32i", .value = 21, .parameters = &.{} },
  607                .{ .name = "Rgba16i", .value = 22, .parameters = &.{} },
  608                .{ .name = "Rgba8i", .value = 23, .parameters = &.{} },
  609                .{ .name = "R32i", .value = 24, .parameters = &.{} },
  610                .{ .name = "Rg32i", .value = 25, .parameters = &.{} },
  611                .{ .name = "Rg16i", .value = 26, .parameters = &.{} },
  612                .{ .name = "Rg8i", .value = 27, .parameters = &.{} },
  613                .{ .name = "R16i", .value = 28, .parameters = &.{} },
  614                .{ .name = "R8i", .value = 29, .parameters = &.{} },
  615                .{ .name = "Rgba32ui", .value = 30, .parameters = &.{} },
  616                .{ .name = "Rgba16ui", .value = 31, .parameters = &.{} },
  617                .{ .name = "Rgba8ui", .value = 32, .parameters = &.{} },
  618                .{ .name = "R32ui", .value = 33, .parameters = &.{} },
  619                .{ .name = "Rgb10a2ui", .value = 34, .parameters = &.{} },
  620                .{ .name = "Rg32ui", .value = 35, .parameters = &.{} },
  621                .{ .name = "Rg16ui", .value = 36, .parameters = &.{} },
  622                .{ .name = "Rg8ui", .value = 37, .parameters = &.{} },
  623                .{ .name = "R16ui", .value = 38, .parameters = &.{} },
  624                .{ .name = "R8ui", .value = 39, .parameters = &.{} },
  625                .{ .name = "R64ui", .value = 40, .parameters = &.{} },
  626                .{ .name = "R64i", .value = 41, .parameters = &.{} },
  627            },
  628            .image_channel_order => &.{
  629                .{ .name = "R", .value = 0, .parameters = &.{} },
  630                .{ .name = "A", .value = 1, .parameters = &.{} },
  631                .{ .name = "RG", .value = 2, .parameters = &.{} },
  632                .{ .name = "RA", .value = 3, .parameters = &.{} },
  633                .{ .name = "RGB", .value = 4, .parameters = &.{} },
  634                .{ .name = "RGBA", .value = 5, .parameters = &.{} },
  635                .{ .name = "BGRA", .value = 6, .parameters = &.{} },
  636                .{ .name = "ARGB", .value = 7, .parameters = &.{} },
  637                .{ .name = "Intensity", .value = 8, .parameters = &.{} },
  638                .{ .name = "Luminance", .value = 9, .parameters = &.{} },
  639                .{ .name = "Rx", .value = 10, .parameters = &.{} },
  640                .{ .name = "RGx", .value = 11, .parameters = &.{} },
  641                .{ .name = "RGBx", .value = 12, .parameters = &.{} },
  642                .{ .name = "Depth", .value = 13, .parameters = &.{} },
  643                .{ .name = "DepthStencil", .value = 14, .parameters = &.{} },
  644                .{ .name = "sRGB", .value = 15, .parameters = &.{} },
  645                .{ .name = "sRGBx", .value = 16, .parameters = &.{} },
  646                .{ .name = "sRGBA", .value = 17, .parameters = &.{} },
  647                .{ .name = "sBGRA", .value = 18, .parameters = &.{} },
  648                .{ .name = "ABGR", .value = 19, .parameters = &.{} },
  649            },
  650            .image_channel_data_type => &.{
  651                .{ .name = "SnormInt8", .value = 0, .parameters = &.{} },
  652                .{ .name = "SnormInt16", .value = 1, .parameters = &.{} },
  653                .{ .name = "UnormInt8", .value = 2, .parameters = &.{} },
  654                .{ .name = "UnormInt16", .value = 3, .parameters = &.{} },
  655                .{ .name = "UnormShort565", .value = 4, .parameters = &.{} },
  656                .{ .name = "UnormShort555", .value = 5, .parameters = &.{} },
  657                .{ .name = "UnormInt101010", .value = 6, .parameters = &.{} },
  658                .{ .name = "SignedInt8", .value = 7, .parameters = &.{} },
  659                .{ .name = "SignedInt16", .value = 8, .parameters = &.{} },
  660                .{ .name = "SignedInt32", .value = 9, .parameters = &.{} },
  661                .{ .name = "UnsignedInt8", .value = 10, .parameters = &.{} },
  662                .{ .name = "UnsignedInt16", .value = 11, .parameters = &.{} },
  663                .{ .name = "UnsignedInt32", .value = 12, .parameters = &.{} },
  664                .{ .name = "HalfFloat", .value = 13, .parameters = &.{} },
  665                .{ .name = "Float", .value = 14, .parameters = &.{} },
  666                .{ .name = "UnormInt24", .value = 15, .parameters = &.{} },
  667                .{ .name = "UnormInt101010_2", .value = 16, .parameters = &.{} },
  668                .{ .name = "UnormInt10X6EXT", .value = 17, .parameters = &.{} },
  669                .{ .name = "UnsignedIntRaw10EXT", .value = 19, .parameters = &.{} },
  670                .{ .name = "UnsignedIntRaw12EXT", .value = 20, .parameters = &.{} },
  671                .{ .name = "UnormInt2_101010EXT", .value = 21, .parameters = &.{} },
  672                .{ .name = "UnsignedInt10X6EXT", .value = 22, .parameters = &.{} },
  673                .{ .name = "UnsignedInt12X4EXT", .value = 23, .parameters = &.{} },
  674                .{ .name = "UnsignedInt14X2EXT", .value = 24, .parameters = &.{} },
  675                .{ .name = "UnormInt12X4EXT", .value = 25, .parameters = &.{} },
  676                .{ .name = "UnormInt14X2EXT", .value = 26, .parameters = &.{} },
  677            },
  678            .fp_rounding_mode => &.{
  679                .{ .name = "RTE", .value = 0, .parameters = &.{} },
  680                .{ .name = "RTZ", .value = 1, .parameters = &.{} },
  681                .{ .name = "RTP", .value = 2, .parameters = &.{} },
  682                .{ .name = "RTN", .value = 3, .parameters = &.{} },
  683            },
  684            .fp_denorm_mode => &.{
  685                .{ .name = "Preserve", .value = 0, .parameters = &.{} },
  686                .{ .name = "FlushToZero", .value = 1, .parameters = &.{} },
  687            },
  688            .quantization_modes => &.{
  689                .{ .name = "TRN", .value = 0, .parameters = &.{} },
  690                .{ .name = "TRN_ZERO", .value = 1, .parameters = &.{} },
  691                .{ .name = "RND", .value = 2, .parameters = &.{} },
  692                .{ .name = "RND_ZERO", .value = 3, .parameters = &.{} },
  693                .{ .name = "RND_INF", .value = 4, .parameters = &.{} },
  694                .{ .name = "RND_MIN_INF", .value = 5, .parameters = &.{} },
  695                .{ .name = "RND_CONV", .value = 6, .parameters = &.{} },
  696                .{ .name = "RND_CONV_ODD", .value = 7, .parameters = &.{} },
  697            },
  698            .fp_operation_mode => &.{
  699                .{ .name = "IEEE", .value = 0, .parameters = &.{} },
  700                .{ .name = "ALT", .value = 1, .parameters = &.{} },
  701            },
  702            .overflow_modes => &.{
  703                .{ .name = "WRAP", .value = 0, .parameters = &.{} },
  704                .{ .name = "SAT", .value = 1, .parameters = &.{} },
  705                .{ .name = "SAT_ZERO", .value = 2, .parameters = &.{} },
  706                .{ .name = "SAT_SYM", .value = 3, .parameters = &.{} },
  707            },
  708            .linkage_type => &.{
  709                .{ .name = "Export", .value = 0, .parameters = &.{} },
  710                .{ .name = "Import", .value = 1, .parameters = &.{} },
  711                .{ .name = "LinkOnceODR", .value = 2, .parameters = &.{} },
  712            },
  713            .access_qualifier => &.{
  714                .{ .name = "ReadOnly", .value = 0, .parameters = &.{} },
  715                .{ .name = "WriteOnly", .value = 1, .parameters = &.{} },
  716                .{ .name = "ReadWrite", .value = 2, .parameters = &.{} },
  717            },
  718            .host_access_qualifier => &.{
  719                .{ .name = "NoneINTEL", .value = 0, .parameters = &.{} },
  720                .{ .name = "ReadINTEL", .value = 1, .parameters = &.{} },
  721                .{ .name = "WriteINTEL", .value = 2, .parameters = &.{} },
  722                .{ .name = "ReadWriteINTEL", .value = 3, .parameters = &.{} },
  723            },
  724            .function_parameter_attribute => &.{
  725                .{ .name = "Zext", .value = 0, .parameters = &.{} },
  726                .{ .name = "Sext", .value = 1, .parameters = &.{} },
  727                .{ .name = "ByVal", .value = 2, .parameters = &.{} },
  728                .{ .name = "Sret", .value = 3, .parameters = &.{} },
  729                .{ .name = "NoAlias", .value = 4, .parameters = &.{} },
  730                .{ .name = "NoCapture", .value = 5, .parameters = &.{} },
  731                .{ .name = "NoWrite", .value = 6, .parameters = &.{} },
  732                .{ .name = "NoReadWrite", .value = 7, .parameters = &.{} },
  733                .{ .name = "RuntimeAlignedINTEL", .value = 5940, .parameters = &.{} },
  734            },
  735            .decoration => &.{
  736                .{ .name = "RelaxedPrecision", .value = 0, .parameters = &.{} },
  737                .{ .name = "SpecId", .value = 1, .parameters = &.{.literal_integer} },
  738                .{ .name = "Block", .value = 2, .parameters = &.{} },
  739                .{ .name = "BufferBlock", .value = 3, .parameters = &.{} },
  740                .{ .name = "RowMajor", .value = 4, .parameters = &.{} },
  741                .{ .name = "ColMajor", .value = 5, .parameters = &.{} },
  742                .{ .name = "ArrayStride", .value = 6, .parameters = &.{.literal_integer} },
  743                .{ .name = "MatrixStride", .value = 7, .parameters = &.{.literal_integer} },
  744                .{ .name = "GLSLShared", .value = 8, .parameters = &.{} },
  745                .{ .name = "GLSLPacked", .value = 9, .parameters = &.{} },
  746                .{ .name = "CPacked", .value = 10, .parameters = &.{} },
  747                .{ .name = "BuiltIn", .value = 11, .parameters = &.{.built_in} },
  748                .{ .name = "NoPerspective", .value = 13, .parameters = &.{} },
  749                .{ .name = "Flat", .value = 14, .parameters = &.{} },
  750                .{ .name = "Patch", .value = 15, .parameters = &.{} },
  751                .{ .name = "Centroid", .value = 16, .parameters = &.{} },
  752                .{ .name = "Sample", .value = 17, .parameters = &.{} },
  753                .{ .name = "Invariant", .value = 18, .parameters = &.{} },
  754                .{ .name = "Restrict", .value = 19, .parameters = &.{} },
  755                .{ .name = "Aliased", .value = 20, .parameters = &.{} },
  756                .{ .name = "Volatile", .value = 21, .parameters = &.{} },
  757                .{ .name = "Constant", .value = 22, .parameters = &.{} },
  758                .{ .name = "Coherent", .value = 23, .parameters = &.{} },
  759                .{ .name = "NonWritable", .value = 24, .parameters = &.{} },
  760                .{ .name = "NonReadable", .value = 25, .parameters = &.{} },
  761                .{ .name = "Uniform", .value = 26, .parameters = &.{} },
  762                .{ .name = "UniformId", .value = 27, .parameters = &.{.id_scope} },
  763                .{ .name = "SaturatedConversion", .value = 28, .parameters = &.{} },
  764                .{ .name = "Stream", .value = 29, .parameters = &.{.literal_integer} },
  765                .{ .name = "Location", .value = 30, .parameters = &.{.literal_integer} },
  766                .{ .name = "Component", .value = 31, .parameters = &.{.literal_integer} },
  767                .{ .name = "Index", .value = 32, .parameters = &.{.literal_integer} },
  768                .{ .name = "Binding", .value = 33, .parameters = &.{.literal_integer} },
  769                .{ .name = "DescriptorSet", .value = 34, .parameters = &.{.literal_integer} },
  770                .{ .name = "Offset", .value = 35, .parameters = &.{.literal_integer} },
  771                .{ .name = "XfbBuffer", .value = 36, .parameters = &.{.literal_integer} },
  772                .{ .name = "XfbStride", .value = 37, .parameters = &.{.literal_integer} },
  773                .{ .name = "FuncParamAttr", .value = 38, .parameters = &.{.function_parameter_attribute} },
  774                .{ .name = "FPRoundingMode", .value = 39, .parameters = &.{.fp_rounding_mode} },
  775                .{ .name = "FPFastMathMode", .value = 40, .parameters = &.{.fp_fast_math_mode} },
  776                .{ .name = "LinkageAttributes", .value = 41, .parameters = &.{ .literal_string, .linkage_type } },
  777                .{ .name = "NoContraction", .value = 42, .parameters = &.{} },
  778                .{ .name = "InputAttachmentIndex", .value = 43, .parameters = &.{.literal_integer} },
  779                .{ .name = "Alignment", .value = 44, .parameters = &.{.literal_integer} },
  780                .{ .name = "MaxByteOffset", .value = 45, .parameters = &.{.literal_integer} },
  781                .{ .name = "AlignmentId", .value = 46, .parameters = &.{.id_ref} },
  782                .{ .name = "MaxByteOffsetId", .value = 47, .parameters = &.{.id_ref} },
  783                .{ .name = "SaturatedToLargestFloat8NormalConversionEXT", .value = 4216, .parameters = &.{} },
  784                .{ .name = "NoSignedWrap", .value = 4469, .parameters = &.{} },
  785                .{ .name = "NoUnsignedWrap", .value = 4470, .parameters = &.{} },
  786                .{ .name = "WeightTextureQCOM", .value = 4487, .parameters = &.{} },
  787                .{ .name = "BlockMatchTextureQCOM", .value = 4488, .parameters = &.{} },
  788                .{ .name = "BlockMatchSamplerQCOM", .value = 4499, .parameters = &.{} },
  789                .{ .name = "ExplicitInterpAMD", .value = 4999, .parameters = &.{} },
  790                .{ .name = "NodeSharesPayloadLimitsWithAMDX", .value = 5019, .parameters = &.{.id_ref} },
  791                .{ .name = "NodeMaxPayloadsAMDX", .value = 5020, .parameters = &.{.id_ref} },
  792                .{ .name = "TrackFinishWritingAMDX", .value = 5078, .parameters = &.{} },
  793                .{ .name = "PayloadNodeNameAMDX", .value = 5091, .parameters = &.{.id_ref} },
  794                .{ .name = "PayloadNodeBaseIndexAMDX", .value = 5098, .parameters = &.{.id_ref} },
  795                .{ .name = "PayloadNodeSparseArrayAMDX", .value = 5099, .parameters = &.{} },
  796                .{ .name = "PayloadNodeArraySizeAMDX", .value = 5100, .parameters = &.{.id_ref} },
  797                .{ .name = "PayloadDispatchIndirectAMDX", .value = 5105, .parameters = &.{} },
  798                .{ .name = "OverrideCoverageNV", .value = 5248, .parameters = &.{} },
  799                .{ .name = "PassthroughNV", .value = 5250, .parameters = &.{} },
  800                .{ .name = "ViewportRelativeNV", .value = 5252, .parameters = &.{} },
  801                .{ .name = "SecondaryViewportRelativeNV", .value = 5256, .parameters = &.{.literal_integer} },
  802                .{ .name = "PerPrimitiveEXT", .value = 5271, .parameters = &.{} },
  803                .{ .name = "PerViewNV", .value = 5272, .parameters = &.{} },
  804                .{ .name = "PerTaskNV", .value = 5273, .parameters = &.{} },
  805                .{ .name = "PerVertexKHR", .value = 5285, .parameters = &.{} },
  806                .{ .name = "NonUniform", .value = 5300, .parameters = &.{} },
  807                .{ .name = "RestrictPointer", .value = 5355, .parameters = &.{} },
  808                .{ .name = "AliasedPointer", .value = 5356, .parameters = &.{} },
  809                .{ .name = "HitObjectShaderRecordBufferNV", .value = 5386, .parameters = &.{} },
  810                .{ .name = "BindlessSamplerNV", .value = 5398, .parameters = &.{} },
  811                .{ .name = "BindlessImageNV", .value = 5399, .parameters = &.{} },
  812                .{ .name = "BoundSamplerNV", .value = 5400, .parameters = &.{} },
  813                .{ .name = "BoundImageNV", .value = 5401, .parameters = &.{} },
  814                .{ .name = "SIMTCallINTEL", .value = 5599, .parameters = &.{.literal_integer} },
  815                .{ .name = "ReferencedIndirectlyINTEL", .value = 5602, .parameters = &.{} },
  816                .{ .name = "ClobberINTEL", .value = 5607, .parameters = &.{.literal_string} },
  817                .{ .name = "SideEffectsINTEL", .value = 5608, .parameters = &.{} },
  818                .{ .name = "VectorComputeVariableINTEL", .value = 5624, .parameters = &.{} },
  819                .{ .name = "FuncParamIOKindINTEL", .value = 5625, .parameters = &.{.literal_integer} },
  820                .{ .name = "VectorComputeFunctionINTEL", .value = 5626, .parameters = &.{} },
  821                .{ .name = "StackCallINTEL", .value = 5627, .parameters = &.{} },
  822                .{ .name = "GlobalVariableOffsetINTEL", .value = 5628, .parameters = &.{.literal_integer} },
  823                .{ .name = "CounterBuffer", .value = 5634, .parameters = &.{.id_ref} },
  824                .{ .name = "UserSemantic", .value = 5635, .parameters = &.{.literal_string} },
  825                .{ .name = "UserTypeGOOGLE", .value = 5636, .parameters = &.{.literal_string} },
  826                .{ .name = "FunctionRoundingModeINTEL", .value = 5822, .parameters = &.{ .literal_integer, .fp_rounding_mode } },
  827                .{ .name = "FunctionDenormModeINTEL", .value = 5823, .parameters = &.{ .literal_integer, .fp_denorm_mode } },
  828                .{ .name = "RegisterINTEL", .value = 5825, .parameters = &.{} },
  829                .{ .name = "MemoryINTEL", .value = 5826, .parameters = &.{.literal_string} },
  830                .{ .name = "NumbanksINTEL", .value = 5827, .parameters = &.{.literal_integer} },
  831                .{ .name = "BankwidthINTEL", .value = 5828, .parameters = &.{.literal_integer} },
  832                .{ .name = "MaxPrivateCopiesINTEL", .value = 5829, .parameters = &.{.literal_integer} },
  833                .{ .name = "SinglepumpINTEL", .value = 5830, .parameters = &.{} },
  834                .{ .name = "DoublepumpINTEL", .value = 5831, .parameters = &.{} },
  835                .{ .name = "MaxReplicatesINTEL", .value = 5832, .parameters = &.{.literal_integer} },
  836                .{ .name = "SimpleDualPortINTEL", .value = 5833, .parameters = &.{} },
  837                .{ .name = "MergeINTEL", .value = 5834, .parameters = &.{ .literal_string, .literal_string } },
  838                .{ .name = "BankBitsINTEL", .value = 5835, .parameters = &.{.literal_integer} },
  839                .{ .name = "ForcePow2DepthINTEL", .value = 5836, .parameters = &.{.literal_integer} },
  840                .{ .name = "StridesizeINTEL", .value = 5883, .parameters = &.{.literal_integer} },
  841                .{ .name = "WordsizeINTEL", .value = 5884, .parameters = &.{.literal_integer} },
  842                .{ .name = "TrueDualPortINTEL", .value = 5885, .parameters = &.{} },
  843                .{ .name = "BurstCoalesceINTEL", .value = 5899, .parameters = &.{} },
  844                .{ .name = "CacheSizeINTEL", .value = 5900, .parameters = &.{.literal_integer} },
  845                .{ .name = "DontStaticallyCoalesceINTEL", .value = 5901, .parameters = &.{} },
  846                .{ .name = "PrefetchINTEL", .value = 5902, .parameters = &.{.literal_integer} },
  847                .{ .name = "StallEnableINTEL", .value = 5905, .parameters = &.{} },
  848                .{ .name = "FuseLoopsInFunctionINTEL", .value = 5907, .parameters = &.{} },
  849                .{ .name = "MathOpDSPModeINTEL", .value = 5909, .parameters = &.{ .literal_integer, .literal_integer } },
  850                .{ .name = "AliasScopeINTEL", .value = 5914, .parameters = &.{.id_ref} },
  851                .{ .name = "NoAliasINTEL", .value = 5915, .parameters = &.{.id_ref} },
  852                .{ .name = "InitiationIntervalINTEL", .value = 5917, .parameters = &.{.literal_integer} },
  853                .{ .name = "MaxConcurrencyINTEL", .value = 5918, .parameters = &.{.literal_integer} },
  854                .{ .name = "PipelineEnableINTEL", .value = 5919, .parameters = &.{.literal_integer} },
  855                .{ .name = "BufferLocationINTEL", .value = 5921, .parameters = &.{.literal_integer} },
  856                .{ .name = "IOPipeStorageINTEL", .value = 5944, .parameters = &.{.literal_integer} },
  857                .{ .name = "FunctionFloatingPointModeINTEL", .value = 6080, .parameters = &.{ .literal_integer, .fp_operation_mode } },
  858                .{ .name = "SingleElementVectorINTEL", .value = 6085, .parameters = &.{} },
  859                .{ .name = "VectorComputeCallableFunctionINTEL", .value = 6087, .parameters = &.{} },
  860                .{ .name = "MediaBlockIOINTEL", .value = 6140, .parameters = &.{} },
  861                .{ .name = "StallFreeINTEL", .value = 6151, .parameters = &.{} },
  862                .{ .name = "FPMaxErrorDecorationINTEL", .value = 6170, .parameters = &.{.literal_float} },
  863                .{ .name = "LatencyControlLabelINTEL", .value = 6172, .parameters = &.{.literal_integer} },
  864                .{ .name = "LatencyControlConstraintINTEL", .value = 6173, .parameters = &.{ .literal_integer, .literal_integer, .literal_integer } },
  865                .{ .name = "ConduitKernelArgumentINTEL", .value = 6175, .parameters = &.{} },
  866                .{ .name = "RegisterMapKernelArgumentINTEL", .value = 6176, .parameters = &.{} },
  867                .{ .name = "MMHostInterfaceAddressWidthINTEL", .value = 6177, .parameters = &.{.literal_integer} },
  868                .{ .name = "MMHostInterfaceDataWidthINTEL", .value = 6178, .parameters = &.{.literal_integer} },
  869                .{ .name = "MMHostInterfaceLatencyINTEL", .value = 6179, .parameters = &.{.literal_integer} },
  870                .{ .name = "MMHostInterfaceReadWriteModeINTEL", .value = 6180, .parameters = &.{.access_qualifier} },
  871                .{ .name = "MMHostInterfaceMaxBurstINTEL", .value = 6181, .parameters = &.{.literal_integer} },
  872                .{ .name = "MMHostInterfaceWaitRequestINTEL", .value = 6182, .parameters = &.{.literal_integer} },
  873                .{ .name = "StableKernelArgumentINTEL", .value = 6183, .parameters = &.{} },
  874                .{ .name = "HostAccessINTEL", .value = 6188, .parameters = &.{ .host_access_qualifier, .literal_string } },
  875                .{ .name = "InitModeINTEL", .value = 6190, .parameters = &.{.initialization_mode_qualifier} },
  876                .{ .name = "ImplementInRegisterMapINTEL", .value = 6191, .parameters = &.{.literal_integer} },
  877                .{ .name = "CacheControlLoadINTEL", .value = 6442, .parameters = &.{ .literal_integer, .load_cache_control } },
  878                .{ .name = "CacheControlStoreINTEL", .value = 6443, .parameters = &.{ .literal_integer, .store_cache_control } },
  879            },
  880            .built_in => &.{
  881                .{ .name = "Position", .value = 0, .parameters = &.{} },
  882                .{ .name = "PointSize", .value = 1, .parameters = &.{} },
  883                .{ .name = "ClipDistance", .value = 3, .parameters = &.{} },
  884                .{ .name = "CullDistance", .value = 4, .parameters = &.{} },
  885                .{ .name = "VertexId", .value = 5, .parameters = &.{} },
  886                .{ .name = "InstanceId", .value = 6, .parameters = &.{} },
  887                .{ .name = "PrimitiveId", .value = 7, .parameters = &.{} },
  888                .{ .name = "InvocationId", .value = 8, .parameters = &.{} },
  889                .{ .name = "Layer", .value = 9, .parameters = &.{} },
  890                .{ .name = "ViewportIndex", .value = 10, .parameters = &.{} },
  891                .{ .name = "TessLevelOuter", .value = 11, .parameters = &.{} },
  892                .{ .name = "TessLevelInner", .value = 12, .parameters = &.{} },
  893                .{ .name = "TessCoord", .value = 13, .parameters = &.{} },
  894                .{ .name = "PatchVertices", .value = 14, .parameters = &.{} },
  895                .{ .name = "FragCoord", .value = 15, .parameters = &.{} },
  896                .{ .name = "PointCoord", .value = 16, .parameters = &.{} },
  897                .{ .name = "FrontFacing", .value = 17, .parameters = &.{} },
  898                .{ .name = "SampleId", .value = 18, .parameters = &.{} },
  899                .{ .name = "SamplePosition", .value = 19, .parameters = &.{} },
  900                .{ .name = "SampleMask", .value = 20, .parameters = &.{} },
  901                .{ .name = "FragDepth", .value = 22, .parameters = &.{} },
  902                .{ .name = "HelperInvocation", .value = 23, .parameters = &.{} },
  903                .{ .name = "NumWorkgroups", .value = 24, .parameters = &.{} },
  904                .{ .name = "WorkgroupSize", .value = 25, .parameters = &.{} },
  905                .{ .name = "WorkgroupId", .value = 26, .parameters = &.{} },
  906                .{ .name = "LocalInvocationId", .value = 27, .parameters = &.{} },
  907                .{ .name = "GlobalInvocationId", .value = 28, .parameters = &.{} },
  908                .{ .name = "LocalInvocationIndex", .value = 29, .parameters = &.{} },
  909                .{ .name = "WorkDim", .value = 30, .parameters = &.{} },
  910                .{ .name = "GlobalSize", .value = 31, .parameters = &.{} },
  911                .{ .name = "EnqueuedWorkgroupSize", .value = 32, .parameters = &.{} },
  912                .{ .name = "GlobalOffset", .value = 33, .parameters = &.{} },
  913                .{ .name = "GlobalLinearId", .value = 34, .parameters = &.{} },
  914                .{ .name = "SubgroupSize", .value = 36, .parameters = &.{} },
  915                .{ .name = "SubgroupMaxSize", .value = 37, .parameters = &.{} },
  916                .{ .name = "NumSubgroups", .value = 38, .parameters = &.{} },
  917                .{ .name = "NumEnqueuedSubgroups", .value = 39, .parameters = &.{} },
  918                .{ .name = "SubgroupId", .value = 40, .parameters = &.{} },
  919                .{ .name = "SubgroupLocalInvocationId", .value = 41, .parameters = &.{} },
  920                .{ .name = "VertexIndex", .value = 42, .parameters = &.{} },
  921                .{ .name = "InstanceIndex", .value = 43, .parameters = &.{} },
  922                .{ .name = "CoreIDARM", .value = 4160, .parameters = &.{} },
  923                .{ .name = "CoreCountARM", .value = 4161, .parameters = &.{} },
  924                .{ .name = "CoreMaxIDARM", .value = 4162, .parameters = &.{} },
  925                .{ .name = "WarpIDARM", .value = 4163, .parameters = &.{} },
  926                .{ .name = "WarpMaxIDARM", .value = 4164, .parameters = &.{} },
  927                .{ .name = "SubgroupEqMask", .value = 4416, .parameters = &.{} },
  928                .{ .name = "SubgroupGeMask", .value = 4417, .parameters = &.{} },
  929                .{ .name = "SubgroupGtMask", .value = 4418, .parameters = &.{} },
  930                .{ .name = "SubgroupLeMask", .value = 4419, .parameters = &.{} },
  931                .{ .name = "SubgroupLtMask", .value = 4420, .parameters = &.{} },
  932                .{ .name = "BaseVertex", .value = 4424, .parameters = &.{} },
  933                .{ .name = "BaseInstance", .value = 4425, .parameters = &.{} },
  934                .{ .name = "DrawIndex", .value = 4426, .parameters = &.{} },
  935                .{ .name = "PrimitiveShadingRateKHR", .value = 4432, .parameters = &.{} },
  936                .{ .name = "DeviceIndex", .value = 4438, .parameters = &.{} },
  937                .{ .name = "ViewIndex", .value = 4440, .parameters = &.{} },
  938                .{ .name = "ShadingRateKHR", .value = 4444, .parameters = &.{} },
  939                .{ .name = "TileOffsetQCOM", .value = 4492, .parameters = &.{} },
  940                .{ .name = "TileDimensionQCOM", .value = 4493, .parameters = &.{} },
  941                .{ .name = "TileApronSizeQCOM", .value = 4494, .parameters = &.{} },
  942                .{ .name = "BaryCoordNoPerspAMD", .value = 4992, .parameters = &.{} },
  943                .{ .name = "BaryCoordNoPerspCentroidAMD", .value = 4993, .parameters = &.{} },
  944                .{ .name = "BaryCoordNoPerspSampleAMD", .value = 4994, .parameters = &.{} },
  945                .{ .name = "BaryCoordSmoothAMD", .value = 4995, .parameters = &.{} },
  946                .{ .name = "BaryCoordSmoothCentroidAMD", .value = 4996, .parameters = &.{} },
  947                .{ .name = "BaryCoordSmoothSampleAMD", .value = 4997, .parameters = &.{} },
  948                .{ .name = "BaryCoordPullModelAMD", .value = 4998, .parameters = &.{} },
  949                .{ .name = "FragStencilRefEXT", .value = 5014, .parameters = &.{} },
  950                .{ .name = "RemainingRecursionLevelsAMDX", .value = 5021, .parameters = &.{} },
  951                .{ .name = "ShaderIndexAMDX", .value = 5073, .parameters = &.{} },
  952                .{ .name = "ViewportMaskNV", .value = 5253, .parameters = &.{} },
  953                .{ .name = "SecondaryPositionNV", .value = 5257, .parameters = &.{} },
  954                .{ .name = "SecondaryViewportMaskNV", .value = 5258, .parameters = &.{} },
  955                .{ .name = "PositionPerViewNV", .value = 5261, .parameters = &.{} },
  956                .{ .name = "ViewportMaskPerViewNV", .value = 5262, .parameters = &.{} },
  957                .{ .name = "FullyCoveredEXT", .value = 5264, .parameters = &.{} },
  958                .{ .name = "TaskCountNV", .value = 5274, .parameters = &.{} },
  959                .{ .name = "PrimitiveCountNV", .value = 5275, .parameters = &.{} },
  960                .{ .name = "PrimitiveIndicesNV", .value = 5276, .parameters = &.{} },
  961                .{ .name = "ClipDistancePerViewNV", .value = 5277, .parameters = &.{} },
  962                .{ .name = "CullDistancePerViewNV", .value = 5278, .parameters = &.{} },
  963                .{ .name = "LayerPerViewNV", .value = 5279, .parameters = &.{} },
  964                .{ .name = "MeshViewCountNV", .value = 5280, .parameters = &.{} },
  965                .{ .name = "MeshViewIndicesNV", .value = 5281, .parameters = &.{} },
  966                .{ .name = "BaryCoordKHR", .value = 5286, .parameters = &.{} },
  967                .{ .name = "BaryCoordNoPerspKHR", .value = 5287, .parameters = &.{} },
  968                .{ .name = "FragSizeEXT", .value = 5292, .parameters = &.{} },
  969                .{ .name = "FragInvocationCountEXT", .value = 5293, .parameters = &.{} },
  970                .{ .name = "PrimitivePointIndicesEXT", .value = 5294, .parameters = &.{} },
  971                .{ .name = "PrimitiveLineIndicesEXT", .value = 5295, .parameters = &.{} },
  972                .{ .name = "PrimitiveTriangleIndicesEXT", .value = 5296, .parameters = &.{} },
  973                .{ .name = "CullPrimitiveEXT", .value = 5299, .parameters = &.{} },
  974                .{ .name = "LaunchIdKHR", .value = 5319, .parameters = &.{} },
  975                .{ .name = "LaunchSizeKHR", .value = 5320, .parameters = &.{} },
  976                .{ .name = "WorldRayOriginKHR", .value = 5321, .parameters = &.{} },
  977                .{ .name = "WorldRayDirectionKHR", .value = 5322, .parameters = &.{} },
  978                .{ .name = "ObjectRayOriginKHR", .value = 5323, .parameters = &.{} },
  979                .{ .name = "ObjectRayDirectionKHR", .value = 5324, .parameters = &.{} },
  980                .{ .name = "RayTminKHR", .value = 5325, .parameters = &.{} },
  981                .{ .name = "RayTmaxKHR", .value = 5326, .parameters = &.{} },
  982                .{ .name = "InstanceCustomIndexKHR", .value = 5327, .parameters = &.{} },
  983                .{ .name = "ObjectToWorldKHR", .value = 5330, .parameters = &.{} },
  984                .{ .name = "WorldToObjectKHR", .value = 5331, .parameters = &.{} },
  985                .{ .name = "HitTNV", .value = 5332, .parameters = &.{} },
  986                .{ .name = "HitKindKHR", .value = 5333, .parameters = &.{} },
  987                .{ .name = "CurrentRayTimeNV", .value = 5334, .parameters = &.{} },
  988                .{ .name = "HitTriangleVertexPositionsKHR", .value = 5335, .parameters = &.{} },
  989                .{ .name = "HitMicroTriangleVertexPositionsNV", .value = 5337, .parameters = &.{} },
  990                .{ .name = "HitMicroTriangleVertexBarycentricsNV", .value = 5344, .parameters = &.{} },
  991                .{ .name = "IncomingRayFlagsKHR", .value = 5351, .parameters = &.{} },
  992                .{ .name = "RayGeometryIndexKHR", .value = 5352, .parameters = &.{} },
  993                .{ .name = "HitIsSphereNV", .value = 5359, .parameters = &.{} },
  994                .{ .name = "HitIsLSSNV", .value = 5360, .parameters = &.{} },
  995                .{ .name = "HitSpherePositionNV", .value = 5361, .parameters = &.{} },
  996                .{ .name = "WarpsPerSMNV", .value = 5374, .parameters = &.{} },
  997                .{ .name = "SMCountNV", .value = 5375, .parameters = &.{} },
  998                .{ .name = "WarpIDNV", .value = 5376, .parameters = &.{} },
  999                .{ .name = "SMIDNV", .value = 5377, .parameters = &.{} },
 1000                .{ .name = "HitLSSPositionsNV", .value = 5396, .parameters = &.{} },
 1001                .{ .name = "HitKindFrontFacingMicroTriangleNV", .value = 5405, .parameters = &.{} },
 1002                .{ .name = "HitKindBackFacingMicroTriangleNV", .value = 5406, .parameters = &.{} },
 1003                .{ .name = "HitSphereRadiusNV", .value = 5420, .parameters = &.{} },
 1004                .{ .name = "HitLSSRadiiNV", .value = 5421, .parameters = &.{} },
 1005                .{ .name = "ClusterIDNV", .value = 5436, .parameters = &.{} },
 1006                .{ .name = "CullMaskKHR", .value = 6021, .parameters = &.{} },
 1007            },
 1008            .scope => &.{
 1009                .{ .name = "CrossDevice", .value = 0, .parameters = &.{} },
 1010                .{ .name = "Device", .value = 1, .parameters = &.{} },
 1011                .{ .name = "Workgroup", .value = 2, .parameters = &.{} },
 1012                .{ .name = "Subgroup", .value = 3, .parameters = &.{} },
 1013                .{ .name = "Invocation", .value = 4, .parameters = &.{} },
 1014                .{ .name = "QueueFamily", .value = 5, .parameters = &.{} },
 1015                .{ .name = "ShaderCallKHR", .value = 6, .parameters = &.{} },
 1016            },
 1017            .group_operation => &.{
 1018                .{ .name = "Reduce", .value = 0, .parameters = &.{} },
 1019                .{ .name = "InclusiveScan", .value = 1, .parameters = &.{} },
 1020                .{ .name = "ExclusiveScan", .value = 2, .parameters = &.{} },
 1021                .{ .name = "ClusteredReduce", .value = 3, .parameters = &.{} },
 1022                .{ .name = "PartitionedReduceNV", .value = 6, .parameters = &.{} },
 1023                .{ .name = "PartitionedInclusiveScanNV", .value = 7, .parameters = &.{} },
 1024                .{ .name = "PartitionedExclusiveScanNV", .value = 8, .parameters = &.{} },
 1025            },
 1026            .kernel_enqueue_flags => &.{
 1027                .{ .name = "NoWait", .value = 0, .parameters = &.{} },
 1028                .{ .name = "WaitKernel", .value = 1, .parameters = &.{} },
 1029                .{ .name = "WaitWorkGroup", .value = 2, .parameters = &.{} },
 1030            },
 1031            .capability => &.{
 1032                .{ .name = "Matrix", .value = 0, .parameters = &.{} },
 1033                .{ .name = "Shader", .value = 1, .parameters = &.{} },
 1034                .{ .name = "Geometry", .value = 2, .parameters = &.{} },
 1035                .{ .name = "Tessellation", .value = 3, .parameters = &.{} },
 1036                .{ .name = "Addresses", .value = 4, .parameters = &.{} },
 1037                .{ .name = "Linkage", .value = 5, .parameters = &.{} },
 1038                .{ .name = "Kernel", .value = 6, .parameters = &.{} },
 1039                .{ .name = "Vector16", .value = 7, .parameters = &.{} },
 1040                .{ .name = "Float16Buffer", .value = 8, .parameters = &.{} },
 1041                .{ .name = "Float16", .value = 9, .parameters = &.{} },
 1042                .{ .name = "Float64", .value = 10, .parameters = &.{} },
 1043                .{ .name = "Int64", .value = 11, .parameters = &.{} },
 1044                .{ .name = "Int64Atomics", .value = 12, .parameters = &.{} },
 1045                .{ .name = "ImageBasic", .value = 13, .parameters = &.{} },
 1046                .{ .name = "ImageReadWrite", .value = 14, .parameters = &.{} },
 1047                .{ .name = "ImageMipmap", .value = 15, .parameters = &.{} },
 1048                .{ .name = "Pipes", .value = 17, .parameters = &.{} },
 1049                .{ .name = "Groups", .value = 18, .parameters = &.{} },
 1050                .{ .name = "DeviceEnqueue", .value = 19, .parameters = &.{} },
 1051                .{ .name = "LiteralSampler", .value = 20, .parameters = &.{} },
 1052                .{ .name = "AtomicStorage", .value = 21, .parameters = &.{} },
 1053                .{ .name = "Int16", .value = 22, .parameters = &.{} },
 1054                .{ .name = "TessellationPointSize", .value = 23, .parameters = &.{} },
 1055                .{ .name = "GeometryPointSize", .value = 24, .parameters = &.{} },
 1056                .{ .name = "ImageGatherExtended", .value = 25, .parameters = &.{} },
 1057                .{ .name = "StorageImageMultisample", .value = 27, .parameters = &.{} },
 1058                .{ .name = "UniformBufferArrayDynamicIndexing", .value = 28, .parameters = &.{} },
 1059                .{ .name = "SampledImageArrayDynamicIndexing", .value = 29, .parameters = &.{} },
 1060                .{ .name = "StorageBufferArrayDynamicIndexing", .value = 30, .parameters = &.{} },
 1061                .{ .name = "StorageImageArrayDynamicIndexing", .value = 31, .parameters = &.{} },
 1062                .{ .name = "ClipDistance", .value = 32, .parameters = &.{} },
 1063                .{ .name = "CullDistance", .value = 33, .parameters = &.{} },
 1064                .{ .name = "ImageCubeArray", .value = 34, .parameters = &.{} },
 1065                .{ .name = "SampleRateShading", .value = 35, .parameters = &.{} },
 1066                .{ .name = "ImageRect", .value = 36, .parameters = &.{} },
 1067                .{ .name = "SampledRect", .value = 37, .parameters = &.{} },
 1068                .{ .name = "GenericPointer", .value = 38, .parameters = &.{} },
 1069                .{ .name = "Int8", .value = 39, .parameters = &.{} },
 1070                .{ .name = "InputAttachment", .value = 40, .parameters = &.{} },
 1071                .{ .name = "SparseResidency", .value = 41, .parameters = &.{} },
 1072                .{ .name = "MinLod", .value = 42, .parameters = &.{} },
 1073                .{ .name = "Sampled1D", .value = 43, .parameters = &.{} },
 1074                .{ .name = "Image1D", .value = 44, .parameters = &.{} },
 1075                .{ .name = "SampledCubeArray", .value = 45, .parameters = &.{} },
 1076                .{ .name = "SampledBuffer", .value = 46, .parameters = &.{} },
 1077                .{ .name = "ImageBuffer", .value = 47, .parameters = &.{} },
 1078                .{ .name = "ImageMSArray", .value = 48, .parameters = &.{} },
 1079                .{ .name = "StorageImageExtendedFormats", .value = 49, .parameters = &.{} },
 1080                .{ .name = "ImageQuery", .value = 50, .parameters = &.{} },
 1081                .{ .name = "DerivativeControl", .value = 51, .parameters = &.{} },
 1082                .{ .name = "InterpolationFunction", .value = 52, .parameters = &.{} },
 1083                .{ .name = "TransformFeedback", .value = 53, .parameters = &.{} },
 1084                .{ .name = "GeometryStreams", .value = 54, .parameters = &.{} },
 1085                .{ .name = "StorageImageReadWithoutFormat", .value = 55, .parameters = &.{} },
 1086                .{ .name = "StorageImageWriteWithoutFormat", .value = 56, .parameters = &.{} },
 1087                .{ .name = "MultiViewport", .value = 57, .parameters = &.{} },
 1088                .{ .name = "SubgroupDispatch", .value = 58, .parameters = &.{} },
 1089                .{ .name = "NamedBarrier", .value = 59, .parameters = &.{} },
 1090                .{ .name = "PipeStorage", .value = 60, .parameters = &.{} },
 1091                .{ .name = "GroupNonUniform", .value = 61, .parameters = &.{} },
 1092                .{ .name = "GroupNonUniformVote", .value = 62, .parameters = &.{} },
 1093                .{ .name = "GroupNonUniformArithmetic", .value = 63, .parameters = &.{} },
 1094                .{ .name = "GroupNonUniformBallot", .value = 64, .parameters = &.{} },
 1095                .{ .name = "GroupNonUniformShuffle", .value = 65, .parameters = &.{} },
 1096                .{ .name = "GroupNonUniformShuffleRelative", .value = 66, .parameters = &.{} },
 1097                .{ .name = "GroupNonUniformClustered", .value = 67, .parameters = &.{} },
 1098                .{ .name = "GroupNonUniformQuad", .value = 68, .parameters = &.{} },
 1099                .{ .name = "ShaderLayer", .value = 69, .parameters = &.{} },
 1100                .{ .name = "ShaderViewportIndex", .value = 70, .parameters = &.{} },
 1101                .{ .name = "UniformDecoration", .value = 71, .parameters = &.{} },
 1102                .{ .name = "CoreBuiltinsARM", .value = 4165, .parameters = &.{} },
 1103                .{ .name = "TileImageColorReadAccessEXT", .value = 4166, .parameters = &.{} },
 1104                .{ .name = "TileImageDepthReadAccessEXT", .value = 4167, .parameters = &.{} },
 1105                .{ .name = "TileImageStencilReadAccessEXT", .value = 4168, .parameters = &.{} },
 1106                .{ .name = "TensorsARM", .value = 4174, .parameters = &.{} },
 1107                .{ .name = "StorageTensorArrayDynamicIndexingARM", .value = 4175, .parameters = &.{} },
 1108                .{ .name = "StorageTensorArrayNonUniformIndexingARM", .value = 4176, .parameters = &.{} },
 1109                .{ .name = "GraphARM", .value = 4191, .parameters = &.{} },
 1110                .{ .name = "CooperativeMatrixLayoutsARM", .value = 4201, .parameters = &.{} },
 1111                .{ .name = "Float8EXT", .value = 4212, .parameters = &.{} },
 1112                .{ .name = "Float8CooperativeMatrixEXT", .value = 4213, .parameters = &.{} },
 1113                .{ .name = "FragmentShadingRateKHR", .value = 4422, .parameters = &.{} },
 1114                .{ .name = "SubgroupBallotKHR", .value = 4423, .parameters = &.{} },
 1115                .{ .name = "DrawParameters", .value = 4427, .parameters = &.{} },
 1116                .{ .name = "WorkgroupMemoryExplicitLayoutKHR", .value = 4428, .parameters = &.{} },
 1117                .{ .name = "WorkgroupMemoryExplicitLayout8BitAccessKHR", .value = 4429, .parameters = &.{} },
 1118                .{ .name = "WorkgroupMemoryExplicitLayout16BitAccessKHR", .value = 4430, .parameters = &.{} },
 1119                .{ .name = "SubgroupVoteKHR", .value = 4431, .parameters = &.{} },
 1120                .{ .name = "StorageBuffer16BitAccess", .value = 4433, .parameters = &.{} },
 1121                .{ .name = "UniformAndStorageBuffer16BitAccess", .value = 4434, .parameters = &.{} },
 1122                .{ .name = "StoragePushConstant16", .value = 4435, .parameters = &.{} },
 1123                .{ .name = "StorageInputOutput16", .value = 4436, .parameters = &.{} },
 1124                .{ .name = "DeviceGroup", .value = 4437, .parameters = &.{} },
 1125                .{ .name = "MultiView", .value = 4439, .parameters = &.{} },
 1126                .{ .name = "VariablePointersStorageBuffer", .value = 4441, .parameters = &.{} },
 1127                .{ .name = "VariablePointers", .value = 4442, .parameters = &.{} },
 1128                .{ .name = "AtomicStorageOps", .value = 4445, .parameters = &.{} },
 1129                .{ .name = "SampleMaskPostDepthCoverage", .value = 4447, .parameters = &.{} },
 1130                .{ .name = "StorageBuffer8BitAccess", .value = 4448, .parameters = &.{} },
 1131                .{ .name = "UniformAndStorageBuffer8BitAccess", .value = 4449, .parameters = &.{} },
 1132                .{ .name = "StoragePushConstant8", .value = 4450, .parameters = &.{} },
 1133                .{ .name = "DenormPreserve", .value = 4464, .parameters = &.{} },
 1134                .{ .name = "DenormFlushToZero", .value = 4465, .parameters = &.{} },
 1135                .{ .name = "SignedZeroInfNanPreserve", .value = 4466, .parameters = &.{} },
 1136                .{ .name = "RoundingModeRTE", .value = 4467, .parameters = &.{} },
 1137                .{ .name = "RoundingModeRTZ", .value = 4468, .parameters = &.{} },
 1138                .{ .name = "RayQueryProvisionalKHR", .value = 4471, .parameters = &.{} },
 1139                .{ .name = "RayQueryKHR", .value = 4472, .parameters = &.{} },
 1140                .{ .name = "UntypedPointersKHR", .value = 4473, .parameters = &.{} },
 1141                .{ .name = "RayTraversalPrimitiveCullingKHR", .value = 4478, .parameters = &.{} },
 1142                .{ .name = "RayTracingKHR", .value = 4479, .parameters = &.{} },
 1143                .{ .name = "TextureSampleWeightedQCOM", .value = 4484, .parameters = &.{} },
 1144                .{ .name = "TextureBoxFilterQCOM", .value = 4485, .parameters = &.{} },
 1145                .{ .name = "TextureBlockMatchQCOM", .value = 4486, .parameters = &.{} },
 1146                .{ .name = "TileShadingQCOM", .value = 4495, .parameters = &.{} },
 1147                .{ .name = "TextureBlockMatch2QCOM", .value = 4498, .parameters = &.{} },
 1148                .{ .name = "Float16ImageAMD", .value = 5008, .parameters = &.{} },
 1149                .{ .name = "ImageGatherBiasLodAMD", .value = 5009, .parameters = &.{} },
 1150                .{ .name = "FragmentMaskAMD", .value = 5010, .parameters = &.{} },
 1151                .{ .name = "StencilExportEXT", .value = 5013, .parameters = &.{} },
 1152                .{ .name = "ImageReadWriteLodAMD", .value = 5015, .parameters = &.{} },
 1153                .{ .name = "Int64ImageEXT", .value = 5016, .parameters = &.{} },
 1154                .{ .name = "ShaderClockKHR", .value = 5055, .parameters = &.{} },
 1155                .{ .name = "ShaderEnqueueAMDX", .value = 5067, .parameters = &.{} },
 1156                .{ .name = "QuadControlKHR", .value = 5087, .parameters = &.{} },
 1157                .{ .name = "Int4TypeINTEL", .value = 5112, .parameters = &.{} },
 1158                .{ .name = "Int4CooperativeMatrixINTEL", .value = 5114, .parameters = &.{} },
 1159                .{ .name = "BFloat16TypeKHR", .value = 5116, .parameters = &.{} },
 1160                .{ .name = "BFloat16DotProductKHR", .value = 5117, .parameters = &.{} },
 1161                .{ .name = "BFloat16CooperativeMatrixKHR", .value = 5118, .parameters = &.{} },
 1162                .{ .name = "SampleMaskOverrideCoverageNV", .value = 5249, .parameters = &.{} },
 1163                .{ .name = "GeometryShaderPassthroughNV", .value = 5251, .parameters = &.{} },
 1164                .{ .name = "ShaderViewportIndexLayerEXT", .value = 5254, .parameters = &.{} },
 1165                .{ .name = "ShaderViewportMaskNV", .value = 5255, .parameters = &.{} },
 1166                .{ .name = "ShaderStereoViewNV", .value = 5259, .parameters = &.{} },
 1167                .{ .name = "PerViewAttributesNV", .value = 5260, .parameters = &.{} },
 1168                .{ .name = "FragmentFullyCoveredEXT", .value = 5265, .parameters = &.{} },
 1169                .{ .name = "MeshShadingNV", .value = 5266, .parameters = &.{} },
 1170                .{ .name = "ImageFootprintNV", .value = 5282, .parameters = &.{} },
 1171                .{ .name = "MeshShadingEXT", .value = 5283, .parameters = &.{} },
 1172                .{ .name = "FragmentBarycentricKHR", .value = 5284, .parameters = &.{} },
 1173                .{ .name = "ComputeDerivativeGroupQuadsKHR", .value = 5288, .parameters = &.{} },
 1174                .{ .name = "FragmentDensityEXT", .value = 5291, .parameters = &.{} },
 1175                .{ .name = "GroupNonUniformPartitionedNV", .value = 5297, .parameters = &.{} },
 1176                .{ .name = "ShaderNonUniform", .value = 5301, .parameters = &.{} },
 1177                .{ .name = "RuntimeDescriptorArray", .value = 5302, .parameters = &.{} },
 1178                .{ .name = "InputAttachmentArrayDynamicIndexing", .value = 5303, .parameters = &.{} },
 1179                .{ .name = "UniformTexelBufferArrayDynamicIndexing", .value = 5304, .parameters = &.{} },
 1180                .{ .name = "StorageTexelBufferArrayDynamicIndexing", .value = 5305, .parameters = &.{} },
 1181                .{ .name = "UniformBufferArrayNonUniformIndexing", .value = 5306, .parameters = &.{} },
 1182                .{ .name = "SampledImageArrayNonUniformIndexing", .value = 5307, .parameters = &.{} },
 1183                .{ .name = "StorageBufferArrayNonUniformIndexing", .value = 5308, .parameters = &.{} },
 1184                .{ .name = "StorageImageArrayNonUniformIndexing", .value = 5309, .parameters = &.{} },
 1185                .{ .name = "InputAttachmentArrayNonUniformIndexing", .value = 5310, .parameters = &.{} },
 1186                .{ .name = "UniformTexelBufferArrayNonUniformIndexing", .value = 5311, .parameters = &.{} },
 1187                .{ .name = "StorageTexelBufferArrayNonUniformIndexing", .value = 5312, .parameters = &.{} },
 1188                .{ .name = "RayTracingPositionFetchKHR", .value = 5336, .parameters = &.{} },
 1189                .{ .name = "RayTracingNV", .value = 5340, .parameters = &.{} },
 1190                .{ .name = "RayTracingMotionBlurNV", .value = 5341, .parameters = &.{} },
 1191                .{ .name = "VulkanMemoryModel", .value = 5345, .parameters = &.{} },
 1192                .{ .name = "VulkanMemoryModelDeviceScope", .value = 5346, .parameters = &.{} },
 1193                .{ .name = "PhysicalStorageBufferAddresses", .value = 5347, .parameters = &.{} },
 1194                .{ .name = "ComputeDerivativeGroupLinearKHR", .value = 5350, .parameters = &.{} },
 1195                .{ .name = "RayTracingProvisionalKHR", .value = 5353, .parameters = &.{} },
 1196                .{ .name = "CooperativeMatrixNV", .value = 5357, .parameters = &.{} },
 1197                .{ .name = "FragmentShaderSampleInterlockEXT", .value = 5363, .parameters = &.{} },
 1198                .{ .name = "FragmentShaderShadingRateInterlockEXT", .value = 5372, .parameters = &.{} },
 1199                .{ .name = "ShaderSMBuiltinsNV", .value = 5373, .parameters = &.{} },
 1200                .{ .name = "FragmentShaderPixelInterlockEXT", .value = 5378, .parameters = &.{} },
 1201                .{ .name = "DemoteToHelperInvocation", .value = 5379, .parameters = &.{} },
 1202                .{ .name = "DisplacementMicromapNV", .value = 5380, .parameters = &.{} },
 1203                .{ .name = "RayTracingOpacityMicromapEXT", .value = 5381, .parameters = &.{} },
 1204                .{ .name = "ShaderInvocationReorderNV", .value = 5383, .parameters = &.{} },
 1205                .{ .name = "BindlessTextureNV", .value = 5390, .parameters = &.{} },
 1206                .{ .name = "RayQueryPositionFetchKHR", .value = 5391, .parameters = &.{} },
 1207                .{ .name = "CooperativeVectorNV", .value = 5394, .parameters = &.{} },
 1208                .{ .name = "AtomicFloat16VectorNV", .value = 5404, .parameters = &.{} },
 1209                .{ .name = "RayTracingDisplacementMicromapNV", .value = 5409, .parameters = &.{} },
 1210                .{ .name = "RawAccessChainsNV", .value = 5414, .parameters = &.{} },
 1211                .{ .name = "RayTracingSpheresGeometryNV", .value = 5418, .parameters = &.{} },
 1212                .{ .name = "RayTracingLinearSweptSpheresGeometryNV", .value = 5419, .parameters = &.{} },
 1213                .{ .name = "CooperativeMatrixReductionsNV", .value = 5430, .parameters = &.{} },
 1214                .{ .name = "CooperativeMatrixConversionsNV", .value = 5431, .parameters = &.{} },
 1215                .{ .name = "CooperativeMatrixPerElementOperationsNV", .value = 5432, .parameters = &.{} },
 1216                .{ .name = "CooperativeMatrixTensorAddressingNV", .value = 5433, .parameters = &.{} },
 1217                .{ .name = "CooperativeMatrixBlockLoadsNV", .value = 5434, .parameters = &.{} },
 1218                .{ .name = "CooperativeVectorTrainingNV", .value = 5435, .parameters = &.{} },
 1219                .{ .name = "RayTracingClusterAccelerationStructureNV", .value = 5437, .parameters = &.{} },
 1220                .{ .name = "TensorAddressingNV", .value = 5439, .parameters = &.{} },
 1221                .{ .name = "SubgroupShuffleINTEL", .value = 5568, .parameters = &.{} },
 1222                .{ .name = "SubgroupBufferBlockIOINTEL", .value = 5569, .parameters = &.{} },
 1223                .{ .name = "SubgroupImageBlockIOINTEL", .value = 5570, .parameters = &.{} },
 1224                .{ .name = "SubgroupImageMediaBlockIOINTEL", .value = 5579, .parameters = &.{} },
 1225                .{ .name = "RoundToInfinityINTEL", .value = 5582, .parameters = &.{} },
 1226                .{ .name = "FloatingPointModeINTEL", .value = 5583, .parameters = &.{} },
 1227                .{ .name = "IntegerFunctions2INTEL", .value = 5584, .parameters = &.{} },
 1228                .{ .name = "FunctionPointersINTEL", .value = 5603, .parameters = &.{} },
 1229                .{ .name = "IndirectReferencesINTEL", .value = 5604, .parameters = &.{} },
 1230                .{ .name = "AsmINTEL", .value = 5606, .parameters = &.{} },
 1231                .{ .name = "AtomicFloat32MinMaxEXT", .value = 5612, .parameters = &.{} },
 1232                .{ .name = "AtomicFloat64MinMaxEXT", .value = 5613, .parameters = &.{} },
 1233                .{ .name = "AtomicFloat16MinMaxEXT", .value = 5616, .parameters = &.{} },
 1234                .{ .name = "VectorComputeINTEL", .value = 5617, .parameters = &.{} },
 1235                .{ .name = "VectorAnyINTEL", .value = 5619, .parameters = &.{} },
 1236                .{ .name = "ExpectAssumeKHR", .value = 5629, .parameters = &.{} },
 1237                .{ .name = "SubgroupAvcMotionEstimationINTEL", .value = 5696, .parameters = &.{} },
 1238                .{ .name = "SubgroupAvcMotionEstimationIntraINTEL", .value = 5697, .parameters = &.{} },
 1239                .{ .name = "SubgroupAvcMotionEstimationChromaINTEL", .value = 5698, .parameters = &.{} },
 1240                .{ .name = "VariableLengthArrayINTEL", .value = 5817, .parameters = &.{} },
 1241                .{ .name = "FunctionFloatControlINTEL", .value = 5821, .parameters = &.{} },
 1242                .{ .name = "FPGAMemoryAttributesINTEL", .value = 5824, .parameters = &.{} },
 1243                .{ .name = "FPFastMathModeINTEL", .value = 5837, .parameters = &.{} },
 1244                .{ .name = "ArbitraryPrecisionIntegersINTEL", .value = 5844, .parameters = &.{} },
 1245                .{ .name = "ArbitraryPrecisionFloatingPointINTEL", .value = 5845, .parameters = &.{} },
 1246                .{ .name = "UnstructuredLoopControlsINTEL", .value = 5886, .parameters = &.{} },
 1247                .{ .name = "FPGALoopControlsINTEL", .value = 5888, .parameters = &.{} },
 1248                .{ .name = "KernelAttributesINTEL", .value = 5892, .parameters = &.{} },
 1249                .{ .name = "FPGAKernelAttributesINTEL", .value = 5897, .parameters = &.{} },
 1250                .{ .name = "FPGAMemoryAccessesINTEL", .value = 5898, .parameters = &.{} },
 1251                .{ .name = "FPGAClusterAttributesINTEL", .value = 5904, .parameters = &.{} },
 1252                .{ .name = "LoopFuseINTEL", .value = 5906, .parameters = &.{} },
 1253                .{ .name = "FPGADSPControlINTEL", .value = 5908, .parameters = &.{} },
 1254                .{ .name = "MemoryAccessAliasingINTEL", .value = 5910, .parameters = &.{} },
 1255                .{ .name = "FPGAInvocationPipeliningAttributesINTEL", .value = 5916, .parameters = &.{} },
 1256                .{ .name = "FPGABufferLocationINTEL", .value = 5920, .parameters = &.{} },
 1257                .{ .name = "ArbitraryPrecisionFixedPointINTEL", .value = 5922, .parameters = &.{} },
 1258                .{ .name = "USMStorageClassesINTEL", .value = 5935, .parameters = &.{} },
 1259                .{ .name = "RuntimeAlignedAttributeINTEL", .value = 5939, .parameters = &.{} },
 1260                .{ .name = "IOPipesINTEL", .value = 5943, .parameters = &.{} },
 1261                .{ .name = "BlockingPipesINTEL", .value = 5945, .parameters = &.{} },
 1262                .{ .name = "FPGARegINTEL", .value = 5948, .parameters = &.{} },
 1263                .{ .name = "DotProductInputAll", .value = 6016, .parameters = &.{} },
 1264                .{ .name = "DotProductInput4x8Bit", .value = 6017, .parameters = &.{} },
 1265                .{ .name = "DotProductInput4x8BitPacked", .value = 6018, .parameters = &.{} },
 1266                .{ .name = "DotProduct", .value = 6019, .parameters = &.{} },
 1267                .{ .name = "RayCullMaskKHR", .value = 6020, .parameters = &.{} },
 1268                .{ .name = "CooperativeMatrixKHR", .value = 6022, .parameters = &.{} },
 1269                .{ .name = "ReplicatedCompositesEXT", .value = 6024, .parameters = &.{} },
 1270                .{ .name = "BitInstructions", .value = 6025, .parameters = &.{} },
 1271                .{ .name = "GroupNonUniformRotateKHR", .value = 6026, .parameters = &.{} },
 1272                .{ .name = "FloatControls2", .value = 6029, .parameters = &.{} },
 1273                .{ .name = "AtomicFloat32AddEXT", .value = 6033, .parameters = &.{} },
 1274                .{ .name = "AtomicFloat64AddEXT", .value = 6034, .parameters = &.{} },
 1275                .{ .name = "LongCompositesINTEL", .value = 6089, .parameters = &.{} },
 1276                .{ .name = "OptNoneEXT", .value = 6094, .parameters = &.{} },
 1277                .{ .name = "AtomicFloat16AddEXT", .value = 6095, .parameters = &.{} },
 1278                .{ .name = "DebugInfoModuleINTEL", .value = 6114, .parameters = &.{} },
 1279                .{ .name = "BFloat16ConversionINTEL", .value = 6115, .parameters = &.{} },
 1280                .{ .name = "SplitBarrierINTEL", .value = 6141, .parameters = &.{} },
 1281                .{ .name = "ArithmeticFenceEXT", .value = 6144, .parameters = &.{} },
 1282                .{ .name = "FPGAClusterAttributesV2INTEL", .value = 6150, .parameters = &.{} },
 1283                .{ .name = "FPGAKernelAttributesv2INTEL", .value = 6161, .parameters = &.{} },
 1284                .{ .name = "TaskSequenceINTEL", .value = 6162, .parameters = &.{} },
 1285                .{ .name = "FPMaxErrorINTEL", .value = 6169, .parameters = &.{} },
 1286                .{ .name = "FPGALatencyControlINTEL", .value = 6171, .parameters = &.{} },
 1287                .{ .name = "FPGAArgumentInterfacesINTEL", .value = 6174, .parameters = &.{} },
 1288                .{ .name = "GlobalVariableHostAccessINTEL", .value = 6187, .parameters = &.{} },
 1289                .{ .name = "GlobalVariableFPGADecorationsINTEL", .value = 6189, .parameters = &.{} },
 1290                .{ .name = "SubgroupBufferPrefetchINTEL", .value = 6220, .parameters = &.{} },
 1291                .{ .name = "Subgroup2DBlockIOINTEL", .value = 6228, .parameters = &.{} },
 1292                .{ .name = "Subgroup2DBlockTransformINTEL", .value = 6229, .parameters = &.{} },
 1293                .{ .name = "Subgroup2DBlockTransposeINTEL", .value = 6230, .parameters = &.{} },
 1294                .{ .name = "SubgroupMatrixMultiplyAccumulateINTEL", .value = 6236, .parameters = &.{} },
 1295                .{ .name = "TernaryBitwiseFunctionINTEL", .value = 6241, .parameters = &.{} },
 1296                .{ .name = "GroupUniformArithmeticKHR", .value = 6400, .parameters = &.{} },
 1297                .{ .name = "TensorFloat32RoundingINTEL", .value = 6425, .parameters = &.{} },
 1298                .{ .name = "MaskedGatherScatterINTEL", .value = 6427, .parameters = &.{} },
 1299                .{ .name = "CacheControlsINTEL", .value = 6441, .parameters = &.{} },
 1300                .{ .name = "RegisterLimitsINTEL", .value = 6460, .parameters = &.{} },
 1301                .{ .name = "BindlessImagesINTEL", .value = 6528, .parameters = &.{} },
 1302            },
 1303            .ray_query_intersection => &.{
 1304                .{ .name = "RayQueryCandidateIntersectionKHR", .value = 0, .parameters = &.{} },
 1305                .{ .name = "RayQueryCommittedIntersectionKHR", .value = 1, .parameters = &.{} },
 1306            },
 1307            .ray_query_committed_intersection_type => &.{
 1308                .{ .name = "RayQueryCommittedIntersectionNoneKHR", .value = 0, .parameters = &.{} },
 1309                .{ .name = "RayQueryCommittedIntersectionTriangleKHR", .value = 1, .parameters = &.{} },
 1310                .{ .name = "RayQueryCommittedIntersectionGeneratedKHR", .value = 2, .parameters = &.{} },
 1311            },
 1312            .ray_query_candidate_intersection_type => &.{
 1313                .{ .name = "RayQueryCandidateIntersectionTriangleKHR", .value = 0, .parameters = &.{} },
 1314                .{ .name = "RayQueryCandidateIntersectionAABBKHR", .value = 1, .parameters = &.{} },
 1315            },
 1316            .packed_vector_format => &.{
 1317                .{ .name = "PackedVectorFormat4x8Bit", .value = 0, .parameters = &.{} },
 1318            },
 1319            .cooperative_matrix_operands => &.{
 1320                .{ .name = "NoneKHR", .value = 0x0000, .parameters = &.{} },
 1321                .{ .name = "MatrixASignedComponentsKHR", .value = 0x0001, .parameters = &.{} },
 1322                .{ .name = "MatrixBSignedComponentsKHR", .value = 0x0002, .parameters = &.{} },
 1323                .{ .name = "MatrixCSignedComponentsKHR", .value = 0x0004, .parameters = &.{} },
 1324                .{ .name = "MatrixResultSignedComponentsKHR", .value = 0x0008, .parameters = &.{} },
 1325                .{ .name = "SaturatingAccumulationKHR", .value = 0x0010, .parameters = &.{} },
 1326            },
 1327            .cooperative_matrix_layout => &.{
 1328                .{ .name = "RowMajorKHR", .value = 0, .parameters = &.{} },
 1329                .{ .name = "ColumnMajorKHR", .value = 1, .parameters = &.{} },
 1330                .{ .name = "RowBlockedInterleavedARM", .value = 4202, .parameters = &.{} },
 1331                .{ .name = "ColumnBlockedInterleavedARM", .value = 4203, .parameters = &.{} },
 1332            },
 1333            .cooperative_matrix_use => &.{
 1334                .{ .name = "MatrixAKHR", .value = 0, .parameters = &.{} },
 1335                .{ .name = "MatrixBKHR", .value = 1, .parameters = &.{} },
 1336                .{ .name = "MatrixAccumulatorKHR", .value = 2, .parameters = &.{} },
 1337            },
 1338            .cooperative_matrix_reduce => &.{
 1339                .{ .name = "Row", .value = 0x0001, .parameters = &.{} },
 1340                .{ .name = "Column", .value = 0x0002, .parameters = &.{} },
 1341                .{ .name = "2x2", .value = 0x0004, .parameters = &.{} },
 1342            },
 1343            .tensor_clamp_mode => &.{
 1344                .{ .name = "Undefined", .value = 0, .parameters = &.{} },
 1345                .{ .name = "Constant", .value = 1, .parameters = &.{} },
 1346                .{ .name = "ClampToEdge", .value = 2, .parameters = &.{} },
 1347                .{ .name = "Repeat", .value = 3, .parameters = &.{} },
 1348                .{ .name = "RepeatMirrored", .value = 4, .parameters = &.{} },
 1349            },
 1350            .tensor_addressing_operands => &.{
 1351                .{ .name = "TensorView", .value = 0x0001, .parameters = &.{.id_ref} },
 1352                .{ .name = "DecodeFunc", .value = 0x0002, .parameters = &.{.id_ref} },
 1353            },
 1354            .initialization_mode_qualifier => &.{
 1355                .{ .name = "InitOnDeviceReprogramINTEL", .value = 0, .parameters = &.{} },
 1356                .{ .name = "InitOnDeviceResetINTEL", .value = 1, .parameters = &.{} },
 1357            },
 1358            .load_cache_control => &.{
 1359                .{ .name = "UncachedINTEL", .value = 0, .parameters = &.{} },
 1360                .{ .name = "CachedINTEL", .value = 1, .parameters = &.{} },
 1361                .{ .name = "StreamingINTEL", .value = 2, .parameters = &.{} },
 1362                .{ .name = "InvalidateAfterReadINTEL", .value = 3, .parameters = &.{} },
 1363                .{ .name = "ConstCachedINTEL", .value = 4, .parameters = &.{} },
 1364            },
 1365            .store_cache_control => &.{
 1366                .{ .name = "UncachedINTEL", .value = 0, .parameters = &.{} },
 1367                .{ .name = "WriteThroughINTEL", .value = 1, .parameters = &.{} },
 1368                .{ .name = "WriteBackINTEL", .value = 2, .parameters = &.{} },
 1369                .{ .name = "StreamingINTEL", .value = 3, .parameters = &.{} },
 1370            },
 1371            .named_maximum_number_of_registers => &.{
 1372                .{ .name = "AutoINTEL", .value = 0, .parameters = &.{} },
 1373            },
 1374            .matrix_multiply_accumulate_operands => &.{
 1375                .{ .name = "MatrixASignedComponentsINTEL", .value = 0x1, .parameters = &.{} },
 1376                .{ .name = "MatrixBSignedComponentsINTEL", .value = 0x2, .parameters = &.{} },
 1377                .{ .name = "MatrixCBFloat16INTEL", .value = 0x4, .parameters = &.{} },
 1378                .{ .name = "MatrixResultBFloat16INTEL", .value = 0x8, .parameters = &.{} },
 1379                .{ .name = "MatrixAPackedInt8INTEL", .value = 0x10, .parameters = &.{} },
 1380                .{ .name = "MatrixBPackedInt8INTEL", .value = 0x20, .parameters = &.{} },
 1381                .{ .name = "MatrixAPackedInt4INTEL", .value = 0x40, .parameters = &.{} },
 1382                .{ .name = "MatrixBPackedInt4INTEL", .value = 0x80, .parameters = &.{} },
 1383                .{ .name = "MatrixATF32INTEL", .value = 0x100, .parameters = &.{} },
 1384                .{ .name = "MatrixBTF32INTEL", .value = 0x200, .parameters = &.{} },
 1385                .{ .name = "MatrixAPackedFloat16INTEL", .value = 0x400, .parameters = &.{} },
 1386                .{ .name = "MatrixBPackedFloat16INTEL", .value = 0x800, .parameters = &.{} },
 1387                .{ .name = "MatrixAPackedBFloat16INTEL", .value = 0x1000, .parameters = &.{} },
 1388                .{ .name = "MatrixBPackedBFloat16INTEL", .value = 0x2000, .parameters = &.{} },
 1389            },
 1390            .fp_encoding => &.{
 1391                .{ .name = "BFloat16KHR", .value = 0, .parameters = &.{} },
 1392                .{ .name = "Float8E4M3EXT", .value = 4214, .parameters = &.{} },
 1393                .{ .name = "Float8E5M2EXT", .value = 4215, .parameters = &.{} },
 1394            },
 1395            .cooperative_vector_matrix_layout => &.{
 1396                .{ .name = "RowMajorNV", .value = 0, .parameters = &.{} },
 1397                .{ .name = "ColumnMajorNV", .value = 1, .parameters = &.{} },
 1398                .{ .name = "InferencingOptimalNV", .value = 2, .parameters = &.{} },
 1399                .{ .name = "TrainingOptimalNV", .value = 3, .parameters = &.{} },
 1400            },
 1401            .component_type => &.{
 1402                .{ .name = "Float16NV", .value = 0, .parameters = &.{} },
 1403                .{ .name = "Float32NV", .value = 1, .parameters = &.{} },
 1404                .{ .name = "Float64NV", .value = 2, .parameters = &.{} },
 1405                .{ .name = "SignedInt8NV", .value = 3, .parameters = &.{} },
 1406                .{ .name = "SignedInt16NV", .value = 4, .parameters = &.{} },
 1407                .{ .name = "SignedInt32NV", .value = 5, .parameters = &.{} },
 1408                .{ .name = "SignedInt64NV", .value = 6, .parameters = &.{} },
 1409                .{ .name = "UnsignedInt8NV", .value = 7, .parameters = &.{} },
 1410                .{ .name = "UnsignedInt16NV", .value = 8, .parameters = &.{} },
 1411                .{ .name = "UnsignedInt32NV", .value = 9, .parameters = &.{} },
 1412                .{ .name = "UnsignedInt64NV", .value = 10, .parameters = &.{} },
 1413                .{ .name = "SignedInt8PackedNV", .value = 1000491000, .parameters = &.{} },
 1414                .{ .name = "UnsignedInt8PackedNV", .value = 1000491001, .parameters = &.{} },
 1415                .{ .name = "FloatE4M3NV", .value = 1000491002, .parameters = &.{} },
 1416                .{ .name = "FloatE5M2NV", .value = 1000491003, .parameters = &.{} },
 1417            },
 1418            .id_result_type => unreachable,
 1419            .id_result => unreachable,
 1420            .id_memory_semantics => unreachable,
 1421            .id_scope => unreachable,
 1422            .id_ref => unreachable,
 1423            .literal_integer => unreachable,
 1424            .literal_string => unreachable,
 1425            .literal_float => unreachable,
 1426            .literal_context_dependent_number => unreachable,
 1427            .literal_ext_inst_integer => unreachable,
 1428            .literal_spec_constant_op_integer => unreachable,
 1429            .pair_literal_integer_id_ref => unreachable,
 1430            .pair_id_ref_literal_integer => unreachable,
 1431            .pair_id_ref_id_ref => unreachable,
 1432            .tensor_operands => &.{
 1433                .{ .name = "NoneARM", .value = 0x0000, .parameters = &.{} },
 1434                .{ .name = "NontemporalARM", .value = 0x0001, .parameters = &.{} },
 1435                .{ .name = "OutOfBoundsValueARM", .value = 0x0002, .parameters = &.{.id_ref} },
 1436                .{ .name = "MakeElementAvailableARM", .value = 0x0004, .parameters = &.{.id_ref} },
 1437                .{ .name = "MakeElementVisibleARM", .value = 0x0008, .parameters = &.{.id_ref} },
 1438                .{ .name = "NonPrivateElementARM", .value = 0x0010, .parameters = &.{} },
 1439            },
 1440        };
 1441    }
 1442};
 1443
 1444pub const Opcode = enum(u16) {
 1445    OpNop = 0,
 1446    OpUndef = 1,
 1447    OpSourceContinued = 2,
 1448    OpSource = 3,
 1449    OpSourceExtension = 4,
 1450    OpName = 5,
 1451    OpMemberName = 6,
 1452    OpString = 7,
 1453    OpLine = 8,
 1454    OpExtension = 10,
 1455    OpExtInstImport = 11,
 1456    OpExtInst = 12,
 1457    OpMemoryModel = 14,
 1458    OpEntryPoint = 15,
 1459    OpExecutionMode = 16,
 1460    OpCapability = 17,
 1461    OpTypeVoid = 19,
 1462    OpTypeBool = 20,
 1463    OpTypeInt = 21,
 1464    OpTypeFloat = 22,
 1465    OpTypeVector = 23,
 1466    OpTypeMatrix = 24,
 1467    OpTypeImage = 25,
 1468    OpTypeSampler = 26,
 1469    OpTypeSampledImage = 27,
 1470    OpTypeArray = 28,
 1471    OpTypeRuntimeArray = 29,
 1472    OpTypeStruct = 30,
 1473    OpTypeOpaque = 31,
 1474    OpTypePointer = 32,
 1475    OpTypeFunction = 33,
 1476    OpTypeEvent = 34,
 1477    OpTypeDeviceEvent = 35,
 1478    OpTypeReserveId = 36,
 1479    OpTypeQueue = 37,
 1480    OpTypePipe = 38,
 1481    OpTypeForwardPointer = 39,
 1482    OpConstantTrue = 41,
 1483    OpConstantFalse = 42,
 1484    OpConstant = 43,
 1485    OpConstantComposite = 44,
 1486    OpConstantSampler = 45,
 1487    OpConstantNull = 46,
 1488    OpSpecConstantTrue = 48,
 1489    OpSpecConstantFalse = 49,
 1490    OpSpecConstant = 50,
 1491    OpSpecConstantComposite = 51,
 1492    OpSpecConstantOp = 52,
 1493    OpFunction = 54,
 1494    OpFunctionParameter = 55,
 1495    OpFunctionEnd = 56,
 1496    OpFunctionCall = 57,
 1497    OpVariable = 59,
 1498    OpImageTexelPointer = 60,
 1499    OpLoad = 61,
 1500    OpStore = 62,
 1501    OpCopyMemory = 63,
 1502    OpCopyMemorySized = 64,
 1503    OpAccessChain = 65,
 1504    OpInBoundsAccessChain = 66,
 1505    OpPtrAccessChain = 67,
 1506    OpArrayLength = 68,
 1507    OpGenericPtrMemSemantics = 69,
 1508    OpInBoundsPtrAccessChain = 70,
 1509    OpDecorate = 71,
 1510    OpMemberDecorate = 72,
 1511    OpDecorationGroup = 73,
 1512    OpGroupDecorate = 74,
 1513    OpGroupMemberDecorate = 75,
 1514    OpVectorExtractDynamic = 77,
 1515    OpVectorInsertDynamic = 78,
 1516    OpVectorShuffle = 79,
 1517    OpCompositeConstruct = 80,
 1518    OpCompositeExtract = 81,
 1519    OpCompositeInsert = 82,
 1520    OpCopyObject = 83,
 1521    OpTranspose = 84,
 1522    OpSampledImage = 86,
 1523    OpImageSampleImplicitLod = 87,
 1524    OpImageSampleExplicitLod = 88,
 1525    OpImageSampleDrefImplicitLod = 89,
 1526    OpImageSampleDrefExplicitLod = 90,
 1527    OpImageSampleProjImplicitLod = 91,
 1528    OpImageSampleProjExplicitLod = 92,
 1529    OpImageSampleProjDrefImplicitLod = 93,
 1530    OpImageSampleProjDrefExplicitLod = 94,
 1531    OpImageFetch = 95,
 1532    OpImageGather = 96,
 1533    OpImageDrefGather = 97,
 1534    OpImageRead = 98,
 1535    OpImageWrite = 99,
 1536    OpImage = 100,
 1537    OpImageQueryFormat = 101,
 1538    OpImageQueryOrder = 102,
 1539    OpImageQuerySizeLod = 103,
 1540    OpImageQuerySize = 104,
 1541    OpImageQueryLod = 105,
 1542    OpImageQueryLevels = 106,
 1543    OpImageQuerySamples = 107,
 1544    OpConvertFToU = 109,
 1545    OpConvertFToS = 110,
 1546    OpConvertSToF = 111,
 1547    OpConvertUToF = 112,
 1548    OpUConvert = 113,
 1549    OpSConvert = 114,
 1550    OpFConvert = 115,
 1551    OpQuantizeToF16 = 116,
 1552    OpConvertPtrToU = 117,
 1553    OpSatConvertSToU = 118,
 1554    OpSatConvertUToS = 119,
 1555    OpConvertUToPtr = 120,
 1556    OpPtrCastToGeneric = 121,
 1557    OpGenericCastToPtr = 122,
 1558    OpGenericCastToPtrExplicit = 123,
 1559    OpBitcast = 124,
 1560    OpSNegate = 126,
 1561    OpFNegate = 127,
 1562    OpIAdd = 128,
 1563    OpFAdd = 129,
 1564    OpISub = 130,
 1565    OpFSub = 131,
 1566    OpIMul = 132,
 1567    OpFMul = 133,
 1568    OpUDiv = 134,
 1569    OpSDiv = 135,
 1570    OpFDiv = 136,
 1571    OpUMod = 137,
 1572    OpSRem = 138,
 1573    OpSMod = 139,
 1574    OpFRem = 140,
 1575    OpFMod = 141,
 1576    OpVectorTimesScalar = 142,
 1577    OpMatrixTimesScalar = 143,
 1578    OpVectorTimesMatrix = 144,
 1579    OpMatrixTimesVector = 145,
 1580    OpMatrixTimesMatrix = 146,
 1581    OpOuterProduct = 147,
 1582    OpDot = 148,
 1583    OpIAddCarry = 149,
 1584    OpISubBorrow = 150,
 1585    OpUMulExtended = 151,
 1586    OpSMulExtended = 152,
 1587    OpAny = 154,
 1588    OpAll = 155,
 1589    OpIsNan = 156,
 1590    OpIsInf = 157,
 1591    OpIsFinite = 158,
 1592    OpIsNormal = 159,
 1593    OpSignBitSet = 160,
 1594    OpLessOrGreater = 161,
 1595    OpOrdered = 162,
 1596    OpUnordered = 163,
 1597    OpLogicalEqual = 164,
 1598    OpLogicalNotEqual = 165,
 1599    OpLogicalOr = 166,
 1600    OpLogicalAnd = 167,
 1601    OpLogicalNot = 168,
 1602    OpSelect = 169,
 1603    OpIEqual = 170,
 1604    OpINotEqual = 171,
 1605    OpUGreaterThan = 172,
 1606    OpSGreaterThan = 173,
 1607    OpUGreaterThanEqual = 174,
 1608    OpSGreaterThanEqual = 175,
 1609    OpULessThan = 176,
 1610    OpSLessThan = 177,
 1611    OpULessThanEqual = 178,
 1612    OpSLessThanEqual = 179,
 1613    OpFOrdEqual = 180,
 1614    OpFUnordEqual = 181,
 1615    OpFOrdNotEqual = 182,
 1616    OpFUnordNotEqual = 183,
 1617    OpFOrdLessThan = 184,
 1618    OpFUnordLessThan = 185,
 1619    OpFOrdGreaterThan = 186,
 1620    OpFUnordGreaterThan = 187,
 1621    OpFOrdLessThanEqual = 188,
 1622    OpFUnordLessThanEqual = 189,
 1623    OpFOrdGreaterThanEqual = 190,
 1624    OpFUnordGreaterThanEqual = 191,
 1625    OpShiftRightLogical = 194,
 1626    OpShiftRightArithmetic = 195,
 1627    OpShiftLeftLogical = 196,
 1628    OpBitwiseOr = 197,
 1629    OpBitwiseXor = 198,
 1630    OpBitwiseAnd = 199,
 1631    OpNot = 200,
 1632    OpBitFieldInsert = 201,
 1633    OpBitFieldSExtract = 202,
 1634    OpBitFieldUExtract = 203,
 1635    OpBitReverse = 204,
 1636    OpBitCount = 205,
 1637    OpDPdx = 207,
 1638    OpDPdy = 208,
 1639    OpFwidth = 209,
 1640    OpDPdxFine = 210,
 1641    OpDPdyFine = 211,
 1642    OpFwidthFine = 212,
 1643    OpDPdxCoarse = 213,
 1644    OpDPdyCoarse = 214,
 1645    OpFwidthCoarse = 215,
 1646    OpEmitVertex = 218,
 1647    OpEndPrimitive = 219,
 1648    OpEmitStreamVertex = 220,
 1649    OpEndStreamPrimitive = 221,
 1650    OpControlBarrier = 224,
 1651    OpMemoryBarrier = 225,
 1652    OpAtomicLoad = 227,
 1653    OpAtomicStore = 228,
 1654    OpAtomicExchange = 229,
 1655    OpAtomicCompareExchange = 230,
 1656    OpAtomicCompareExchangeWeak = 231,
 1657    OpAtomicIIncrement = 232,
 1658    OpAtomicIDecrement = 233,
 1659    OpAtomicIAdd = 234,
 1660    OpAtomicISub = 235,
 1661    OpAtomicSMin = 236,
 1662    OpAtomicUMin = 237,
 1663    OpAtomicSMax = 238,
 1664    OpAtomicUMax = 239,
 1665    OpAtomicAnd = 240,
 1666    OpAtomicOr = 241,
 1667    OpAtomicXor = 242,
 1668    OpPhi = 245,
 1669    OpLoopMerge = 246,
 1670    OpSelectionMerge = 247,
 1671    OpLabel = 248,
 1672    OpBranch = 249,
 1673    OpBranchConditional = 250,
 1674    OpSwitch = 251,
 1675    OpKill = 252,
 1676    OpReturn = 253,
 1677    OpReturnValue = 254,
 1678    OpUnreachable = 255,
 1679    OpLifetimeStart = 256,
 1680    OpLifetimeStop = 257,
 1681    OpGroupAsyncCopy = 259,
 1682    OpGroupWaitEvents = 260,
 1683    OpGroupAll = 261,
 1684    OpGroupAny = 262,
 1685    OpGroupBroadcast = 263,
 1686    OpGroupIAdd = 264,
 1687    OpGroupFAdd = 265,
 1688    OpGroupFMin = 266,
 1689    OpGroupUMin = 267,
 1690    OpGroupSMin = 268,
 1691    OpGroupFMax = 269,
 1692    OpGroupUMax = 270,
 1693    OpGroupSMax = 271,
 1694    OpReadPipe = 274,
 1695    OpWritePipe = 275,
 1696    OpReservedReadPipe = 276,
 1697    OpReservedWritePipe = 277,
 1698    OpReserveReadPipePackets = 278,
 1699    OpReserveWritePipePackets = 279,
 1700    OpCommitReadPipe = 280,
 1701    OpCommitWritePipe = 281,
 1702    OpIsValidReserveId = 282,
 1703    OpGetNumPipePackets = 283,
 1704    OpGetMaxPipePackets = 284,
 1705    OpGroupReserveReadPipePackets = 285,
 1706    OpGroupReserveWritePipePackets = 286,
 1707    OpGroupCommitReadPipe = 287,
 1708    OpGroupCommitWritePipe = 288,
 1709    OpEnqueueMarker = 291,
 1710    OpEnqueueKernel = 292,
 1711    OpGetKernelNDrangeSubGroupCount = 293,
 1712    OpGetKernelNDrangeMaxSubGroupSize = 294,
 1713    OpGetKernelWorkGroupSize = 295,
 1714    OpGetKernelPreferredWorkGroupSizeMultiple = 296,
 1715    OpRetainEvent = 297,
 1716    OpReleaseEvent = 298,
 1717    OpCreateUserEvent = 299,
 1718    OpIsValidEvent = 300,
 1719    OpSetUserEventStatus = 301,
 1720    OpCaptureEventProfilingInfo = 302,
 1721    OpGetDefaultQueue = 303,
 1722    OpBuildNDRange = 304,
 1723    OpImageSparseSampleImplicitLod = 305,
 1724    OpImageSparseSampleExplicitLod = 306,
 1725    OpImageSparseSampleDrefImplicitLod = 307,
 1726    OpImageSparseSampleDrefExplicitLod = 308,
 1727    OpImageSparseSampleProjImplicitLod = 309,
 1728    OpImageSparseSampleProjExplicitLod = 310,
 1729    OpImageSparseSampleProjDrefImplicitLod = 311,
 1730    OpImageSparseSampleProjDrefExplicitLod = 312,
 1731    OpImageSparseFetch = 313,
 1732    OpImageSparseGather = 314,
 1733    OpImageSparseDrefGather = 315,
 1734    OpImageSparseTexelsResident = 316,
 1735    OpNoLine = 317,
 1736    OpAtomicFlagTestAndSet = 318,
 1737    OpAtomicFlagClear = 319,
 1738    OpImageSparseRead = 320,
 1739    OpSizeOf = 321,
 1740    OpTypePipeStorage = 322,
 1741    OpConstantPipeStorage = 323,
 1742    OpCreatePipeFromPipeStorage = 324,
 1743    OpGetKernelLocalSizeForSubgroupCount = 325,
 1744    OpGetKernelMaxNumSubgroups = 326,
 1745    OpTypeNamedBarrier = 327,
 1746    OpNamedBarrierInitialize = 328,
 1747    OpMemoryNamedBarrier = 329,
 1748    OpModuleProcessed = 330,
 1749    OpExecutionModeId = 331,
 1750    OpDecorateId = 332,
 1751    OpGroupNonUniformElect = 333,
 1752    OpGroupNonUniformAll = 334,
 1753    OpGroupNonUniformAny = 335,
 1754    OpGroupNonUniformAllEqual = 336,
 1755    OpGroupNonUniformBroadcast = 337,
 1756    OpGroupNonUniformBroadcastFirst = 338,
 1757    OpGroupNonUniformBallot = 339,
 1758    OpGroupNonUniformInverseBallot = 340,
 1759    OpGroupNonUniformBallotBitExtract = 341,
 1760    OpGroupNonUniformBallotBitCount = 342,
 1761    OpGroupNonUniformBallotFindLSB = 343,
 1762    OpGroupNonUniformBallotFindMSB = 344,
 1763    OpGroupNonUniformShuffle = 345,
 1764    OpGroupNonUniformShuffleXor = 346,
 1765    OpGroupNonUniformShuffleUp = 347,
 1766    OpGroupNonUniformShuffleDown = 348,
 1767    OpGroupNonUniformIAdd = 349,
 1768    OpGroupNonUniformFAdd = 350,
 1769    OpGroupNonUniformIMul = 351,
 1770    OpGroupNonUniformFMul = 352,
 1771    OpGroupNonUniformSMin = 353,
 1772    OpGroupNonUniformUMin = 354,
 1773    OpGroupNonUniformFMin = 355,
 1774    OpGroupNonUniformSMax = 356,
 1775    OpGroupNonUniformUMax = 357,
 1776    OpGroupNonUniformFMax = 358,
 1777    OpGroupNonUniformBitwiseAnd = 359,
 1778    OpGroupNonUniformBitwiseOr = 360,
 1779    OpGroupNonUniformBitwiseXor = 361,
 1780    OpGroupNonUniformLogicalAnd = 362,
 1781    OpGroupNonUniformLogicalOr = 363,
 1782    OpGroupNonUniformLogicalXor = 364,
 1783    OpGroupNonUniformQuadBroadcast = 365,
 1784    OpGroupNonUniformQuadSwap = 366,
 1785    OpCopyLogical = 400,
 1786    OpPtrEqual = 401,
 1787    OpPtrNotEqual = 402,
 1788    OpPtrDiff = 403,
 1789    OpColorAttachmentReadEXT = 4160,
 1790    OpDepthAttachmentReadEXT = 4161,
 1791    OpStencilAttachmentReadEXT = 4162,
 1792    OpTypeTensorARM = 4163,
 1793    OpTensorReadARM = 4164,
 1794    OpTensorWriteARM = 4165,
 1795    OpTensorQuerySizeARM = 4166,
 1796    OpGraphConstantARM = 4181,
 1797    OpGraphEntryPointARM = 4182,
 1798    OpGraphARM = 4183,
 1799    OpGraphInputARM = 4184,
 1800    OpGraphSetOutputARM = 4185,
 1801    OpGraphEndARM = 4186,
 1802    OpTypeGraphARM = 4190,
 1803    OpTerminateInvocation = 4416,
 1804    OpTypeUntypedPointerKHR = 4417,
 1805    OpUntypedVariableKHR = 4418,
 1806    OpUntypedAccessChainKHR = 4419,
 1807    OpUntypedInBoundsAccessChainKHR = 4420,
 1808    OpSubgroupBallotKHR = 4421,
 1809    OpSubgroupFirstInvocationKHR = 4422,
 1810    OpUntypedPtrAccessChainKHR = 4423,
 1811    OpUntypedInBoundsPtrAccessChainKHR = 4424,
 1812    OpUntypedArrayLengthKHR = 4425,
 1813    OpUntypedPrefetchKHR = 4426,
 1814    OpSubgroupAllKHR = 4428,
 1815    OpSubgroupAnyKHR = 4429,
 1816    OpSubgroupAllEqualKHR = 4430,
 1817    OpGroupNonUniformRotateKHR = 4431,
 1818    OpSubgroupReadInvocationKHR = 4432,
 1819    OpExtInstWithForwardRefsKHR = 4433,
 1820    OpTraceRayKHR = 4445,
 1821    OpExecuteCallableKHR = 4446,
 1822    OpConvertUToAccelerationStructureKHR = 4447,
 1823    OpIgnoreIntersectionKHR = 4448,
 1824    OpTerminateRayKHR = 4449,
 1825    OpSDot = 4450,
 1826    OpUDot = 4451,
 1827    OpSUDot = 4452,
 1828    OpSDotAccSat = 4453,
 1829    OpUDotAccSat = 4454,
 1830    OpSUDotAccSat = 4455,
 1831    OpTypeCooperativeMatrixKHR = 4456,
 1832    OpCooperativeMatrixLoadKHR = 4457,
 1833    OpCooperativeMatrixStoreKHR = 4458,
 1834    OpCooperativeMatrixMulAddKHR = 4459,
 1835    OpCooperativeMatrixLengthKHR = 4460,
 1836    OpConstantCompositeReplicateEXT = 4461,
 1837    OpSpecConstantCompositeReplicateEXT = 4462,
 1838    OpCompositeConstructReplicateEXT = 4463,
 1839    OpTypeRayQueryKHR = 4472,
 1840    OpRayQueryInitializeKHR = 4473,
 1841    OpRayQueryTerminateKHR = 4474,
 1842    OpRayQueryGenerateIntersectionKHR = 4475,
 1843    OpRayQueryConfirmIntersectionKHR = 4476,
 1844    OpRayQueryProceedKHR = 4477,
 1845    OpRayQueryGetIntersectionTypeKHR = 4479,
 1846    OpImageSampleWeightedQCOM = 4480,
 1847    OpImageBoxFilterQCOM = 4481,
 1848    OpImageBlockMatchSSDQCOM = 4482,
 1849    OpImageBlockMatchSADQCOM = 4483,
 1850    OpImageBlockMatchWindowSSDQCOM = 4500,
 1851    OpImageBlockMatchWindowSADQCOM = 4501,
 1852    OpImageBlockMatchGatherSSDQCOM = 4502,
 1853    OpImageBlockMatchGatherSADQCOM = 4503,
 1854    OpGroupIAddNonUniformAMD = 5000,
 1855    OpGroupFAddNonUniformAMD = 5001,
 1856    OpGroupFMinNonUniformAMD = 5002,
 1857    OpGroupUMinNonUniformAMD = 5003,
 1858    OpGroupSMinNonUniformAMD = 5004,
 1859    OpGroupFMaxNonUniformAMD = 5005,
 1860    OpGroupUMaxNonUniformAMD = 5006,
 1861    OpGroupSMaxNonUniformAMD = 5007,
 1862    OpFragmentMaskFetchAMD = 5011,
 1863    OpFragmentFetchAMD = 5012,
 1864    OpReadClockKHR = 5056,
 1865    OpAllocateNodePayloadsAMDX = 5074,
 1866    OpEnqueueNodePayloadsAMDX = 5075,
 1867    OpTypeNodePayloadArrayAMDX = 5076,
 1868    OpFinishWritingNodePayloadAMDX = 5078,
 1869    OpNodePayloadArrayLengthAMDX = 5090,
 1870    OpIsNodePayloadValidAMDX = 5101,
 1871    OpConstantStringAMDX = 5103,
 1872    OpSpecConstantStringAMDX = 5104,
 1873    OpGroupNonUniformQuadAllKHR = 5110,
 1874    OpGroupNonUniformQuadAnyKHR = 5111,
 1875    OpHitObjectRecordHitMotionNV = 5249,
 1876    OpHitObjectRecordHitWithIndexMotionNV = 5250,
 1877    OpHitObjectRecordMissMotionNV = 5251,
 1878    OpHitObjectGetWorldToObjectNV = 5252,
 1879    OpHitObjectGetObjectToWorldNV = 5253,
 1880    OpHitObjectGetObjectRayDirectionNV = 5254,
 1881    OpHitObjectGetObjectRayOriginNV = 5255,
 1882    OpHitObjectTraceRayMotionNV = 5256,
 1883    OpHitObjectGetShaderRecordBufferHandleNV = 5257,
 1884    OpHitObjectGetShaderBindingTableRecordIndexNV = 5258,
 1885    OpHitObjectRecordEmptyNV = 5259,
 1886    OpHitObjectTraceRayNV = 5260,
 1887    OpHitObjectRecordHitNV = 5261,
 1888    OpHitObjectRecordHitWithIndexNV = 5262,
 1889    OpHitObjectRecordMissNV = 5263,
 1890    OpHitObjectExecuteShaderNV = 5264,
 1891    OpHitObjectGetCurrentTimeNV = 5265,
 1892    OpHitObjectGetAttributesNV = 5266,
 1893    OpHitObjectGetHitKindNV = 5267,
 1894    OpHitObjectGetPrimitiveIndexNV = 5268,
 1895    OpHitObjectGetGeometryIndexNV = 5269,
 1896    OpHitObjectGetInstanceIdNV = 5270,
 1897    OpHitObjectGetInstanceCustomIndexNV = 5271,
 1898    OpHitObjectGetWorldRayDirectionNV = 5272,
 1899    OpHitObjectGetWorldRayOriginNV = 5273,
 1900    OpHitObjectGetRayTMaxNV = 5274,
 1901    OpHitObjectGetRayTMinNV = 5275,
 1902    OpHitObjectIsEmptyNV = 5276,
 1903    OpHitObjectIsHitNV = 5277,
 1904    OpHitObjectIsMissNV = 5278,
 1905    OpReorderThreadWithHitObjectNV = 5279,
 1906    OpReorderThreadWithHintNV = 5280,
 1907    OpTypeHitObjectNV = 5281,
 1908    OpImageSampleFootprintNV = 5283,
 1909    OpTypeCooperativeVectorNV = 5288,
 1910    OpCooperativeVectorMatrixMulNV = 5289,
 1911    OpCooperativeVectorOuterProductAccumulateNV = 5290,
 1912    OpCooperativeVectorReduceSumAccumulateNV = 5291,
 1913    OpCooperativeVectorMatrixMulAddNV = 5292,
 1914    OpCooperativeMatrixConvertNV = 5293,
 1915    OpEmitMeshTasksEXT = 5294,
 1916    OpSetMeshOutputsEXT = 5295,
 1917    OpGroupNonUniformPartitionNV = 5296,
 1918    OpWritePackedPrimitiveIndices4x8NV = 5299,
 1919    OpFetchMicroTriangleVertexPositionNV = 5300,
 1920    OpFetchMicroTriangleVertexBarycentricNV = 5301,
 1921    OpCooperativeVectorLoadNV = 5302,
 1922    OpCooperativeVectorStoreNV = 5303,
 1923    OpReportIntersectionKHR = 5334,
 1924    OpIgnoreIntersectionNV = 5335,
 1925    OpTerminateRayNV = 5336,
 1926    OpTraceNV = 5337,
 1927    OpTraceMotionNV = 5338,
 1928    OpTraceRayMotionNV = 5339,
 1929    OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
 1930    OpTypeAccelerationStructureKHR = 5341,
 1931    OpExecuteCallableNV = 5344,
 1932    OpRayQueryGetClusterIdNV = 5345,
 1933    OpHitObjectGetClusterIdNV = 5346,
 1934    OpTypeCooperativeMatrixNV = 5358,
 1935    OpCooperativeMatrixLoadNV = 5359,
 1936    OpCooperativeMatrixStoreNV = 5360,
 1937    OpCooperativeMatrixMulAddNV = 5361,
 1938    OpCooperativeMatrixLengthNV = 5362,
 1939    OpBeginInvocationInterlockEXT = 5364,
 1940    OpEndInvocationInterlockEXT = 5365,
 1941    OpCooperativeMatrixReduceNV = 5366,
 1942    OpCooperativeMatrixLoadTensorNV = 5367,
 1943    OpCooperativeMatrixStoreTensorNV = 5368,
 1944    OpCooperativeMatrixPerElementOpNV = 5369,
 1945    OpTypeTensorLayoutNV = 5370,
 1946    OpTypeTensorViewNV = 5371,
 1947    OpCreateTensorLayoutNV = 5372,
 1948    OpTensorLayoutSetDimensionNV = 5373,
 1949    OpTensorLayoutSetStrideNV = 5374,
 1950    OpTensorLayoutSliceNV = 5375,
 1951    OpTensorLayoutSetClampValueNV = 5376,
 1952    OpCreateTensorViewNV = 5377,
 1953    OpTensorViewSetDimensionNV = 5378,
 1954    OpTensorViewSetStrideNV = 5379,
 1955    OpDemoteToHelperInvocation = 5380,
 1956    OpIsHelperInvocationEXT = 5381,
 1957    OpTensorViewSetClipNV = 5382,
 1958    OpTensorLayoutSetBlockSizeNV = 5384,
 1959    OpCooperativeMatrixTransposeNV = 5390,
 1960    OpConvertUToImageNV = 5391,
 1961    OpConvertUToSamplerNV = 5392,
 1962    OpConvertImageToUNV = 5393,
 1963    OpConvertSamplerToUNV = 5394,
 1964    OpConvertUToSampledImageNV = 5395,
 1965    OpConvertSampledImageToUNV = 5396,
 1966    OpSamplerImageAddressingModeNV = 5397,
 1967    OpRawAccessChainNV = 5398,
 1968    OpRayQueryGetIntersectionSpherePositionNV = 5427,
 1969    OpRayQueryGetIntersectionSphereRadiusNV = 5428,
 1970    OpRayQueryGetIntersectionLSSPositionsNV = 5429,
 1971    OpRayQueryGetIntersectionLSSRadiiNV = 5430,
 1972    OpRayQueryGetIntersectionLSSHitValueNV = 5431,
 1973    OpHitObjectGetSpherePositionNV = 5432,
 1974    OpHitObjectGetSphereRadiusNV = 5433,
 1975    OpHitObjectGetLSSPositionsNV = 5434,
 1976    OpHitObjectGetLSSRadiiNV = 5435,
 1977    OpHitObjectIsSphereHitNV = 5436,
 1978    OpHitObjectIsLSSHitNV = 5437,
 1979    OpRayQueryIsSphereHitNV = 5438,
 1980    OpRayQueryIsLSSHitNV = 5439,
 1981    OpSubgroupShuffleINTEL = 5571,
 1982    OpSubgroupShuffleDownINTEL = 5572,
 1983    OpSubgroupShuffleUpINTEL = 5573,
 1984    OpSubgroupShuffleXorINTEL = 5574,
 1985    OpSubgroupBlockReadINTEL = 5575,
 1986    OpSubgroupBlockWriteINTEL = 5576,
 1987    OpSubgroupImageBlockReadINTEL = 5577,
 1988    OpSubgroupImageBlockWriteINTEL = 5578,
 1989    OpSubgroupImageMediaBlockReadINTEL = 5580,
 1990    OpSubgroupImageMediaBlockWriteINTEL = 5581,
 1991    OpUCountLeadingZerosINTEL = 5585,
 1992    OpUCountTrailingZerosINTEL = 5586,
 1993    OpAbsISubINTEL = 5587,
 1994    OpAbsUSubINTEL = 5588,
 1995    OpIAddSatINTEL = 5589,
 1996    OpUAddSatINTEL = 5590,
 1997    OpIAverageINTEL = 5591,
 1998    OpUAverageINTEL = 5592,
 1999    OpIAverageRoundedINTEL = 5593,
 2000    OpUAverageRoundedINTEL = 5594,
 2001    OpISubSatINTEL = 5595,
 2002    OpUSubSatINTEL = 5596,
 2003    OpIMul32x16INTEL = 5597,
 2004    OpUMul32x16INTEL = 5598,
 2005    OpAtomicFMinEXT = 5614,
 2006    OpAtomicFMaxEXT = 5615,
 2007    OpAssumeTrueKHR = 5630,
 2008    OpExpectKHR = 5631,
 2009    OpDecorateString = 5632,
 2010    OpMemberDecorateString = 5633,
 2011    OpLoopControlINTEL = 5887,
 2012    OpReadPipeBlockingINTEL = 5946,
 2013    OpWritePipeBlockingINTEL = 5947,
 2014    OpFPGARegINTEL = 5949,
 2015    OpRayQueryGetRayTMinKHR = 6016,
 2016    OpRayQueryGetRayFlagsKHR = 6017,
 2017    OpRayQueryGetIntersectionTKHR = 6018,
 2018    OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
 2019    OpRayQueryGetIntersectionInstanceIdKHR = 6020,
 2020    OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
 2021    OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
 2022    OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
 2023    OpRayQueryGetIntersectionBarycentricsKHR = 6024,
 2024    OpRayQueryGetIntersectionFrontFaceKHR = 6025,
 2025    OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
 2026    OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
 2027    OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
 2028    OpRayQueryGetWorldRayDirectionKHR = 6029,
 2029    OpRayQueryGetWorldRayOriginKHR = 6030,
 2030    OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
 2031    OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
 2032    OpAtomicFAddEXT = 6035,
 2033    OpTypeBufferSurfaceINTEL = 6086,
 2034    OpTypeStructContinuedINTEL = 6090,
 2035    OpConstantCompositeContinuedINTEL = 6091,
 2036    OpSpecConstantCompositeContinuedINTEL = 6092,
 2037    OpCompositeConstructContinuedINTEL = 6096,
 2038    OpConvertFToBF16INTEL = 6116,
 2039    OpConvertBF16ToFINTEL = 6117,
 2040    OpControlBarrierArriveINTEL = 6142,
 2041    OpControlBarrierWaitINTEL = 6143,
 2042    OpArithmeticFenceEXT = 6145,
 2043    OpTaskSequenceCreateINTEL = 6163,
 2044    OpTaskSequenceAsyncINTEL = 6164,
 2045    OpTaskSequenceGetINTEL = 6165,
 2046    OpTaskSequenceReleaseINTEL = 6166,
 2047    OpTypeTaskSequenceINTEL = 6199,
 2048    OpSubgroupBlockPrefetchINTEL = 6221,
 2049    OpSubgroup2DBlockLoadINTEL = 6231,
 2050    OpSubgroup2DBlockLoadTransformINTEL = 6232,
 2051    OpSubgroup2DBlockLoadTransposeINTEL = 6233,
 2052    OpSubgroup2DBlockPrefetchINTEL = 6234,
 2053    OpSubgroup2DBlockStoreINTEL = 6235,
 2054    OpSubgroupMatrixMultiplyAccumulateINTEL = 6237,
 2055    OpBitwiseFunctionINTEL = 6242,
 2056    OpGroupIMulKHR = 6401,
 2057    OpGroupFMulKHR = 6402,
 2058    OpGroupBitwiseAndKHR = 6403,
 2059    OpGroupBitwiseOrKHR = 6404,
 2060    OpGroupBitwiseXorKHR = 6405,
 2061    OpGroupLogicalAndKHR = 6406,
 2062    OpGroupLogicalOrKHR = 6407,
 2063    OpGroupLogicalXorKHR = 6408,
 2064    OpRoundFToTF32INTEL = 6426,
 2065    OpMaskedGatherINTEL = 6428,
 2066    OpMaskedScatterINTEL = 6429,
 2067    OpConvertHandleToImageINTEL = 6529,
 2068    OpConvertHandleToSamplerINTEL = 6530,
 2069    OpConvertHandleToSampledImageINTEL = 6531,
 2070
 2071    pub fn Operands(comptime self: Opcode) type {
 2072        return switch (self) {
 2073            .OpNop => void,
 2074            .OpUndef => struct { id_result_type: Id, id_result: Id },
 2075            .OpSourceContinued => struct { continued_source: LiteralString },
 2076            .OpSource => struct { source_language: SourceLanguage, version: LiteralInteger, file: ?Id = null, source: ?LiteralString = null },
 2077            .OpSourceExtension => struct { extension: LiteralString },
 2078            .OpName => struct { target: Id, name: LiteralString },
 2079            .OpMemberName => struct { type: Id, member: LiteralInteger, name: LiteralString },
 2080            .OpString => struct { id_result: Id, string: LiteralString },
 2081            .OpLine => struct { file: Id, line: LiteralInteger, column: LiteralInteger },
 2082            .OpExtension => struct { name: LiteralString },
 2083            .OpExtInstImport => struct { id_result: Id, name: LiteralString },
 2084            .OpExtInst => struct { id_result_type: Id, id_result: Id, set: Id, instruction: LiteralExtInstInteger, id_ref_4: []const Id = &.{} },
 2085            .OpMemoryModel => struct { addressing_model: AddressingModel, memory_model: MemoryModel },
 2086            .OpEntryPoint => struct { execution_model: ExecutionModel, entry_point: Id, name: LiteralString, interface: []const Id = &.{} },
 2087            .OpExecutionMode => struct { entry_point: Id, mode: ExecutionMode.Extended },
 2088            .OpCapability => struct { capability: Capability },
 2089            .OpTypeVoid => struct { id_result: Id },
 2090            .OpTypeBool => struct { id_result: Id },
 2091            .OpTypeInt => struct { id_result: Id, width: LiteralInteger, signedness: LiteralInteger },
 2092            .OpTypeFloat => struct { id_result: Id, width: LiteralInteger, floating_point_encoding: ?FPEncoding = null },
 2093            .OpTypeVector => struct { id_result: Id, component_type: Id, component_count: LiteralInteger },
 2094            .OpTypeMatrix => struct { id_result: Id, column_type: Id, column_count: LiteralInteger },
 2095            .OpTypeImage => struct { id_result: Id, sampled_type: Id, dim: Dim, depth: LiteralInteger, arrayed: LiteralInteger, ms: LiteralInteger, sampled: LiteralInteger, image_format: ImageFormat, access_qualifier: ?AccessQualifier = null },
 2096            .OpTypeSampler => struct { id_result: Id },
 2097            .OpTypeSampledImage => struct { id_result: Id, image_type: Id },
 2098            .OpTypeArray => struct { id_result: Id, element_type: Id, length: Id },
 2099            .OpTypeRuntimeArray => struct { id_result: Id, element_type: Id },
 2100            .OpTypeStruct => struct { id_result: Id, id_ref: []const Id = &.{} },
 2101            .OpTypeOpaque => struct { id_result: Id, literal_string: LiteralString },
 2102            .OpTypePointer => struct { id_result: Id, storage_class: StorageClass, type: Id },
 2103            .OpTypeFunction => struct { id_result: Id, return_type: Id, id_ref_2: []const Id = &.{} },
 2104            .OpTypeEvent => struct { id_result: Id },
 2105            .OpTypeDeviceEvent => struct { id_result: Id },
 2106            .OpTypeReserveId => struct { id_result: Id },
 2107            .OpTypeQueue => struct { id_result: Id },
 2108            .OpTypePipe => struct { id_result: Id, qualifier: AccessQualifier },
 2109            .OpTypeForwardPointer => struct { pointer_type: Id, storage_class: StorageClass },
 2110            .OpConstantTrue => struct { id_result_type: Id, id_result: Id },
 2111            .OpConstantFalse => struct { id_result_type: Id, id_result: Id },
 2112            .OpConstant => struct { id_result_type: Id, id_result: Id, value: LiteralContextDependentNumber },
 2113            .OpConstantComposite => struct { id_result_type: Id, id_result: Id, constituents: []const Id = &.{} },
 2114            .OpConstantSampler => struct { id_result_type: Id, id_result: Id, sampler_addressing_mode: SamplerAddressingMode, param: LiteralInteger, sampler_filter_mode: SamplerFilterMode },
 2115            .OpConstantNull => struct { id_result_type: Id, id_result: Id },
 2116            .OpSpecConstantTrue => struct { id_result_type: Id, id_result: Id },
 2117            .OpSpecConstantFalse => struct { id_result_type: Id, id_result: Id },
 2118            .OpSpecConstant => struct { id_result_type: Id, id_result: Id, value: LiteralContextDependentNumber },
 2119            .OpSpecConstantComposite => struct { id_result_type: Id, id_result: Id, constituents: []const Id = &.{} },
 2120            .OpSpecConstantOp => struct { id_result_type: Id, id_result: Id, opcode: LiteralSpecConstantOpInteger },
 2121            .OpFunction => struct { id_result_type: Id, id_result: Id, function_control: FunctionControl, function_type: Id },
 2122            .OpFunctionParameter => struct { id_result_type: Id, id_result: Id },
 2123            .OpFunctionEnd => void,
 2124            .OpFunctionCall => struct { id_result_type: Id, id_result: Id, function: Id, id_ref_3: []const Id = &.{} },
 2125            .OpVariable => struct { id_result_type: Id, id_result: Id, storage_class: StorageClass, initializer: ?Id = null },
 2126            .OpImageTexelPointer => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id, sample: Id },
 2127            .OpLoad => struct { id_result_type: Id, id_result: Id, pointer: Id, memory_access: ?MemoryAccess.Extended = null },
 2128            .OpStore => struct { pointer: Id, object: Id, memory_access: ?MemoryAccess.Extended = null },
 2129            .OpCopyMemory => struct { target: Id, source: Id, memory_access_2: ?MemoryAccess.Extended = null, memory_access_3: ?MemoryAccess.Extended = null },
 2130            .OpCopyMemorySized => struct { target: Id, source: Id, size: Id, memory_access_3: ?MemoryAccess.Extended = null, memory_access_4: ?MemoryAccess.Extended = null },
 2131            .OpAccessChain => struct { id_result_type: Id, id_result: Id, base: Id, indexes: []const Id = &.{} },
 2132            .OpInBoundsAccessChain => struct { id_result_type: Id, id_result: Id, base: Id, indexes: []const Id = &.{} },
 2133            .OpPtrAccessChain => struct { id_result_type: Id, id_result: Id, base: Id, element: Id, indexes: []const Id = &.{} },
 2134            .OpArrayLength => struct { id_result_type: Id, id_result: Id, structure: Id, array_member: LiteralInteger },
 2135            .OpGenericPtrMemSemantics => struct { id_result_type: Id, id_result: Id, pointer: Id },
 2136            .OpInBoundsPtrAccessChain => struct { id_result_type: Id, id_result: Id, base: Id, element: Id, indexes: []const Id = &.{} },
 2137            .OpDecorate => struct { target: Id, decoration: Decoration.Extended },
 2138            .OpMemberDecorate => struct { structure_type: Id, member: LiteralInteger, decoration: Decoration.Extended },
 2139            .OpDecorationGroup => struct { id_result: Id },
 2140            .OpGroupDecorate => struct { decoration_group: Id, targets: []const Id = &.{} },
 2141            .OpGroupMemberDecorate => struct { decoration_group: Id, targets: []const PairIdRefLiteralInteger = &.{} },
 2142            .OpVectorExtractDynamic => struct { id_result_type: Id, id_result: Id, vector: Id, index: Id },
 2143            .OpVectorInsertDynamic => struct { id_result_type: Id, id_result: Id, vector: Id, component: Id, index: Id },
 2144            .OpVectorShuffle => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id, components: []const LiteralInteger = &.{} },
 2145            .OpCompositeConstruct => struct { id_result_type: Id, id_result: Id, constituents: []const Id = &.{} },
 2146            .OpCompositeExtract => struct { id_result_type: Id, id_result: Id, composite: Id, indexes: []const LiteralInteger = &.{} },
 2147            .OpCompositeInsert => struct { id_result_type: Id, id_result: Id, object: Id, composite: Id, indexes: []const LiteralInteger = &.{} },
 2148            .OpCopyObject => struct { id_result_type: Id, id_result: Id, operand: Id },
 2149            .OpTranspose => struct { id_result_type: Id, id_result: Id, matrix: Id },
 2150            .OpSampledImage => struct { id_result_type: Id, id_result: Id, image: Id, sampler: Id },
 2151            .OpImageSampleImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null },
 2152            .OpImageSampleExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ImageOperands.Extended },
 2153            .OpImageSampleDrefImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ?ImageOperands.Extended = null },
 2154            .OpImageSampleDrefExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ImageOperands.Extended },
 2155            .OpImageSampleProjImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null },
 2156            .OpImageSampleProjExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ImageOperands.Extended },
 2157            .OpImageSampleProjDrefImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ?ImageOperands.Extended = null },
 2158            .OpImageSampleProjDrefExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ImageOperands.Extended },
 2159            .OpImageFetch => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null },
 2160            .OpImageGather => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, component: Id, image_operands: ?ImageOperands.Extended = null },
 2161            .OpImageDrefGather => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ?ImageOperands.Extended = null },
 2162            .OpImageRead => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null },
 2163            .OpImageWrite => struct { image: Id, coordinate: Id, texel: Id, image_operands: ?ImageOperands.Extended = null },
 2164            .OpImage => struct { id_result_type: Id, id_result: Id, sampled_image: Id },
 2165            .OpImageQueryFormat => struct { id_result_type: Id, id_result: Id, image: Id },
 2166            .OpImageQueryOrder => struct { id_result_type: Id, id_result: Id, image: Id },
 2167            .OpImageQuerySizeLod => struct { id_result_type: Id, id_result: Id, image: Id, level_of_detail: Id },
 2168            .OpImageQuerySize => struct { id_result_type: Id, id_result: Id, image: Id },
 2169            .OpImageQueryLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id },
 2170            .OpImageQueryLevels => struct { id_result_type: Id, id_result: Id, image: Id },
 2171            .OpImageQuerySamples => struct { id_result_type: Id, id_result: Id, image: Id },
 2172            .OpConvertFToU => struct { id_result_type: Id, id_result: Id, float_value: Id },
 2173            .OpConvertFToS => struct { id_result_type: Id, id_result: Id, float_value: Id },
 2174            .OpConvertSToF => struct { id_result_type: Id, id_result: Id, signed_value: Id },
 2175            .OpConvertUToF => struct { id_result_type: Id, id_result: Id, unsigned_value: Id },
 2176            .OpUConvert => struct { id_result_type: Id, id_result: Id, unsigned_value: Id },
 2177            .OpSConvert => struct { id_result_type: Id, id_result: Id, signed_value: Id },
 2178            .OpFConvert => struct { id_result_type: Id, id_result: Id, float_value: Id },
 2179            .OpQuantizeToF16 => struct { id_result_type: Id, id_result: Id, value: Id },
 2180            .OpConvertPtrToU => struct { id_result_type: Id, id_result: Id, pointer: Id },
 2181            .OpSatConvertSToU => struct { id_result_type: Id, id_result: Id, signed_value: Id },
 2182            .OpSatConvertUToS => struct { id_result_type: Id, id_result: Id, unsigned_value: Id },
 2183            .OpConvertUToPtr => struct { id_result_type: Id, id_result: Id, integer_value: Id },
 2184            .OpPtrCastToGeneric => struct { id_result_type: Id, id_result: Id, pointer: Id },
 2185            .OpGenericCastToPtr => struct { id_result_type: Id, id_result: Id, pointer: Id },
 2186            .OpGenericCastToPtrExplicit => struct { id_result_type: Id, id_result: Id, pointer: Id, storage: StorageClass },
 2187            .OpBitcast => struct { id_result_type: Id, id_result: Id, operand: Id },
 2188            .OpSNegate => struct { id_result_type: Id, id_result: Id, operand: Id },
 2189            .OpFNegate => struct { id_result_type: Id, id_result: Id, operand: Id },
 2190            .OpIAdd => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2191            .OpFAdd => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2192            .OpISub => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2193            .OpFSub => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2194            .OpIMul => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2195            .OpFMul => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2196            .OpUDiv => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2197            .OpSDiv => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2198            .OpFDiv => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2199            .OpUMod => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2200            .OpSRem => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2201            .OpSMod => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2202            .OpFRem => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2203            .OpFMod => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2204            .OpVectorTimesScalar => struct { id_result_type: Id, id_result: Id, vector: Id, scalar: Id },
 2205            .OpMatrixTimesScalar => struct { id_result_type: Id, id_result: Id, matrix: Id, scalar: Id },
 2206            .OpVectorTimesMatrix => struct { id_result_type: Id, id_result: Id, vector: Id, matrix: Id },
 2207            .OpMatrixTimesVector => struct { id_result_type: Id, id_result: Id, matrix: Id, vector: Id },
 2208            .OpMatrixTimesMatrix => struct { id_result_type: Id, id_result: Id, left_matrix: Id, right_matrix: Id },
 2209            .OpOuterProduct => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id },
 2210            .OpDot => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id },
 2211            .OpIAddCarry => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2212            .OpISubBorrow => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2213            .OpUMulExtended => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2214            .OpSMulExtended => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2215            .OpAny => struct { id_result_type: Id, id_result: Id, vector: Id },
 2216            .OpAll => struct { id_result_type: Id, id_result: Id, vector: Id },
 2217            .OpIsNan => struct { id_result_type: Id, id_result: Id, x: Id },
 2218            .OpIsInf => struct { id_result_type: Id, id_result: Id, x: Id },
 2219            .OpIsFinite => struct { id_result_type: Id, id_result: Id, x: Id },
 2220            .OpIsNormal => struct { id_result_type: Id, id_result: Id, x: Id },
 2221            .OpSignBitSet => struct { id_result_type: Id, id_result: Id, x: Id },
 2222            .OpLessOrGreater => struct { id_result_type: Id, id_result: Id, x: Id, y: Id },
 2223            .OpOrdered => struct { id_result_type: Id, id_result: Id, x: Id, y: Id },
 2224            .OpUnordered => struct { id_result_type: Id, id_result: Id, x: Id, y: Id },
 2225            .OpLogicalEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2226            .OpLogicalNotEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2227            .OpLogicalOr => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2228            .OpLogicalAnd => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2229            .OpLogicalNot => struct { id_result_type: Id, id_result: Id, operand: Id },
 2230            .OpSelect => struct { id_result_type: Id, id_result: Id, condition: Id, object_1: Id, object_2: Id },
 2231            .OpIEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2232            .OpINotEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2233            .OpUGreaterThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2234            .OpSGreaterThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2235            .OpUGreaterThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2236            .OpSGreaterThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2237            .OpULessThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2238            .OpSLessThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2239            .OpULessThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2240            .OpSLessThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2241            .OpFOrdEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2242            .OpFUnordEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2243            .OpFOrdNotEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2244            .OpFUnordNotEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2245            .OpFOrdLessThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2246            .OpFUnordLessThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2247            .OpFOrdGreaterThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2248            .OpFUnordGreaterThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2249            .OpFOrdLessThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2250            .OpFUnordLessThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2251            .OpFOrdGreaterThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2252            .OpFUnordGreaterThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2253            .OpShiftRightLogical => struct { id_result_type: Id, id_result: Id, base: Id, shift: Id },
 2254            .OpShiftRightArithmetic => struct { id_result_type: Id, id_result: Id, base: Id, shift: Id },
 2255            .OpShiftLeftLogical => struct { id_result_type: Id, id_result: Id, base: Id, shift: Id },
 2256            .OpBitwiseOr => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2257            .OpBitwiseXor => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2258            .OpBitwiseAnd => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2259            .OpNot => struct { id_result_type: Id, id_result: Id, operand: Id },
 2260            .OpBitFieldInsert => struct { id_result_type: Id, id_result: Id, base: Id, insert: Id, offset: Id, count: Id },
 2261            .OpBitFieldSExtract => struct { id_result_type: Id, id_result: Id, base: Id, offset: Id, count: Id },
 2262            .OpBitFieldUExtract => struct { id_result_type: Id, id_result: Id, base: Id, offset: Id, count: Id },
 2263            .OpBitReverse => struct { id_result_type: Id, id_result: Id, base: Id },
 2264            .OpBitCount => struct { id_result_type: Id, id_result: Id, base: Id },
 2265            .OpDPdx => struct { id_result_type: Id, id_result: Id, p: Id },
 2266            .OpDPdy => struct { id_result_type: Id, id_result: Id, p: Id },
 2267            .OpFwidth => struct { id_result_type: Id, id_result: Id, p: Id },
 2268            .OpDPdxFine => struct { id_result_type: Id, id_result: Id, p: Id },
 2269            .OpDPdyFine => struct { id_result_type: Id, id_result: Id, p: Id },
 2270            .OpFwidthFine => struct { id_result_type: Id, id_result: Id, p: Id },
 2271            .OpDPdxCoarse => struct { id_result_type: Id, id_result: Id, p: Id },
 2272            .OpDPdyCoarse => struct { id_result_type: Id, id_result: Id, p: Id },
 2273            .OpFwidthCoarse => struct { id_result_type: Id, id_result: Id, p: Id },
 2274            .OpEmitVertex => void,
 2275            .OpEndPrimitive => void,
 2276            .OpEmitStreamVertex => struct { stream: Id },
 2277            .OpEndStreamPrimitive => struct { stream: Id },
 2278            .OpControlBarrier => struct { execution: Id, memory: Id, semantics: Id },
 2279            .OpMemoryBarrier => struct { memory: Id, semantics: Id },
 2280            .OpAtomicLoad => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id },
 2281            .OpAtomicStore => struct { pointer: Id, memory: Id, semantics: Id, value: Id },
 2282            .OpAtomicExchange => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id },
 2283            .OpAtomicCompareExchange => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, equal: Id, unequal: Id, value: Id, comparator: Id },
 2284            .OpAtomicCompareExchangeWeak => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, equal: Id, unequal: Id, value: Id, comparator: Id },
 2285            .OpAtomicIIncrement => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id },
 2286            .OpAtomicIDecrement => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id },
 2287            .OpAtomicIAdd => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id },
 2288            .OpAtomicISub => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id },
 2289            .OpAtomicSMin => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id },
 2290            .OpAtomicUMin => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id },
 2291            .OpAtomicSMax => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id },
 2292            .OpAtomicUMax => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id },
 2293            .OpAtomicAnd => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id },
 2294            .OpAtomicOr => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id },
 2295            .OpAtomicXor => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id },
 2296            .OpPhi => struct { id_result_type: Id, id_result: Id, pair_id_ref_id_ref: []const PairIdRefIdRef = &.{} },
 2297            .OpLoopMerge => struct { merge_block: Id, continue_target: Id, loop_control: LoopControl.Extended },
 2298            .OpSelectionMerge => struct { merge_block: Id, selection_control: SelectionControl },
 2299            .OpLabel => struct { id_result: Id },
 2300            .OpBranch => struct { target_label: Id },
 2301            .OpBranchConditional => struct { condition: Id, true_label: Id, false_label: Id, branch_weights: []const LiteralInteger = &.{} },
 2302            .OpSwitch => struct { selector: Id, default: Id, target: []const PairLiteralIntegerIdRef = &.{} },
 2303            .OpKill => void,
 2304            .OpReturn => void,
 2305            .OpReturnValue => struct { value: Id },
 2306            .OpUnreachable => void,
 2307            .OpLifetimeStart => struct { pointer: Id, size: LiteralInteger },
 2308            .OpLifetimeStop => struct { pointer: Id, size: LiteralInteger },
 2309            .OpGroupAsyncCopy => struct { id_result_type: Id, id_result: Id, execution: Id, destination: Id, source: Id, num_elements: Id, stride: Id, event: Id },
 2310            .OpGroupWaitEvents => struct { execution: Id, num_events: Id, events_list: Id },
 2311            .OpGroupAll => struct { id_result_type: Id, id_result: Id, execution: Id, predicate: Id },
 2312            .OpGroupAny => struct { id_result_type: Id, id_result: Id, execution: Id, predicate: Id },
 2313            .OpGroupBroadcast => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, local_id: Id },
 2314            .OpGroupIAdd => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2315            .OpGroupFAdd => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2316            .OpGroupFMin => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2317            .OpGroupUMin => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2318            .OpGroupSMin => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2319            .OpGroupFMax => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2320            .OpGroupUMax => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2321            .OpGroupSMax => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2322            .OpReadPipe => struct { id_result_type: Id, id_result: Id, pipe: Id, pointer: Id, packet_size: Id, packet_alignment: Id },
 2323            .OpWritePipe => struct { id_result_type: Id, id_result: Id, pipe: Id, pointer: Id, packet_size: Id, packet_alignment: Id },
 2324            .OpReservedReadPipe => struct { id_result_type: Id, id_result: Id, pipe: Id, reserve_id: Id, index: Id, pointer: Id, packet_size: Id, packet_alignment: Id },
 2325            .OpReservedWritePipe => struct { id_result_type: Id, id_result: Id, pipe: Id, reserve_id: Id, index: Id, pointer: Id, packet_size: Id, packet_alignment: Id },
 2326            .OpReserveReadPipePackets => struct { id_result_type: Id, id_result: Id, pipe: Id, num_packets: Id, packet_size: Id, packet_alignment: Id },
 2327            .OpReserveWritePipePackets => struct { id_result_type: Id, id_result: Id, pipe: Id, num_packets: Id, packet_size: Id, packet_alignment: Id },
 2328            .OpCommitReadPipe => struct { pipe: Id, reserve_id: Id, packet_size: Id, packet_alignment: Id },
 2329            .OpCommitWritePipe => struct { pipe: Id, reserve_id: Id, packet_size: Id, packet_alignment: Id },
 2330            .OpIsValidReserveId => struct { id_result_type: Id, id_result: Id, reserve_id: Id },
 2331            .OpGetNumPipePackets => struct { id_result_type: Id, id_result: Id, pipe: Id, packet_size: Id, packet_alignment: Id },
 2332            .OpGetMaxPipePackets => struct { id_result_type: Id, id_result: Id, pipe: Id, packet_size: Id, packet_alignment: Id },
 2333            .OpGroupReserveReadPipePackets => struct { id_result_type: Id, id_result: Id, execution: Id, pipe: Id, num_packets: Id, packet_size: Id, packet_alignment: Id },
 2334            .OpGroupReserveWritePipePackets => struct { id_result_type: Id, id_result: Id, execution: Id, pipe: Id, num_packets: Id, packet_size: Id, packet_alignment: Id },
 2335            .OpGroupCommitReadPipe => struct { execution: Id, pipe: Id, reserve_id: Id, packet_size: Id, packet_alignment: Id },
 2336            .OpGroupCommitWritePipe => struct { execution: Id, pipe: Id, reserve_id: Id, packet_size: Id, packet_alignment: Id },
 2337            .OpEnqueueMarker => struct { id_result_type: Id, id_result: Id, queue: Id, num_events: Id, wait_events: Id, ret_event: Id },
 2338            .OpEnqueueKernel => struct { id_result_type: Id, id_result: Id, queue: Id, flags: Id, nd_range: Id, num_events: Id, wait_events: Id, ret_event: Id, invoke: Id, param: Id, param_size: Id, param_align: Id, local_size: []const Id = &.{} },
 2339            .OpGetKernelNDrangeSubGroupCount => struct { id_result_type: Id, id_result: Id, nd_range: Id, invoke: Id, param: Id, param_size: Id, param_align: Id },
 2340            .OpGetKernelNDrangeMaxSubGroupSize => struct { id_result_type: Id, id_result: Id, nd_range: Id, invoke: Id, param: Id, param_size: Id, param_align: Id },
 2341            .OpGetKernelWorkGroupSize => struct { id_result_type: Id, id_result: Id, invoke: Id, param: Id, param_size: Id, param_align: Id },
 2342            .OpGetKernelPreferredWorkGroupSizeMultiple => struct { id_result_type: Id, id_result: Id, invoke: Id, param: Id, param_size: Id, param_align: Id },
 2343            .OpRetainEvent => struct { event: Id },
 2344            .OpReleaseEvent => struct { event: Id },
 2345            .OpCreateUserEvent => struct { id_result_type: Id, id_result: Id },
 2346            .OpIsValidEvent => struct { id_result_type: Id, id_result: Id, event: Id },
 2347            .OpSetUserEventStatus => struct { event: Id, status: Id },
 2348            .OpCaptureEventProfilingInfo => struct { event: Id, profiling_info: Id, value: Id },
 2349            .OpGetDefaultQueue => struct { id_result_type: Id, id_result: Id },
 2350            .OpBuildNDRange => struct { id_result_type: Id, id_result: Id, global_work_size: Id, local_work_size: Id, global_work_offset: Id },
 2351            .OpImageSparseSampleImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null },
 2352            .OpImageSparseSampleExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ImageOperands.Extended },
 2353            .OpImageSparseSampleDrefImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ?ImageOperands.Extended = null },
 2354            .OpImageSparseSampleDrefExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ImageOperands.Extended },
 2355            .OpImageSparseSampleProjImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null },
 2356            .OpImageSparseSampleProjExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ImageOperands.Extended },
 2357            .OpImageSparseSampleProjDrefImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ?ImageOperands.Extended = null },
 2358            .OpImageSparseSampleProjDrefExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ImageOperands.Extended },
 2359            .OpImageSparseFetch => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null },
 2360            .OpImageSparseGather => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, component: Id, image_operands: ?ImageOperands.Extended = null },
 2361            .OpImageSparseDrefGather => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ?ImageOperands.Extended = null },
 2362            .OpImageSparseTexelsResident => struct { id_result_type: Id, id_result: Id, resident_code: Id },
 2363            .OpNoLine => void,
 2364            .OpAtomicFlagTestAndSet => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id },
 2365            .OpAtomicFlagClear => struct { pointer: Id, memory: Id, semantics: Id },
 2366            .OpImageSparseRead => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null },
 2367            .OpSizeOf => struct { id_result_type: Id, id_result: Id, pointer: Id },
 2368            .OpTypePipeStorage => struct { id_result: Id },
 2369            .OpConstantPipeStorage => struct { id_result_type: Id, id_result: Id, packet_size: LiteralInteger, packet_alignment: LiteralInteger, capacity: LiteralInteger },
 2370            .OpCreatePipeFromPipeStorage => struct { id_result_type: Id, id_result: Id, pipe_storage: Id },
 2371            .OpGetKernelLocalSizeForSubgroupCount => struct { id_result_type: Id, id_result: Id, subgroup_count: Id, invoke: Id, param: Id, param_size: Id, param_align: Id },
 2372            .OpGetKernelMaxNumSubgroups => struct { id_result_type: Id, id_result: Id, invoke: Id, param: Id, param_size: Id, param_align: Id },
 2373            .OpTypeNamedBarrier => struct { id_result: Id },
 2374            .OpNamedBarrierInitialize => struct { id_result_type: Id, id_result: Id, subgroup_count: Id },
 2375            .OpMemoryNamedBarrier => struct { named_barrier: Id, memory: Id, semantics: Id },
 2376            .OpModuleProcessed => struct { process: LiteralString },
 2377            .OpExecutionModeId => struct { entry_point: Id, mode: ExecutionMode.Extended },
 2378            .OpDecorateId => struct { target: Id, decoration: Decoration.Extended },
 2379            .OpGroupNonUniformElect => struct { id_result_type: Id, id_result: Id, execution: Id },
 2380            .OpGroupNonUniformAll => struct { id_result_type: Id, id_result: Id, execution: Id, predicate: Id },
 2381            .OpGroupNonUniformAny => struct { id_result_type: Id, id_result: Id, execution: Id, predicate: Id },
 2382            .OpGroupNonUniformAllEqual => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id },
 2383            .OpGroupNonUniformBroadcast => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, id: Id },
 2384            .OpGroupNonUniformBroadcastFirst => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id },
 2385            .OpGroupNonUniformBallot => struct { id_result_type: Id, id_result: Id, execution: Id, predicate: Id },
 2386            .OpGroupNonUniformInverseBallot => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id },
 2387            .OpGroupNonUniformBallotBitExtract => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, index: Id },
 2388            .OpGroupNonUniformBallotBitCount => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id },
 2389            .OpGroupNonUniformBallotFindLSB => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id },
 2390            .OpGroupNonUniformBallotFindMSB => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id },
 2391            .OpGroupNonUniformShuffle => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, id: Id },
 2392            .OpGroupNonUniformShuffleXor => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, mask: Id },
 2393            .OpGroupNonUniformShuffleUp => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, delta: Id },
 2394            .OpGroupNonUniformShuffleDown => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, delta: Id },
 2395            .OpGroupNonUniformIAdd => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2396            .OpGroupNonUniformFAdd => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2397            .OpGroupNonUniformIMul => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2398            .OpGroupNonUniformFMul => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2399            .OpGroupNonUniformSMin => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2400            .OpGroupNonUniformUMin => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2401            .OpGroupNonUniformFMin => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2402            .OpGroupNonUniformSMax => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2403            .OpGroupNonUniformUMax => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2404            .OpGroupNonUniformFMax => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2405            .OpGroupNonUniformBitwiseAnd => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2406            .OpGroupNonUniformBitwiseOr => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2407            .OpGroupNonUniformBitwiseXor => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2408            .OpGroupNonUniformLogicalAnd => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2409            .OpGroupNonUniformLogicalOr => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2410            .OpGroupNonUniformLogicalXor => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null },
 2411            .OpGroupNonUniformQuadBroadcast => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, index: Id },
 2412            .OpGroupNonUniformQuadSwap => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, direction: Id },
 2413            .OpCopyLogical => struct { id_result_type: Id, id_result: Id, operand: Id },
 2414            .OpPtrEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2415            .OpPtrNotEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2416            .OpPtrDiff => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2417            .OpColorAttachmentReadEXT => struct { id_result_type: Id, id_result: Id, attachment: Id, sample: ?Id = null },
 2418            .OpDepthAttachmentReadEXT => struct { id_result_type: Id, id_result: Id, sample: ?Id = null },
 2419            .OpStencilAttachmentReadEXT => struct { id_result_type: Id, id_result: Id, sample: ?Id = null },
 2420            .OpTypeTensorARM => struct { id_result: Id, element_type: Id, rank: ?Id = null, shape: ?Id = null },
 2421            .OpTensorReadARM => struct { id_result_type: Id, id_result: Id, tensor: Id, coordinates: Id, tensor_operands: ?TensorOperands.Extended = null },
 2422            .OpTensorWriteARM => struct { tensor: Id, coordinates: Id, object: Id, tensor_operands: ?TensorOperands.Extended = null },
 2423            .OpTensorQuerySizeARM => struct { id_result_type: Id, id_result: Id, tensor: Id, dimension: Id },
 2424            .OpGraphConstantARM => struct { id_result_type: Id, id_result: Id, graph_constant_id: LiteralInteger },
 2425            .OpGraphEntryPointARM => struct { graph: Id, name: LiteralString, interface: []const Id = &.{} },
 2426            .OpGraphARM => struct { id_result_type: Id, id_result: Id },
 2427            .OpGraphInputARM => struct { id_result_type: Id, id_result: Id, input_index: Id, element_index: []const Id = &.{} },
 2428            .OpGraphSetOutputARM => struct { value: Id, output_index: Id, element_index: []const Id = &.{} },
 2429            .OpGraphEndARM => void,
 2430            .OpTypeGraphARM => struct { id_result: Id, num_inputs: LiteralInteger, in_out_types: []const Id = &.{} },
 2431            .OpTerminateInvocation => void,
 2432            .OpTypeUntypedPointerKHR => struct { id_result: Id, storage_class: StorageClass },
 2433            .OpUntypedVariableKHR => struct { id_result_type: Id, id_result: Id, storage_class: StorageClass, data_type: ?Id = null, initializer: ?Id = null },
 2434            .OpUntypedAccessChainKHR => struct { id_result_type: Id, id_result: Id, base_type: Id, base: Id, indexes: []const Id = &.{} },
 2435            .OpUntypedInBoundsAccessChainKHR => struct { id_result_type: Id, id_result: Id, base_type: Id, base: Id, indexes: []const Id = &.{} },
 2436            .OpSubgroupBallotKHR => struct { id_result_type: Id, id_result: Id, predicate: Id },
 2437            .OpSubgroupFirstInvocationKHR => struct { id_result_type: Id, id_result: Id, value: Id },
 2438            .OpUntypedPtrAccessChainKHR => struct { id_result_type: Id, id_result: Id, base_type: Id, base: Id, element: Id, indexes: []const Id = &.{} },
 2439            .OpUntypedInBoundsPtrAccessChainKHR => struct { id_result_type: Id, id_result: Id, base_type: Id, base: Id, element: Id, indexes: []const Id = &.{} },
 2440            .OpUntypedArrayLengthKHR => struct { id_result_type: Id, id_result: Id, structure: Id, pointer: Id, array_member: LiteralInteger },
 2441            .OpUntypedPrefetchKHR => struct { pointer_type: Id, num_bytes: Id, rw: ?Id = null, locality: ?Id = null, cache_type: ?Id = null },
 2442            .OpSubgroupAllKHR => struct { id_result_type: Id, id_result: Id, predicate: Id },
 2443            .OpSubgroupAnyKHR => struct { id_result_type: Id, id_result: Id, predicate: Id },
 2444            .OpSubgroupAllEqualKHR => struct { id_result_type: Id, id_result: Id, predicate: Id },
 2445            .OpGroupNonUniformRotateKHR => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, delta: Id, cluster_size: ?Id = null },
 2446            .OpSubgroupReadInvocationKHR => struct { id_result_type: Id, id_result: Id, value: Id, index: Id },
 2447            .OpExtInstWithForwardRefsKHR => struct { id_result_type: Id, id_result: Id, set: Id, instruction: LiteralExtInstInteger, id_ref_4: []const Id = &.{} },
 2448            .OpTraceRayKHR => struct { accel: Id, ray_flags: Id, cull_mask: Id, sbt_offset: Id, sbt_stride: Id, miss_index: Id, ray_origin: Id, ray_tmin: Id, ray_direction: Id, ray_tmax: Id, payload: Id },
 2449            .OpExecuteCallableKHR => struct { sbt_index: Id, callable_data: Id },
 2450            .OpConvertUToAccelerationStructureKHR => struct { id_result_type: Id, id_result: Id, accel: Id },
 2451            .OpIgnoreIntersectionKHR => void,
 2452            .OpTerminateRayKHR => void,
 2453            .OpSDot => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id, packed_vector_format: ?PackedVectorFormat = null },
 2454            .OpUDot => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id, packed_vector_format: ?PackedVectorFormat = null },
 2455            .OpSUDot => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id, packed_vector_format: ?PackedVectorFormat = null },
 2456            .OpSDotAccSat => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id, accumulator: Id, packed_vector_format: ?PackedVectorFormat = null },
 2457            .OpUDotAccSat => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id, accumulator: Id, packed_vector_format: ?PackedVectorFormat = null },
 2458            .OpSUDotAccSat => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id, accumulator: Id, packed_vector_format: ?PackedVectorFormat = null },
 2459            .OpTypeCooperativeMatrixKHR => struct { id_result: Id, component_type: Id, scope: Id, rows: Id, columns: Id, use: Id },
 2460            .OpCooperativeMatrixLoadKHR => struct { id_result_type: Id, id_result: Id, pointer: Id, memory_layout: Id, stride: ?Id = null, memory_operand: ?MemoryAccess.Extended = null },
 2461            .OpCooperativeMatrixStoreKHR => struct { pointer: Id, object: Id, memory_layout: Id, stride: ?Id = null, memory_operand: ?MemoryAccess.Extended = null },
 2462            .OpCooperativeMatrixMulAddKHR => struct { id_result_type: Id, id_result: Id, a: Id, b: Id, c: Id, cooperative_matrix_operands: ?CooperativeMatrixOperands = null },
 2463            .OpCooperativeMatrixLengthKHR => struct { id_result_type: Id, id_result: Id, type: Id },
 2464            .OpConstantCompositeReplicateEXT => struct { id_result_type: Id, id_result: Id, value: Id },
 2465            .OpSpecConstantCompositeReplicateEXT => struct { id_result_type: Id, id_result: Id, value: Id },
 2466            .OpCompositeConstructReplicateEXT => struct { id_result_type: Id, id_result: Id, value: Id },
 2467            .OpTypeRayQueryKHR => struct { id_result: Id },
 2468            .OpRayQueryInitializeKHR => struct { ray_query: Id, accel: Id, ray_flags: Id, cull_mask: Id, ray_origin: Id, ray_t_min: Id, ray_direction: Id, ray_t_max: Id },
 2469            .OpRayQueryTerminateKHR => struct { ray_query: Id },
 2470            .OpRayQueryGenerateIntersectionKHR => struct { ray_query: Id, hit_t: Id },
 2471            .OpRayQueryConfirmIntersectionKHR => struct { ray_query: Id },
 2472            .OpRayQueryProceedKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id },
 2473            .OpRayQueryGetIntersectionTypeKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2474            .OpImageSampleWeightedQCOM => struct { id_result_type: Id, id_result: Id, texture: Id, coordinates: Id, weights: Id },
 2475            .OpImageBoxFilterQCOM => struct { id_result_type: Id, id_result: Id, texture: Id, coordinates: Id, box_size: Id },
 2476            .OpImageBlockMatchSSDQCOM => struct { id_result_type: Id, id_result: Id, target: Id, target_coordinates: Id, reference: Id, reference_coordinates: Id, block_size: Id },
 2477            .OpImageBlockMatchSADQCOM => struct { id_result_type: Id, id_result: Id, target: Id, target_coordinates: Id, reference: Id, reference_coordinates: Id, block_size: Id },
 2478            .OpImageBlockMatchWindowSSDQCOM => struct { id_result_type: Id, id_result: Id, target_sampled_image: Id, target_coordinates: Id, reference_sampled_image: Id, reference_coordinates: Id, block_size: Id },
 2479            .OpImageBlockMatchWindowSADQCOM => struct { id_result_type: Id, id_result: Id, target_sampled_image: Id, target_coordinates: Id, reference_sampled_image: Id, reference_coordinates: Id, block_size: Id },
 2480            .OpImageBlockMatchGatherSSDQCOM => struct { id_result_type: Id, id_result: Id, target_sampled_image: Id, target_coordinates: Id, reference_sampled_image: Id, reference_coordinates: Id, block_size: Id },
 2481            .OpImageBlockMatchGatherSADQCOM => struct { id_result_type: Id, id_result: Id, target_sampled_image: Id, target_coordinates: Id, reference_sampled_image: Id, reference_coordinates: Id, block_size: Id },
 2482            .OpGroupIAddNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2483            .OpGroupFAddNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2484            .OpGroupFMinNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2485            .OpGroupUMinNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2486            .OpGroupSMinNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2487            .OpGroupFMaxNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2488            .OpGroupUMaxNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2489            .OpGroupSMaxNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2490            .OpFragmentMaskFetchAMD => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id },
 2491            .OpFragmentFetchAMD => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id, fragment_index: Id },
 2492            .OpReadClockKHR => struct { id_result_type: Id, id_result: Id, scope: Id },
 2493            .OpAllocateNodePayloadsAMDX => struct { id_result_type: Id, id_result: Id, visibility: Id, payload_count: Id, node_index: Id },
 2494            .OpEnqueueNodePayloadsAMDX => struct { payload_array: Id },
 2495            .OpTypeNodePayloadArrayAMDX => struct { id_result: Id, payload_type: Id },
 2496            .OpFinishWritingNodePayloadAMDX => struct { id_result_type: Id, id_result: Id, payload: Id },
 2497            .OpNodePayloadArrayLengthAMDX => struct { id_result_type: Id, id_result: Id, payload_array: Id },
 2498            .OpIsNodePayloadValidAMDX => struct { id_result_type: Id, id_result: Id, payload_type: Id, node_index: Id },
 2499            .OpConstantStringAMDX => struct { id_result: Id, literal_string: LiteralString },
 2500            .OpSpecConstantStringAMDX => struct { id_result: Id, literal_string: LiteralString },
 2501            .OpGroupNonUniformQuadAllKHR => struct { id_result_type: Id, id_result: Id, predicate: Id },
 2502            .OpGroupNonUniformQuadAnyKHR => struct { id_result_type: Id, id_result: Id, predicate: Id },
 2503            .OpHitObjectRecordHitMotionNV => struct { hit_object: Id, acceleration_structure: Id, instance_id: Id, primitive_id: Id, geometry_index: Id, hit_kind: Id, sbt_record_offset: Id, sbt_record_stride: Id, origin: Id, t_min: Id, direction: Id, t_max: Id, current_time: Id, hit_object_attributes: Id },
 2504            .OpHitObjectRecordHitWithIndexMotionNV => struct { hit_object: Id, acceleration_structure: Id, instance_id: Id, primitive_id: Id, geometry_index: Id, hit_kind: Id, sbt_record_index: Id, origin: Id, t_min: Id, direction: Id, t_max: Id, current_time: Id, hit_object_attributes: Id },
 2505            .OpHitObjectRecordMissMotionNV => struct { hit_object: Id, sbt_index: Id, origin: Id, t_min: Id, direction: Id, t_max: Id, current_time: Id },
 2506            .OpHitObjectGetWorldToObjectNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2507            .OpHitObjectGetObjectToWorldNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2508            .OpHitObjectGetObjectRayDirectionNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2509            .OpHitObjectGetObjectRayOriginNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2510            .OpHitObjectTraceRayMotionNV => struct { hit_object: Id, acceleration_structure: Id, ray_flags: Id, cullmask: Id, sbt_record_offset: Id, sbt_record_stride: Id, miss_index: Id, origin: Id, t_min: Id, direction: Id, t_max: Id, time: Id, payload: Id },
 2511            .OpHitObjectGetShaderRecordBufferHandleNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2512            .OpHitObjectGetShaderBindingTableRecordIndexNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2513            .OpHitObjectRecordEmptyNV => struct { hit_object: Id },
 2514            .OpHitObjectTraceRayNV => struct { hit_object: Id, acceleration_structure: Id, ray_flags: Id, cullmask: Id, sbt_record_offset: Id, sbt_record_stride: Id, miss_index: Id, origin: Id, t_min: Id, direction: Id, t_max: Id, payload: Id },
 2515            .OpHitObjectRecordHitNV => struct { hit_object: Id, acceleration_structure: Id, instance_id: Id, primitive_id: Id, geometry_index: Id, hit_kind: Id, sbt_record_offset: Id, sbt_record_stride: Id, origin: Id, t_min: Id, direction: Id, t_max: Id, hit_object_attributes: Id },
 2516            .OpHitObjectRecordHitWithIndexNV => struct { hit_object: Id, acceleration_structure: Id, instance_id: Id, primitive_id: Id, geometry_index: Id, hit_kind: Id, sbt_record_index: Id, origin: Id, t_min: Id, direction: Id, t_max: Id, hit_object_attributes: Id },
 2517            .OpHitObjectRecordMissNV => struct { hit_object: Id, sbt_index: Id, origin: Id, t_min: Id, direction: Id, t_max: Id },
 2518            .OpHitObjectExecuteShaderNV => struct { hit_object: Id, payload: Id },
 2519            .OpHitObjectGetCurrentTimeNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2520            .OpHitObjectGetAttributesNV => struct { hit_object: Id, hit_object_attribute: Id },
 2521            .OpHitObjectGetHitKindNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2522            .OpHitObjectGetPrimitiveIndexNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2523            .OpHitObjectGetGeometryIndexNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2524            .OpHitObjectGetInstanceIdNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2525            .OpHitObjectGetInstanceCustomIndexNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2526            .OpHitObjectGetWorldRayDirectionNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2527            .OpHitObjectGetWorldRayOriginNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2528            .OpHitObjectGetRayTMaxNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2529            .OpHitObjectGetRayTMinNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2530            .OpHitObjectIsEmptyNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2531            .OpHitObjectIsHitNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2532            .OpHitObjectIsMissNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2533            .OpReorderThreadWithHitObjectNV => struct { hit_object: Id, hint: ?Id = null, bits: ?Id = null },
 2534            .OpReorderThreadWithHintNV => struct { hint: Id, bits: Id },
 2535            .OpTypeHitObjectNV => struct { id_result: Id },
 2536            .OpImageSampleFootprintNV => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, granularity: Id, coarse: Id, image_operands: ?ImageOperands.Extended = null },
 2537            .OpTypeCooperativeVectorNV => struct { id_result: Id, component_type: Id, component_count: Id },
 2538            .OpCooperativeVectorMatrixMulNV => struct { id_result_type: Id, id_result: Id, input: Id, input_interpretation: Id, matrix: Id, matrix_offset: Id, matrix_interpretation: Id, m: Id, k: Id, memory_layout: Id, transpose: Id, matrix_stride: ?Id = null, cooperative_matrix_operands: ?CooperativeMatrixOperands = null },
 2539            .OpCooperativeVectorOuterProductAccumulateNV => struct { pointer: Id, offset: Id, a: Id, b: Id, memory_layout: Id, matrix_interpretation: Id, matrix_stride: ?Id = null },
 2540            .OpCooperativeVectorReduceSumAccumulateNV => struct { pointer: Id, offset: Id, v: Id },
 2541            .OpCooperativeVectorMatrixMulAddNV => struct { id_result_type: Id, id_result: Id, input: Id, input_interpretation: Id, matrix: Id, matrix_offset: Id, matrix_interpretation: Id, bias: Id, bias_offset: Id, bias_interpretation: Id, m: Id, k: Id, memory_layout: Id, transpose: Id, matrix_stride: ?Id = null, cooperative_matrix_operands: ?CooperativeMatrixOperands = null },
 2542            .OpCooperativeMatrixConvertNV => struct { id_result_type: Id, id_result: Id, matrix: Id },
 2543            .OpEmitMeshTasksEXT => struct { group_count_x: Id, group_count_y: Id, group_count_z: Id, payload: ?Id = null },
 2544            .OpSetMeshOutputsEXT => struct { vertex_count: Id, primitive_count: Id },
 2545            .OpGroupNonUniformPartitionNV => struct { id_result_type: Id, id_result: Id, value: Id },
 2546            .OpWritePackedPrimitiveIndices4x8NV => struct { index_offset: Id, packed_indices: Id },
 2547            .OpFetchMicroTriangleVertexPositionNV => struct { id_result_type: Id, id_result: Id, accel: Id, instance_id: Id, geometry_index: Id, primitive_index: Id, barycentric: Id },
 2548            .OpFetchMicroTriangleVertexBarycentricNV => struct { id_result_type: Id, id_result: Id, accel: Id, instance_id: Id, geometry_index: Id, primitive_index: Id, barycentric: Id },
 2549            .OpCooperativeVectorLoadNV => struct { id_result_type: Id, id_result: Id, pointer: Id, offset: Id, memory_access: ?MemoryAccess.Extended = null },
 2550            .OpCooperativeVectorStoreNV => struct { pointer: Id, offset: Id, object: Id, memory_access: ?MemoryAccess.Extended = null },
 2551            .OpReportIntersectionKHR => struct { id_result_type: Id, id_result: Id, hit: Id, hit_kind: Id },
 2552            .OpIgnoreIntersectionNV => void,
 2553            .OpTerminateRayNV => void,
 2554            .OpTraceNV => struct { accel: Id, ray_flags: Id, cull_mask: Id, sbt_offset: Id, sbt_stride: Id, miss_index: Id, ray_origin: Id, ray_tmin: Id, ray_direction: Id, ray_tmax: Id, payload_id: Id },
 2555            .OpTraceMotionNV => struct { accel: Id, ray_flags: Id, cull_mask: Id, sbt_offset: Id, sbt_stride: Id, miss_index: Id, ray_origin: Id, ray_tmin: Id, ray_direction: Id, ray_tmax: Id, time: Id, payload_id: Id },
 2556            .OpTraceRayMotionNV => struct { accel: Id, ray_flags: Id, cull_mask: Id, sbt_offset: Id, sbt_stride: Id, miss_index: Id, ray_origin: Id, ray_tmin: Id, ray_direction: Id, ray_tmax: Id, time: Id, payload: Id },
 2557            .OpRayQueryGetIntersectionTriangleVertexPositionsKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2558            .OpTypeAccelerationStructureKHR => struct { id_result: Id },
 2559            .OpExecuteCallableNV => struct { sbt_index: Id, callable_data_id: Id },
 2560            .OpRayQueryGetClusterIdNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2561            .OpHitObjectGetClusterIdNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2562            .OpTypeCooperativeMatrixNV => struct { id_result: Id, component_type: Id, execution: Id, rows: Id, columns: Id },
 2563            .OpCooperativeMatrixLoadNV => struct { id_result_type: Id, id_result: Id, pointer: Id, stride: Id, column_major: Id, memory_access: ?MemoryAccess.Extended = null },
 2564            .OpCooperativeMatrixStoreNV => struct { pointer: Id, object: Id, stride: Id, column_major: Id, memory_access: ?MemoryAccess.Extended = null },
 2565            .OpCooperativeMatrixMulAddNV => struct { id_result_type: Id, id_result: Id, a: Id, b: Id, c: Id },
 2566            .OpCooperativeMatrixLengthNV => struct { id_result_type: Id, id_result: Id, type: Id },
 2567            .OpBeginInvocationInterlockEXT => void,
 2568            .OpEndInvocationInterlockEXT => void,
 2569            .OpCooperativeMatrixReduceNV => struct { id_result_type: Id, id_result: Id, matrix: Id, reduce: CooperativeMatrixReduce, combine_func: Id },
 2570            .OpCooperativeMatrixLoadTensorNV => struct { id_result_type: Id, id_result: Id, pointer: Id, object: Id, tensor_layout: Id, memory_operand: MemoryAccess.Extended, tensor_addressing_operands: TensorAddressingOperands.Extended },
 2571            .OpCooperativeMatrixStoreTensorNV => struct { pointer: Id, object: Id, tensor_layout: Id, memory_operand: MemoryAccess.Extended, tensor_addressing_operands: TensorAddressingOperands.Extended },
 2572            .OpCooperativeMatrixPerElementOpNV => struct { id_result_type: Id, id_result: Id, matrix: Id, func: Id, operands: []const Id = &.{} },
 2573            .OpTypeTensorLayoutNV => struct { id_result: Id, dim: Id, clamp_mode: Id },
 2574            .OpTypeTensorViewNV => struct { id_result: Id, dim: Id, has_dimensions: Id, p: []const Id = &.{} },
 2575            .OpCreateTensorLayoutNV => struct { id_result_type: Id, id_result: Id },
 2576            .OpTensorLayoutSetDimensionNV => struct { id_result_type: Id, id_result: Id, tensor_layout: Id, dim: []const Id = &.{} },
 2577            .OpTensorLayoutSetStrideNV => struct { id_result_type: Id, id_result: Id, tensor_layout: Id, stride: []const Id = &.{} },
 2578            .OpTensorLayoutSliceNV => struct { id_result_type: Id, id_result: Id, tensor_layout: Id, operands: []const Id = &.{} },
 2579            .OpTensorLayoutSetClampValueNV => struct { id_result_type: Id, id_result: Id, tensor_layout: Id, value: Id },
 2580            .OpCreateTensorViewNV => struct { id_result_type: Id, id_result: Id },
 2581            .OpTensorViewSetDimensionNV => struct { id_result_type: Id, id_result: Id, tensor_view: Id, dim: []const Id = &.{} },
 2582            .OpTensorViewSetStrideNV => struct { id_result_type: Id, id_result: Id, tensor_view: Id, stride: []const Id = &.{} },
 2583            .OpDemoteToHelperInvocation => void,
 2584            .OpIsHelperInvocationEXT => struct { id_result_type: Id, id_result: Id },
 2585            .OpTensorViewSetClipNV => struct { id_result_type: Id, id_result: Id, tensor_view: Id, clip_row_offset: Id, clip_row_span: Id, clip_col_offset: Id, clip_col_span: Id },
 2586            .OpTensorLayoutSetBlockSizeNV => struct { id_result_type: Id, id_result: Id, tensor_layout: Id, block_size: []const Id = &.{} },
 2587            .OpCooperativeMatrixTransposeNV => struct { id_result_type: Id, id_result: Id, matrix: Id },
 2588            .OpConvertUToImageNV => struct { id_result_type: Id, id_result: Id, operand: Id },
 2589            .OpConvertUToSamplerNV => struct { id_result_type: Id, id_result: Id, operand: Id },
 2590            .OpConvertImageToUNV => struct { id_result_type: Id, id_result: Id, operand: Id },
 2591            .OpConvertSamplerToUNV => struct { id_result_type: Id, id_result: Id, operand: Id },
 2592            .OpConvertUToSampledImageNV => struct { id_result_type: Id, id_result: Id, operand: Id },
 2593            .OpConvertSampledImageToUNV => struct { id_result_type: Id, id_result: Id, operand: Id },
 2594            .OpSamplerImageAddressingModeNV => struct { bit_width: LiteralInteger },
 2595            .OpRawAccessChainNV => struct { id_result_type: Id, id_result: Id, base: Id, byte_stride: Id, element_index: Id, byte_offset: Id, raw_access_chain_operands: ?RawAccessChainOperands = null },
 2596            .OpRayQueryGetIntersectionSpherePositionNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2597            .OpRayQueryGetIntersectionSphereRadiusNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2598            .OpRayQueryGetIntersectionLSSPositionsNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2599            .OpRayQueryGetIntersectionLSSRadiiNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2600            .OpRayQueryGetIntersectionLSSHitValueNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2601            .OpHitObjectGetSpherePositionNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2602            .OpHitObjectGetSphereRadiusNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2603            .OpHitObjectGetLSSPositionsNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2604            .OpHitObjectGetLSSRadiiNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2605            .OpHitObjectIsSphereHitNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2606            .OpHitObjectIsLSSHitNV => struct { id_result_type: Id, id_result: Id, hit_object: Id },
 2607            .OpRayQueryIsSphereHitNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2608            .OpRayQueryIsLSSHitNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2609            .OpSubgroupShuffleINTEL => struct { id_result_type: Id, id_result: Id, data: Id, invocation_id: Id },
 2610            .OpSubgroupShuffleDownINTEL => struct { id_result_type: Id, id_result: Id, current: Id, next: Id, delta: Id },
 2611            .OpSubgroupShuffleUpINTEL => struct { id_result_type: Id, id_result: Id, previous: Id, current: Id, delta: Id },
 2612            .OpSubgroupShuffleXorINTEL => struct { id_result_type: Id, id_result: Id, data: Id, value: Id },
 2613            .OpSubgroupBlockReadINTEL => struct { id_result_type: Id, id_result: Id, ptr: Id },
 2614            .OpSubgroupBlockWriteINTEL => struct { ptr: Id, data: Id },
 2615            .OpSubgroupImageBlockReadINTEL => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id },
 2616            .OpSubgroupImageBlockWriteINTEL => struct { image: Id, coordinate: Id, data: Id },
 2617            .OpSubgroupImageMediaBlockReadINTEL => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id, width: Id, height: Id },
 2618            .OpSubgroupImageMediaBlockWriteINTEL => struct { image: Id, coordinate: Id, width: Id, height: Id, data: Id },
 2619            .OpUCountLeadingZerosINTEL => struct { id_result_type: Id, id_result: Id, operand: Id },
 2620            .OpUCountTrailingZerosINTEL => struct { id_result_type: Id, id_result: Id, operand: Id },
 2621            .OpAbsISubINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2622            .OpAbsUSubINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2623            .OpIAddSatINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2624            .OpUAddSatINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2625            .OpIAverageINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2626            .OpUAverageINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2627            .OpIAverageRoundedINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2628            .OpUAverageRoundedINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2629            .OpISubSatINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2630            .OpUSubSatINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2631            .OpIMul32x16INTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2632            .OpUMul32x16INTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id },
 2633            .OpAtomicFMinEXT => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id },
 2634            .OpAtomicFMaxEXT => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id },
 2635            .OpAssumeTrueKHR => struct { condition: Id },
 2636            .OpExpectKHR => struct { id_result_type: Id, id_result: Id, value: Id, expected_value: Id },
 2637            .OpDecorateString => struct { target: Id, decoration: Decoration.Extended },
 2638            .OpMemberDecorateString => struct { struct_type: Id, member: LiteralInteger, decoration: Decoration.Extended },
 2639            .OpLoopControlINTEL => struct { loop_control_parameters: []const LiteralInteger = &.{} },
 2640            .OpReadPipeBlockingINTEL => struct { id_result_type: Id, id_result: Id, packet_size: Id, packet_alignment: Id },
 2641            .OpWritePipeBlockingINTEL => struct { id_result_type: Id, id_result: Id, packet_size: Id, packet_alignment: Id },
 2642            .OpFPGARegINTEL => struct { id_result_type: Id, id_result: Id, input: Id },
 2643            .OpRayQueryGetRayTMinKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id },
 2644            .OpRayQueryGetRayFlagsKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id },
 2645            .OpRayQueryGetIntersectionTKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2646            .OpRayQueryGetIntersectionInstanceCustomIndexKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2647            .OpRayQueryGetIntersectionInstanceIdKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2648            .OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2649            .OpRayQueryGetIntersectionGeometryIndexKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2650            .OpRayQueryGetIntersectionPrimitiveIndexKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2651            .OpRayQueryGetIntersectionBarycentricsKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2652            .OpRayQueryGetIntersectionFrontFaceKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2653            .OpRayQueryGetIntersectionCandidateAABBOpaqueKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id },
 2654            .OpRayQueryGetIntersectionObjectRayDirectionKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2655            .OpRayQueryGetIntersectionObjectRayOriginKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2656            .OpRayQueryGetWorldRayDirectionKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id },
 2657            .OpRayQueryGetWorldRayOriginKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id },
 2658            .OpRayQueryGetIntersectionObjectToWorldKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2659            .OpRayQueryGetIntersectionWorldToObjectKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id },
 2660            .OpAtomicFAddEXT => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id },
 2661            .OpTypeBufferSurfaceINTEL => struct { id_result: Id, access_qualifier: AccessQualifier },
 2662            .OpTypeStructContinuedINTEL => struct { id_ref: []const Id = &.{} },
 2663            .OpConstantCompositeContinuedINTEL => struct { constituents: []const Id = &.{} },
 2664            .OpSpecConstantCompositeContinuedINTEL => struct { constituents: []const Id = &.{} },
 2665            .OpCompositeConstructContinuedINTEL => struct { id_result_type: Id, id_result: Id, constituents: []const Id = &.{} },
 2666            .OpConvertFToBF16INTEL => struct { id_result_type: Id, id_result: Id, float_value: Id },
 2667            .OpConvertBF16ToFINTEL => struct { id_result_type: Id, id_result: Id, b_float16_value: Id },
 2668            .OpControlBarrierArriveINTEL => struct { execution: Id, memory: Id, semantics: Id },
 2669            .OpControlBarrierWaitINTEL => struct { execution: Id, memory: Id, semantics: Id },
 2670            .OpArithmeticFenceEXT => struct { id_result_type: Id, id_result: Id, target: Id },
 2671            .OpTaskSequenceCreateINTEL => struct { id_result_type: Id, id_result: Id, function: Id, pipelined: LiteralInteger, use_stall_enable_clusters: LiteralInteger, get_capacity: LiteralInteger, async_capacity: LiteralInteger },
 2672            .OpTaskSequenceAsyncINTEL => struct { sequence: Id, arguments: []const Id = &.{} },
 2673            .OpTaskSequenceGetINTEL => struct { id_result_type: Id, id_result: Id, sequence: Id },
 2674            .OpTaskSequenceReleaseINTEL => struct { sequence: Id },
 2675            .OpTypeTaskSequenceINTEL => struct { id_result: Id },
 2676            .OpSubgroupBlockPrefetchINTEL => struct { ptr: Id, num_bytes: Id, memory_access: ?MemoryAccess.Extended = null },
 2677            .OpSubgroup2DBlockLoadINTEL => struct { element_size: Id, block_width: Id, block_height: Id, block_count: Id, src_base_pointer: Id, memory_width: Id, memory_height: Id, memory_pitch: Id, coordinate: Id, dst_pointer: Id },
 2678            .OpSubgroup2DBlockLoadTransformINTEL => struct { element_size: Id, block_width: Id, block_height: Id, block_count: Id, src_base_pointer: Id, memory_width: Id, memory_height: Id, memory_pitch: Id, coordinate: Id, dst_pointer: Id },
 2679            .OpSubgroup2DBlockLoadTransposeINTEL => struct { element_size: Id, block_width: Id, block_height: Id, block_count: Id, src_base_pointer: Id, memory_width: Id, memory_height: Id, memory_pitch: Id, coordinate: Id, dst_pointer: Id },
 2680            .OpSubgroup2DBlockPrefetchINTEL => struct { element_size: Id, block_width: Id, block_height: Id, block_count: Id, src_base_pointer: Id, memory_width: Id, memory_height: Id, memory_pitch: Id, coordinate: Id },
 2681            .OpSubgroup2DBlockStoreINTEL => struct { element_size: Id, block_width: Id, block_height: Id, block_count: Id, src_pointer: Id, dst_base_pointer: Id, memory_width: Id, memory_height: Id, memory_pitch: Id, coordinate: Id },
 2682            .OpSubgroupMatrixMultiplyAccumulateINTEL => struct { id_result_type: Id, id_result: Id, k_dim: Id, matrix_a: Id, matrix_b: Id, matrix_c: Id, matrix_multiply_accumulate_operands: ?MatrixMultiplyAccumulateOperands = null },
 2683            .OpBitwiseFunctionINTEL => struct { id_result_type: Id, id_result: Id, a: Id, b: Id, c: Id, lut_index: Id },
 2684            .OpGroupIMulKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2685            .OpGroupFMulKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2686            .OpGroupBitwiseAndKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2687            .OpGroupBitwiseOrKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2688            .OpGroupBitwiseXorKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2689            .OpGroupLogicalAndKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2690            .OpGroupLogicalOrKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2691            .OpGroupLogicalXorKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id },
 2692            .OpRoundFToTF32INTEL => struct { id_result_type: Id, id_result: Id, float_value: Id },
 2693            .OpMaskedGatherINTEL => struct { id_result_type: Id, id_result: Id, ptr_vector: Id, alignment: LiteralInteger, mask: Id, fill_empty: Id },
 2694            .OpMaskedScatterINTEL => struct { input_vector: Id, ptr_vector: Id, alignment: LiteralInteger, mask: Id },
 2695            .OpConvertHandleToImageINTEL => struct { id_result_type: Id, id_result: Id, operand: Id },
 2696            .OpConvertHandleToSamplerINTEL => struct { id_result_type: Id, id_result: Id, operand: Id },
 2697            .OpConvertHandleToSampledImageINTEL => struct { id_result_type: Id, id_result: Id, operand: Id },
 2698        };
 2699    }
 2700    pub fn class(self: Opcode) Class {
 2701        return switch (self) {
 2702            .OpNop => .miscellaneous,
 2703            .OpUndef => .miscellaneous,
 2704            .OpSourceContinued => .debug,
 2705            .OpSource => .debug,
 2706            .OpSourceExtension => .debug,
 2707            .OpName => .debug,
 2708            .OpMemberName => .debug,
 2709            .OpString => .debug,
 2710            .OpLine => .debug,
 2711            .OpExtension => .extension,
 2712            .OpExtInstImport => .extension,
 2713            .OpExtInst => .extension,
 2714            .OpMemoryModel => .mode_setting,
 2715            .OpEntryPoint => .mode_setting,
 2716            .OpExecutionMode => .mode_setting,
 2717            .OpCapability => .mode_setting,
 2718            .OpTypeVoid => .type_declaration,
 2719            .OpTypeBool => .type_declaration,
 2720            .OpTypeInt => .type_declaration,
 2721            .OpTypeFloat => .type_declaration,
 2722            .OpTypeVector => .type_declaration,
 2723            .OpTypeMatrix => .type_declaration,
 2724            .OpTypeImage => .type_declaration,
 2725            .OpTypeSampler => .type_declaration,
 2726            .OpTypeSampledImage => .type_declaration,
 2727            .OpTypeArray => .type_declaration,
 2728            .OpTypeRuntimeArray => .type_declaration,
 2729            .OpTypeStruct => .type_declaration,
 2730            .OpTypeOpaque => .type_declaration,
 2731            .OpTypePointer => .type_declaration,
 2732            .OpTypeFunction => .type_declaration,
 2733            .OpTypeEvent => .type_declaration,
 2734            .OpTypeDeviceEvent => .type_declaration,
 2735            .OpTypeReserveId => .type_declaration,
 2736            .OpTypeQueue => .type_declaration,
 2737            .OpTypePipe => .type_declaration,
 2738            .OpTypeForwardPointer => .type_declaration,
 2739            .OpConstantTrue => .constant_creation,
 2740            .OpConstantFalse => .constant_creation,
 2741            .OpConstant => .constant_creation,
 2742            .OpConstantComposite => .constant_creation,
 2743            .OpConstantSampler => .constant_creation,
 2744            .OpConstantNull => .constant_creation,
 2745            .OpSpecConstantTrue => .constant_creation,
 2746            .OpSpecConstantFalse => .constant_creation,
 2747            .OpSpecConstant => .constant_creation,
 2748            .OpSpecConstantComposite => .constant_creation,
 2749            .OpSpecConstantOp => .constant_creation,
 2750            .OpFunction => .function,
 2751            .OpFunctionParameter => .function,
 2752            .OpFunctionEnd => .function,
 2753            .OpFunctionCall => .function,
 2754            .OpVariable => .memory,
 2755            .OpImageTexelPointer => .memory,
 2756            .OpLoad => .memory,
 2757            .OpStore => .memory,
 2758            .OpCopyMemory => .memory,
 2759            .OpCopyMemorySized => .memory,
 2760            .OpAccessChain => .memory,
 2761            .OpInBoundsAccessChain => .memory,
 2762            .OpPtrAccessChain => .memory,
 2763            .OpArrayLength => .memory,
 2764            .OpGenericPtrMemSemantics => .memory,
 2765            .OpInBoundsPtrAccessChain => .memory,
 2766            .OpDecorate => .annotation,
 2767            .OpMemberDecorate => .annotation,
 2768            .OpDecorationGroup => .annotation,
 2769            .OpGroupDecorate => .annotation,
 2770            .OpGroupMemberDecorate => .annotation,
 2771            .OpVectorExtractDynamic => .composite,
 2772            .OpVectorInsertDynamic => .composite,
 2773            .OpVectorShuffle => .composite,
 2774            .OpCompositeConstruct => .composite,
 2775            .OpCompositeExtract => .composite,
 2776            .OpCompositeInsert => .composite,
 2777            .OpCopyObject => .composite,
 2778            .OpTranspose => .composite,
 2779            .OpSampledImage => .image,
 2780            .OpImageSampleImplicitLod => .image,
 2781            .OpImageSampleExplicitLod => .image,
 2782            .OpImageSampleDrefImplicitLod => .image,
 2783            .OpImageSampleDrefExplicitLod => .image,
 2784            .OpImageSampleProjImplicitLod => .image,
 2785            .OpImageSampleProjExplicitLod => .image,
 2786            .OpImageSampleProjDrefImplicitLod => .image,
 2787            .OpImageSampleProjDrefExplicitLod => .image,
 2788            .OpImageFetch => .image,
 2789            .OpImageGather => .image,
 2790            .OpImageDrefGather => .image,
 2791            .OpImageRead => .image,
 2792            .OpImageWrite => .image,
 2793            .OpImage => .image,
 2794            .OpImageQueryFormat => .image,
 2795            .OpImageQueryOrder => .image,
 2796            .OpImageQuerySizeLod => .image,
 2797            .OpImageQuerySize => .image,
 2798            .OpImageQueryLod => .image,
 2799            .OpImageQueryLevels => .image,
 2800            .OpImageQuerySamples => .image,
 2801            .OpConvertFToU => .conversion,
 2802            .OpConvertFToS => .conversion,
 2803            .OpConvertSToF => .conversion,
 2804            .OpConvertUToF => .conversion,
 2805            .OpUConvert => .conversion,
 2806            .OpSConvert => .conversion,
 2807            .OpFConvert => .conversion,
 2808            .OpQuantizeToF16 => .conversion,
 2809            .OpConvertPtrToU => .conversion,
 2810            .OpSatConvertSToU => .conversion,
 2811            .OpSatConvertUToS => .conversion,
 2812            .OpConvertUToPtr => .conversion,
 2813            .OpPtrCastToGeneric => .conversion,
 2814            .OpGenericCastToPtr => .conversion,
 2815            .OpGenericCastToPtrExplicit => .conversion,
 2816            .OpBitcast => .conversion,
 2817            .OpSNegate => .arithmetic,
 2818            .OpFNegate => .arithmetic,
 2819            .OpIAdd => .arithmetic,
 2820            .OpFAdd => .arithmetic,
 2821            .OpISub => .arithmetic,
 2822            .OpFSub => .arithmetic,
 2823            .OpIMul => .arithmetic,
 2824            .OpFMul => .arithmetic,
 2825            .OpUDiv => .arithmetic,
 2826            .OpSDiv => .arithmetic,
 2827            .OpFDiv => .arithmetic,
 2828            .OpUMod => .arithmetic,
 2829            .OpSRem => .arithmetic,
 2830            .OpSMod => .arithmetic,
 2831            .OpFRem => .arithmetic,
 2832            .OpFMod => .arithmetic,
 2833            .OpVectorTimesScalar => .arithmetic,
 2834            .OpMatrixTimesScalar => .arithmetic,
 2835            .OpVectorTimesMatrix => .arithmetic,
 2836            .OpMatrixTimesVector => .arithmetic,
 2837            .OpMatrixTimesMatrix => .arithmetic,
 2838            .OpOuterProduct => .arithmetic,
 2839            .OpDot => .arithmetic,
 2840            .OpIAddCarry => .arithmetic,
 2841            .OpISubBorrow => .arithmetic,
 2842            .OpUMulExtended => .arithmetic,
 2843            .OpSMulExtended => .arithmetic,
 2844            .OpAny => .relational_and_logical,
 2845            .OpAll => .relational_and_logical,
 2846            .OpIsNan => .relational_and_logical,
 2847            .OpIsInf => .relational_and_logical,
 2848            .OpIsFinite => .relational_and_logical,
 2849            .OpIsNormal => .relational_and_logical,
 2850            .OpSignBitSet => .relational_and_logical,
 2851            .OpLessOrGreater => .relational_and_logical,
 2852            .OpOrdered => .relational_and_logical,
 2853            .OpUnordered => .relational_and_logical,
 2854            .OpLogicalEqual => .relational_and_logical,
 2855            .OpLogicalNotEqual => .relational_and_logical,
 2856            .OpLogicalOr => .relational_and_logical,
 2857            .OpLogicalAnd => .relational_and_logical,
 2858            .OpLogicalNot => .relational_and_logical,
 2859            .OpSelect => .relational_and_logical,
 2860            .OpIEqual => .relational_and_logical,
 2861            .OpINotEqual => .relational_and_logical,
 2862            .OpUGreaterThan => .relational_and_logical,
 2863            .OpSGreaterThan => .relational_and_logical,
 2864            .OpUGreaterThanEqual => .relational_and_logical,
 2865            .OpSGreaterThanEqual => .relational_and_logical,
 2866            .OpULessThan => .relational_and_logical,
 2867            .OpSLessThan => .relational_and_logical,
 2868            .OpULessThanEqual => .relational_and_logical,
 2869            .OpSLessThanEqual => .relational_and_logical,
 2870            .OpFOrdEqual => .relational_and_logical,
 2871            .OpFUnordEqual => .relational_and_logical,
 2872            .OpFOrdNotEqual => .relational_and_logical,
 2873            .OpFUnordNotEqual => .relational_and_logical,
 2874            .OpFOrdLessThan => .relational_and_logical,
 2875            .OpFUnordLessThan => .relational_and_logical,
 2876            .OpFOrdGreaterThan => .relational_and_logical,
 2877            .OpFUnordGreaterThan => .relational_and_logical,
 2878            .OpFOrdLessThanEqual => .relational_and_logical,
 2879            .OpFUnordLessThanEqual => .relational_and_logical,
 2880            .OpFOrdGreaterThanEqual => .relational_and_logical,
 2881            .OpFUnordGreaterThanEqual => .relational_and_logical,
 2882            .OpShiftRightLogical => .bit,
 2883            .OpShiftRightArithmetic => .bit,
 2884            .OpShiftLeftLogical => .bit,
 2885            .OpBitwiseOr => .bit,
 2886            .OpBitwiseXor => .bit,
 2887            .OpBitwiseAnd => .bit,
 2888            .OpNot => .bit,
 2889            .OpBitFieldInsert => .bit,
 2890            .OpBitFieldSExtract => .bit,
 2891            .OpBitFieldUExtract => .bit,
 2892            .OpBitReverse => .bit,
 2893            .OpBitCount => .bit,
 2894            .OpDPdx => .derivative,
 2895            .OpDPdy => .derivative,
 2896            .OpFwidth => .derivative,
 2897            .OpDPdxFine => .derivative,
 2898            .OpDPdyFine => .derivative,
 2899            .OpFwidthFine => .derivative,
 2900            .OpDPdxCoarse => .derivative,
 2901            .OpDPdyCoarse => .derivative,
 2902            .OpFwidthCoarse => .derivative,
 2903            .OpEmitVertex => .primitive,
 2904            .OpEndPrimitive => .primitive,
 2905            .OpEmitStreamVertex => .primitive,
 2906            .OpEndStreamPrimitive => .primitive,
 2907            .OpControlBarrier => .barrier,
 2908            .OpMemoryBarrier => .barrier,
 2909            .OpAtomicLoad => .atomic,
 2910            .OpAtomicStore => .atomic,
 2911            .OpAtomicExchange => .atomic,
 2912            .OpAtomicCompareExchange => .atomic,
 2913            .OpAtomicCompareExchangeWeak => .atomic,
 2914            .OpAtomicIIncrement => .atomic,
 2915            .OpAtomicIDecrement => .atomic,
 2916            .OpAtomicIAdd => .atomic,
 2917            .OpAtomicISub => .atomic,
 2918            .OpAtomicSMin => .atomic,
 2919            .OpAtomicUMin => .atomic,
 2920            .OpAtomicSMax => .atomic,
 2921            .OpAtomicUMax => .atomic,
 2922            .OpAtomicAnd => .atomic,
 2923            .OpAtomicOr => .atomic,
 2924            .OpAtomicXor => .atomic,
 2925            .OpPhi => .control_flow,
 2926            .OpLoopMerge => .control_flow,
 2927            .OpSelectionMerge => .control_flow,
 2928            .OpLabel => .control_flow,
 2929            .OpBranch => .control_flow,
 2930            .OpBranchConditional => .control_flow,
 2931            .OpSwitch => .control_flow,
 2932            .OpKill => .control_flow,
 2933            .OpReturn => .control_flow,
 2934            .OpReturnValue => .control_flow,
 2935            .OpUnreachable => .control_flow,
 2936            .OpLifetimeStart => .control_flow,
 2937            .OpLifetimeStop => .control_flow,
 2938            .OpGroupAsyncCopy => .group,
 2939            .OpGroupWaitEvents => .group,
 2940            .OpGroupAll => .group,
 2941            .OpGroupAny => .group,
 2942            .OpGroupBroadcast => .group,
 2943            .OpGroupIAdd => .group,
 2944            .OpGroupFAdd => .group,
 2945            .OpGroupFMin => .group,
 2946            .OpGroupUMin => .group,
 2947            .OpGroupSMin => .group,
 2948            .OpGroupFMax => .group,
 2949            .OpGroupUMax => .group,
 2950            .OpGroupSMax => .group,
 2951            .OpReadPipe => .pipe,
 2952            .OpWritePipe => .pipe,
 2953            .OpReservedReadPipe => .pipe,
 2954            .OpReservedWritePipe => .pipe,
 2955            .OpReserveReadPipePackets => .pipe,
 2956            .OpReserveWritePipePackets => .pipe,
 2957            .OpCommitReadPipe => .pipe,
 2958            .OpCommitWritePipe => .pipe,
 2959            .OpIsValidReserveId => .pipe,
 2960            .OpGetNumPipePackets => .pipe,
 2961            .OpGetMaxPipePackets => .pipe,
 2962            .OpGroupReserveReadPipePackets => .pipe,
 2963            .OpGroupReserveWritePipePackets => .pipe,
 2964            .OpGroupCommitReadPipe => .pipe,
 2965            .OpGroupCommitWritePipe => .pipe,
 2966            .OpEnqueueMarker => .device_side_enqueue,
 2967            .OpEnqueueKernel => .device_side_enqueue,
 2968            .OpGetKernelNDrangeSubGroupCount => .device_side_enqueue,
 2969            .OpGetKernelNDrangeMaxSubGroupSize => .device_side_enqueue,
 2970            .OpGetKernelWorkGroupSize => .device_side_enqueue,
 2971            .OpGetKernelPreferredWorkGroupSizeMultiple => .device_side_enqueue,
 2972            .OpRetainEvent => .device_side_enqueue,
 2973            .OpReleaseEvent => .device_side_enqueue,
 2974            .OpCreateUserEvent => .device_side_enqueue,
 2975            .OpIsValidEvent => .device_side_enqueue,
 2976            .OpSetUserEventStatus => .device_side_enqueue,
 2977            .OpCaptureEventProfilingInfo => .device_side_enqueue,
 2978            .OpGetDefaultQueue => .device_side_enqueue,
 2979            .OpBuildNDRange => .device_side_enqueue,
 2980            .OpImageSparseSampleImplicitLod => .image,
 2981            .OpImageSparseSampleExplicitLod => .image,
 2982            .OpImageSparseSampleDrefImplicitLod => .image,
 2983            .OpImageSparseSampleDrefExplicitLod => .image,
 2984            .OpImageSparseSampleProjImplicitLod => .image,
 2985            .OpImageSparseSampleProjExplicitLod => .image,
 2986            .OpImageSparseSampleProjDrefImplicitLod => .image,
 2987            .OpImageSparseSampleProjDrefExplicitLod => .image,
 2988            .OpImageSparseFetch => .image,
 2989            .OpImageSparseGather => .image,
 2990            .OpImageSparseDrefGather => .image,
 2991            .OpImageSparseTexelsResident => .image,
 2992            .OpNoLine => .debug,
 2993            .OpAtomicFlagTestAndSet => .atomic,
 2994            .OpAtomicFlagClear => .atomic,
 2995            .OpImageSparseRead => .image,
 2996            .OpSizeOf => .miscellaneous,
 2997            .OpTypePipeStorage => .type_declaration,
 2998            .OpConstantPipeStorage => .pipe,
 2999            .OpCreatePipeFromPipeStorage => .pipe,
 3000            .OpGetKernelLocalSizeForSubgroupCount => .device_side_enqueue,
 3001            .OpGetKernelMaxNumSubgroups => .device_side_enqueue,
 3002            .OpTypeNamedBarrier => .type_declaration,
 3003            .OpNamedBarrierInitialize => .barrier,
 3004            .OpMemoryNamedBarrier => .barrier,
 3005            .OpModuleProcessed => .debug,
 3006            .OpExecutionModeId => .mode_setting,
 3007            .OpDecorateId => .annotation,
 3008            .OpGroupNonUniformElect => .non_uniform,
 3009            .OpGroupNonUniformAll => .non_uniform,
 3010            .OpGroupNonUniformAny => .non_uniform,
 3011            .OpGroupNonUniformAllEqual => .non_uniform,
 3012            .OpGroupNonUniformBroadcast => .non_uniform,
 3013            .OpGroupNonUniformBroadcastFirst => .non_uniform,
 3014            .OpGroupNonUniformBallot => .non_uniform,
 3015            .OpGroupNonUniformInverseBallot => .non_uniform,
 3016            .OpGroupNonUniformBallotBitExtract => .non_uniform,
 3017            .OpGroupNonUniformBallotBitCount => .non_uniform,
 3018            .OpGroupNonUniformBallotFindLSB => .non_uniform,
 3019            .OpGroupNonUniformBallotFindMSB => .non_uniform,
 3020            .OpGroupNonUniformShuffle => .non_uniform,
 3021            .OpGroupNonUniformShuffleXor => .non_uniform,
 3022            .OpGroupNonUniformShuffleUp => .non_uniform,
 3023            .OpGroupNonUniformShuffleDown => .non_uniform,
 3024            .OpGroupNonUniformIAdd => .non_uniform,
 3025            .OpGroupNonUniformFAdd => .non_uniform,
 3026            .OpGroupNonUniformIMul => .non_uniform,
 3027            .OpGroupNonUniformFMul => .non_uniform,
 3028            .OpGroupNonUniformSMin => .non_uniform,
 3029            .OpGroupNonUniformUMin => .non_uniform,
 3030            .OpGroupNonUniformFMin => .non_uniform,
 3031            .OpGroupNonUniformSMax => .non_uniform,
 3032            .OpGroupNonUniformUMax => .non_uniform,
 3033            .OpGroupNonUniformFMax => .non_uniform,
 3034            .OpGroupNonUniformBitwiseAnd => .non_uniform,
 3035            .OpGroupNonUniformBitwiseOr => .non_uniform,
 3036            .OpGroupNonUniformBitwiseXor => .non_uniform,
 3037            .OpGroupNonUniformLogicalAnd => .non_uniform,
 3038            .OpGroupNonUniformLogicalOr => .non_uniform,
 3039            .OpGroupNonUniformLogicalXor => .non_uniform,
 3040            .OpGroupNonUniformQuadBroadcast => .non_uniform,
 3041            .OpGroupNonUniformQuadSwap => .non_uniform,
 3042            .OpCopyLogical => .composite,
 3043            .OpPtrEqual => .memory,
 3044            .OpPtrNotEqual => .memory,
 3045            .OpPtrDiff => .memory,
 3046            .OpColorAttachmentReadEXT => .image,
 3047            .OpDepthAttachmentReadEXT => .image,
 3048            .OpStencilAttachmentReadEXT => .image,
 3049            .OpTypeTensorARM => .type_declaration,
 3050            .OpTensorReadARM => .tensor,
 3051            .OpTensorWriteARM => .tensor,
 3052            .OpTensorQuerySizeARM => .tensor,
 3053            .OpGraphConstantARM => .graph,
 3054            .OpGraphEntryPointARM => .graph,
 3055            .OpGraphARM => .graph,
 3056            .OpGraphInputARM => .graph,
 3057            .OpGraphSetOutputARM => .graph,
 3058            .OpGraphEndARM => .graph,
 3059            .OpTypeGraphARM => .type_declaration,
 3060            .OpTerminateInvocation => .control_flow,
 3061            .OpTypeUntypedPointerKHR => .type_declaration,
 3062            .OpUntypedVariableKHR => .memory,
 3063            .OpUntypedAccessChainKHR => .memory,
 3064            .OpUntypedInBoundsAccessChainKHR => .memory,
 3065            .OpSubgroupBallotKHR => .group,
 3066            .OpSubgroupFirstInvocationKHR => .group,
 3067            .OpUntypedPtrAccessChainKHR => .memory,
 3068            .OpUntypedInBoundsPtrAccessChainKHR => .memory,
 3069            .OpUntypedArrayLengthKHR => .memory,
 3070            .OpUntypedPrefetchKHR => .memory,
 3071            .OpSubgroupAllKHR => .group,
 3072            .OpSubgroupAnyKHR => .group,
 3073            .OpSubgroupAllEqualKHR => .group,
 3074            .OpGroupNonUniformRotateKHR => .group,
 3075            .OpSubgroupReadInvocationKHR => .group,
 3076            .OpExtInstWithForwardRefsKHR => .extension,
 3077            .OpTraceRayKHR => .reserved,
 3078            .OpExecuteCallableKHR => .reserved,
 3079            .OpConvertUToAccelerationStructureKHR => .reserved,
 3080            .OpIgnoreIntersectionKHR => .reserved,
 3081            .OpTerminateRayKHR => .reserved,
 3082            .OpSDot => .arithmetic,
 3083            .OpUDot => .arithmetic,
 3084            .OpSUDot => .arithmetic,
 3085            .OpSDotAccSat => .arithmetic,
 3086            .OpUDotAccSat => .arithmetic,
 3087            .OpSUDotAccSat => .arithmetic,
 3088            .OpTypeCooperativeMatrixKHR => .type_declaration,
 3089            .OpCooperativeMatrixLoadKHR => .memory,
 3090            .OpCooperativeMatrixStoreKHR => .memory,
 3091            .OpCooperativeMatrixMulAddKHR => .arithmetic,
 3092            .OpCooperativeMatrixLengthKHR => .miscellaneous,
 3093            .OpConstantCompositeReplicateEXT => .constant_creation,
 3094            .OpSpecConstantCompositeReplicateEXT => .constant_creation,
 3095            .OpCompositeConstructReplicateEXT => .composite,
 3096            .OpTypeRayQueryKHR => .type_declaration,
 3097            .OpRayQueryInitializeKHR => .reserved,
 3098            .OpRayQueryTerminateKHR => .reserved,
 3099            .OpRayQueryGenerateIntersectionKHR => .reserved,
 3100            .OpRayQueryConfirmIntersectionKHR => .reserved,
 3101            .OpRayQueryProceedKHR => .reserved,
 3102            .OpRayQueryGetIntersectionTypeKHR => .reserved,
 3103            .OpImageSampleWeightedQCOM => .image,
 3104            .OpImageBoxFilterQCOM => .image,
 3105            .OpImageBlockMatchSSDQCOM => .image,
 3106            .OpImageBlockMatchSADQCOM => .image,
 3107            .OpImageBlockMatchWindowSSDQCOM => .image,
 3108            .OpImageBlockMatchWindowSADQCOM => .image,
 3109            .OpImageBlockMatchGatherSSDQCOM => .image,
 3110            .OpImageBlockMatchGatherSADQCOM => .image,
 3111            .OpGroupIAddNonUniformAMD => .group,
 3112            .OpGroupFAddNonUniformAMD => .group,
 3113            .OpGroupFMinNonUniformAMD => .group,
 3114            .OpGroupUMinNonUniformAMD => .group,
 3115            .OpGroupSMinNonUniformAMD => .group,
 3116            .OpGroupFMaxNonUniformAMD => .group,
 3117            .OpGroupUMaxNonUniformAMD => .group,
 3118            .OpGroupSMaxNonUniformAMD => .group,
 3119            .OpFragmentMaskFetchAMD => .reserved,
 3120            .OpFragmentFetchAMD => .reserved,
 3121            .OpReadClockKHR => .reserved,
 3122            .OpAllocateNodePayloadsAMDX => .reserved,
 3123            .OpEnqueueNodePayloadsAMDX => .reserved,
 3124            .OpTypeNodePayloadArrayAMDX => .reserved,
 3125            .OpFinishWritingNodePayloadAMDX => .reserved,
 3126            .OpNodePayloadArrayLengthAMDX => .reserved,
 3127            .OpIsNodePayloadValidAMDX => .reserved,
 3128            .OpConstantStringAMDX => .reserved,
 3129            .OpSpecConstantStringAMDX => .reserved,
 3130            .OpGroupNonUniformQuadAllKHR => .non_uniform,
 3131            .OpGroupNonUniformQuadAnyKHR => .non_uniform,
 3132            .OpHitObjectRecordHitMotionNV => .reserved,
 3133            .OpHitObjectRecordHitWithIndexMotionNV => .reserved,
 3134            .OpHitObjectRecordMissMotionNV => .reserved,
 3135            .OpHitObjectGetWorldToObjectNV => .reserved,
 3136            .OpHitObjectGetObjectToWorldNV => .reserved,
 3137            .OpHitObjectGetObjectRayDirectionNV => .reserved,
 3138            .OpHitObjectGetObjectRayOriginNV => .reserved,
 3139            .OpHitObjectTraceRayMotionNV => .reserved,
 3140            .OpHitObjectGetShaderRecordBufferHandleNV => .reserved,
 3141            .OpHitObjectGetShaderBindingTableRecordIndexNV => .reserved,
 3142            .OpHitObjectRecordEmptyNV => .reserved,
 3143            .OpHitObjectTraceRayNV => .reserved,
 3144            .OpHitObjectRecordHitNV => .reserved,
 3145            .OpHitObjectRecordHitWithIndexNV => .reserved,
 3146            .OpHitObjectRecordMissNV => .reserved,
 3147            .OpHitObjectExecuteShaderNV => .reserved,
 3148            .OpHitObjectGetCurrentTimeNV => .reserved,
 3149            .OpHitObjectGetAttributesNV => .reserved,
 3150            .OpHitObjectGetHitKindNV => .reserved,
 3151            .OpHitObjectGetPrimitiveIndexNV => .reserved,
 3152            .OpHitObjectGetGeometryIndexNV => .reserved,
 3153            .OpHitObjectGetInstanceIdNV => .reserved,
 3154            .OpHitObjectGetInstanceCustomIndexNV => .reserved,
 3155            .OpHitObjectGetWorldRayDirectionNV => .reserved,
 3156            .OpHitObjectGetWorldRayOriginNV => .reserved,
 3157            .OpHitObjectGetRayTMaxNV => .reserved,
 3158            .OpHitObjectGetRayTMinNV => .reserved,
 3159            .OpHitObjectIsEmptyNV => .reserved,
 3160            .OpHitObjectIsHitNV => .reserved,
 3161            .OpHitObjectIsMissNV => .reserved,
 3162            .OpReorderThreadWithHitObjectNV => .reserved,
 3163            .OpReorderThreadWithHintNV => .reserved,
 3164            .OpTypeHitObjectNV => .type_declaration,
 3165            .OpImageSampleFootprintNV => .image,
 3166            .OpTypeCooperativeVectorNV => .type_declaration,
 3167            .OpCooperativeVectorMatrixMulNV => .reserved,
 3168            .OpCooperativeVectorOuterProductAccumulateNV => .reserved,
 3169            .OpCooperativeVectorReduceSumAccumulateNV => .reserved,
 3170            .OpCooperativeVectorMatrixMulAddNV => .reserved,
 3171            .OpCooperativeMatrixConvertNV => .conversion,
 3172            .OpEmitMeshTasksEXT => .reserved,
 3173            .OpSetMeshOutputsEXT => .reserved,
 3174            .OpGroupNonUniformPartitionNV => .non_uniform,
 3175            .OpWritePackedPrimitiveIndices4x8NV => .reserved,
 3176            .OpFetchMicroTriangleVertexPositionNV => .reserved,
 3177            .OpFetchMicroTriangleVertexBarycentricNV => .reserved,
 3178            .OpCooperativeVectorLoadNV => .memory,
 3179            .OpCooperativeVectorStoreNV => .memory,
 3180            .OpReportIntersectionKHR => .reserved,
 3181            .OpIgnoreIntersectionNV => .reserved,
 3182            .OpTerminateRayNV => .reserved,
 3183            .OpTraceNV => .reserved,
 3184            .OpTraceMotionNV => .reserved,
 3185            .OpTraceRayMotionNV => .reserved,
 3186            .OpRayQueryGetIntersectionTriangleVertexPositionsKHR => .reserved,
 3187            .OpTypeAccelerationStructureKHR => .type_declaration,
 3188            .OpExecuteCallableNV => .reserved,
 3189            .OpRayQueryGetClusterIdNV => .reserved,
 3190            .OpHitObjectGetClusterIdNV => .reserved,
 3191            .OpTypeCooperativeMatrixNV => .type_declaration,
 3192            .OpCooperativeMatrixLoadNV => .reserved,
 3193            .OpCooperativeMatrixStoreNV => .reserved,
 3194            .OpCooperativeMatrixMulAddNV => .reserved,
 3195            .OpCooperativeMatrixLengthNV => .reserved,
 3196            .OpBeginInvocationInterlockEXT => .reserved,
 3197            .OpEndInvocationInterlockEXT => .reserved,
 3198            .OpCooperativeMatrixReduceNV => .arithmetic,
 3199            .OpCooperativeMatrixLoadTensorNV => .memory,
 3200            .OpCooperativeMatrixStoreTensorNV => .memory,
 3201            .OpCooperativeMatrixPerElementOpNV => .function,
 3202            .OpTypeTensorLayoutNV => .type_declaration,
 3203            .OpTypeTensorViewNV => .type_declaration,
 3204            .OpCreateTensorLayoutNV => .reserved,
 3205            .OpTensorLayoutSetDimensionNV => .reserved,
 3206            .OpTensorLayoutSetStrideNV => .reserved,
 3207            .OpTensorLayoutSliceNV => .reserved,
 3208            .OpTensorLayoutSetClampValueNV => .reserved,
 3209            .OpCreateTensorViewNV => .reserved,
 3210            .OpTensorViewSetDimensionNV => .reserved,
 3211            .OpTensorViewSetStrideNV => .reserved,
 3212            .OpDemoteToHelperInvocation => .control_flow,
 3213            .OpIsHelperInvocationEXT => .reserved,
 3214            .OpTensorViewSetClipNV => .reserved,
 3215            .OpTensorLayoutSetBlockSizeNV => .reserved,
 3216            .OpCooperativeMatrixTransposeNV => .conversion,
 3217            .OpConvertUToImageNV => .reserved,
 3218            .OpConvertUToSamplerNV => .reserved,
 3219            .OpConvertImageToUNV => .reserved,
 3220            .OpConvertSamplerToUNV => .reserved,
 3221            .OpConvertUToSampledImageNV => .reserved,
 3222            .OpConvertSampledImageToUNV => .reserved,
 3223            .OpSamplerImageAddressingModeNV => .reserved,
 3224            .OpRawAccessChainNV => .memory,
 3225            .OpRayQueryGetIntersectionSpherePositionNV => .reserved,
 3226            .OpRayQueryGetIntersectionSphereRadiusNV => .reserved,
 3227            .OpRayQueryGetIntersectionLSSPositionsNV => .reserved,
 3228            .OpRayQueryGetIntersectionLSSRadiiNV => .reserved,
 3229            .OpRayQueryGetIntersectionLSSHitValueNV => .reserved,
 3230            .OpHitObjectGetSpherePositionNV => .reserved,
 3231            .OpHitObjectGetSphereRadiusNV => .reserved,
 3232            .OpHitObjectGetLSSPositionsNV => .reserved,
 3233            .OpHitObjectGetLSSRadiiNV => .reserved,
 3234            .OpHitObjectIsSphereHitNV => .reserved,
 3235            .OpHitObjectIsLSSHitNV => .reserved,
 3236            .OpRayQueryIsSphereHitNV => .reserved,
 3237            .OpRayQueryIsLSSHitNV => .reserved,
 3238            .OpSubgroupShuffleINTEL => .group,
 3239            .OpSubgroupShuffleDownINTEL => .group,
 3240            .OpSubgroupShuffleUpINTEL => .group,
 3241            .OpSubgroupShuffleXorINTEL => .group,
 3242            .OpSubgroupBlockReadINTEL => .group,
 3243            .OpSubgroupBlockWriteINTEL => .group,
 3244            .OpSubgroupImageBlockReadINTEL => .group,
 3245            .OpSubgroupImageBlockWriteINTEL => .group,
 3246            .OpSubgroupImageMediaBlockReadINTEL => .group,
 3247            .OpSubgroupImageMediaBlockWriteINTEL => .group,
 3248            .OpUCountLeadingZerosINTEL => .reserved,
 3249            .OpUCountTrailingZerosINTEL => .reserved,
 3250            .OpAbsISubINTEL => .reserved,
 3251            .OpAbsUSubINTEL => .reserved,
 3252            .OpIAddSatINTEL => .reserved,
 3253            .OpUAddSatINTEL => .reserved,
 3254            .OpIAverageINTEL => .reserved,
 3255            .OpUAverageINTEL => .reserved,
 3256            .OpIAverageRoundedINTEL => .reserved,
 3257            .OpUAverageRoundedINTEL => .reserved,
 3258            .OpISubSatINTEL => .reserved,
 3259            .OpUSubSatINTEL => .reserved,
 3260            .OpIMul32x16INTEL => .reserved,
 3261            .OpUMul32x16INTEL => .reserved,
 3262            .OpAtomicFMinEXT => .atomic,
 3263            .OpAtomicFMaxEXT => .atomic,
 3264            .OpAssumeTrueKHR => .miscellaneous,
 3265            .OpExpectKHR => .miscellaneous,
 3266            .OpDecorateString => .annotation,
 3267            .OpMemberDecorateString => .annotation,
 3268            .OpLoopControlINTEL => .reserved,
 3269            .OpReadPipeBlockingINTEL => .pipe,
 3270            .OpWritePipeBlockingINTEL => .pipe,
 3271            .OpFPGARegINTEL => .reserved,
 3272            .OpRayQueryGetRayTMinKHR => .reserved,
 3273            .OpRayQueryGetRayFlagsKHR => .reserved,
 3274            .OpRayQueryGetIntersectionTKHR => .reserved,
 3275            .OpRayQueryGetIntersectionInstanceCustomIndexKHR => .reserved,
 3276            .OpRayQueryGetIntersectionInstanceIdKHR => .reserved,
 3277            .OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR => .reserved,
 3278            .OpRayQueryGetIntersectionGeometryIndexKHR => .reserved,
 3279            .OpRayQueryGetIntersectionPrimitiveIndexKHR => .reserved,
 3280            .OpRayQueryGetIntersectionBarycentricsKHR => .reserved,
 3281            .OpRayQueryGetIntersectionFrontFaceKHR => .reserved,
 3282            .OpRayQueryGetIntersectionCandidateAABBOpaqueKHR => .reserved,
 3283            .OpRayQueryGetIntersectionObjectRayDirectionKHR => .reserved,
 3284            .OpRayQueryGetIntersectionObjectRayOriginKHR => .reserved,
 3285            .OpRayQueryGetWorldRayDirectionKHR => .reserved,
 3286            .OpRayQueryGetWorldRayOriginKHR => .reserved,
 3287            .OpRayQueryGetIntersectionObjectToWorldKHR => .reserved,
 3288            .OpRayQueryGetIntersectionWorldToObjectKHR => .reserved,
 3289            .OpAtomicFAddEXT => .atomic,
 3290            .OpTypeBufferSurfaceINTEL => .type_declaration,
 3291            .OpTypeStructContinuedINTEL => .type_declaration,
 3292            .OpConstantCompositeContinuedINTEL => .constant_creation,
 3293            .OpSpecConstantCompositeContinuedINTEL => .constant_creation,
 3294            .OpCompositeConstructContinuedINTEL => .composite,
 3295            .OpConvertFToBF16INTEL => .conversion,
 3296            .OpConvertBF16ToFINTEL => .conversion,
 3297            .OpControlBarrierArriveINTEL => .barrier,
 3298            .OpControlBarrierWaitINTEL => .barrier,
 3299            .OpArithmeticFenceEXT => .miscellaneous,
 3300            .OpTaskSequenceCreateINTEL => .reserved,
 3301            .OpTaskSequenceAsyncINTEL => .reserved,
 3302            .OpTaskSequenceGetINTEL => .reserved,
 3303            .OpTaskSequenceReleaseINTEL => .reserved,
 3304            .OpTypeTaskSequenceINTEL => .type_declaration,
 3305            .OpSubgroupBlockPrefetchINTEL => .group,
 3306            .OpSubgroup2DBlockLoadINTEL => .group,
 3307            .OpSubgroup2DBlockLoadTransformINTEL => .group,
 3308            .OpSubgroup2DBlockLoadTransposeINTEL => .group,
 3309            .OpSubgroup2DBlockPrefetchINTEL => .group,
 3310            .OpSubgroup2DBlockStoreINTEL => .group,
 3311            .OpSubgroupMatrixMultiplyAccumulateINTEL => .group,
 3312            .OpBitwiseFunctionINTEL => .bit,
 3313            .OpGroupIMulKHR => .group,
 3314            .OpGroupFMulKHR => .group,
 3315            .OpGroupBitwiseAndKHR => .group,
 3316            .OpGroupBitwiseOrKHR => .group,
 3317            .OpGroupBitwiseXorKHR => .group,
 3318            .OpGroupLogicalAndKHR => .group,
 3319            .OpGroupLogicalOrKHR => .group,
 3320            .OpGroupLogicalXorKHR => .group,
 3321            .OpRoundFToTF32INTEL => .conversion,
 3322            .OpMaskedGatherINTEL => .memory,
 3323            .OpMaskedScatterINTEL => .memory,
 3324            .OpConvertHandleToImageINTEL => .image,
 3325            .OpConvertHandleToSamplerINTEL => .image,
 3326            .OpConvertHandleToSampledImageINTEL => .image,
 3327        };
 3328    }
 3329};
 3330
 3331pub const GlslOpcode = enum(u16) {
 3332    Round = 1,
 3333    RoundEven = 2,
 3334    Trunc = 3,
 3335    FAbs = 4,
 3336    SAbs = 5,
 3337    FSign = 6,
 3338    SSign = 7,
 3339    Floor = 8,
 3340    Ceil = 9,
 3341    Fract = 10,
 3342    Radians = 11,
 3343    Degrees = 12,
 3344    Sin = 13,
 3345    Cos = 14,
 3346    Tan = 15,
 3347    Asin = 16,
 3348    Acos = 17,
 3349    Atan = 18,
 3350    Sinh = 19,
 3351    Cosh = 20,
 3352    Tanh = 21,
 3353    Asinh = 22,
 3354    Acosh = 23,
 3355    Atanh = 24,
 3356    Atan2 = 25,
 3357    Pow = 26,
 3358    Exp = 27,
 3359    Log = 28,
 3360    Exp2 = 29,
 3361    Log2 = 30,
 3362    Sqrt = 31,
 3363    InverseSqrt = 32,
 3364    Determinant = 33,
 3365    MatrixInverse = 34,
 3366    Modf = 35,
 3367    ModfStruct = 36,
 3368    FMin = 37,
 3369    UMin = 38,
 3370    SMin = 39,
 3371    FMax = 40,
 3372    UMax = 41,
 3373    SMax = 42,
 3374    FClamp = 43,
 3375    UClamp = 44,
 3376    SClamp = 45,
 3377    FMix = 46,
 3378    IMix = 47,
 3379    Step = 48,
 3380    SmoothStep = 49,
 3381    Fma = 50,
 3382    Frexp = 51,
 3383    FrexpStruct = 52,
 3384    Ldexp = 53,
 3385    PackSnorm4x8 = 54,
 3386    PackUnorm4x8 = 55,
 3387    PackSnorm2x16 = 56,
 3388    PackUnorm2x16 = 57,
 3389    PackHalf2x16 = 58,
 3390    PackDouble2x32 = 59,
 3391    UnpackSnorm2x16 = 60,
 3392    UnpackUnorm2x16 = 61,
 3393    UnpackHalf2x16 = 62,
 3394    UnpackSnorm4x8 = 63,
 3395    UnpackUnorm4x8 = 64,
 3396    UnpackDouble2x32 = 65,
 3397    Length = 66,
 3398    Distance = 67,
 3399    Cross = 68,
 3400    Normalize = 69,
 3401    FaceForward = 70,
 3402    Reflect = 71,
 3403    Refract = 72,
 3404    FindILsb = 73,
 3405    FindSMsb = 74,
 3406    FindUMsb = 75,
 3407    InterpolateAtCentroid = 76,
 3408    InterpolateAtSample = 77,
 3409    InterpolateAtOffset = 78,
 3410    NMin = 79,
 3411    NMax = 80,
 3412    NClamp = 81,
 3413};
 3414
 3415pub const OpenClOpcode = enum(u16) {
 3416    acos = 0,
 3417    acosh = 1,
 3418    acospi = 2,
 3419    asin = 3,
 3420    asinh = 4,
 3421    asinpi = 5,
 3422    atan = 6,
 3423    atan2 = 7,
 3424    atanh = 8,
 3425    atanpi = 9,
 3426    atan2pi = 10,
 3427    cbrt = 11,
 3428    ceil = 12,
 3429    copysign = 13,
 3430    cos = 14,
 3431    cosh = 15,
 3432    cospi = 16,
 3433    erfc = 17,
 3434    erf = 18,
 3435    exp = 19,
 3436    exp2 = 20,
 3437    exp10 = 21,
 3438    expm1 = 22,
 3439    fabs = 23,
 3440    fdim = 24,
 3441    floor = 25,
 3442    fma = 26,
 3443    fmax = 27,
 3444    fmin = 28,
 3445    fmod = 29,
 3446    fract = 30,
 3447    frexp = 31,
 3448    hypot = 32,
 3449    ilogb = 33,
 3450    ldexp = 34,
 3451    lgamma = 35,
 3452    lgamma_r = 36,
 3453    log = 37,
 3454    log2 = 38,
 3455    log10 = 39,
 3456    log1p = 40,
 3457    logb = 41,
 3458    mad = 42,
 3459    maxmag = 43,
 3460    minmag = 44,
 3461    modf = 45,
 3462    nan = 46,
 3463    nextafter = 47,
 3464    pow = 48,
 3465    pown = 49,
 3466    powr = 50,
 3467    remainder = 51,
 3468    remquo = 52,
 3469    rint = 53,
 3470    rootn = 54,
 3471    round = 55,
 3472    rsqrt = 56,
 3473    sin = 57,
 3474    sincos = 58,
 3475    sinh = 59,
 3476    sinpi = 60,
 3477    sqrt = 61,
 3478    tan = 62,
 3479    tanh = 63,
 3480    tanpi = 64,
 3481    tgamma = 65,
 3482    trunc = 66,
 3483    half_cos = 67,
 3484    half_divide = 68,
 3485    half_exp = 69,
 3486    half_exp2 = 70,
 3487    half_exp10 = 71,
 3488    half_log = 72,
 3489    half_log2 = 73,
 3490    half_log10 = 74,
 3491    half_powr = 75,
 3492    half_recip = 76,
 3493    half_rsqrt = 77,
 3494    half_sin = 78,
 3495    half_sqrt = 79,
 3496    half_tan = 80,
 3497    native_cos = 81,
 3498    native_divide = 82,
 3499    native_exp = 83,
 3500    native_exp2 = 84,
 3501    native_exp10 = 85,
 3502    native_log = 86,
 3503    native_log2 = 87,
 3504    native_log10 = 88,
 3505    native_powr = 89,
 3506    native_recip = 90,
 3507    native_rsqrt = 91,
 3508    native_sin = 92,
 3509    native_sqrt = 93,
 3510    native_tan = 94,
 3511    fclamp = 95,
 3512    degrees = 96,
 3513    fmax_common = 97,
 3514    fmin_common = 98,
 3515    mix = 99,
 3516    radians = 100,
 3517    step = 101,
 3518    smoothstep = 102,
 3519    sign = 103,
 3520    cross = 104,
 3521    distance = 105,
 3522    length = 106,
 3523    normalize = 107,
 3524    fast_distance = 108,
 3525    fast_length = 109,
 3526    fast_normalize = 110,
 3527    s_abs = 141,
 3528    s_abs_diff = 142,
 3529    s_add_sat = 143,
 3530    u_add_sat = 144,
 3531    s_hadd = 145,
 3532    u_hadd = 146,
 3533    s_rhadd = 147,
 3534    u_rhadd = 148,
 3535    s_clamp = 149,
 3536    u_clamp = 150,
 3537    clz = 151,
 3538    ctz = 152,
 3539    s_mad_hi = 153,
 3540    u_mad_sat = 154,
 3541    s_mad_sat = 155,
 3542    s_max = 156,
 3543    u_max = 157,
 3544    s_min = 158,
 3545    u_min = 159,
 3546    s_mul_hi = 160,
 3547    rotate = 161,
 3548    s_sub_sat = 162,
 3549    u_sub_sat = 163,
 3550    u_upsample = 164,
 3551    s_upsample = 165,
 3552    popcount = 166,
 3553    s_mad24 = 167,
 3554    u_mad24 = 168,
 3555    s_mul24 = 169,
 3556    u_mul24 = 170,
 3557    vloadn = 171,
 3558    vstoren = 172,
 3559    vload_half = 173,
 3560    vload_halfn = 174,
 3561    vstore_half = 175,
 3562    vstore_half_r = 176,
 3563    vstore_halfn = 177,
 3564    vstore_halfn_r = 178,
 3565    vloada_halfn = 179,
 3566    vstorea_halfn = 180,
 3567    vstorea_halfn_r = 181,
 3568    shuffle = 182,
 3569    shuffle2 = 183,
 3570    printf = 184,
 3571    prefetch = 185,
 3572    bitselect = 186,
 3573    select = 187,
 3574    u_abs = 201,
 3575    u_abs_diff = 202,
 3576    u_mul_hi = 203,
 3577    u_mad_hi = 204,
 3578};
 3579
 3580pub const Zig = enum(u16) {
 3581    InvocationGlobal = 0,
 3582};
 3583pub const ImageOperands = packed struct {
 3584    bias: bool = false,
 3585    lod: bool = false,
 3586    grad: bool = false,
 3587    const_offset: bool = false,
 3588    offset: bool = false,
 3589    const_offsets: bool = false,
 3590    sample: bool = false,
 3591    min_lod: bool = false,
 3592    make_texel_available: bool = false,
 3593    make_texel_visible: bool = false,
 3594    non_private_texel: bool = false,
 3595    volatile_texel: bool = false,
 3596    sign_extend: bool = false,
 3597    zero_extend: bool = false,
 3598    nontemporal: bool = false,
 3599    _reserved_bit_15: bool = false,
 3600    offsets: bool = false,
 3601    _reserved_bit_17: bool = false,
 3602    _reserved_bit_18: bool = false,
 3603    _reserved_bit_19: bool = false,
 3604    _reserved_bit_20: bool = false,
 3605    _reserved_bit_21: bool = false,
 3606    _reserved_bit_22: bool = false,
 3607    _reserved_bit_23: bool = false,
 3608    _reserved_bit_24: bool = false,
 3609    _reserved_bit_25: bool = false,
 3610    _reserved_bit_26: bool = false,
 3611    _reserved_bit_27: bool = false,
 3612    _reserved_bit_28: bool = false,
 3613    _reserved_bit_29: bool = false,
 3614    _reserved_bit_30: bool = false,
 3615    _reserved_bit_31: bool = false,
 3616
 3617    pub const Extended = struct {
 3618        bias: ?struct { id_ref: Id } = null,
 3619        lod: ?struct { id_ref: Id } = null,
 3620        grad: ?struct { id_ref_0: Id, id_ref_1: Id } = null,
 3621        const_offset: ?struct { id_ref: Id } = null,
 3622        offset: ?struct { id_ref: Id } = null,
 3623        const_offsets: ?struct { id_ref: Id } = null,
 3624        sample: ?struct { id_ref: Id } = null,
 3625        min_lod: ?struct { id_ref: Id } = null,
 3626        make_texel_available: ?struct { id_scope: Id } = null,
 3627        make_texel_visible: ?struct { id_scope: Id } = null,
 3628        non_private_texel: bool = false,
 3629        volatile_texel: bool = false,
 3630        sign_extend: bool = false,
 3631        zero_extend: bool = false,
 3632        nontemporal: bool = false,
 3633        _reserved_bit_15: bool = false,
 3634        offsets: ?struct { id_ref: Id } = null,
 3635        _reserved_bit_17: bool = false,
 3636        _reserved_bit_18: bool = false,
 3637        _reserved_bit_19: bool = false,
 3638        _reserved_bit_20: bool = false,
 3639        _reserved_bit_21: bool = false,
 3640        _reserved_bit_22: bool = false,
 3641        _reserved_bit_23: bool = false,
 3642        _reserved_bit_24: bool = false,
 3643        _reserved_bit_25: bool = false,
 3644        _reserved_bit_26: bool = false,
 3645        _reserved_bit_27: bool = false,
 3646        _reserved_bit_28: bool = false,
 3647        _reserved_bit_29: bool = false,
 3648        _reserved_bit_30: bool = false,
 3649        _reserved_bit_31: bool = false,
 3650    };
 3651};
 3652pub const FPFastMathMode = packed struct {
 3653    not_na_n: bool = false,
 3654    not_inf: bool = false,
 3655    nsz: bool = false,
 3656    allow_recip: bool = false,
 3657    fast: bool = false,
 3658    _reserved_bit_5: bool = false,
 3659    _reserved_bit_6: bool = false,
 3660    _reserved_bit_7: bool = false,
 3661    _reserved_bit_8: bool = false,
 3662    _reserved_bit_9: bool = false,
 3663    _reserved_bit_10: bool = false,
 3664    _reserved_bit_11: bool = false,
 3665    _reserved_bit_12: bool = false,
 3666    _reserved_bit_13: bool = false,
 3667    _reserved_bit_14: bool = false,
 3668    _reserved_bit_15: bool = false,
 3669    allow_contract: bool = false,
 3670    allow_reassoc: bool = false,
 3671    allow_transform: bool = false,
 3672    _reserved_bit_19: bool = false,
 3673    _reserved_bit_20: bool = false,
 3674    _reserved_bit_21: bool = false,
 3675    _reserved_bit_22: bool = false,
 3676    _reserved_bit_23: bool = false,
 3677    _reserved_bit_24: bool = false,
 3678    _reserved_bit_25: bool = false,
 3679    _reserved_bit_26: bool = false,
 3680    _reserved_bit_27: bool = false,
 3681    _reserved_bit_28: bool = false,
 3682    _reserved_bit_29: bool = false,
 3683    _reserved_bit_30: bool = false,
 3684    _reserved_bit_31: bool = false,
 3685};
 3686pub const SelectionControl = packed struct {
 3687    flatten: bool = false,
 3688    dont_flatten: bool = false,
 3689    _reserved_bit_2: bool = false,
 3690    _reserved_bit_3: bool = false,
 3691    _reserved_bit_4: bool = false,
 3692    _reserved_bit_5: bool = false,
 3693    _reserved_bit_6: bool = false,
 3694    _reserved_bit_7: bool = false,
 3695    _reserved_bit_8: bool = false,
 3696    _reserved_bit_9: bool = false,
 3697    _reserved_bit_10: bool = false,
 3698    _reserved_bit_11: bool = false,
 3699    _reserved_bit_12: bool = false,
 3700    _reserved_bit_13: bool = false,
 3701    _reserved_bit_14: bool = false,
 3702    _reserved_bit_15: bool = false,
 3703    _reserved_bit_16: bool = false,
 3704    _reserved_bit_17: bool = false,
 3705    _reserved_bit_18: bool = false,
 3706    _reserved_bit_19: bool = false,
 3707    _reserved_bit_20: bool = false,
 3708    _reserved_bit_21: bool = false,
 3709    _reserved_bit_22: bool = false,
 3710    _reserved_bit_23: bool = false,
 3711    _reserved_bit_24: bool = false,
 3712    _reserved_bit_25: bool = false,
 3713    _reserved_bit_26: bool = false,
 3714    _reserved_bit_27: bool = false,
 3715    _reserved_bit_28: bool = false,
 3716    _reserved_bit_29: bool = false,
 3717    _reserved_bit_30: bool = false,
 3718    _reserved_bit_31: bool = false,
 3719};
 3720pub const LoopControl = packed struct {
 3721    unroll: bool = false,
 3722    dont_unroll: bool = false,
 3723    dependency_infinite: bool = false,
 3724    dependency_length: bool = false,
 3725    min_iterations: bool = false,
 3726    max_iterations: bool = false,
 3727    iteration_multiple: bool = false,
 3728    peel_count: bool = false,
 3729    partial_count: bool = false,
 3730    _reserved_bit_9: bool = false,
 3731    _reserved_bit_10: bool = false,
 3732    _reserved_bit_11: bool = false,
 3733    _reserved_bit_12: bool = false,
 3734    _reserved_bit_13: bool = false,
 3735    _reserved_bit_14: bool = false,
 3736    _reserved_bit_15: bool = false,
 3737    initiation_interval_intel: bool = false,
 3738    max_concurrency_intel: bool = false,
 3739    dependency_array_intel: bool = false,
 3740    pipeline_enable_intel: bool = false,
 3741    loop_coalesce_intel: bool = false,
 3742    max_interleaving_intel: bool = false,
 3743    speculated_iterations_intel: bool = false,
 3744    no_fusion_intel: bool = false,
 3745    loop_count_intel: bool = false,
 3746    max_reinvocation_delay_intel: bool = false,
 3747    _reserved_bit_26: bool = false,
 3748    _reserved_bit_27: bool = false,
 3749    _reserved_bit_28: bool = false,
 3750    _reserved_bit_29: bool = false,
 3751    _reserved_bit_30: bool = false,
 3752    _reserved_bit_31: bool = false,
 3753
 3754    pub const Extended = struct {
 3755        unroll: bool = false,
 3756        dont_unroll: bool = false,
 3757        dependency_infinite: bool = false,
 3758        dependency_length: ?struct { literal_integer: LiteralInteger } = null,
 3759        min_iterations: ?struct { literal_integer: LiteralInteger } = null,
 3760        max_iterations: ?struct { literal_integer: LiteralInteger } = null,
 3761        iteration_multiple: ?struct { literal_integer: LiteralInteger } = null,
 3762        peel_count: ?struct { literal_integer: LiteralInteger } = null,
 3763        partial_count: ?struct { literal_integer: LiteralInteger } = null,
 3764        _reserved_bit_9: bool = false,
 3765        _reserved_bit_10: bool = false,
 3766        _reserved_bit_11: bool = false,
 3767        _reserved_bit_12: bool = false,
 3768        _reserved_bit_13: bool = false,
 3769        _reserved_bit_14: bool = false,
 3770        _reserved_bit_15: bool = false,
 3771        initiation_interval_intel: ?struct { literal_integer: LiteralInteger } = null,
 3772        max_concurrency_intel: ?struct { literal_integer: LiteralInteger } = null,
 3773        dependency_array_intel: ?struct { literal_integer: LiteralInteger } = null,
 3774        pipeline_enable_intel: ?struct { literal_integer: LiteralInteger } = null,
 3775        loop_coalesce_intel: ?struct { literal_integer: LiteralInteger } = null,
 3776        max_interleaving_intel: ?struct { literal_integer: LiteralInteger } = null,
 3777        speculated_iterations_intel: ?struct { literal_integer: LiteralInteger } = null,
 3778        no_fusion_intel: bool = false,
 3779        loop_count_intel: ?struct { literal_integer: LiteralInteger } = null,
 3780        max_reinvocation_delay_intel: ?struct { literal_integer: LiteralInteger } = null,
 3781        _reserved_bit_26: bool = false,
 3782        _reserved_bit_27: bool = false,
 3783        _reserved_bit_28: bool = false,
 3784        _reserved_bit_29: bool = false,
 3785        _reserved_bit_30: bool = false,
 3786        _reserved_bit_31: bool = false,
 3787    };
 3788};
 3789pub const FunctionControl = packed struct {
 3790    @"inline": bool = false,
 3791    dont_inline: bool = false,
 3792    pure: bool = false,
 3793    @"const": bool = false,
 3794    _reserved_bit_4: bool = false,
 3795    _reserved_bit_5: bool = false,
 3796    _reserved_bit_6: bool = false,
 3797    _reserved_bit_7: bool = false,
 3798    _reserved_bit_8: bool = false,
 3799    _reserved_bit_9: bool = false,
 3800    _reserved_bit_10: bool = false,
 3801    _reserved_bit_11: bool = false,
 3802    _reserved_bit_12: bool = false,
 3803    _reserved_bit_13: bool = false,
 3804    _reserved_bit_14: bool = false,
 3805    _reserved_bit_15: bool = false,
 3806    opt_none_ext: bool = false,
 3807    _reserved_bit_17: bool = false,
 3808    _reserved_bit_18: bool = false,
 3809    _reserved_bit_19: bool = false,
 3810    _reserved_bit_20: bool = false,
 3811    _reserved_bit_21: bool = false,
 3812    _reserved_bit_22: bool = false,
 3813    _reserved_bit_23: bool = false,
 3814    _reserved_bit_24: bool = false,
 3815    _reserved_bit_25: bool = false,
 3816    _reserved_bit_26: bool = false,
 3817    _reserved_bit_27: bool = false,
 3818    _reserved_bit_28: bool = false,
 3819    _reserved_bit_29: bool = false,
 3820    _reserved_bit_30: bool = false,
 3821    _reserved_bit_31: bool = false,
 3822};
 3823pub const MemorySemantics = packed struct {
 3824    _reserved_bit_0: bool = false,
 3825    acquire: bool = false,
 3826    release: bool = false,
 3827    acquire_release: bool = false,
 3828    sequentially_consistent: bool = false,
 3829    _reserved_bit_5: bool = false,
 3830    uniform_memory: bool = false,
 3831    subgroup_memory: bool = false,
 3832    workgroup_memory: bool = false,
 3833    cross_workgroup_memory: bool = false,
 3834    atomic_counter_memory: bool = false,
 3835    image_memory: bool = false,
 3836    output_memory: bool = false,
 3837    make_available: bool = false,
 3838    make_visible: bool = false,
 3839    @"volatile": bool = false,
 3840    _reserved_bit_16: bool = false,
 3841    _reserved_bit_17: bool = false,
 3842    _reserved_bit_18: bool = false,
 3843    _reserved_bit_19: bool = false,
 3844    _reserved_bit_20: bool = false,
 3845    _reserved_bit_21: bool = false,
 3846    _reserved_bit_22: bool = false,
 3847    _reserved_bit_23: bool = false,
 3848    _reserved_bit_24: bool = false,
 3849    _reserved_bit_25: bool = false,
 3850    _reserved_bit_26: bool = false,
 3851    _reserved_bit_27: bool = false,
 3852    _reserved_bit_28: bool = false,
 3853    _reserved_bit_29: bool = false,
 3854    _reserved_bit_30: bool = false,
 3855    _reserved_bit_31: bool = false,
 3856};
 3857pub const MemoryAccess = packed struct {
 3858    @"volatile": bool = false,
 3859    aligned: bool = false,
 3860    nontemporal: bool = false,
 3861    make_pointer_available: bool = false,
 3862    make_pointer_visible: bool = false,
 3863    non_private_pointer: bool = false,
 3864    _reserved_bit_6: bool = false,
 3865    _reserved_bit_7: bool = false,
 3866    _reserved_bit_8: bool = false,
 3867    _reserved_bit_9: bool = false,
 3868    _reserved_bit_10: bool = false,
 3869    _reserved_bit_11: bool = false,
 3870    _reserved_bit_12: bool = false,
 3871    _reserved_bit_13: bool = false,
 3872    _reserved_bit_14: bool = false,
 3873    _reserved_bit_15: bool = false,
 3874    alias_scope_intel_mask: bool = false,
 3875    no_alias_intel_mask: bool = false,
 3876    _reserved_bit_18: bool = false,
 3877    _reserved_bit_19: bool = false,
 3878    _reserved_bit_20: bool = false,
 3879    _reserved_bit_21: bool = false,
 3880    _reserved_bit_22: bool = false,
 3881    _reserved_bit_23: bool = false,
 3882    _reserved_bit_24: bool = false,
 3883    _reserved_bit_25: bool = false,
 3884    _reserved_bit_26: bool = false,
 3885    _reserved_bit_27: bool = false,
 3886    _reserved_bit_28: bool = false,
 3887    _reserved_bit_29: bool = false,
 3888    _reserved_bit_30: bool = false,
 3889    _reserved_bit_31: bool = false,
 3890
 3891    pub const Extended = struct {
 3892        @"volatile": bool = false,
 3893        aligned: ?struct { literal_integer: LiteralInteger } = null,
 3894        nontemporal: bool = false,
 3895        make_pointer_available: ?struct { id_scope: Id } = null,
 3896        make_pointer_visible: ?struct { id_scope: Id } = null,
 3897        non_private_pointer: bool = false,
 3898        _reserved_bit_6: bool = false,
 3899        _reserved_bit_7: bool = false,
 3900        _reserved_bit_8: bool = false,
 3901        _reserved_bit_9: bool = false,
 3902        _reserved_bit_10: bool = false,
 3903        _reserved_bit_11: bool = false,
 3904        _reserved_bit_12: bool = false,
 3905        _reserved_bit_13: bool = false,
 3906        _reserved_bit_14: bool = false,
 3907        _reserved_bit_15: bool = false,
 3908        alias_scope_intel_mask: ?struct { id_ref: Id } = null,
 3909        no_alias_intel_mask: ?struct { id_ref: Id } = null,
 3910        _reserved_bit_18: bool = false,
 3911        _reserved_bit_19: bool = false,
 3912        _reserved_bit_20: bool = false,
 3913        _reserved_bit_21: bool = false,
 3914        _reserved_bit_22: bool = false,
 3915        _reserved_bit_23: bool = false,
 3916        _reserved_bit_24: bool = false,
 3917        _reserved_bit_25: bool = false,
 3918        _reserved_bit_26: bool = false,
 3919        _reserved_bit_27: bool = false,
 3920        _reserved_bit_28: bool = false,
 3921        _reserved_bit_29: bool = false,
 3922        _reserved_bit_30: bool = false,
 3923        _reserved_bit_31: bool = false,
 3924    };
 3925};
 3926pub const KernelProfilingInfo = packed struct {
 3927    cmd_exec_time: bool = false,
 3928    _reserved_bit_1: bool = false,
 3929    _reserved_bit_2: bool = false,
 3930    _reserved_bit_3: bool = false,
 3931    _reserved_bit_4: bool = false,
 3932    _reserved_bit_5: bool = false,
 3933    _reserved_bit_6: bool = false,
 3934    _reserved_bit_7: bool = false,
 3935    _reserved_bit_8: bool = false,
 3936    _reserved_bit_9: bool = false,
 3937    _reserved_bit_10: bool = false,
 3938    _reserved_bit_11: bool = false,
 3939    _reserved_bit_12: bool = false,
 3940    _reserved_bit_13: bool = false,
 3941    _reserved_bit_14: bool = false,
 3942    _reserved_bit_15: bool = false,
 3943    _reserved_bit_16: bool = false,
 3944    _reserved_bit_17: bool = false,
 3945    _reserved_bit_18: bool = false,
 3946    _reserved_bit_19: bool = false,
 3947    _reserved_bit_20: bool = false,
 3948    _reserved_bit_21: bool = false,
 3949    _reserved_bit_22: bool = false,
 3950    _reserved_bit_23: bool = false,
 3951    _reserved_bit_24: bool = false,
 3952    _reserved_bit_25: bool = false,
 3953    _reserved_bit_26: bool = false,
 3954    _reserved_bit_27: bool = false,
 3955    _reserved_bit_28: bool = false,
 3956    _reserved_bit_29: bool = false,
 3957    _reserved_bit_30: bool = false,
 3958    _reserved_bit_31: bool = false,
 3959};
 3960pub const RayFlags = packed struct {
 3961    opaque_khr: bool = false,
 3962    no_opaque_khr: bool = false,
 3963    terminate_on_first_hit_khr: bool = false,
 3964    skip_closest_hit_shader_khr: bool = false,
 3965    cull_back_facing_triangles_khr: bool = false,
 3966    cull_front_facing_triangles_khr: bool = false,
 3967    cull_opaque_khr: bool = false,
 3968    cull_no_opaque_khr: bool = false,
 3969    skip_triangles_khr: bool = false,
 3970    skip_aab_bs_khr: bool = false,
 3971    force_opacity_micromap2state_ext: bool = false,
 3972    _reserved_bit_11: bool = false,
 3973    _reserved_bit_12: bool = false,
 3974    _reserved_bit_13: bool = false,
 3975    _reserved_bit_14: bool = false,
 3976    _reserved_bit_15: bool = false,
 3977    _reserved_bit_16: bool = false,
 3978    _reserved_bit_17: bool = false,
 3979    _reserved_bit_18: bool = false,
 3980    _reserved_bit_19: bool = false,
 3981    _reserved_bit_20: bool = false,
 3982    _reserved_bit_21: bool = false,
 3983    _reserved_bit_22: bool = false,
 3984    _reserved_bit_23: bool = false,
 3985    _reserved_bit_24: bool = false,
 3986    _reserved_bit_25: bool = false,
 3987    _reserved_bit_26: bool = false,
 3988    _reserved_bit_27: bool = false,
 3989    _reserved_bit_28: bool = false,
 3990    _reserved_bit_29: bool = false,
 3991    _reserved_bit_30: bool = false,
 3992    _reserved_bit_31: bool = false,
 3993};
 3994pub const FragmentShadingRate = packed struct {
 3995    vertical2pixels: bool = false,
 3996    vertical4pixels: bool = false,
 3997    horizontal2pixels: bool = false,
 3998    horizontal4pixels: bool = false,
 3999    _reserved_bit_4: bool = false,
 4000    _reserved_bit_5: bool = false,
 4001    _reserved_bit_6: bool = false,
 4002    _reserved_bit_7: bool = false,
 4003    _reserved_bit_8: bool = false,
 4004    _reserved_bit_9: bool = false,
 4005    _reserved_bit_10: bool = false,
 4006    _reserved_bit_11: bool = false,
 4007    _reserved_bit_12: bool = false,
 4008    _reserved_bit_13: bool = false,
 4009    _reserved_bit_14: bool = false,
 4010    _reserved_bit_15: bool = false,
 4011    _reserved_bit_16: bool = false,
 4012    _reserved_bit_17: bool = false,
 4013    _reserved_bit_18: bool = false,
 4014    _reserved_bit_19: bool = false,
 4015    _reserved_bit_20: bool = false,
 4016    _reserved_bit_21: bool = false,
 4017    _reserved_bit_22: bool = false,
 4018    _reserved_bit_23: bool = false,
 4019    _reserved_bit_24: bool = false,
 4020    _reserved_bit_25: bool = false,
 4021    _reserved_bit_26: bool = false,
 4022    _reserved_bit_27: bool = false,
 4023    _reserved_bit_28: bool = false,
 4024    _reserved_bit_29: bool = false,
 4025    _reserved_bit_30: bool = false,
 4026    _reserved_bit_31: bool = false,
 4027};
 4028pub const RawAccessChainOperands = packed struct {
 4029    robustness_per_component_nv: bool = false,
 4030    robustness_per_element_nv: bool = false,
 4031    _reserved_bit_2: bool = false,
 4032    _reserved_bit_3: bool = false,
 4033    _reserved_bit_4: bool = false,
 4034    _reserved_bit_5: bool = false,
 4035    _reserved_bit_6: bool = false,
 4036    _reserved_bit_7: bool = false,
 4037    _reserved_bit_8: bool = false,
 4038    _reserved_bit_9: bool = false,
 4039    _reserved_bit_10: bool = false,
 4040    _reserved_bit_11: bool = false,
 4041    _reserved_bit_12: bool = false,
 4042    _reserved_bit_13: bool = false,
 4043    _reserved_bit_14: bool = false,
 4044    _reserved_bit_15: bool = false,
 4045    _reserved_bit_16: bool = false,
 4046    _reserved_bit_17: bool = false,
 4047    _reserved_bit_18: bool = false,
 4048    _reserved_bit_19: bool = false,
 4049    _reserved_bit_20: bool = false,
 4050    _reserved_bit_21: bool = false,
 4051    _reserved_bit_22: bool = false,
 4052    _reserved_bit_23: bool = false,
 4053    _reserved_bit_24: bool = false,
 4054    _reserved_bit_25: bool = false,
 4055    _reserved_bit_26: bool = false,
 4056    _reserved_bit_27: bool = false,
 4057    _reserved_bit_28: bool = false,
 4058    _reserved_bit_29: bool = false,
 4059    _reserved_bit_30: bool = false,
 4060    _reserved_bit_31: bool = false,
 4061};
 4062pub const SourceLanguage = enum(u32) {
 4063    unknown = 0,
 4064    essl = 1,
 4065    glsl = 2,
 4066    open_cl_c = 3,
 4067    open_cl_cpp = 4,
 4068    hlsl = 5,
 4069    cpp_for_open_cl = 6,
 4070    sycl = 7,
 4071    hero_c = 8,
 4072    nzsl = 9,
 4073    wgsl = 10,
 4074    slang = 11,
 4075    zig = 12,
 4076    rust = 13,
 4077};
 4078pub const ExecutionModel = enum(u32) {
 4079    vertex = 0,
 4080    tessellation_control = 1,
 4081    tessellation_evaluation = 2,
 4082    geometry = 3,
 4083    fragment = 4,
 4084    gl_compute = 5,
 4085    kernel = 6,
 4086    task_nv = 5267,
 4087    mesh_nv = 5268,
 4088    ray_generation_khr = 5313,
 4089    intersection_khr = 5314,
 4090    any_hit_khr = 5315,
 4091    closest_hit_khr = 5316,
 4092    miss_khr = 5317,
 4093    callable_khr = 5318,
 4094    task_ext = 5364,
 4095    mesh_ext = 5365,
 4096};
 4097pub const AddressingModel = enum(u32) {
 4098    logical = 0,
 4099    physical32 = 1,
 4100    physical64 = 2,
 4101    physical_storage_buffer64 = 5348,
 4102};
 4103pub const MemoryModel = enum(u32) {
 4104    simple = 0,
 4105    glsl450 = 1,
 4106    open_cl = 2,
 4107    vulkan = 3,
 4108};
 4109pub const ExecutionMode = enum(u32) {
 4110    invocations = 0,
 4111    spacing_equal = 1,
 4112    spacing_fractional_even = 2,
 4113    spacing_fractional_odd = 3,
 4114    vertex_order_cw = 4,
 4115    vertex_order_ccw = 5,
 4116    pixel_center_integer = 6,
 4117    origin_upper_left = 7,
 4118    origin_lower_left = 8,
 4119    early_fragment_tests = 9,
 4120    point_mode = 10,
 4121    xfb = 11,
 4122    depth_replacing = 12,
 4123    depth_greater = 14,
 4124    depth_less = 15,
 4125    depth_unchanged = 16,
 4126    local_size = 17,
 4127    local_size_hint = 18,
 4128    input_points = 19,
 4129    input_lines = 20,
 4130    input_lines_adjacency = 21,
 4131    triangles = 22,
 4132    input_triangles_adjacency = 23,
 4133    quads = 24,
 4134    isolines = 25,
 4135    output_vertices = 26,
 4136    output_points = 27,
 4137    output_line_strip = 28,
 4138    output_triangle_strip = 29,
 4139    vec_type_hint = 30,
 4140    contraction_off = 31,
 4141    initializer = 33,
 4142    finalizer = 34,
 4143    subgroup_size = 35,
 4144    subgroups_per_workgroup = 36,
 4145    subgroups_per_workgroup_id = 37,
 4146    local_size_id = 38,
 4147    local_size_hint_id = 39,
 4148    non_coherent_color_attachment_read_ext = 4169,
 4149    non_coherent_depth_attachment_read_ext = 4170,
 4150    non_coherent_stencil_attachment_read_ext = 4171,
 4151    subgroup_uniform_control_flow_khr = 4421,
 4152    post_depth_coverage = 4446,
 4153    denorm_preserve = 4459,
 4154    denorm_flush_to_zero = 4460,
 4155    signed_zero_inf_nan_preserve = 4461,
 4156    rounding_mode_rte = 4462,
 4157    rounding_mode_rtz = 4463,
 4158    non_coherent_tile_attachment_read_qcom = 4489,
 4159    tile_shading_rate_qcom = 4490,
 4160    early_and_late_fragment_tests_amd = 5017,
 4161    stencil_ref_replacing_ext = 5027,
 4162    coalescing_amdx = 5069,
 4163    is_api_entry_amdx = 5070,
 4164    max_node_recursion_amdx = 5071,
 4165    static_num_workgroups_amdx = 5072,
 4166    shader_index_amdx = 5073,
 4167    max_num_workgroups_amdx = 5077,
 4168    stencil_ref_unchanged_front_amd = 5079,
 4169    stencil_ref_greater_front_amd = 5080,
 4170    stencil_ref_less_front_amd = 5081,
 4171    stencil_ref_unchanged_back_amd = 5082,
 4172    stencil_ref_greater_back_amd = 5083,
 4173    stencil_ref_less_back_amd = 5084,
 4174    quad_derivatives_khr = 5088,
 4175    require_full_quads_khr = 5089,
 4176    shares_input_with_amdx = 5102,
 4177    output_lines_ext = 5269,
 4178    output_primitives_ext = 5270,
 4179    derivative_group_quads_khr = 5289,
 4180    derivative_group_linear_khr = 5290,
 4181    output_triangles_ext = 5298,
 4182    pixel_interlock_ordered_ext = 5366,
 4183    pixel_interlock_unordered_ext = 5367,
 4184    sample_interlock_ordered_ext = 5368,
 4185    sample_interlock_unordered_ext = 5369,
 4186    shading_rate_interlock_ordered_ext = 5370,
 4187    shading_rate_interlock_unordered_ext = 5371,
 4188    shared_local_memory_size_intel = 5618,
 4189    rounding_mode_rtpintel = 5620,
 4190    rounding_mode_rtnintel = 5621,
 4191    floating_point_mode_altintel = 5622,
 4192    floating_point_mode_ieeeintel = 5623,
 4193    max_workgroup_size_intel = 5893,
 4194    max_work_dim_intel = 5894,
 4195    no_global_offset_intel = 5895,
 4196    num_simd_workitems_intel = 5896,
 4197    scheduler_target_fmax_mhz_intel = 5903,
 4198    maximally_reconverges_khr = 6023,
 4199    fp_fast_math_default = 6028,
 4200    streaming_interface_intel = 6154,
 4201    register_map_interface_intel = 6160,
 4202    named_barrier_count_intel = 6417,
 4203    maximum_registers_intel = 6461,
 4204    maximum_registers_id_intel = 6462,
 4205    named_maximum_registers_intel = 6463,
 4206
 4207    pub const Extended = union(ExecutionMode) {
 4208        invocations: struct { literal_integer: LiteralInteger },
 4209        spacing_equal,
 4210        spacing_fractional_even,
 4211        spacing_fractional_odd,
 4212        vertex_order_cw,
 4213        vertex_order_ccw,
 4214        pixel_center_integer,
 4215        origin_upper_left,
 4216        origin_lower_left,
 4217        early_fragment_tests,
 4218        point_mode,
 4219        xfb,
 4220        depth_replacing,
 4221        depth_greater,
 4222        depth_less,
 4223        depth_unchanged,
 4224        local_size: struct { x_size: LiteralInteger, y_size: LiteralInteger, z_size: LiteralInteger },
 4225        local_size_hint: struct { x_size: LiteralInteger, y_size: LiteralInteger, z_size: LiteralInteger },
 4226        input_points,
 4227        input_lines,
 4228        input_lines_adjacency,
 4229        triangles,
 4230        input_triangles_adjacency,
 4231        quads,
 4232        isolines,
 4233        output_vertices: struct { vertex_count: LiteralInteger },
 4234        output_points,
 4235        output_line_strip,
 4236        output_triangle_strip,
 4237        vec_type_hint: struct { vector_type: LiteralInteger },
 4238        contraction_off,
 4239        initializer,
 4240        finalizer,
 4241        subgroup_size: struct { subgroup_size: LiteralInteger },
 4242        subgroups_per_workgroup: struct { subgroups_per_workgroup: LiteralInteger },
 4243        subgroups_per_workgroup_id: struct { subgroups_per_workgroup: Id },
 4244        local_size_id: struct { x_size: Id, y_size: Id, z_size: Id },
 4245        local_size_hint_id: struct { x_size_hint: Id, y_size_hint: Id, z_size_hint: Id },
 4246        non_coherent_color_attachment_read_ext,
 4247        non_coherent_depth_attachment_read_ext,
 4248        non_coherent_stencil_attachment_read_ext,
 4249        subgroup_uniform_control_flow_khr,
 4250        post_depth_coverage,
 4251        denorm_preserve: struct { target_width: LiteralInteger },
 4252        denorm_flush_to_zero: struct { target_width: LiteralInteger },
 4253        signed_zero_inf_nan_preserve: struct { target_width: LiteralInteger },
 4254        rounding_mode_rte: struct { target_width: LiteralInteger },
 4255        rounding_mode_rtz: struct { target_width: LiteralInteger },
 4256        non_coherent_tile_attachment_read_qcom,
 4257        tile_shading_rate_qcom: struct { x_rate: LiteralInteger, y_rate: LiteralInteger, z_rate: LiteralInteger },
 4258        early_and_late_fragment_tests_amd,
 4259        stencil_ref_replacing_ext,
 4260        coalescing_amdx,
 4261        is_api_entry_amdx: struct { is_entry: Id },
 4262        max_node_recursion_amdx: struct { number_of_recursions: Id },
 4263        static_num_workgroups_amdx: struct { x_size: Id, y_size: Id, z_size: Id },
 4264        shader_index_amdx: struct { shader_index: Id },
 4265        max_num_workgroups_amdx: struct { x_size: Id, y_size: Id, z_size: Id },
 4266        stencil_ref_unchanged_front_amd,
 4267        stencil_ref_greater_front_amd,
 4268        stencil_ref_less_front_amd,
 4269        stencil_ref_unchanged_back_amd,
 4270        stencil_ref_greater_back_amd,
 4271        stencil_ref_less_back_amd,
 4272        quad_derivatives_khr,
 4273        require_full_quads_khr,
 4274        shares_input_with_amdx: struct { node_name: Id, shader_index: Id },
 4275        output_lines_ext,
 4276        output_primitives_ext: struct { primitive_count: LiteralInteger },
 4277        derivative_group_quads_khr,
 4278        derivative_group_linear_khr,
 4279        output_triangles_ext,
 4280        pixel_interlock_ordered_ext,
 4281        pixel_interlock_unordered_ext,
 4282        sample_interlock_ordered_ext,
 4283        sample_interlock_unordered_ext,
 4284        shading_rate_interlock_ordered_ext,
 4285        shading_rate_interlock_unordered_ext,
 4286        shared_local_memory_size_intel: struct { size: LiteralInteger },
 4287        rounding_mode_rtpintel: struct { target_width: LiteralInteger },
 4288        rounding_mode_rtnintel: struct { target_width: LiteralInteger },
 4289        floating_point_mode_altintel: struct { target_width: LiteralInteger },
 4290        floating_point_mode_ieeeintel: struct { target_width: LiteralInteger },
 4291        max_workgroup_size_intel: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger, literal_integer_2: LiteralInteger },
 4292        max_work_dim_intel: struct { literal_integer: LiteralInteger },
 4293        no_global_offset_intel,
 4294        num_simd_workitems_intel: struct { literal_integer: LiteralInteger },
 4295        scheduler_target_fmax_mhz_intel: struct { literal_integer: LiteralInteger },
 4296        maximally_reconverges_khr,
 4297        fp_fast_math_default: struct { target_type: Id, id_ref_1: Id },
 4298        streaming_interface_intel: struct { stall_free_return: LiteralInteger },
 4299        register_map_interface_intel: struct { wait_for_done_write: LiteralInteger },
 4300        named_barrier_count_intel: struct { barrier_count: LiteralInteger },
 4301        maximum_registers_intel: struct { number_of_registers: LiteralInteger },
 4302        maximum_registers_id_intel: struct { number_of_registers: Id },
 4303        named_maximum_registers_intel: struct { named_maximum_number_of_registers: NamedMaximumNumberOfRegisters },
 4304    };
 4305};
 4306pub const StorageClass = enum(u32) {
 4307    uniform_constant = 0,
 4308    input = 1,
 4309    uniform = 2,
 4310    output = 3,
 4311    workgroup = 4,
 4312    cross_workgroup = 5,
 4313    private = 6,
 4314    function = 7,
 4315    generic = 8,
 4316    push_constant = 9,
 4317    atomic_counter = 10,
 4318    image = 11,
 4319    storage_buffer = 12,
 4320    tile_image_ext = 4172,
 4321    tile_attachment_qcom = 4491,
 4322    node_payload_amdx = 5068,
 4323    callable_data_khr = 5328,
 4324    incoming_callable_data_khr = 5329,
 4325    ray_payload_khr = 5338,
 4326    hit_attribute_khr = 5339,
 4327    incoming_ray_payload_khr = 5342,
 4328    shader_record_buffer_khr = 5343,
 4329    physical_storage_buffer = 5349,
 4330    hit_object_attribute_nv = 5385,
 4331    task_payload_workgroup_ext = 5402,
 4332    code_section_intel = 5605,
 4333    device_only_intel = 5936,
 4334    host_only_intel = 5937,
 4335};
 4336pub const Dim = enum(u32) {
 4337    @"1d" = 0,
 4338    @"2d" = 1,
 4339    @"3d" = 2,
 4340    cube = 3,
 4341    rect = 4,
 4342    buffer = 5,
 4343    subpass_data = 6,
 4344    tile_image_data_ext = 4173,
 4345};
 4346pub const SamplerAddressingMode = enum(u32) {
 4347    none = 0,
 4348    clamp_to_edge = 1,
 4349    clamp = 2,
 4350    repeat = 3,
 4351    repeat_mirrored = 4,
 4352};
 4353pub const SamplerFilterMode = enum(u32) {
 4354    nearest = 0,
 4355    linear = 1,
 4356};
 4357pub const ImageFormat = enum(u32) {
 4358    unknown = 0,
 4359    rgba32f = 1,
 4360    rgba16f = 2,
 4361    r32f = 3,
 4362    rgba8 = 4,
 4363    rgba8snorm = 5,
 4364    rg32f = 6,
 4365    rg16f = 7,
 4366    r11f_g11f_b10f = 8,
 4367    r16f = 9,
 4368    rgba16 = 10,
 4369    rgb10a2 = 11,
 4370    rg16 = 12,
 4371    rg8 = 13,
 4372    r16 = 14,
 4373    r8 = 15,
 4374    rgba16snorm = 16,
 4375    rg16snorm = 17,
 4376    rg8snorm = 18,
 4377    r16snorm = 19,
 4378    r8snorm = 20,
 4379    rgba32i = 21,
 4380    rgba16i = 22,
 4381    rgba8i = 23,
 4382    r32i = 24,
 4383    rg32i = 25,
 4384    rg16i = 26,
 4385    rg8i = 27,
 4386    r16i = 28,
 4387    r8i = 29,
 4388    rgba32ui = 30,
 4389    rgba16ui = 31,
 4390    rgba8ui = 32,
 4391    r32ui = 33,
 4392    rgb10a2ui = 34,
 4393    rg32ui = 35,
 4394    rg16ui = 36,
 4395    rg8ui = 37,
 4396    r16ui = 38,
 4397    r8ui = 39,
 4398    r64ui = 40,
 4399    r64i = 41,
 4400};
 4401pub const ImageChannelOrder = enum(u32) {
 4402    r = 0,
 4403    a = 1,
 4404    rg = 2,
 4405    ra = 3,
 4406    rgb = 4,
 4407    rgba = 5,
 4408    bgra = 6,
 4409    argb = 7,
 4410    intensity = 8,
 4411    luminance = 9,
 4412    rx = 10,
 4413    r_gx = 11,
 4414    rg_bx = 12,
 4415    depth = 13,
 4416    depth_stencil = 14,
 4417    s_rgb = 15,
 4418    s_rg_bx = 16,
 4419    s_rgba = 17,
 4420    s_bgra = 18,
 4421    abgr = 19,
 4422};
 4423pub const ImageChannelDataType = enum(u32) {
 4424    snorm_int8 = 0,
 4425    snorm_int16 = 1,
 4426    unorm_int8 = 2,
 4427    unorm_int16 = 3,
 4428    unorm_short565 = 4,
 4429    unorm_short555 = 5,
 4430    unorm_int101010 = 6,
 4431    signed_int8 = 7,
 4432    signed_int16 = 8,
 4433    signed_int32 = 9,
 4434    unsigned_int8 = 10,
 4435    unsigned_int16 = 11,
 4436    unsigned_int32 = 12,
 4437    half_float = 13,
 4438    float = 14,
 4439    unorm_int24 = 15,
 4440    unorm_int101010_2 = 16,
 4441    unorm_int10x6ext = 17,
 4442    unsigned_int_raw10ext = 19,
 4443    unsigned_int_raw12ext = 20,
 4444    unorm_int2_101010ext = 21,
 4445    unsigned_int10x6ext = 22,
 4446    unsigned_int12x4ext = 23,
 4447    unsigned_int14x2ext = 24,
 4448    unorm_int12x4ext = 25,
 4449    unorm_int14x2ext = 26,
 4450};
 4451pub const FPRoundingMode = enum(u32) {
 4452    rte = 0,
 4453    rtz = 1,
 4454    rtp = 2,
 4455    rtn = 3,
 4456};
 4457pub const FPDenormMode = enum(u32) {
 4458    preserve = 0,
 4459    flush_to_zero = 1,
 4460};
 4461pub const QuantizationModes = enum(u32) {
 4462    trn = 0,
 4463    trn_zero = 1,
 4464    rnd = 2,
 4465    rnd_zero = 3,
 4466    rnd_inf = 4,
 4467    rnd_min_inf = 5,
 4468    rnd_conv = 6,
 4469    rnd_conv_odd = 7,
 4470};
 4471pub const FPOperationMode = enum(u32) {
 4472    ieee = 0,
 4473    alt = 1,
 4474};
 4475pub const OverflowModes = enum(u32) {
 4476    wrap = 0,
 4477    sat = 1,
 4478    sat_zero = 2,
 4479    sat_sym = 3,
 4480};
 4481pub const LinkageType = enum(u32) {
 4482    @"export" = 0,
 4483    import = 1,
 4484    link_once_odr = 2,
 4485};
 4486pub const AccessQualifier = enum(u32) {
 4487    read_only = 0,
 4488    write_only = 1,
 4489    read_write = 2,
 4490};
 4491pub const HostAccessQualifier = enum(u32) {
 4492    none_intel = 0,
 4493    read_intel = 1,
 4494    write_intel = 2,
 4495    read_write_intel = 3,
 4496};
 4497pub const FunctionParameterAttribute = enum(u32) {
 4498    zext = 0,
 4499    sext = 1,
 4500    by_val = 2,
 4501    sret = 3,
 4502    no_alias = 4,
 4503    no_capture = 5,
 4504    no_write = 6,
 4505    no_read_write = 7,
 4506    runtime_aligned_intel = 5940,
 4507};
 4508pub const Decoration = enum(u32) {
 4509    relaxed_precision = 0,
 4510    spec_id = 1,
 4511    block = 2,
 4512    buffer_block = 3,
 4513    row_major = 4,
 4514    col_major = 5,
 4515    array_stride = 6,
 4516    matrix_stride = 7,
 4517    glsl_shared = 8,
 4518    glsl_packed = 9,
 4519    c_packed = 10,
 4520    built_in = 11,
 4521    no_perspective = 13,
 4522    flat = 14,
 4523    patch = 15,
 4524    centroid = 16,
 4525    sample = 17,
 4526    invariant = 18,
 4527    restrict = 19,
 4528    aliased = 20,
 4529    @"volatile" = 21,
 4530    constant = 22,
 4531    coherent = 23,
 4532    non_writable = 24,
 4533    non_readable = 25,
 4534    uniform = 26,
 4535    uniform_id = 27,
 4536    saturated_conversion = 28,
 4537    stream = 29,
 4538    location = 30,
 4539    component = 31,
 4540    index = 32,
 4541    binding = 33,
 4542    descriptor_set = 34,
 4543    offset = 35,
 4544    xfb_buffer = 36,
 4545    xfb_stride = 37,
 4546    func_param_attr = 38,
 4547    fp_rounding_mode = 39,
 4548    fp_fast_math_mode = 40,
 4549    linkage_attributes = 41,
 4550    no_contraction = 42,
 4551    input_attachment_index = 43,
 4552    alignment = 44,
 4553    max_byte_offset = 45,
 4554    alignment_id = 46,
 4555    max_byte_offset_id = 47,
 4556    saturated_to_largest_float8normal_conversion_ext = 4216,
 4557    no_signed_wrap = 4469,
 4558    no_unsigned_wrap = 4470,
 4559    weight_texture_qcom = 4487,
 4560    block_match_texture_qcom = 4488,
 4561    block_match_sampler_qcom = 4499,
 4562    explicit_interp_amd = 4999,
 4563    node_shares_payload_limits_with_amdx = 5019,
 4564    node_max_payloads_amdx = 5020,
 4565    track_finish_writing_amdx = 5078,
 4566    payload_node_name_amdx = 5091,
 4567    payload_node_base_index_amdx = 5098,
 4568    payload_node_sparse_array_amdx = 5099,
 4569    payload_node_array_size_amdx = 5100,
 4570    payload_dispatch_indirect_amdx = 5105,
 4571    override_coverage_nv = 5248,
 4572    passthrough_nv = 5250,
 4573    viewport_relative_nv = 5252,
 4574    secondary_viewport_relative_nv = 5256,
 4575    per_primitive_ext = 5271,
 4576    per_view_nv = 5272,
 4577    per_task_nv = 5273,
 4578    per_vertex_khr = 5285,
 4579    non_uniform = 5300,
 4580    restrict_pointer = 5355,
 4581    aliased_pointer = 5356,
 4582    hit_object_shader_record_buffer_nv = 5386,
 4583    bindless_sampler_nv = 5398,
 4584    bindless_image_nv = 5399,
 4585    bound_sampler_nv = 5400,
 4586    bound_image_nv = 5401,
 4587    simt_call_intel = 5599,
 4588    referenced_indirectly_intel = 5602,
 4589    clobber_intel = 5607,
 4590    side_effects_intel = 5608,
 4591    vector_compute_variable_intel = 5624,
 4592    func_param_io_kind_intel = 5625,
 4593    vector_compute_function_intel = 5626,
 4594    stack_call_intel = 5627,
 4595    global_variable_offset_intel = 5628,
 4596    counter_buffer = 5634,
 4597    user_semantic = 5635,
 4598    user_type_google = 5636,
 4599    function_rounding_mode_intel = 5822,
 4600    function_denorm_mode_intel = 5823,
 4601    register_intel = 5825,
 4602    memory_intel = 5826,
 4603    numbanks_intel = 5827,
 4604    bankwidth_intel = 5828,
 4605    max_private_copies_intel = 5829,
 4606    singlepump_intel = 5830,
 4607    doublepump_intel = 5831,
 4608    max_replicates_intel = 5832,
 4609    simple_dual_port_intel = 5833,
 4610    merge_intel = 5834,
 4611    bank_bits_intel = 5835,
 4612    force_pow2depth_intel = 5836,
 4613    stridesize_intel = 5883,
 4614    wordsize_intel = 5884,
 4615    true_dual_port_intel = 5885,
 4616    burst_coalesce_intel = 5899,
 4617    cache_size_intel = 5900,
 4618    dont_statically_coalesce_intel = 5901,
 4619    prefetch_intel = 5902,
 4620    stall_enable_intel = 5905,
 4621    fuse_loops_in_function_intel = 5907,
 4622    math_op_dsp_mode_intel = 5909,
 4623    alias_scope_intel = 5914,
 4624    no_alias_intel = 5915,
 4625    initiation_interval_intel = 5917,
 4626    max_concurrency_intel = 5918,
 4627    pipeline_enable_intel = 5919,
 4628    buffer_location_intel = 5921,
 4629    io_pipe_storage_intel = 5944,
 4630    function_floating_point_mode_intel = 6080,
 4631    single_element_vector_intel = 6085,
 4632    vector_compute_callable_function_intel = 6087,
 4633    media_block_iointel = 6140,
 4634    stall_free_intel = 6151,
 4635    fp_max_error_decoration_intel = 6170,
 4636    latency_control_label_intel = 6172,
 4637    latency_control_constraint_intel = 6173,
 4638    conduit_kernel_argument_intel = 6175,
 4639    register_map_kernel_argument_intel = 6176,
 4640    mm_host_interface_address_width_intel = 6177,
 4641    mm_host_interface_data_width_intel = 6178,
 4642    mm_host_interface_latency_intel = 6179,
 4643    mm_host_interface_read_write_mode_intel = 6180,
 4644    mm_host_interface_max_burst_intel = 6181,
 4645    mm_host_interface_wait_request_intel = 6182,
 4646    stable_kernel_argument_intel = 6183,
 4647    host_access_intel = 6188,
 4648    init_mode_intel = 6190,
 4649    implement_in_register_map_intel = 6191,
 4650    cache_control_load_intel = 6442,
 4651    cache_control_store_intel = 6443,
 4652
 4653    pub const Extended = union(Decoration) {
 4654        relaxed_precision,
 4655        spec_id: struct { specialization_constant_id: LiteralInteger },
 4656        block,
 4657        buffer_block,
 4658        row_major,
 4659        col_major,
 4660        array_stride: struct { array_stride: LiteralInteger },
 4661        matrix_stride: struct { matrix_stride: LiteralInteger },
 4662        glsl_shared,
 4663        glsl_packed,
 4664        c_packed,
 4665        built_in: struct { built_in: BuiltIn },
 4666        no_perspective,
 4667        flat,
 4668        patch,
 4669        centroid,
 4670        sample,
 4671        invariant,
 4672        restrict,
 4673        aliased,
 4674        @"volatile",
 4675        constant,
 4676        coherent,
 4677        non_writable,
 4678        non_readable,
 4679        uniform,
 4680        uniform_id: struct { execution: Id },
 4681        saturated_conversion,
 4682        stream: struct { stream_number: LiteralInteger },
 4683        location: struct { location: LiteralInteger },
 4684        component: struct { component: LiteralInteger },
 4685        index: struct { index: LiteralInteger },
 4686        binding: struct { binding_point: LiteralInteger },
 4687        descriptor_set: struct { descriptor_set: LiteralInteger },
 4688        offset: struct { byte_offset: LiteralInteger },
 4689        xfb_buffer: struct { xfb_buffer_number: LiteralInteger },
 4690        xfb_stride: struct { xfb_stride: LiteralInteger },
 4691        func_param_attr: struct { function_parameter_attribute: FunctionParameterAttribute },
 4692        fp_rounding_mode: struct { fp_rounding_mode: FPRoundingMode },
 4693        fp_fast_math_mode: struct { fp_fast_math_mode: FPFastMathMode },
 4694        linkage_attributes: struct { name: LiteralString, linkage_type: LinkageType },
 4695        no_contraction,
 4696        input_attachment_index: struct { attachment_index: LiteralInteger },
 4697        alignment: struct { alignment: LiteralInteger },
 4698        max_byte_offset: struct { max_byte_offset: LiteralInteger },
 4699        alignment_id: struct { alignment: Id },
 4700        max_byte_offset_id: struct { max_byte_offset: Id },
 4701        saturated_to_largest_float8normal_conversion_ext,
 4702        no_signed_wrap,
 4703        no_unsigned_wrap,
 4704        weight_texture_qcom,
 4705        block_match_texture_qcom,
 4706        block_match_sampler_qcom,
 4707        explicit_interp_amd,
 4708        node_shares_payload_limits_with_amdx: struct { payload_type: Id },
 4709        node_max_payloads_amdx: struct { max_number_of_payloads: Id },
 4710        track_finish_writing_amdx,
 4711        payload_node_name_amdx: struct { node_name: Id },
 4712        payload_node_base_index_amdx: struct { base_index: Id },
 4713        payload_node_sparse_array_amdx,
 4714        payload_node_array_size_amdx: struct { array_size: Id },
 4715        payload_dispatch_indirect_amdx,
 4716        override_coverage_nv,
 4717        passthrough_nv,
 4718        viewport_relative_nv,
 4719        secondary_viewport_relative_nv: struct { offset: LiteralInteger },
 4720        per_primitive_ext,
 4721        per_view_nv,
 4722        per_task_nv,
 4723        per_vertex_khr,
 4724        non_uniform,
 4725        restrict_pointer,
 4726        aliased_pointer,
 4727        hit_object_shader_record_buffer_nv,
 4728        bindless_sampler_nv,
 4729        bindless_image_nv,
 4730        bound_sampler_nv,
 4731        bound_image_nv,
 4732        simt_call_intel: struct { n: LiteralInteger },
 4733        referenced_indirectly_intel,
 4734        clobber_intel: struct { register: LiteralString },
 4735        side_effects_intel,
 4736        vector_compute_variable_intel,
 4737        func_param_io_kind_intel: struct { kind: LiteralInteger },
 4738        vector_compute_function_intel,
 4739        stack_call_intel,
 4740        global_variable_offset_intel: struct { offset: LiteralInteger },
 4741        counter_buffer: struct { counter_buffer: Id },
 4742        user_semantic: struct { semantic: LiteralString },
 4743        user_type_google: struct { user_type: LiteralString },
 4744        function_rounding_mode_intel: struct { target_width: LiteralInteger, fp_rounding_mode: FPRoundingMode },
 4745        function_denorm_mode_intel: struct { target_width: LiteralInteger, fp_denorm_mode: FPDenormMode },
 4746        register_intel,
 4747        memory_intel: struct { memory_type: LiteralString },
 4748        numbanks_intel: struct { banks: LiteralInteger },
 4749        bankwidth_intel: struct { bank_width: LiteralInteger },
 4750        max_private_copies_intel: struct { maximum_copies: LiteralInteger },
 4751        singlepump_intel,
 4752        doublepump_intel,
 4753        max_replicates_intel: struct { maximum_replicates: LiteralInteger },
 4754        simple_dual_port_intel,
 4755        merge_intel: struct { merge_key: LiteralString, merge_type: LiteralString },
 4756        bank_bits_intel: struct { bank_bits: []const LiteralInteger = &.{} },
 4757        force_pow2depth_intel: struct { force_key: LiteralInteger },
 4758        stridesize_intel: struct { stride_size: LiteralInteger },
 4759        wordsize_intel: struct { word_size: LiteralInteger },
 4760        true_dual_port_intel,
 4761        burst_coalesce_intel,
 4762        cache_size_intel: struct { cache_size_in_bytes: LiteralInteger },
 4763        dont_statically_coalesce_intel,
 4764        prefetch_intel: struct { prefetcher_size_in_bytes: LiteralInteger },
 4765        stall_enable_intel,
 4766        fuse_loops_in_function_intel,
 4767        math_op_dsp_mode_intel: struct { mode: LiteralInteger, propagate: LiteralInteger },
 4768        alias_scope_intel: struct { aliasing_scopes_list: Id },
 4769        no_alias_intel: struct { aliasing_scopes_list: Id },
 4770        initiation_interval_intel: struct { cycles: LiteralInteger },
 4771        max_concurrency_intel: struct { invocations: LiteralInteger },
 4772        pipeline_enable_intel: struct { enable: LiteralInteger },
 4773        buffer_location_intel: struct { buffer_location_id: LiteralInteger },
 4774        io_pipe_storage_intel: struct { io_pipe_id: LiteralInteger },
 4775        function_floating_point_mode_intel: struct { target_width: LiteralInteger, fp_operation_mode: FPOperationMode },
 4776        single_element_vector_intel,
 4777        vector_compute_callable_function_intel,
 4778        media_block_iointel,
 4779        stall_free_intel,
 4780        fp_max_error_decoration_intel: struct { max_error: LiteralFloat },
 4781        latency_control_label_intel: struct { latency_label: LiteralInteger },
 4782        latency_control_constraint_intel: struct { relative_to: LiteralInteger, control_type: LiteralInteger, relative_cycle: LiteralInteger },
 4783        conduit_kernel_argument_intel,
 4784        register_map_kernel_argument_intel,
 4785        mm_host_interface_address_width_intel: struct { address_width: LiteralInteger },
 4786        mm_host_interface_data_width_intel: struct { data_width: LiteralInteger },
 4787        mm_host_interface_latency_intel: struct { latency: LiteralInteger },
 4788        mm_host_interface_read_write_mode_intel: struct { read_write_mode: AccessQualifier },
 4789        mm_host_interface_max_burst_intel: struct { max_burst_count: LiteralInteger },
 4790        mm_host_interface_wait_request_intel: struct { waitrequest: LiteralInteger },
 4791        stable_kernel_argument_intel,
 4792        host_access_intel: struct { access: HostAccessQualifier, name: LiteralString },
 4793        init_mode_intel: struct { trigger: InitializationModeQualifier },
 4794        implement_in_register_map_intel: struct { value: LiteralInteger },
 4795        cache_control_load_intel: struct { cache_level: LiteralInteger, cache_control: LoadCacheControl },
 4796        cache_control_store_intel: struct { cache_level: LiteralInteger, cache_control: StoreCacheControl },
 4797    };
 4798};
 4799pub const BuiltIn = enum(u32) {
 4800    position = 0,
 4801    point_size = 1,
 4802    clip_distance = 3,
 4803    cull_distance = 4,
 4804    vertex_id = 5,
 4805    instance_id = 6,
 4806    primitive_id = 7,
 4807    invocation_id = 8,
 4808    layer = 9,
 4809    viewport_index = 10,
 4810    tess_level_outer = 11,
 4811    tess_level_inner = 12,
 4812    tess_coord = 13,
 4813    patch_vertices = 14,
 4814    frag_coord = 15,
 4815    point_coord = 16,
 4816    front_facing = 17,
 4817    sample_id = 18,
 4818    sample_position = 19,
 4819    sample_mask = 20,
 4820    frag_depth = 22,
 4821    helper_invocation = 23,
 4822    num_workgroups = 24,
 4823    workgroup_size = 25,
 4824    workgroup_id = 26,
 4825    local_invocation_id = 27,
 4826    global_invocation_id = 28,
 4827    local_invocation_index = 29,
 4828    work_dim = 30,
 4829    global_size = 31,
 4830    enqueued_workgroup_size = 32,
 4831    global_offset = 33,
 4832    global_linear_id = 34,
 4833    subgroup_size = 36,
 4834    subgroup_max_size = 37,
 4835    num_subgroups = 38,
 4836    num_enqueued_subgroups = 39,
 4837    subgroup_id = 40,
 4838    subgroup_local_invocation_id = 41,
 4839    vertex_index = 42,
 4840    instance_index = 43,
 4841    core_idarm = 4160,
 4842    core_count_arm = 4161,
 4843    core_max_idarm = 4162,
 4844    warp_idarm = 4163,
 4845    warp_max_idarm = 4164,
 4846    subgroup_eq_mask = 4416,
 4847    subgroup_ge_mask = 4417,
 4848    subgroup_gt_mask = 4418,
 4849    subgroup_le_mask = 4419,
 4850    subgroup_lt_mask = 4420,
 4851    base_vertex = 4424,
 4852    base_instance = 4425,
 4853    draw_index = 4426,
 4854    primitive_shading_rate_khr = 4432,
 4855    device_index = 4438,
 4856    view_index = 4440,
 4857    shading_rate_khr = 4444,
 4858    tile_offset_qcom = 4492,
 4859    tile_dimension_qcom = 4493,
 4860    tile_apron_size_qcom = 4494,
 4861    bary_coord_no_persp_amd = 4992,
 4862    bary_coord_no_persp_centroid_amd = 4993,
 4863    bary_coord_no_persp_sample_amd = 4994,
 4864    bary_coord_smooth_amd = 4995,
 4865    bary_coord_smooth_centroid_amd = 4996,
 4866    bary_coord_smooth_sample_amd = 4997,
 4867    bary_coord_pull_model_amd = 4998,
 4868    frag_stencil_ref_ext = 5014,
 4869    remaining_recursion_levels_amdx = 5021,
 4870    shader_index_amdx = 5073,
 4871    viewport_mask_nv = 5253,
 4872    secondary_position_nv = 5257,
 4873    secondary_viewport_mask_nv = 5258,
 4874    position_per_view_nv = 5261,
 4875    viewport_mask_per_view_nv = 5262,
 4876    fully_covered_ext = 5264,
 4877    task_count_nv = 5274,
 4878    primitive_count_nv = 5275,
 4879    primitive_indices_nv = 5276,
 4880    clip_distance_per_view_nv = 5277,
 4881    cull_distance_per_view_nv = 5278,
 4882    layer_per_view_nv = 5279,
 4883    mesh_view_count_nv = 5280,
 4884    mesh_view_indices_nv = 5281,
 4885    bary_coord_khr = 5286,
 4886    bary_coord_no_persp_khr = 5287,
 4887    frag_size_ext = 5292,
 4888    frag_invocation_count_ext = 5293,
 4889    primitive_point_indices_ext = 5294,
 4890    primitive_line_indices_ext = 5295,
 4891    primitive_triangle_indices_ext = 5296,
 4892    cull_primitive_ext = 5299,
 4893    launch_id_khr = 5319,
 4894    launch_size_khr = 5320,
 4895    world_ray_origin_khr = 5321,
 4896    world_ray_direction_khr = 5322,
 4897    object_ray_origin_khr = 5323,
 4898    object_ray_direction_khr = 5324,
 4899    ray_tmin_khr = 5325,
 4900    ray_tmax_khr = 5326,
 4901    instance_custom_index_khr = 5327,
 4902    object_to_world_khr = 5330,
 4903    world_to_object_khr = 5331,
 4904    hit_tnv = 5332,
 4905    hit_kind_khr = 5333,
 4906    current_ray_time_nv = 5334,
 4907    hit_triangle_vertex_positions_khr = 5335,
 4908    hit_micro_triangle_vertex_positions_nv = 5337,
 4909    hit_micro_triangle_vertex_barycentrics_nv = 5344,
 4910    incoming_ray_flags_khr = 5351,
 4911    ray_geometry_index_khr = 5352,
 4912    hit_is_sphere_nv = 5359,
 4913    hit_is_lssnv = 5360,
 4914    hit_sphere_position_nv = 5361,
 4915    warps_per_smnv = 5374,
 4916    sm_count_nv = 5375,
 4917    warp_idnv = 5376,
 4918    smidnv = 5377,
 4919    hit_lss_positions_nv = 5396,
 4920    hit_kind_front_facing_micro_triangle_nv = 5405,
 4921    hit_kind_back_facing_micro_triangle_nv = 5406,
 4922    hit_sphere_radius_nv = 5420,
 4923    hit_lss_radii_nv = 5421,
 4924    cluster_idnv = 5436,
 4925    cull_mask_khr = 6021,
 4926};
 4927pub const Scope = enum(u32) {
 4928    cross_device = 0,
 4929    device = 1,
 4930    workgroup = 2,
 4931    subgroup = 3,
 4932    invocation = 4,
 4933    queue_family = 5,
 4934    shader_call_khr = 6,
 4935};
 4936pub const GroupOperation = enum(u32) {
 4937    reduce = 0,
 4938    inclusive_scan = 1,
 4939    exclusive_scan = 2,
 4940    clustered_reduce = 3,
 4941    partitioned_reduce_nv = 6,
 4942    partitioned_inclusive_scan_nv = 7,
 4943    partitioned_exclusive_scan_nv = 8,
 4944};
 4945pub const KernelEnqueueFlags = enum(u32) {
 4946    no_wait = 0,
 4947    wait_kernel = 1,
 4948    wait_work_group = 2,
 4949};
 4950pub const Capability = enum(u32) {
 4951    matrix = 0,
 4952    shader = 1,
 4953    geometry = 2,
 4954    tessellation = 3,
 4955    addresses = 4,
 4956    linkage = 5,
 4957    kernel = 6,
 4958    vector16 = 7,
 4959    float16buffer = 8,
 4960    float16 = 9,
 4961    float64 = 10,
 4962    int64 = 11,
 4963    int64atomics = 12,
 4964    image_basic = 13,
 4965    image_read_write = 14,
 4966    image_mipmap = 15,
 4967    pipes = 17,
 4968    groups = 18,
 4969    device_enqueue = 19,
 4970    literal_sampler = 20,
 4971    atomic_storage = 21,
 4972    int16 = 22,
 4973    tessellation_point_size = 23,
 4974    geometry_point_size = 24,
 4975    image_gather_extended = 25,
 4976    storage_image_multisample = 27,
 4977    uniform_buffer_array_dynamic_indexing = 28,
 4978    sampled_image_array_dynamic_indexing = 29,
 4979    storage_buffer_array_dynamic_indexing = 30,
 4980    storage_image_array_dynamic_indexing = 31,
 4981    clip_distance = 32,
 4982    cull_distance = 33,
 4983    image_cube_array = 34,
 4984    sample_rate_shading = 35,
 4985    image_rect = 36,
 4986    sampled_rect = 37,
 4987    generic_pointer = 38,
 4988    int8 = 39,
 4989    input_attachment = 40,
 4990    sparse_residency = 41,
 4991    min_lod = 42,
 4992    sampled1d = 43,
 4993    image1d = 44,
 4994    sampled_cube_array = 45,
 4995    sampled_buffer = 46,
 4996    image_buffer = 47,
 4997    image_ms_array = 48,
 4998    storage_image_extended_formats = 49,
 4999    image_query = 50,
 5000    derivative_control = 51,
 5001    interpolation_function = 52,
 5002    transform_feedback = 53,
 5003    geometry_streams = 54,
 5004    storage_image_read_without_format = 55,
 5005    storage_image_write_without_format = 56,
 5006    multi_viewport = 57,
 5007    subgroup_dispatch = 58,
 5008    named_barrier = 59,
 5009    pipe_storage = 60,
 5010    group_non_uniform = 61,
 5011    group_non_uniform_vote = 62,
 5012    group_non_uniform_arithmetic = 63,
 5013    group_non_uniform_ballot = 64,
 5014    group_non_uniform_shuffle = 65,
 5015    group_non_uniform_shuffle_relative = 66,
 5016    group_non_uniform_clustered = 67,
 5017    group_non_uniform_quad = 68,
 5018    shader_layer = 69,
 5019    shader_viewport_index = 70,
 5020    uniform_decoration = 71,
 5021    core_builtins_arm = 4165,
 5022    tile_image_color_read_access_ext = 4166,
 5023    tile_image_depth_read_access_ext = 4167,
 5024    tile_image_stencil_read_access_ext = 4168,
 5025    tensors_arm = 4174,
 5026    storage_tensor_array_dynamic_indexing_arm = 4175,
 5027    storage_tensor_array_non_uniform_indexing_arm = 4176,
 5028    graph_arm = 4191,
 5029    cooperative_matrix_layouts_arm = 4201,
 5030    float8ext = 4212,
 5031    float8cooperative_matrix_ext = 4213,
 5032    fragment_shading_rate_khr = 4422,
 5033    subgroup_ballot_khr = 4423,
 5034    draw_parameters = 4427,
 5035    workgroup_memory_explicit_layout_khr = 4428,
 5036    workgroup_memory_explicit_layout8bit_access_khr = 4429,
 5037    workgroup_memory_explicit_layout16bit_access_khr = 4430,
 5038    subgroup_vote_khr = 4431,
 5039    storage_buffer16bit_access = 4433,
 5040    uniform_and_storage_buffer16bit_access = 4434,
 5041    storage_push_constant16 = 4435,
 5042    storage_input_output16 = 4436,
 5043    device_group = 4437,
 5044    multi_view = 4439,
 5045    variable_pointers_storage_buffer = 4441,
 5046    variable_pointers = 4442,
 5047    atomic_storage_ops = 4445,
 5048    sample_mask_post_depth_coverage = 4447,
 5049    storage_buffer8bit_access = 4448,
 5050    uniform_and_storage_buffer8bit_access = 4449,
 5051    storage_push_constant8 = 4450,
 5052    denorm_preserve = 4464,
 5053    denorm_flush_to_zero = 4465,
 5054    signed_zero_inf_nan_preserve = 4466,
 5055    rounding_mode_rte = 4467,
 5056    rounding_mode_rtz = 4468,
 5057    ray_query_provisional_khr = 4471,
 5058    ray_query_khr = 4472,
 5059    untyped_pointers_khr = 4473,
 5060    ray_traversal_primitive_culling_khr = 4478,
 5061    ray_tracing_khr = 4479,
 5062    texture_sample_weighted_qcom = 4484,
 5063    texture_box_filter_qcom = 4485,
 5064    texture_block_match_qcom = 4486,
 5065    tile_shading_qcom = 4495,
 5066    texture_block_match2qcom = 4498,
 5067    float16image_amd = 5008,
 5068    image_gather_bias_lod_amd = 5009,
 5069    fragment_mask_amd = 5010,
 5070    stencil_export_ext = 5013,
 5071    image_read_write_lod_amd = 5015,
 5072    int64image_ext = 5016,
 5073    shader_clock_khr = 5055,
 5074    shader_enqueue_amdx = 5067,
 5075    quad_control_khr = 5087,
 5076    int4type_intel = 5112,
 5077    int4cooperative_matrix_intel = 5114,
 5078    b_float16type_khr = 5116,
 5079    b_float16dot_product_khr = 5117,
 5080    b_float16cooperative_matrix_khr = 5118,
 5081    sample_mask_override_coverage_nv = 5249,
 5082    geometry_shader_passthrough_nv = 5251,
 5083    shader_viewport_index_layer_ext = 5254,
 5084    shader_viewport_mask_nv = 5255,
 5085    shader_stereo_view_nv = 5259,
 5086    per_view_attributes_nv = 5260,
 5087    fragment_fully_covered_ext = 5265,
 5088    mesh_shading_nv = 5266,
 5089    image_footprint_nv = 5282,
 5090    mesh_shading_ext = 5283,
 5091    fragment_barycentric_khr = 5284,
 5092    compute_derivative_group_quads_khr = 5288,
 5093    fragment_density_ext = 5291,
 5094    group_non_uniform_partitioned_nv = 5297,
 5095    shader_non_uniform = 5301,
 5096    runtime_descriptor_array = 5302,
 5097    input_attachment_array_dynamic_indexing = 5303,
 5098    uniform_texel_buffer_array_dynamic_indexing = 5304,
 5099    storage_texel_buffer_array_dynamic_indexing = 5305,
 5100    uniform_buffer_array_non_uniform_indexing = 5306,
 5101    sampled_image_array_non_uniform_indexing = 5307,
 5102    storage_buffer_array_non_uniform_indexing = 5308,
 5103    storage_image_array_non_uniform_indexing = 5309,
 5104    input_attachment_array_non_uniform_indexing = 5310,
 5105    uniform_texel_buffer_array_non_uniform_indexing = 5311,
 5106    storage_texel_buffer_array_non_uniform_indexing = 5312,
 5107    ray_tracing_position_fetch_khr = 5336,
 5108    ray_tracing_nv = 5340,
 5109    ray_tracing_motion_blur_nv = 5341,
 5110    vulkan_memory_model = 5345,
 5111    vulkan_memory_model_device_scope = 5346,
 5112    physical_storage_buffer_addresses = 5347,
 5113    compute_derivative_group_linear_khr = 5350,
 5114    ray_tracing_provisional_khr = 5353,
 5115    cooperative_matrix_nv = 5357,
 5116    fragment_shader_sample_interlock_ext = 5363,
 5117    fragment_shader_shading_rate_interlock_ext = 5372,
 5118    shader_sm_builtins_nv = 5373,
 5119    fragment_shader_pixel_interlock_ext = 5378,
 5120    demote_to_helper_invocation = 5379,
 5121    displacement_micromap_nv = 5380,
 5122    ray_tracing_opacity_micromap_ext = 5381,
 5123    shader_invocation_reorder_nv = 5383,
 5124    bindless_texture_nv = 5390,
 5125    ray_query_position_fetch_khr = 5391,
 5126    cooperative_vector_nv = 5394,
 5127    atomic_float16vector_nv = 5404,
 5128    ray_tracing_displacement_micromap_nv = 5409,
 5129    raw_access_chains_nv = 5414,
 5130    ray_tracing_spheres_geometry_nv = 5418,
 5131    ray_tracing_linear_swept_spheres_geometry_nv = 5419,
 5132    cooperative_matrix_reductions_nv = 5430,
 5133    cooperative_matrix_conversions_nv = 5431,
 5134    cooperative_matrix_per_element_operations_nv = 5432,
 5135    cooperative_matrix_tensor_addressing_nv = 5433,
 5136    cooperative_matrix_block_loads_nv = 5434,
 5137    cooperative_vector_training_nv = 5435,
 5138    ray_tracing_cluster_acceleration_structure_nv = 5437,
 5139    tensor_addressing_nv = 5439,
 5140    subgroup_shuffle_intel = 5568,
 5141    subgroup_buffer_block_iointel = 5569,
 5142    subgroup_image_block_iointel = 5570,
 5143    subgroup_image_media_block_iointel = 5579,
 5144    round_to_infinity_intel = 5582,
 5145    floating_point_mode_intel = 5583,
 5146    integer_functions2intel = 5584,
 5147    function_pointers_intel = 5603,
 5148    indirect_references_intel = 5604,
 5149    asm_intel = 5606,
 5150    atomic_float32min_max_ext = 5612,
 5151    atomic_float64min_max_ext = 5613,
 5152    atomic_float16min_max_ext = 5616,
 5153    vector_compute_intel = 5617,
 5154    vector_any_intel = 5619,
 5155    expect_assume_khr = 5629,
 5156    subgroup_avc_motion_estimation_intel = 5696,
 5157    subgroup_avc_motion_estimation_intra_intel = 5697,
 5158    subgroup_avc_motion_estimation_chroma_intel = 5698,
 5159    variable_length_array_intel = 5817,
 5160    function_float_control_intel = 5821,
 5161    fpga_memory_attributes_intel = 5824,
 5162    fp_fast_math_mode_intel = 5837,
 5163    arbitrary_precision_integers_intel = 5844,
 5164    arbitrary_precision_floating_point_intel = 5845,
 5165    unstructured_loop_controls_intel = 5886,
 5166    fpga_loop_controls_intel = 5888,
 5167    kernel_attributes_intel = 5892,
 5168    fpga_kernel_attributes_intel = 5897,
 5169    fpga_memory_accesses_intel = 5898,
 5170    fpga_cluster_attributes_intel = 5904,
 5171    loop_fuse_intel = 5906,
 5172    fpgadsp_control_intel = 5908,
 5173    memory_access_aliasing_intel = 5910,
 5174    fpga_invocation_pipelining_attributes_intel = 5916,
 5175    fpga_buffer_location_intel = 5920,
 5176    arbitrary_precision_fixed_point_intel = 5922,
 5177    usm_storage_classes_intel = 5935,
 5178    runtime_aligned_attribute_intel = 5939,
 5179    io_pipes_intel = 5943,
 5180    blocking_pipes_intel = 5945,
 5181    fpga_reg_intel = 5948,
 5182    dot_product_input_all = 6016,
 5183    dot_product_input4x8bit = 6017,
 5184    dot_product_input4x8bit_packed = 6018,
 5185    dot_product = 6019,
 5186    ray_cull_mask_khr = 6020,
 5187    cooperative_matrix_khr = 6022,
 5188    replicated_composites_ext = 6024,
 5189    bit_instructions = 6025,
 5190    group_non_uniform_rotate_khr = 6026,
 5191    float_controls2 = 6029,
 5192    atomic_float32add_ext = 6033,
 5193    atomic_float64add_ext = 6034,
 5194    long_composites_intel = 6089,
 5195    opt_none_ext = 6094,
 5196    atomic_float16add_ext = 6095,
 5197    debug_info_module_intel = 6114,
 5198    b_float16conversion_intel = 6115,
 5199    split_barrier_intel = 6141,
 5200    arithmetic_fence_ext = 6144,
 5201    fpga_cluster_attributes_v2intel = 6150,
 5202    fpga_kernel_attributesv2intel = 6161,
 5203    task_sequence_intel = 6162,
 5204    fp_max_error_intel = 6169,
 5205    fpga_latency_control_intel = 6171,
 5206    fpga_argument_interfaces_intel = 6174,
 5207    global_variable_host_access_intel = 6187,
 5208    global_variable_fpga_decorations_intel = 6189,
 5209    subgroup_buffer_prefetch_intel = 6220,
 5210    subgroup2d_block_iointel = 6228,
 5211    subgroup2d_block_transform_intel = 6229,
 5212    subgroup2d_block_transpose_intel = 6230,
 5213    subgroup_matrix_multiply_accumulate_intel = 6236,
 5214    ternary_bitwise_function_intel = 6241,
 5215    group_uniform_arithmetic_khr = 6400,
 5216    tensor_float32rounding_intel = 6425,
 5217    masked_gather_scatter_intel = 6427,
 5218    cache_controls_intel = 6441,
 5219    register_limits_intel = 6460,
 5220    bindless_images_intel = 6528,
 5221};
 5222pub const RayQueryIntersection = enum(u32) {
 5223    ray_query_candidate_intersection_khr = 0,
 5224    ray_query_committed_intersection_khr = 1,
 5225};
 5226pub const RayQueryCommittedIntersectionType = enum(u32) {
 5227    ray_query_committed_intersection_none_khr = 0,
 5228    ray_query_committed_intersection_triangle_khr = 1,
 5229    ray_query_committed_intersection_generated_khr = 2,
 5230};
 5231pub const RayQueryCandidateIntersectionType = enum(u32) {
 5232    ray_query_candidate_intersection_triangle_khr = 0,
 5233    ray_query_candidate_intersection_aabbkhr = 1,
 5234};
 5235pub const PackedVectorFormat = enum(u32) {
 5236    packed_vector_format4x8bit = 0,
 5237};
 5238pub const CooperativeMatrixOperands = packed struct {
 5239    matrix_a_signed_components_khr: bool = false,
 5240    matrix_b_signed_components_khr: bool = false,
 5241    matrix_c_signed_components_khr: bool = false,
 5242    matrix_result_signed_components_khr: bool = false,
 5243    saturating_accumulation_khr: bool = false,
 5244    _reserved_bit_5: bool = false,
 5245    _reserved_bit_6: bool = false,
 5246    _reserved_bit_7: bool = false,
 5247    _reserved_bit_8: bool = false,
 5248    _reserved_bit_9: bool = false,
 5249    _reserved_bit_10: bool = false,
 5250    _reserved_bit_11: bool = false,
 5251    _reserved_bit_12: bool = false,
 5252    _reserved_bit_13: bool = false,
 5253    _reserved_bit_14: bool = false,
 5254    _reserved_bit_15: bool = false,
 5255    _reserved_bit_16: bool = false,
 5256    _reserved_bit_17: bool = false,
 5257    _reserved_bit_18: bool = false,
 5258    _reserved_bit_19: bool = false,
 5259    _reserved_bit_20: bool = false,
 5260    _reserved_bit_21: bool = false,
 5261    _reserved_bit_22: bool = false,
 5262    _reserved_bit_23: bool = false,
 5263    _reserved_bit_24: bool = false,
 5264    _reserved_bit_25: bool = false,
 5265    _reserved_bit_26: bool = false,
 5266    _reserved_bit_27: bool = false,
 5267    _reserved_bit_28: bool = false,
 5268    _reserved_bit_29: bool = false,
 5269    _reserved_bit_30: bool = false,
 5270    _reserved_bit_31: bool = false,
 5271};
 5272pub const CooperativeMatrixLayout = enum(u32) {
 5273    row_major_khr = 0,
 5274    column_major_khr = 1,
 5275    row_blocked_interleaved_arm = 4202,
 5276    column_blocked_interleaved_arm = 4203,
 5277};
 5278pub const CooperativeMatrixUse = enum(u32) {
 5279    matrix_akhr = 0,
 5280    matrix_bkhr = 1,
 5281    matrix_accumulator_khr = 2,
 5282};
 5283pub const CooperativeMatrixReduce = packed struct {
 5284    row: bool = false,
 5285    column: bool = false,
 5286    @"2x2": bool = false,
 5287    _reserved_bit_3: bool = false,
 5288    _reserved_bit_4: bool = false,
 5289    _reserved_bit_5: bool = false,
 5290    _reserved_bit_6: bool = false,
 5291    _reserved_bit_7: bool = false,
 5292    _reserved_bit_8: bool = false,
 5293    _reserved_bit_9: bool = false,
 5294    _reserved_bit_10: bool = false,
 5295    _reserved_bit_11: bool = false,
 5296    _reserved_bit_12: bool = false,
 5297    _reserved_bit_13: bool = false,
 5298    _reserved_bit_14: bool = false,
 5299    _reserved_bit_15: bool = false,
 5300    _reserved_bit_16: bool = false,
 5301    _reserved_bit_17: bool = false,
 5302    _reserved_bit_18: bool = false,
 5303    _reserved_bit_19: bool = false,
 5304    _reserved_bit_20: bool = false,
 5305    _reserved_bit_21: bool = false,
 5306    _reserved_bit_22: bool = false,
 5307    _reserved_bit_23: bool = false,
 5308    _reserved_bit_24: bool = false,
 5309    _reserved_bit_25: bool = false,
 5310    _reserved_bit_26: bool = false,
 5311    _reserved_bit_27: bool = false,
 5312    _reserved_bit_28: bool = false,
 5313    _reserved_bit_29: bool = false,
 5314    _reserved_bit_30: bool = false,
 5315    _reserved_bit_31: bool = false,
 5316};
 5317pub const TensorClampMode = enum(u32) {
 5318    undefined = 0,
 5319    constant = 1,
 5320    clamp_to_edge = 2,
 5321    repeat = 3,
 5322    repeat_mirrored = 4,
 5323};
 5324pub const TensorAddressingOperands = packed struct {
 5325    tensor_view: bool = false,
 5326    decode_func: bool = false,
 5327    _reserved_bit_2: bool = false,
 5328    _reserved_bit_3: bool = false,
 5329    _reserved_bit_4: bool = false,
 5330    _reserved_bit_5: bool = false,
 5331    _reserved_bit_6: bool = false,
 5332    _reserved_bit_7: bool = false,
 5333    _reserved_bit_8: bool = false,
 5334    _reserved_bit_9: bool = false,
 5335    _reserved_bit_10: bool = false,
 5336    _reserved_bit_11: bool = false,
 5337    _reserved_bit_12: bool = false,
 5338    _reserved_bit_13: bool = false,
 5339    _reserved_bit_14: bool = false,
 5340    _reserved_bit_15: bool = false,
 5341    _reserved_bit_16: bool = false,
 5342    _reserved_bit_17: bool = false,
 5343    _reserved_bit_18: bool = false,
 5344    _reserved_bit_19: bool = false,
 5345    _reserved_bit_20: bool = false,
 5346    _reserved_bit_21: bool = false,
 5347    _reserved_bit_22: bool = false,
 5348    _reserved_bit_23: bool = false,
 5349    _reserved_bit_24: bool = false,
 5350    _reserved_bit_25: bool = false,
 5351    _reserved_bit_26: bool = false,
 5352    _reserved_bit_27: bool = false,
 5353    _reserved_bit_28: bool = false,
 5354    _reserved_bit_29: bool = false,
 5355    _reserved_bit_30: bool = false,
 5356    _reserved_bit_31: bool = false,
 5357
 5358    pub const Extended = struct {
 5359        tensor_view: ?struct { id_ref: Id } = null,
 5360        decode_func: ?struct { id_ref: Id } = null,
 5361        _reserved_bit_2: bool = false,
 5362        _reserved_bit_3: bool = false,
 5363        _reserved_bit_4: bool = false,
 5364        _reserved_bit_5: bool = false,
 5365        _reserved_bit_6: bool = false,
 5366        _reserved_bit_7: bool = false,
 5367        _reserved_bit_8: bool = false,
 5368        _reserved_bit_9: bool = false,
 5369        _reserved_bit_10: bool = false,
 5370        _reserved_bit_11: bool = false,
 5371        _reserved_bit_12: bool = false,
 5372        _reserved_bit_13: bool = false,
 5373        _reserved_bit_14: bool = false,
 5374        _reserved_bit_15: bool = false,
 5375        _reserved_bit_16: bool = false,
 5376        _reserved_bit_17: bool = false,
 5377        _reserved_bit_18: bool = false,
 5378        _reserved_bit_19: bool = false,
 5379        _reserved_bit_20: bool = false,
 5380        _reserved_bit_21: bool = false,
 5381        _reserved_bit_22: bool = false,
 5382        _reserved_bit_23: bool = false,
 5383        _reserved_bit_24: bool = false,
 5384        _reserved_bit_25: bool = false,
 5385        _reserved_bit_26: bool = false,
 5386        _reserved_bit_27: bool = false,
 5387        _reserved_bit_28: bool = false,
 5388        _reserved_bit_29: bool = false,
 5389        _reserved_bit_30: bool = false,
 5390        _reserved_bit_31: bool = false,
 5391    };
 5392};
 5393pub const InitializationModeQualifier = enum(u32) {
 5394    init_on_device_reprogram_intel = 0,
 5395    init_on_device_reset_intel = 1,
 5396};
 5397pub const LoadCacheControl = enum(u32) {
 5398    uncached_intel = 0,
 5399    cached_intel = 1,
 5400    streaming_intel = 2,
 5401    invalidate_after_read_intel = 3,
 5402    const_cached_intel = 4,
 5403};
 5404pub const StoreCacheControl = enum(u32) {
 5405    uncached_intel = 0,
 5406    write_through_intel = 1,
 5407    write_back_intel = 2,
 5408    streaming_intel = 3,
 5409};
 5410pub const NamedMaximumNumberOfRegisters = enum(u32) {
 5411    auto_intel = 0,
 5412};
 5413pub const MatrixMultiplyAccumulateOperands = packed struct {
 5414    matrix_a_signed_components_intel: bool = false,
 5415    matrix_b_signed_components_intel: bool = false,
 5416    matrix_cb_float16intel: bool = false,
 5417    matrix_result_b_float16intel: bool = false,
 5418    matrix_a_packed_int8intel: bool = false,
 5419    matrix_b_packed_int8intel: bool = false,
 5420    matrix_a_packed_int4intel: bool = false,
 5421    matrix_b_packed_int4intel: bool = false,
 5422    matrix_atf32intel: bool = false,
 5423    matrix_btf32intel: bool = false,
 5424    matrix_a_packed_float16intel: bool = false,
 5425    matrix_b_packed_float16intel: bool = false,
 5426    matrix_a_packed_b_float16intel: bool = false,
 5427    matrix_b_packed_b_float16intel: bool = false,
 5428    _reserved_bit_14: bool = false,
 5429    _reserved_bit_15: bool = false,
 5430    _reserved_bit_16: bool = false,
 5431    _reserved_bit_17: bool = false,
 5432    _reserved_bit_18: bool = false,
 5433    _reserved_bit_19: bool = false,
 5434    _reserved_bit_20: bool = false,
 5435    _reserved_bit_21: bool = false,
 5436    _reserved_bit_22: bool = false,
 5437    _reserved_bit_23: bool = false,
 5438    _reserved_bit_24: bool = false,
 5439    _reserved_bit_25: bool = false,
 5440    _reserved_bit_26: bool = false,
 5441    _reserved_bit_27: bool = false,
 5442    _reserved_bit_28: bool = false,
 5443    _reserved_bit_29: bool = false,
 5444    _reserved_bit_30: bool = false,
 5445    _reserved_bit_31: bool = false,
 5446};
 5447pub const FPEncoding = enum(u32) {
 5448    b_float16khr = 0,
 5449    float8e4m3ext = 4214,
 5450    float8e5m2ext = 4215,
 5451};
 5452pub const CooperativeVectorMatrixLayout = enum(u32) {
 5453    row_major_nv = 0,
 5454    column_major_nv = 1,
 5455    inferencing_optimal_nv = 2,
 5456    training_optimal_nv = 3,
 5457};
 5458pub const ComponentType = enum(u32) {
 5459    float16nv = 0,
 5460    float32nv = 1,
 5461    float64nv = 2,
 5462    signed_int8nv = 3,
 5463    signed_int16nv = 4,
 5464    signed_int32nv = 5,
 5465    signed_int64nv = 6,
 5466    unsigned_int8nv = 7,
 5467    unsigned_int16nv = 8,
 5468    unsigned_int32nv = 9,
 5469    unsigned_int64nv = 10,
 5470    signed_int8packed_nv = 1000491000,
 5471    unsigned_int8packed_nv = 1000491001,
 5472    float_e4m3nv = 1000491002,
 5473    float_e5m2nv = 1000491003,
 5474};
 5475pub const TensorOperands = packed struct {
 5476    nontemporal_arm: bool = false,
 5477    out_of_bounds_value_arm: bool = false,
 5478    make_element_available_arm: bool = false,
 5479    make_element_visible_arm: bool = false,
 5480    non_private_element_arm: bool = false,
 5481    _reserved_bit_5: bool = false,
 5482    _reserved_bit_6: bool = false,
 5483    _reserved_bit_7: bool = false,
 5484    _reserved_bit_8: bool = false,
 5485    _reserved_bit_9: bool = false,
 5486    _reserved_bit_10: bool = false,
 5487    _reserved_bit_11: bool = false,
 5488    _reserved_bit_12: bool = false,
 5489    _reserved_bit_13: bool = false,
 5490    _reserved_bit_14: bool = false,
 5491    _reserved_bit_15: bool = false,
 5492    _reserved_bit_16: bool = false,
 5493    _reserved_bit_17: bool = false,
 5494    _reserved_bit_18: bool = false,
 5495    _reserved_bit_19: bool = false,
 5496    _reserved_bit_20: bool = false,
 5497    _reserved_bit_21: bool = false,
 5498    _reserved_bit_22: bool = false,
 5499    _reserved_bit_23: bool = false,
 5500    _reserved_bit_24: bool = false,
 5501    _reserved_bit_25: bool = false,
 5502    _reserved_bit_26: bool = false,
 5503    _reserved_bit_27: bool = false,
 5504    _reserved_bit_28: bool = false,
 5505    _reserved_bit_29: bool = false,
 5506    _reserved_bit_30: bool = false,
 5507    _reserved_bit_31: bool = false,
 5508
 5509    pub const Extended = struct {
 5510        nontemporal_arm: bool = false,
 5511        out_of_bounds_value_arm: ?struct { id_ref: Id } = null,
 5512        make_element_available_arm: ?struct { id_ref: Id } = null,
 5513        make_element_visible_arm: ?struct { id_ref: Id } = null,
 5514        non_private_element_arm: bool = false,
 5515        _reserved_bit_5: bool = false,
 5516        _reserved_bit_6: bool = false,
 5517        _reserved_bit_7: bool = false,
 5518        _reserved_bit_8: bool = false,
 5519        _reserved_bit_9: bool = false,
 5520        _reserved_bit_10: bool = false,
 5521        _reserved_bit_11: bool = false,
 5522        _reserved_bit_12: bool = false,
 5523        _reserved_bit_13: bool = false,
 5524        _reserved_bit_14: bool = false,
 5525        _reserved_bit_15: bool = false,
 5526        _reserved_bit_16: bool = false,
 5527        _reserved_bit_17: bool = false,
 5528        _reserved_bit_18: bool = false,
 5529        _reserved_bit_19: bool = false,
 5530        _reserved_bit_20: bool = false,
 5531        _reserved_bit_21: bool = false,
 5532        _reserved_bit_22: bool = false,
 5533        _reserved_bit_23: bool = false,
 5534        _reserved_bit_24: bool = false,
 5535        _reserved_bit_25: bool = false,
 5536        _reserved_bit_26: bool = false,
 5537        _reserved_bit_27: bool = false,
 5538        _reserved_bit_28: bool = false,
 5539        _reserved_bit_29: bool = false,
 5540        _reserved_bit_30: bool = false,
 5541        _reserved_bit_31: bool = false,
 5542    };
 5543};
 5544pub const InstructionSet = enum {
 5545    core,
 5546    @"GLSL.std.450",
 5547    @"OpenCL.std",
 5548    zig,
 5549
 5550    pub fn instructions(self: InstructionSet) []const Instruction {
 5551        return switch (self) {
 5552            .core => &.{
 5553                .{
 5554                    .name = "OpNop",
 5555                    .opcode = 0,
 5556                    .operands = &.{},
 5557                },
 5558                .{
 5559                    .name = "OpUndef",
 5560                    .opcode = 1,
 5561                    .operands = &.{
 5562                        .{ .kind = .id_result_type, .quantifier = .required },
 5563                        .{ .kind = .id_result, .quantifier = .required },
 5564                    },
 5565                },
 5566                .{
 5567                    .name = "OpSourceContinued",
 5568                    .opcode = 2,
 5569                    .operands = &.{
 5570                        .{ .kind = .literal_string, .quantifier = .required },
 5571                    },
 5572                },
 5573                .{
 5574                    .name = "OpSource",
 5575                    .opcode = 3,
 5576                    .operands = &.{
 5577                        .{ .kind = .source_language, .quantifier = .required },
 5578                        .{ .kind = .literal_integer, .quantifier = .required },
 5579                        .{ .kind = .id_ref, .quantifier = .optional },
 5580                        .{ .kind = .literal_string, .quantifier = .optional },
 5581                    },
 5582                },
 5583                .{
 5584                    .name = "OpSourceExtension",
 5585                    .opcode = 4,
 5586                    .operands = &.{
 5587                        .{ .kind = .literal_string, .quantifier = .required },
 5588                    },
 5589                },
 5590                .{
 5591                    .name = "OpName",
 5592                    .opcode = 5,
 5593                    .operands = &.{
 5594                        .{ .kind = .id_ref, .quantifier = .required },
 5595                        .{ .kind = .literal_string, .quantifier = .required },
 5596                    },
 5597                },
 5598                .{
 5599                    .name = "OpMemberName",
 5600                    .opcode = 6,
 5601                    .operands = &.{
 5602                        .{ .kind = .id_ref, .quantifier = .required },
 5603                        .{ .kind = .literal_integer, .quantifier = .required },
 5604                        .{ .kind = .literal_string, .quantifier = .required },
 5605                    },
 5606                },
 5607                .{
 5608                    .name = "OpString",
 5609                    .opcode = 7,
 5610                    .operands = &.{
 5611                        .{ .kind = .id_result, .quantifier = .required },
 5612                        .{ .kind = .literal_string, .quantifier = .required },
 5613                    },
 5614                },
 5615                .{
 5616                    .name = "OpLine",
 5617                    .opcode = 8,
 5618                    .operands = &.{
 5619                        .{ .kind = .id_ref, .quantifier = .required },
 5620                        .{ .kind = .literal_integer, .quantifier = .required },
 5621                        .{ .kind = .literal_integer, .quantifier = .required },
 5622                    },
 5623                },
 5624                .{
 5625                    .name = "OpExtension",
 5626                    .opcode = 10,
 5627                    .operands = &.{
 5628                        .{ .kind = .literal_string, .quantifier = .required },
 5629                    },
 5630                },
 5631                .{
 5632                    .name = "OpExtInstImport",
 5633                    .opcode = 11,
 5634                    .operands = &.{
 5635                        .{ .kind = .id_result, .quantifier = .required },
 5636                        .{ .kind = .literal_string, .quantifier = .required },
 5637                    },
 5638                },
 5639                .{
 5640                    .name = "OpExtInst",
 5641                    .opcode = 12,
 5642                    .operands = &.{
 5643                        .{ .kind = .id_result_type, .quantifier = .required },
 5644                        .{ .kind = .id_result, .quantifier = .required },
 5645                        .{ .kind = .id_ref, .quantifier = .required },
 5646                        .{ .kind = .literal_ext_inst_integer, .quantifier = .required },
 5647                        .{ .kind = .id_ref, .quantifier = .variadic },
 5648                    },
 5649                },
 5650                .{
 5651                    .name = "OpMemoryModel",
 5652                    .opcode = 14,
 5653                    .operands = &.{
 5654                        .{ .kind = .addressing_model, .quantifier = .required },
 5655                        .{ .kind = .memory_model, .quantifier = .required },
 5656                    },
 5657                },
 5658                .{
 5659                    .name = "OpEntryPoint",
 5660                    .opcode = 15,
 5661                    .operands = &.{
 5662                        .{ .kind = .execution_model, .quantifier = .required },
 5663                        .{ .kind = .id_ref, .quantifier = .required },
 5664                        .{ .kind = .literal_string, .quantifier = .required },
 5665                        .{ .kind = .id_ref, .quantifier = .variadic },
 5666                    },
 5667                },
 5668                .{
 5669                    .name = "OpExecutionMode",
 5670                    .opcode = 16,
 5671                    .operands = &.{
 5672                        .{ .kind = .id_ref, .quantifier = .required },
 5673                        .{ .kind = .execution_mode, .quantifier = .required },
 5674                    },
 5675                },
 5676                .{
 5677                    .name = "OpCapability",
 5678                    .opcode = 17,
 5679                    .operands = &.{
 5680                        .{ .kind = .capability, .quantifier = .required },
 5681                    },
 5682                },
 5683                .{
 5684                    .name = "OpTypeVoid",
 5685                    .opcode = 19,
 5686                    .operands = &.{
 5687                        .{ .kind = .id_result, .quantifier = .required },
 5688                    },
 5689                },
 5690                .{
 5691                    .name = "OpTypeBool",
 5692                    .opcode = 20,
 5693                    .operands = &.{
 5694                        .{ .kind = .id_result, .quantifier = .required },
 5695                    },
 5696                },
 5697                .{
 5698                    .name = "OpTypeInt",
 5699                    .opcode = 21,
 5700                    .operands = &.{
 5701                        .{ .kind = .id_result, .quantifier = .required },
 5702                        .{ .kind = .literal_integer, .quantifier = .required },
 5703                        .{ .kind = .literal_integer, .quantifier = .required },
 5704                    },
 5705                },
 5706                .{
 5707                    .name = "OpTypeFloat",
 5708                    .opcode = 22,
 5709                    .operands = &.{
 5710                        .{ .kind = .id_result, .quantifier = .required },
 5711                        .{ .kind = .literal_integer, .quantifier = .required },
 5712                        .{ .kind = .fp_encoding, .quantifier = .optional },
 5713                    },
 5714                },
 5715                .{
 5716                    .name = "OpTypeVector",
 5717                    .opcode = 23,
 5718                    .operands = &.{
 5719                        .{ .kind = .id_result, .quantifier = .required },
 5720                        .{ .kind = .id_ref, .quantifier = .required },
 5721                        .{ .kind = .literal_integer, .quantifier = .required },
 5722                    },
 5723                },
 5724                .{
 5725                    .name = "OpTypeMatrix",
 5726                    .opcode = 24,
 5727                    .operands = &.{
 5728                        .{ .kind = .id_result, .quantifier = .required },
 5729                        .{ .kind = .id_ref, .quantifier = .required },
 5730                        .{ .kind = .literal_integer, .quantifier = .required },
 5731                    },
 5732                },
 5733                .{
 5734                    .name = "OpTypeImage",
 5735                    .opcode = 25,
 5736                    .operands = &.{
 5737                        .{ .kind = .id_result, .quantifier = .required },
 5738                        .{ .kind = .id_ref, .quantifier = .required },
 5739                        .{ .kind = .dim, .quantifier = .required },
 5740                        .{ .kind = .literal_integer, .quantifier = .required },
 5741                        .{ .kind = .literal_integer, .quantifier = .required },
 5742                        .{ .kind = .literal_integer, .quantifier = .required },
 5743                        .{ .kind = .literal_integer, .quantifier = .required },
 5744                        .{ .kind = .image_format, .quantifier = .required },
 5745                        .{ .kind = .access_qualifier, .quantifier = .optional },
 5746                    },
 5747                },
 5748                .{
 5749                    .name = "OpTypeSampler",
 5750                    .opcode = 26,
 5751                    .operands = &.{
 5752                        .{ .kind = .id_result, .quantifier = .required },
 5753                    },
 5754                },
 5755                .{
 5756                    .name = "OpTypeSampledImage",
 5757                    .opcode = 27,
 5758                    .operands = &.{
 5759                        .{ .kind = .id_result, .quantifier = .required },
 5760                        .{ .kind = .id_ref, .quantifier = .required },
 5761                    },
 5762                },
 5763                .{
 5764                    .name = "OpTypeArray",
 5765                    .opcode = 28,
 5766                    .operands = &.{
 5767                        .{ .kind = .id_result, .quantifier = .required },
 5768                        .{ .kind = .id_ref, .quantifier = .required },
 5769                        .{ .kind = .id_ref, .quantifier = .required },
 5770                    },
 5771                },
 5772                .{
 5773                    .name = "OpTypeRuntimeArray",
 5774                    .opcode = 29,
 5775                    .operands = &.{
 5776                        .{ .kind = .id_result, .quantifier = .required },
 5777                        .{ .kind = .id_ref, .quantifier = .required },
 5778                    },
 5779                },
 5780                .{
 5781                    .name = "OpTypeStruct",
 5782                    .opcode = 30,
 5783                    .operands = &.{
 5784                        .{ .kind = .id_result, .quantifier = .required },
 5785                        .{ .kind = .id_ref, .quantifier = .variadic },
 5786                    },
 5787                },
 5788                .{
 5789                    .name = "OpTypeOpaque",
 5790                    .opcode = 31,
 5791                    .operands = &.{
 5792                        .{ .kind = .id_result, .quantifier = .required },
 5793                        .{ .kind = .literal_string, .quantifier = .required },
 5794                    },
 5795                },
 5796                .{
 5797                    .name = "OpTypePointer",
 5798                    .opcode = 32,
 5799                    .operands = &.{
 5800                        .{ .kind = .id_result, .quantifier = .required },
 5801                        .{ .kind = .storage_class, .quantifier = .required },
 5802                        .{ .kind = .id_ref, .quantifier = .required },
 5803                    },
 5804                },
 5805                .{
 5806                    .name = "OpTypeFunction",
 5807                    .opcode = 33,
 5808                    .operands = &.{
 5809                        .{ .kind = .id_result, .quantifier = .required },
 5810                        .{ .kind = .id_ref, .quantifier = .required },
 5811                        .{ .kind = .id_ref, .quantifier = .variadic },
 5812                    },
 5813                },
 5814                .{
 5815                    .name = "OpTypeEvent",
 5816                    .opcode = 34,
 5817                    .operands = &.{
 5818                        .{ .kind = .id_result, .quantifier = .required },
 5819                    },
 5820                },
 5821                .{
 5822                    .name = "OpTypeDeviceEvent",
 5823                    .opcode = 35,
 5824                    .operands = &.{
 5825                        .{ .kind = .id_result, .quantifier = .required },
 5826                    },
 5827                },
 5828                .{
 5829                    .name = "OpTypeReserveId",
 5830                    .opcode = 36,
 5831                    .operands = &.{
 5832                        .{ .kind = .id_result, .quantifier = .required },
 5833                    },
 5834                },
 5835                .{
 5836                    .name = "OpTypeQueue",
 5837                    .opcode = 37,
 5838                    .operands = &.{
 5839                        .{ .kind = .id_result, .quantifier = .required },
 5840                    },
 5841                },
 5842                .{
 5843                    .name = "OpTypePipe",
 5844                    .opcode = 38,
 5845                    .operands = &.{
 5846                        .{ .kind = .id_result, .quantifier = .required },
 5847                        .{ .kind = .access_qualifier, .quantifier = .required },
 5848                    },
 5849                },
 5850                .{
 5851                    .name = "OpTypeForwardPointer",
 5852                    .opcode = 39,
 5853                    .operands = &.{
 5854                        .{ .kind = .id_ref, .quantifier = .required },
 5855                        .{ .kind = .storage_class, .quantifier = .required },
 5856                    },
 5857                },
 5858                .{
 5859                    .name = "OpConstantTrue",
 5860                    .opcode = 41,
 5861                    .operands = &.{
 5862                        .{ .kind = .id_result_type, .quantifier = .required },
 5863                        .{ .kind = .id_result, .quantifier = .required },
 5864                    },
 5865                },
 5866                .{
 5867                    .name = "OpConstantFalse",
 5868                    .opcode = 42,
 5869                    .operands = &.{
 5870                        .{ .kind = .id_result_type, .quantifier = .required },
 5871                        .{ .kind = .id_result, .quantifier = .required },
 5872                    },
 5873                },
 5874                .{
 5875                    .name = "OpConstant",
 5876                    .opcode = 43,
 5877                    .operands = &.{
 5878                        .{ .kind = .id_result_type, .quantifier = .required },
 5879                        .{ .kind = .id_result, .quantifier = .required },
 5880                        .{ .kind = .literal_context_dependent_number, .quantifier = .required },
 5881                    },
 5882                },
 5883                .{
 5884                    .name = "OpConstantComposite",
 5885                    .opcode = 44,
 5886                    .operands = &.{
 5887                        .{ .kind = .id_result_type, .quantifier = .required },
 5888                        .{ .kind = .id_result, .quantifier = .required },
 5889                        .{ .kind = .id_ref, .quantifier = .variadic },
 5890                    },
 5891                },
 5892                .{
 5893                    .name = "OpConstantSampler",
 5894                    .opcode = 45,
 5895                    .operands = &.{
 5896                        .{ .kind = .id_result_type, .quantifier = .required },
 5897                        .{ .kind = .id_result, .quantifier = .required },
 5898                        .{ .kind = .sampler_addressing_mode, .quantifier = .required },
 5899                        .{ .kind = .literal_integer, .quantifier = .required },
 5900                        .{ .kind = .sampler_filter_mode, .quantifier = .required },
 5901                    },
 5902                },
 5903                .{
 5904                    .name = "OpConstantNull",
 5905                    .opcode = 46,
 5906                    .operands = &.{
 5907                        .{ .kind = .id_result_type, .quantifier = .required },
 5908                        .{ .kind = .id_result, .quantifier = .required },
 5909                    },
 5910                },
 5911                .{
 5912                    .name = "OpSpecConstantTrue",
 5913                    .opcode = 48,
 5914                    .operands = &.{
 5915                        .{ .kind = .id_result_type, .quantifier = .required },
 5916                        .{ .kind = .id_result, .quantifier = .required },
 5917                    },
 5918                },
 5919                .{
 5920                    .name = "OpSpecConstantFalse",
 5921                    .opcode = 49,
 5922                    .operands = &.{
 5923                        .{ .kind = .id_result_type, .quantifier = .required },
 5924                        .{ .kind = .id_result, .quantifier = .required },
 5925                    },
 5926                },
 5927                .{
 5928                    .name = "OpSpecConstant",
 5929                    .opcode = 50,
 5930                    .operands = &.{
 5931                        .{ .kind = .id_result_type, .quantifier = .required },
 5932                        .{ .kind = .id_result, .quantifier = .required },
 5933                        .{ .kind = .literal_context_dependent_number, .quantifier = .required },
 5934                    },
 5935                },
 5936                .{
 5937                    .name = "OpSpecConstantComposite",
 5938                    .opcode = 51,
 5939                    .operands = &.{
 5940                        .{ .kind = .id_result_type, .quantifier = .required },
 5941                        .{ .kind = .id_result, .quantifier = .required },
 5942                        .{ .kind = .id_ref, .quantifier = .variadic },
 5943                    },
 5944                },
 5945                .{
 5946                    .name = "OpSpecConstantOp",
 5947                    .opcode = 52,
 5948                    .operands = &.{
 5949                        .{ .kind = .id_result_type, .quantifier = .required },
 5950                        .{ .kind = .id_result, .quantifier = .required },
 5951                        .{ .kind = .literal_spec_constant_op_integer, .quantifier = .required },
 5952                    },
 5953                },
 5954                .{
 5955                    .name = "OpFunction",
 5956                    .opcode = 54,
 5957                    .operands = &.{
 5958                        .{ .kind = .id_result_type, .quantifier = .required },
 5959                        .{ .kind = .id_result, .quantifier = .required },
 5960                        .{ .kind = .function_control, .quantifier = .required },
 5961                        .{ .kind = .id_ref, .quantifier = .required },
 5962                    },
 5963                },
 5964                .{
 5965                    .name = "OpFunctionParameter",
 5966                    .opcode = 55,
 5967                    .operands = &.{
 5968                        .{ .kind = .id_result_type, .quantifier = .required },
 5969                        .{ .kind = .id_result, .quantifier = .required },
 5970                    },
 5971                },
 5972                .{
 5973                    .name = "OpFunctionEnd",
 5974                    .opcode = 56,
 5975                    .operands = &.{},
 5976                },
 5977                .{
 5978                    .name = "OpFunctionCall",
 5979                    .opcode = 57,
 5980                    .operands = &.{
 5981                        .{ .kind = .id_result_type, .quantifier = .required },
 5982                        .{ .kind = .id_result, .quantifier = .required },
 5983                        .{ .kind = .id_ref, .quantifier = .required },
 5984                        .{ .kind = .id_ref, .quantifier = .variadic },
 5985                    },
 5986                },
 5987                .{
 5988                    .name = "OpVariable",
 5989                    .opcode = 59,
 5990                    .operands = &.{
 5991                        .{ .kind = .id_result_type, .quantifier = .required },
 5992                        .{ .kind = .id_result, .quantifier = .required },
 5993                        .{ .kind = .storage_class, .quantifier = .required },
 5994                        .{ .kind = .id_ref, .quantifier = .optional },
 5995                    },
 5996                },
 5997                .{
 5998                    .name = "OpImageTexelPointer",
 5999                    .opcode = 60,
 6000                    .operands = &.{
 6001                        .{ .kind = .id_result_type, .quantifier = .required },
 6002                        .{ .kind = .id_result, .quantifier = .required },
 6003                        .{ .kind = .id_ref, .quantifier = .required },
 6004                        .{ .kind = .id_ref, .quantifier = .required },
 6005                        .{ .kind = .id_ref, .quantifier = .required },
 6006                    },
 6007                },
 6008                .{
 6009                    .name = "OpLoad",
 6010                    .opcode = 61,
 6011                    .operands = &.{
 6012                        .{ .kind = .id_result_type, .quantifier = .required },
 6013                        .{ .kind = .id_result, .quantifier = .required },
 6014                        .{ .kind = .id_ref, .quantifier = .required },
 6015                        .{ .kind = .memory_access, .quantifier = .optional },
 6016                    },
 6017                },
 6018                .{
 6019                    .name = "OpStore",
 6020                    .opcode = 62,
 6021                    .operands = &.{
 6022                        .{ .kind = .id_ref, .quantifier = .required },
 6023                        .{ .kind = .id_ref, .quantifier = .required },
 6024                        .{ .kind = .memory_access, .quantifier = .optional },
 6025                    },
 6026                },
 6027                .{
 6028                    .name = "OpCopyMemory",
 6029                    .opcode = 63,
 6030                    .operands = &.{
 6031                        .{ .kind = .id_ref, .quantifier = .required },
 6032                        .{ .kind = .id_ref, .quantifier = .required },
 6033                        .{ .kind = .memory_access, .quantifier = .optional },
 6034                        .{ .kind = .memory_access, .quantifier = .optional },
 6035                    },
 6036                },
 6037                .{
 6038                    .name = "OpCopyMemorySized",
 6039                    .opcode = 64,
 6040                    .operands = &.{
 6041                        .{ .kind = .id_ref, .quantifier = .required },
 6042                        .{ .kind = .id_ref, .quantifier = .required },
 6043                        .{ .kind = .id_ref, .quantifier = .required },
 6044                        .{ .kind = .memory_access, .quantifier = .optional },
 6045                        .{ .kind = .memory_access, .quantifier = .optional },
 6046                    },
 6047                },
 6048                .{
 6049                    .name = "OpAccessChain",
 6050                    .opcode = 65,
 6051                    .operands = &.{
 6052                        .{ .kind = .id_result_type, .quantifier = .required },
 6053                        .{ .kind = .id_result, .quantifier = .required },
 6054                        .{ .kind = .id_ref, .quantifier = .required },
 6055                        .{ .kind = .id_ref, .quantifier = .variadic },
 6056                    },
 6057                },
 6058                .{
 6059                    .name = "OpInBoundsAccessChain",
 6060                    .opcode = 66,
 6061                    .operands = &.{
 6062                        .{ .kind = .id_result_type, .quantifier = .required },
 6063                        .{ .kind = .id_result, .quantifier = .required },
 6064                        .{ .kind = .id_ref, .quantifier = .required },
 6065                        .{ .kind = .id_ref, .quantifier = .variadic },
 6066                    },
 6067                },
 6068                .{
 6069                    .name = "OpPtrAccessChain",
 6070                    .opcode = 67,
 6071                    .operands = &.{
 6072                        .{ .kind = .id_result_type, .quantifier = .required },
 6073                        .{ .kind = .id_result, .quantifier = .required },
 6074                        .{ .kind = .id_ref, .quantifier = .required },
 6075                        .{ .kind = .id_ref, .quantifier = .required },
 6076                        .{ .kind = .id_ref, .quantifier = .variadic },
 6077                    },
 6078                },
 6079                .{
 6080                    .name = "OpArrayLength",
 6081                    .opcode = 68,
 6082                    .operands = &.{
 6083                        .{ .kind = .id_result_type, .quantifier = .required },
 6084                        .{ .kind = .id_result, .quantifier = .required },
 6085                        .{ .kind = .id_ref, .quantifier = .required },
 6086                        .{ .kind = .literal_integer, .quantifier = .required },
 6087                    },
 6088                },
 6089                .{
 6090                    .name = "OpGenericPtrMemSemantics",
 6091                    .opcode = 69,
 6092                    .operands = &.{
 6093                        .{ .kind = .id_result_type, .quantifier = .required },
 6094                        .{ .kind = .id_result, .quantifier = .required },
 6095                        .{ .kind = .id_ref, .quantifier = .required },
 6096                    },
 6097                },
 6098                .{
 6099                    .name = "OpInBoundsPtrAccessChain",
 6100                    .opcode = 70,
 6101                    .operands = &.{
 6102                        .{ .kind = .id_result_type, .quantifier = .required },
 6103                        .{ .kind = .id_result, .quantifier = .required },
 6104                        .{ .kind = .id_ref, .quantifier = .required },
 6105                        .{ .kind = .id_ref, .quantifier = .required },
 6106                        .{ .kind = .id_ref, .quantifier = .variadic },
 6107                    },
 6108                },
 6109                .{
 6110                    .name = "OpDecorate",
 6111                    .opcode = 71,
 6112                    .operands = &.{
 6113                        .{ .kind = .id_ref, .quantifier = .required },
 6114                        .{ .kind = .decoration, .quantifier = .required },
 6115                    },
 6116                },
 6117                .{
 6118                    .name = "OpMemberDecorate",
 6119                    .opcode = 72,
 6120                    .operands = &.{
 6121                        .{ .kind = .id_ref, .quantifier = .required },
 6122                        .{ .kind = .literal_integer, .quantifier = .required },
 6123                        .{ .kind = .decoration, .quantifier = .required },
 6124                    },
 6125                },
 6126                .{
 6127                    .name = "OpDecorationGroup",
 6128                    .opcode = 73,
 6129                    .operands = &.{
 6130                        .{ .kind = .id_result, .quantifier = .required },
 6131                    },
 6132                },
 6133                .{
 6134                    .name = "OpGroupDecorate",
 6135                    .opcode = 74,
 6136                    .operands = &.{
 6137                        .{ .kind = .id_ref, .quantifier = .required },
 6138                        .{ .kind = .id_ref, .quantifier = .variadic },
 6139                    },
 6140                },
 6141                .{
 6142                    .name = "OpGroupMemberDecorate",
 6143                    .opcode = 75,
 6144                    .operands = &.{
 6145                        .{ .kind = .id_ref, .quantifier = .required },
 6146                        .{ .kind = .pair_id_ref_literal_integer, .quantifier = .variadic },
 6147                    },
 6148                },
 6149                .{
 6150                    .name = "OpVectorExtractDynamic",
 6151                    .opcode = 77,
 6152                    .operands = &.{
 6153                        .{ .kind = .id_result_type, .quantifier = .required },
 6154                        .{ .kind = .id_result, .quantifier = .required },
 6155                        .{ .kind = .id_ref, .quantifier = .required },
 6156                        .{ .kind = .id_ref, .quantifier = .required },
 6157                    },
 6158                },
 6159                .{
 6160                    .name = "OpVectorInsertDynamic",
 6161                    .opcode = 78,
 6162                    .operands = &.{
 6163                        .{ .kind = .id_result_type, .quantifier = .required },
 6164                        .{ .kind = .id_result, .quantifier = .required },
 6165                        .{ .kind = .id_ref, .quantifier = .required },
 6166                        .{ .kind = .id_ref, .quantifier = .required },
 6167                        .{ .kind = .id_ref, .quantifier = .required },
 6168                    },
 6169                },
 6170                .{
 6171                    .name = "OpVectorShuffle",
 6172                    .opcode = 79,
 6173                    .operands = &.{
 6174                        .{ .kind = .id_result_type, .quantifier = .required },
 6175                        .{ .kind = .id_result, .quantifier = .required },
 6176                        .{ .kind = .id_ref, .quantifier = .required },
 6177                        .{ .kind = .id_ref, .quantifier = .required },
 6178                        .{ .kind = .literal_integer, .quantifier = .variadic },
 6179                    },
 6180                },
 6181                .{
 6182                    .name = "OpCompositeConstruct",
 6183                    .opcode = 80,
 6184                    .operands = &.{
 6185                        .{ .kind = .id_result_type, .quantifier = .required },
 6186                        .{ .kind = .id_result, .quantifier = .required },
 6187                        .{ .kind = .id_ref, .quantifier = .variadic },
 6188                    },
 6189                },
 6190                .{
 6191                    .name = "OpCompositeExtract",
 6192                    .opcode = 81,
 6193                    .operands = &.{
 6194                        .{ .kind = .id_result_type, .quantifier = .required },
 6195                        .{ .kind = .id_result, .quantifier = .required },
 6196                        .{ .kind = .id_ref, .quantifier = .required },
 6197                        .{ .kind = .literal_integer, .quantifier = .variadic },
 6198                    },
 6199                },
 6200                .{
 6201                    .name = "OpCompositeInsert",
 6202                    .opcode = 82,
 6203                    .operands = &.{
 6204                        .{ .kind = .id_result_type, .quantifier = .required },
 6205                        .{ .kind = .id_result, .quantifier = .required },
 6206                        .{ .kind = .id_ref, .quantifier = .required },
 6207                        .{ .kind = .id_ref, .quantifier = .required },
 6208                        .{ .kind = .literal_integer, .quantifier = .variadic },
 6209                    },
 6210                },
 6211                .{
 6212                    .name = "OpCopyObject",
 6213                    .opcode = 83,
 6214                    .operands = &.{
 6215                        .{ .kind = .id_result_type, .quantifier = .required },
 6216                        .{ .kind = .id_result, .quantifier = .required },
 6217                        .{ .kind = .id_ref, .quantifier = .required },
 6218                    },
 6219                },
 6220                .{
 6221                    .name = "OpTranspose",
 6222                    .opcode = 84,
 6223                    .operands = &.{
 6224                        .{ .kind = .id_result_type, .quantifier = .required },
 6225                        .{ .kind = .id_result, .quantifier = .required },
 6226                        .{ .kind = .id_ref, .quantifier = .required },
 6227                    },
 6228                },
 6229                .{
 6230                    .name = "OpSampledImage",
 6231                    .opcode = 86,
 6232                    .operands = &.{
 6233                        .{ .kind = .id_result_type, .quantifier = .required },
 6234                        .{ .kind = .id_result, .quantifier = .required },
 6235                        .{ .kind = .id_ref, .quantifier = .required },
 6236                        .{ .kind = .id_ref, .quantifier = .required },
 6237                    },
 6238                },
 6239                .{
 6240                    .name = "OpImageSampleImplicitLod",
 6241                    .opcode = 87,
 6242                    .operands = &.{
 6243                        .{ .kind = .id_result_type, .quantifier = .required },
 6244                        .{ .kind = .id_result, .quantifier = .required },
 6245                        .{ .kind = .id_ref, .quantifier = .required },
 6246                        .{ .kind = .id_ref, .quantifier = .required },
 6247                        .{ .kind = .image_operands, .quantifier = .optional },
 6248                    },
 6249                },
 6250                .{
 6251                    .name = "OpImageSampleExplicitLod",
 6252                    .opcode = 88,
 6253                    .operands = &.{
 6254                        .{ .kind = .id_result_type, .quantifier = .required },
 6255                        .{ .kind = .id_result, .quantifier = .required },
 6256                        .{ .kind = .id_ref, .quantifier = .required },
 6257                        .{ .kind = .id_ref, .quantifier = .required },
 6258                        .{ .kind = .image_operands, .quantifier = .required },
 6259                    },
 6260                },
 6261                .{
 6262                    .name = "OpImageSampleDrefImplicitLod",
 6263                    .opcode = 89,
 6264                    .operands = &.{
 6265                        .{ .kind = .id_result_type, .quantifier = .required },
 6266                        .{ .kind = .id_result, .quantifier = .required },
 6267                        .{ .kind = .id_ref, .quantifier = .required },
 6268                        .{ .kind = .id_ref, .quantifier = .required },
 6269                        .{ .kind = .id_ref, .quantifier = .required },
 6270                        .{ .kind = .image_operands, .quantifier = .optional },
 6271                    },
 6272                },
 6273                .{
 6274                    .name = "OpImageSampleDrefExplicitLod",
 6275                    .opcode = 90,
 6276                    .operands = &.{
 6277                        .{ .kind = .id_result_type, .quantifier = .required },
 6278                        .{ .kind = .id_result, .quantifier = .required },
 6279                        .{ .kind = .id_ref, .quantifier = .required },
 6280                        .{ .kind = .id_ref, .quantifier = .required },
 6281                        .{ .kind = .id_ref, .quantifier = .required },
 6282                        .{ .kind = .image_operands, .quantifier = .required },
 6283                    },
 6284                },
 6285                .{
 6286                    .name = "OpImageSampleProjImplicitLod",
 6287                    .opcode = 91,
 6288                    .operands = &.{
 6289                        .{ .kind = .id_result_type, .quantifier = .required },
 6290                        .{ .kind = .id_result, .quantifier = .required },
 6291                        .{ .kind = .id_ref, .quantifier = .required },
 6292                        .{ .kind = .id_ref, .quantifier = .required },
 6293                        .{ .kind = .image_operands, .quantifier = .optional },
 6294                    },
 6295                },
 6296                .{
 6297                    .name = "OpImageSampleProjExplicitLod",
 6298                    .opcode = 92,
 6299                    .operands = &.{
 6300                        .{ .kind = .id_result_type, .quantifier = .required },
 6301                        .{ .kind = .id_result, .quantifier = .required },
 6302                        .{ .kind = .id_ref, .quantifier = .required },
 6303                        .{ .kind = .id_ref, .quantifier = .required },
 6304                        .{ .kind = .image_operands, .quantifier = .required },
 6305                    },
 6306                },
 6307                .{
 6308                    .name = "OpImageSampleProjDrefImplicitLod",
 6309                    .opcode = 93,
 6310                    .operands = &.{
 6311                        .{ .kind = .id_result_type, .quantifier = .required },
 6312                        .{ .kind = .id_result, .quantifier = .required },
 6313                        .{ .kind = .id_ref, .quantifier = .required },
 6314                        .{ .kind = .id_ref, .quantifier = .required },
 6315                        .{ .kind = .id_ref, .quantifier = .required },
 6316                        .{ .kind = .image_operands, .quantifier = .optional },
 6317                    },
 6318                },
 6319                .{
 6320                    .name = "OpImageSampleProjDrefExplicitLod",
 6321                    .opcode = 94,
 6322                    .operands = &.{
 6323                        .{ .kind = .id_result_type, .quantifier = .required },
 6324                        .{ .kind = .id_result, .quantifier = .required },
 6325                        .{ .kind = .id_ref, .quantifier = .required },
 6326                        .{ .kind = .id_ref, .quantifier = .required },
 6327                        .{ .kind = .id_ref, .quantifier = .required },
 6328                        .{ .kind = .image_operands, .quantifier = .required },
 6329                    },
 6330                },
 6331                .{
 6332                    .name = "OpImageFetch",
 6333                    .opcode = 95,
 6334                    .operands = &.{
 6335                        .{ .kind = .id_result_type, .quantifier = .required },
 6336                        .{ .kind = .id_result, .quantifier = .required },
 6337                        .{ .kind = .id_ref, .quantifier = .required },
 6338                        .{ .kind = .id_ref, .quantifier = .required },
 6339                        .{ .kind = .image_operands, .quantifier = .optional },
 6340                    },
 6341                },
 6342                .{
 6343                    .name = "OpImageGather",
 6344                    .opcode = 96,
 6345                    .operands = &.{
 6346                        .{ .kind = .id_result_type, .quantifier = .required },
 6347                        .{ .kind = .id_result, .quantifier = .required },
 6348                        .{ .kind = .id_ref, .quantifier = .required },
 6349                        .{ .kind = .id_ref, .quantifier = .required },
 6350                        .{ .kind = .id_ref, .quantifier = .required },
 6351                        .{ .kind = .image_operands, .quantifier = .optional },
 6352                    },
 6353                },
 6354                .{
 6355                    .name = "OpImageDrefGather",
 6356                    .opcode = 97,
 6357                    .operands = &.{
 6358                        .{ .kind = .id_result_type, .quantifier = .required },
 6359                        .{ .kind = .id_result, .quantifier = .required },
 6360                        .{ .kind = .id_ref, .quantifier = .required },
 6361                        .{ .kind = .id_ref, .quantifier = .required },
 6362                        .{ .kind = .id_ref, .quantifier = .required },
 6363                        .{ .kind = .image_operands, .quantifier = .optional },
 6364                    },
 6365                },
 6366                .{
 6367                    .name = "OpImageRead",
 6368                    .opcode = 98,
 6369                    .operands = &.{
 6370                        .{ .kind = .id_result_type, .quantifier = .required },
 6371                        .{ .kind = .id_result, .quantifier = .required },
 6372                        .{ .kind = .id_ref, .quantifier = .required },
 6373                        .{ .kind = .id_ref, .quantifier = .required },
 6374                        .{ .kind = .image_operands, .quantifier = .optional },
 6375                    },
 6376                },
 6377                .{
 6378                    .name = "OpImageWrite",
 6379                    .opcode = 99,
 6380                    .operands = &.{
 6381                        .{ .kind = .id_ref, .quantifier = .required },
 6382                        .{ .kind = .id_ref, .quantifier = .required },
 6383                        .{ .kind = .id_ref, .quantifier = .required },
 6384                        .{ .kind = .image_operands, .quantifier = .optional },
 6385                    },
 6386                },
 6387                .{
 6388                    .name = "OpImage",
 6389                    .opcode = 100,
 6390                    .operands = &.{
 6391                        .{ .kind = .id_result_type, .quantifier = .required },
 6392                        .{ .kind = .id_result, .quantifier = .required },
 6393                        .{ .kind = .id_ref, .quantifier = .required },
 6394                    },
 6395                },
 6396                .{
 6397                    .name = "OpImageQueryFormat",
 6398                    .opcode = 101,
 6399                    .operands = &.{
 6400                        .{ .kind = .id_result_type, .quantifier = .required },
 6401                        .{ .kind = .id_result, .quantifier = .required },
 6402                        .{ .kind = .id_ref, .quantifier = .required },
 6403                    },
 6404                },
 6405                .{
 6406                    .name = "OpImageQueryOrder",
 6407                    .opcode = 102,
 6408                    .operands = &.{
 6409                        .{ .kind = .id_result_type, .quantifier = .required },
 6410                        .{ .kind = .id_result, .quantifier = .required },
 6411                        .{ .kind = .id_ref, .quantifier = .required },
 6412                    },
 6413                },
 6414                .{
 6415                    .name = "OpImageQuerySizeLod",
 6416                    .opcode = 103,
 6417                    .operands = &.{
 6418                        .{ .kind = .id_result_type, .quantifier = .required },
 6419                        .{ .kind = .id_result, .quantifier = .required },
 6420                        .{ .kind = .id_ref, .quantifier = .required },
 6421                        .{ .kind = .id_ref, .quantifier = .required },
 6422                    },
 6423                },
 6424                .{
 6425                    .name = "OpImageQuerySize",
 6426                    .opcode = 104,
 6427                    .operands = &.{
 6428                        .{ .kind = .id_result_type, .quantifier = .required },
 6429                        .{ .kind = .id_result, .quantifier = .required },
 6430                        .{ .kind = .id_ref, .quantifier = .required },
 6431                    },
 6432                },
 6433                .{
 6434                    .name = "OpImageQueryLod",
 6435                    .opcode = 105,
 6436                    .operands = &.{
 6437                        .{ .kind = .id_result_type, .quantifier = .required },
 6438                        .{ .kind = .id_result, .quantifier = .required },
 6439                        .{ .kind = .id_ref, .quantifier = .required },
 6440                        .{ .kind = .id_ref, .quantifier = .required },
 6441                    },
 6442                },
 6443                .{
 6444                    .name = "OpImageQueryLevels",
 6445                    .opcode = 106,
 6446                    .operands = &.{
 6447                        .{ .kind = .id_result_type, .quantifier = .required },
 6448                        .{ .kind = .id_result, .quantifier = .required },
 6449                        .{ .kind = .id_ref, .quantifier = .required },
 6450                    },
 6451                },
 6452                .{
 6453                    .name = "OpImageQuerySamples",
 6454                    .opcode = 107,
 6455                    .operands = &.{
 6456                        .{ .kind = .id_result_type, .quantifier = .required },
 6457                        .{ .kind = .id_result, .quantifier = .required },
 6458                        .{ .kind = .id_ref, .quantifier = .required },
 6459                    },
 6460                },
 6461                .{
 6462                    .name = "OpConvertFToU",
 6463                    .opcode = 109,
 6464                    .operands = &.{
 6465                        .{ .kind = .id_result_type, .quantifier = .required },
 6466                        .{ .kind = .id_result, .quantifier = .required },
 6467                        .{ .kind = .id_ref, .quantifier = .required },
 6468                    },
 6469                },
 6470                .{
 6471                    .name = "OpConvertFToS",
 6472                    .opcode = 110,
 6473                    .operands = &.{
 6474                        .{ .kind = .id_result_type, .quantifier = .required },
 6475                        .{ .kind = .id_result, .quantifier = .required },
 6476                        .{ .kind = .id_ref, .quantifier = .required },
 6477                    },
 6478                },
 6479                .{
 6480                    .name = "OpConvertSToF",
 6481                    .opcode = 111,
 6482                    .operands = &.{
 6483                        .{ .kind = .id_result_type, .quantifier = .required },
 6484                        .{ .kind = .id_result, .quantifier = .required },
 6485                        .{ .kind = .id_ref, .quantifier = .required },
 6486                    },
 6487                },
 6488                .{
 6489                    .name = "OpConvertUToF",
 6490                    .opcode = 112,
 6491                    .operands = &.{
 6492                        .{ .kind = .id_result_type, .quantifier = .required },
 6493                        .{ .kind = .id_result, .quantifier = .required },
 6494                        .{ .kind = .id_ref, .quantifier = .required },
 6495                    },
 6496                },
 6497                .{
 6498                    .name = "OpUConvert",
 6499                    .opcode = 113,
 6500                    .operands = &.{
 6501                        .{ .kind = .id_result_type, .quantifier = .required },
 6502                        .{ .kind = .id_result, .quantifier = .required },
 6503                        .{ .kind = .id_ref, .quantifier = .required },
 6504                    },
 6505                },
 6506                .{
 6507                    .name = "OpSConvert",
 6508                    .opcode = 114,
 6509                    .operands = &.{
 6510                        .{ .kind = .id_result_type, .quantifier = .required },
 6511                        .{ .kind = .id_result, .quantifier = .required },
 6512                        .{ .kind = .id_ref, .quantifier = .required },
 6513                    },
 6514                },
 6515                .{
 6516                    .name = "OpFConvert",
 6517                    .opcode = 115,
 6518                    .operands = &.{
 6519                        .{ .kind = .id_result_type, .quantifier = .required },
 6520                        .{ .kind = .id_result, .quantifier = .required },
 6521                        .{ .kind = .id_ref, .quantifier = .required },
 6522                    },
 6523                },
 6524                .{
 6525                    .name = "OpQuantizeToF16",
 6526                    .opcode = 116,
 6527                    .operands = &.{
 6528                        .{ .kind = .id_result_type, .quantifier = .required },
 6529                        .{ .kind = .id_result, .quantifier = .required },
 6530                        .{ .kind = .id_ref, .quantifier = .required },
 6531                    },
 6532                },
 6533                .{
 6534                    .name = "OpConvertPtrToU",
 6535                    .opcode = 117,
 6536                    .operands = &.{
 6537                        .{ .kind = .id_result_type, .quantifier = .required },
 6538                        .{ .kind = .id_result, .quantifier = .required },
 6539                        .{ .kind = .id_ref, .quantifier = .required },
 6540                    },
 6541                },
 6542                .{
 6543                    .name = "OpSatConvertSToU",
 6544                    .opcode = 118,
 6545                    .operands = &.{
 6546                        .{ .kind = .id_result_type, .quantifier = .required },
 6547                        .{ .kind = .id_result, .quantifier = .required },
 6548                        .{ .kind = .id_ref, .quantifier = .required },
 6549                    },
 6550                },
 6551                .{
 6552                    .name = "OpSatConvertUToS",
 6553                    .opcode = 119,
 6554                    .operands = &.{
 6555                        .{ .kind = .id_result_type, .quantifier = .required },
 6556                        .{ .kind = .id_result, .quantifier = .required },
 6557                        .{ .kind = .id_ref, .quantifier = .required },
 6558                    },
 6559                },
 6560                .{
 6561                    .name = "OpConvertUToPtr",
 6562                    .opcode = 120,
 6563                    .operands = &.{
 6564                        .{ .kind = .id_result_type, .quantifier = .required },
 6565                        .{ .kind = .id_result, .quantifier = .required },
 6566                        .{ .kind = .id_ref, .quantifier = .required },
 6567                    },
 6568                },
 6569                .{
 6570                    .name = "OpPtrCastToGeneric",
 6571                    .opcode = 121,
 6572                    .operands = &.{
 6573                        .{ .kind = .id_result_type, .quantifier = .required },
 6574                        .{ .kind = .id_result, .quantifier = .required },
 6575                        .{ .kind = .id_ref, .quantifier = .required },
 6576                    },
 6577                },
 6578                .{
 6579                    .name = "OpGenericCastToPtr",
 6580                    .opcode = 122,
 6581                    .operands = &.{
 6582                        .{ .kind = .id_result_type, .quantifier = .required },
 6583                        .{ .kind = .id_result, .quantifier = .required },
 6584                        .{ .kind = .id_ref, .quantifier = .required },
 6585                    },
 6586                },
 6587                .{
 6588                    .name = "OpGenericCastToPtrExplicit",
 6589                    .opcode = 123,
 6590                    .operands = &.{
 6591                        .{ .kind = .id_result_type, .quantifier = .required },
 6592                        .{ .kind = .id_result, .quantifier = .required },
 6593                        .{ .kind = .id_ref, .quantifier = .required },
 6594                        .{ .kind = .storage_class, .quantifier = .required },
 6595                    },
 6596                },
 6597                .{
 6598                    .name = "OpBitcast",
 6599                    .opcode = 124,
 6600                    .operands = &.{
 6601                        .{ .kind = .id_result_type, .quantifier = .required },
 6602                        .{ .kind = .id_result, .quantifier = .required },
 6603                        .{ .kind = .id_ref, .quantifier = .required },
 6604                    },
 6605                },
 6606                .{
 6607                    .name = "OpSNegate",
 6608                    .opcode = 126,
 6609                    .operands = &.{
 6610                        .{ .kind = .id_result_type, .quantifier = .required },
 6611                        .{ .kind = .id_result, .quantifier = .required },
 6612                        .{ .kind = .id_ref, .quantifier = .required },
 6613                    },
 6614                },
 6615                .{
 6616                    .name = "OpFNegate",
 6617                    .opcode = 127,
 6618                    .operands = &.{
 6619                        .{ .kind = .id_result_type, .quantifier = .required },
 6620                        .{ .kind = .id_result, .quantifier = .required },
 6621                        .{ .kind = .id_ref, .quantifier = .required },
 6622                    },
 6623                },
 6624                .{
 6625                    .name = "OpIAdd",
 6626                    .opcode = 128,
 6627                    .operands = &.{
 6628                        .{ .kind = .id_result_type, .quantifier = .required },
 6629                        .{ .kind = .id_result, .quantifier = .required },
 6630                        .{ .kind = .id_ref, .quantifier = .required },
 6631                        .{ .kind = .id_ref, .quantifier = .required },
 6632                    },
 6633                },
 6634                .{
 6635                    .name = "OpFAdd",
 6636                    .opcode = 129,
 6637                    .operands = &.{
 6638                        .{ .kind = .id_result_type, .quantifier = .required },
 6639                        .{ .kind = .id_result, .quantifier = .required },
 6640                        .{ .kind = .id_ref, .quantifier = .required },
 6641                        .{ .kind = .id_ref, .quantifier = .required },
 6642                    },
 6643                },
 6644                .{
 6645                    .name = "OpISub",
 6646                    .opcode = 130,
 6647                    .operands = &.{
 6648                        .{ .kind = .id_result_type, .quantifier = .required },
 6649                        .{ .kind = .id_result, .quantifier = .required },
 6650                        .{ .kind = .id_ref, .quantifier = .required },
 6651                        .{ .kind = .id_ref, .quantifier = .required },
 6652                    },
 6653                },
 6654                .{
 6655                    .name = "OpFSub",
 6656                    .opcode = 131,
 6657                    .operands = &.{
 6658                        .{ .kind = .id_result_type, .quantifier = .required },
 6659                        .{ .kind = .id_result, .quantifier = .required },
 6660                        .{ .kind = .id_ref, .quantifier = .required },
 6661                        .{ .kind = .id_ref, .quantifier = .required },
 6662                    },
 6663                },
 6664                .{
 6665                    .name = "OpIMul",
 6666                    .opcode = 132,
 6667                    .operands = &.{
 6668                        .{ .kind = .id_result_type, .quantifier = .required },
 6669                        .{ .kind = .id_result, .quantifier = .required },
 6670                        .{ .kind = .id_ref, .quantifier = .required },
 6671                        .{ .kind = .id_ref, .quantifier = .required },
 6672                    },
 6673                },
 6674                .{
 6675                    .name = "OpFMul",
 6676                    .opcode = 133,
 6677                    .operands = &.{
 6678                        .{ .kind = .id_result_type, .quantifier = .required },
 6679                        .{ .kind = .id_result, .quantifier = .required },
 6680                        .{ .kind = .id_ref, .quantifier = .required },
 6681                        .{ .kind = .id_ref, .quantifier = .required },
 6682                    },
 6683                },
 6684                .{
 6685                    .name = "OpUDiv",
 6686                    .opcode = 134,
 6687                    .operands = &.{
 6688                        .{ .kind = .id_result_type, .quantifier = .required },
 6689                        .{ .kind = .id_result, .quantifier = .required },
 6690                        .{ .kind = .id_ref, .quantifier = .required },
 6691                        .{ .kind = .id_ref, .quantifier = .required },
 6692                    },
 6693                },
 6694                .{
 6695                    .name = "OpSDiv",
 6696                    .opcode = 135,
 6697                    .operands = &.{
 6698                        .{ .kind = .id_result_type, .quantifier = .required },
 6699                        .{ .kind = .id_result, .quantifier = .required },
 6700                        .{ .kind = .id_ref, .quantifier = .required },
 6701                        .{ .kind = .id_ref, .quantifier = .required },
 6702                    },
 6703                },
 6704                .{
 6705                    .name = "OpFDiv",
 6706                    .opcode = 136,
 6707                    .operands = &.{
 6708                        .{ .kind = .id_result_type, .quantifier = .required },
 6709                        .{ .kind = .id_result, .quantifier = .required },
 6710                        .{ .kind = .id_ref, .quantifier = .required },
 6711                        .{ .kind = .id_ref, .quantifier = .required },
 6712                    },
 6713                },
 6714                .{
 6715                    .name = "OpUMod",
 6716                    .opcode = 137,
 6717                    .operands = &.{
 6718                        .{ .kind = .id_result_type, .quantifier = .required },
 6719                        .{ .kind = .id_result, .quantifier = .required },
 6720                        .{ .kind = .id_ref, .quantifier = .required },
 6721                        .{ .kind = .id_ref, .quantifier = .required },
 6722                    },
 6723                },
 6724                .{
 6725                    .name = "OpSRem",
 6726                    .opcode = 138,
 6727                    .operands = &.{
 6728                        .{ .kind = .id_result_type, .quantifier = .required },
 6729                        .{ .kind = .id_result, .quantifier = .required },
 6730                        .{ .kind = .id_ref, .quantifier = .required },
 6731                        .{ .kind = .id_ref, .quantifier = .required },
 6732                    },
 6733                },
 6734                .{
 6735                    .name = "OpSMod",
 6736                    .opcode = 139,
 6737                    .operands = &.{
 6738                        .{ .kind = .id_result_type, .quantifier = .required },
 6739                        .{ .kind = .id_result, .quantifier = .required },
 6740                        .{ .kind = .id_ref, .quantifier = .required },
 6741                        .{ .kind = .id_ref, .quantifier = .required },
 6742                    },
 6743                },
 6744                .{
 6745                    .name = "OpFRem",
 6746                    .opcode = 140,
 6747                    .operands = &.{
 6748                        .{ .kind = .id_result_type, .quantifier = .required },
 6749                        .{ .kind = .id_result, .quantifier = .required },
 6750                        .{ .kind = .id_ref, .quantifier = .required },
 6751                        .{ .kind = .id_ref, .quantifier = .required },
 6752                    },
 6753                },
 6754                .{
 6755                    .name = "OpFMod",
 6756                    .opcode = 141,
 6757                    .operands = &.{
 6758                        .{ .kind = .id_result_type, .quantifier = .required },
 6759                        .{ .kind = .id_result, .quantifier = .required },
 6760                        .{ .kind = .id_ref, .quantifier = .required },
 6761                        .{ .kind = .id_ref, .quantifier = .required },
 6762                    },
 6763                },
 6764                .{
 6765                    .name = "OpVectorTimesScalar",
 6766                    .opcode = 142,
 6767                    .operands = &.{
 6768                        .{ .kind = .id_result_type, .quantifier = .required },
 6769                        .{ .kind = .id_result, .quantifier = .required },
 6770                        .{ .kind = .id_ref, .quantifier = .required },
 6771                        .{ .kind = .id_ref, .quantifier = .required },
 6772                    },
 6773                },
 6774                .{
 6775                    .name = "OpMatrixTimesScalar",
 6776                    .opcode = 143,
 6777                    .operands = &.{
 6778                        .{ .kind = .id_result_type, .quantifier = .required },
 6779                        .{ .kind = .id_result, .quantifier = .required },
 6780                        .{ .kind = .id_ref, .quantifier = .required },
 6781                        .{ .kind = .id_ref, .quantifier = .required },
 6782                    },
 6783                },
 6784                .{
 6785                    .name = "OpVectorTimesMatrix",
 6786                    .opcode = 144,
 6787                    .operands = &.{
 6788                        .{ .kind = .id_result_type, .quantifier = .required },
 6789                        .{ .kind = .id_result, .quantifier = .required },
 6790                        .{ .kind = .id_ref, .quantifier = .required },
 6791                        .{ .kind = .id_ref, .quantifier = .required },
 6792                    },
 6793                },
 6794                .{
 6795                    .name = "OpMatrixTimesVector",
 6796                    .opcode = 145,
 6797                    .operands = &.{
 6798                        .{ .kind = .id_result_type, .quantifier = .required },
 6799                        .{ .kind = .id_result, .quantifier = .required },
 6800                        .{ .kind = .id_ref, .quantifier = .required },
 6801                        .{ .kind = .id_ref, .quantifier = .required },
 6802                    },
 6803                },
 6804                .{
 6805                    .name = "OpMatrixTimesMatrix",
 6806                    .opcode = 146,
 6807                    .operands = &.{
 6808                        .{ .kind = .id_result_type, .quantifier = .required },
 6809                        .{ .kind = .id_result, .quantifier = .required },
 6810                        .{ .kind = .id_ref, .quantifier = .required },
 6811                        .{ .kind = .id_ref, .quantifier = .required },
 6812                    },
 6813                },
 6814                .{
 6815                    .name = "OpOuterProduct",
 6816                    .opcode = 147,
 6817                    .operands = &.{
 6818                        .{ .kind = .id_result_type, .quantifier = .required },
 6819                        .{ .kind = .id_result, .quantifier = .required },
 6820                        .{ .kind = .id_ref, .quantifier = .required },
 6821                        .{ .kind = .id_ref, .quantifier = .required },
 6822                    },
 6823                },
 6824                .{
 6825                    .name = "OpDot",
 6826                    .opcode = 148,
 6827                    .operands = &.{
 6828                        .{ .kind = .id_result_type, .quantifier = .required },
 6829                        .{ .kind = .id_result, .quantifier = .required },
 6830                        .{ .kind = .id_ref, .quantifier = .required },
 6831                        .{ .kind = .id_ref, .quantifier = .required },
 6832                    },
 6833                },
 6834                .{
 6835                    .name = "OpIAddCarry",
 6836                    .opcode = 149,
 6837                    .operands = &.{
 6838                        .{ .kind = .id_result_type, .quantifier = .required },
 6839                        .{ .kind = .id_result, .quantifier = .required },
 6840                        .{ .kind = .id_ref, .quantifier = .required },
 6841                        .{ .kind = .id_ref, .quantifier = .required },
 6842                    },
 6843                },
 6844                .{
 6845                    .name = "OpISubBorrow",
 6846                    .opcode = 150,
 6847                    .operands = &.{
 6848                        .{ .kind = .id_result_type, .quantifier = .required },
 6849                        .{ .kind = .id_result, .quantifier = .required },
 6850                        .{ .kind = .id_ref, .quantifier = .required },
 6851                        .{ .kind = .id_ref, .quantifier = .required },
 6852                    },
 6853                },
 6854                .{
 6855                    .name = "OpUMulExtended",
 6856                    .opcode = 151,
 6857                    .operands = &.{
 6858                        .{ .kind = .id_result_type, .quantifier = .required },
 6859                        .{ .kind = .id_result, .quantifier = .required },
 6860                        .{ .kind = .id_ref, .quantifier = .required },
 6861                        .{ .kind = .id_ref, .quantifier = .required },
 6862                    },
 6863                },
 6864                .{
 6865                    .name = "OpSMulExtended",
 6866                    .opcode = 152,
 6867                    .operands = &.{
 6868                        .{ .kind = .id_result_type, .quantifier = .required },
 6869                        .{ .kind = .id_result, .quantifier = .required },
 6870                        .{ .kind = .id_ref, .quantifier = .required },
 6871                        .{ .kind = .id_ref, .quantifier = .required },
 6872                    },
 6873                },
 6874                .{
 6875                    .name = "OpAny",
 6876                    .opcode = 154,
 6877                    .operands = &.{
 6878                        .{ .kind = .id_result_type, .quantifier = .required },
 6879                        .{ .kind = .id_result, .quantifier = .required },
 6880                        .{ .kind = .id_ref, .quantifier = .required },
 6881                    },
 6882                },
 6883                .{
 6884                    .name = "OpAll",
 6885                    .opcode = 155,
 6886                    .operands = &.{
 6887                        .{ .kind = .id_result_type, .quantifier = .required },
 6888                        .{ .kind = .id_result, .quantifier = .required },
 6889                        .{ .kind = .id_ref, .quantifier = .required },
 6890                    },
 6891                },
 6892                .{
 6893                    .name = "OpIsNan",
 6894                    .opcode = 156,
 6895                    .operands = &.{
 6896                        .{ .kind = .id_result_type, .quantifier = .required },
 6897                        .{ .kind = .id_result, .quantifier = .required },
 6898                        .{ .kind = .id_ref, .quantifier = .required },
 6899                    },
 6900                },
 6901                .{
 6902                    .name = "OpIsInf",
 6903                    .opcode = 157,
 6904                    .operands = &.{
 6905                        .{ .kind = .id_result_type, .quantifier = .required },
 6906                        .{ .kind = .id_result, .quantifier = .required },
 6907                        .{ .kind = .id_ref, .quantifier = .required },
 6908                    },
 6909                },
 6910                .{
 6911                    .name = "OpIsFinite",
 6912                    .opcode = 158,
 6913                    .operands = &.{
 6914                        .{ .kind = .id_result_type, .quantifier = .required },
 6915                        .{ .kind = .id_result, .quantifier = .required },
 6916                        .{ .kind = .id_ref, .quantifier = .required },
 6917                    },
 6918                },
 6919                .{
 6920                    .name = "OpIsNormal",
 6921                    .opcode = 159,
 6922                    .operands = &.{
 6923                        .{ .kind = .id_result_type, .quantifier = .required },
 6924                        .{ .kind = .id_result, .quantifier = .required },
 6925                        .{ .kind = .id_ref, .quantifier = .required },
 6926                    },
 6927                },
 6928                .{
 6929                    .name = "OpSignBitSet",
 6930                    .opcode = 160,
 6931                    .operands = &.{
 6932                        .{ .kind = .id_result_type, .quantifier = .required },
 6933                        .{ .kind = .id_result, .quantifier = .required },
 6934                        .{ .kind = .id_ref, .quantifier = .required },
 6935                    },
 6936                },
 6937                .{
 6938                    .name = "OpLessOrGreater",
 6939                    .opcode = 161,
 6940                    .operands = &.{
 6941                        .{ .kind = .id_result_type, .quantifier = .required },
 6942                        .{ .kind = .id_result, .quantifier = .required },
 6943                        .{ .kind = .id_ref, .quantifier = .required },
 6944                        .{ .kind = .id_ref, .quantifier = .required },
 6945                    },
 6946                },
 6947                .{
 6948                    .name = "OpOrdered",
 6949                    .opcode = 162,
 6950                    .operands = &.{
 6951                        .{ .kind = .id_result_type, .quantifier = .required },
 6952                        .{ .kind = .id_result, .quantifier = .required },
 6953                        .{ .kind = .id_ref, .quantifier = .required },
 6954                        .{ .kind = .id_ref, .quantifier = .required },
 6955                    },
 6956                },
 6957                .{
 6958                    .name = "OpUnordered",
 6959                    .opcode = 163,
 6960                    .operands = &.{
 6961                        .{ .kind = .id_result_type, .quantifier = .required },
 6962                        .{ .kind = .id_result, .quantifier = .required },
 6963                        .{ .kind = .id_ref, .quantifier = .required },
 6964                        .{ .kind = .id_ref, .quantifier = .required },
 6965                    },
 6966                },
 6967                .{
 6968                    .name = "OpLogicalEqual",
 6969                    .opcode = 164,
 6970                    .operands = &.{
 6971                        .{ .kind = .id_result_type, .quantifier = .required },
 6972                        .{ .kind = .id_result, .quantifier = .required },
 6973                        .{ .kind = .id_ref, .quantifier = .required },
 6974                        .{ .kind = .id_ref, .quantifier = .required },
 6975                    },
 6976                },
 6977                .{
 6978                    .name = "OpLogicalNotEqual",
 6979                    .opcode = 165,
 6980                    .operands = &.{
 6981                        .{ .kind = .id_result_type, .quantifier = .required },
 6982                        .{ .kind = .id_result, .quantifier = .required },
 6983                        .{ .kind = .id_ref, .quantifier = .required },
 6984                        .{ .kind = .id_ref, .quantifier = .required },
 6985                    },
 6986                },
 6987                .{
 6988                    .name = "OpLogicalOr",
 6989                    .opcode = 166,
 6990                    .operands = &.{
 6991                        .{ .kind = .id_result_type, .quantifier = .required },
 6992                        .{ .kind = .id_result, .quantifier = .required },
 6993                        .{ .kind = .id_ref, .quantifier = .required },
 6994                        .{ .kind = .id_ref, .quantifier = .required },
 6995                    },
 6996                },
 6997                .{
 6998                    .name = "OpLogicalAnd",
 6999                    .opcode = 167,
 7000                    .operands = &.{
 7001                        .{ .kind = .id_result_type, .quantifier = .required },
 7002                        .{ .kind = .id_result, .quantifier = .required },
 7003                        .{ .kind = .id_ref, .quantifier = .required },
 7004                        .{ .kind = .id_ref, .quantifier = .required },
 7005                    },
 7006                },
 7007                .{
 7008                    .name = "OpLogicalNot",
 7009                    .opcode = 168,
 7010                    .operands = &.{
 7011                        .{ .kind = .id_result_type, .quantifier = .required },
 7012                        .{ .kind = .id_result, .quantifier = .required },
 7013                        .{ .kind = .id_ref, .quantifier = .required },
 7014                    },
 7015                },
 7016                .{
 7017                    .name = "OpSelect",
 7018                    .opcode = 169,
 7019                    .operands = &.{
 7020                        .{ .kind = .id_result_type, .quantifier = .required },
 7021                        .{ .kind = .id_result, .quantifier = .required },
 7022                        .{ .kind = .id_ref, .quantifier = .required },
 7023                        .{ .kind = .id_ref, .quantifier = .required },
 7024                        .{ .kind = .id_ref, .quantifier = .required },
 7025                    },
 7026                },
 7027                .{
 7028                    .name = "OpIEqual",
 7029                    .opcode = 170,
 7030                    .operands = &.{
 7031                        .{ .kind = .id_result_type, .quantifier = .required },
 7032                        .{ .kind = .id_result, .quantifier = .required },
 7033                        .{ .kind = .id_ref, .quantifier = .required },
 7034                        .{ .kind = .id_ref, .quantifier = .required },
 7035                    },
 7036                },
 7037                .{
 7038                    .name = "OpINotEqual",
 7039                    .opcode = 171,
 7040                    .operands = &.{
 7041                        .{ .kind = .id_result_type, .quantifier = .required },
 7042                        .{ .kind = .id_result, .quantifier = .required },
 7043                        .{ .kind = .id_ref, .quantifier = .required },
 7044                        .{ .kind = .id_ref, .quantifier = .required },
 7045                    },
 7046                },
 7047                .{
 7048                    .name = "OpUGreaterThan",
 7049                    .opcode = 172,
 7050                    .operands = &.{
 7051                        .{ .kind = .id_result_type, .quantifier = .required },
 7052                        .{ .kind = .id_result, .quantifier = .required },
 7053                        .{ .kind = .id_ref, .quantifier = .required },
 7054                        .{ .kind = .id_ref, .quantifier = .required },
 7055                    },
 7056                },
 7057                .{
 7058                    .name = "OpSGreaterThan",
 7059                    .opcode = 173,
 7060                    .operands = &.{
 7061                        .{ .kind = .id_result_type, .quantifier = .required },
 7062                        .{ .kind = .id_result, .quantifier = .required },
 7063                        .{ .kind = .id_ref, .quantifier = .required },
 7064                        .{ .kind = .id_ref, .quantifier = .required },
 7065                    },
 7066                },
 7067                .{
 7068                    .name = "OpUGreaterThanEqual",
 7069                    .opcode = 174,
 7070                    .operands = &.{
 7071                        .{ .kind = .id_result_type, .quantifier = .required },
 7072                        .{ .kind = .id_result, .quantifier = .required },
 7073                        .{ .kind = .id_ref, .quantifier = .required },
 7074                        .{ .kind = .id_ref, .quantifier = .required },
 7075                    },
 7076                },
 7077                .{
 7078                    .name = "OpSGreaterThanEqual",
 7079                    .opcode = 175,
 7080                    .operands = &.{
 7081                        .{ .kind = .id_result_type, .quantifier = .required },
 7082                        .{ .kind = .id_result, .quantifier = .required },
 7083                        .{ .kind = .id_ref, .quantifier = .required },
 7084                        .{ .kind = .id_ref, .quantifier = .required },
 7085                    },
 7086                },
 7087                .{
 7088                    .name = "OpULessThan",
 7089                    .opcode = 176,
 7090                    .operands = &.{
 7091                        .{ .kind = .id_result_type, .quantifier = .required },
 7092                        .{ .kind = .id_result, .quantifier = .required },
 7093                        .{ .kind = .id_ref, .quantifier = .required },
 7094                        .{ .kind = .id_ref, .quantifier = .required },
 7095                    },
 7096                },
 7097                .{
 7098                    .name = "OpSLessThan",
 7099                    .opcode = 177,
 7100                    .operands = &.{
 7101                        .{ .kind = .id_result_type, .quantifier = .required },
 7102                        .{ .kind = .id_result, .quantifier = .required },
 7103                        .{ .kind = .id_ref, .quantifier = .required },
 7104                        .{ .kind = .id_ref, .quantifier = .required },
 7105                    },
 7106                },
 7107                .{
 7108                    .name = "OpULessThanEqual",
 7109                    .opcode = 178,
 7110                    .operands = &.{
 7111                        .{ .kind = .id_result_type, .quantifier = .required },
 7112                        .{ .kind = .id_result, .quantifier = .required },
 7113                        .{ .kind = .id_ref, .quantifier = .required },
 7114                        .{ .kind = .id_ref, .quantifier = .required },
 7115                    },
 7116                },
 7117                .{
 7118                    .name = "OpSLessThanEqual",
 7119                    .opcode = 179,
 7120                    .operands = &.{
 7121                        .{ .kind = .id_result_type, .quantifier = .required },
 7122                        .{ .kind = .id_result, .quantifier = .required },
 7123                        .{ .kind = .id_ref, .quantifier = .required },
 7124                        .{ .kind = .id_ref, .quantifier = .required },
 7125                    },
 7126                },
 7127                .{
 7128                    .name = "OpFOrdEqual",
 7129                    .opcode = 180,
 7130                    .operands = &.{
 7131                        .{ .kind = .id_result_type, .quantifier = .required },
 7132                        .{ .kind = .id_result, .quantifier = .required },
 7133                        .{ .kind = .id_ref, .quantifier = .required },
 7134                        .{ .kind = .id_ref, .quantifier = .required },
 7135                    },
 7136                },
 7137                .{
 7138                    .name = "OpFUnordEqual",
 7139                    .opcode = 181,
 7140                    .operands = &.{
 7141                        .{ .kind = .id_result_type, .quantifier = .required },
 7142                        .{ .kind = .id_result, .quantifier = .required },
 7143                        .{ .kind = .id_ref, .quantifier = .required },
 7144                        .{ .kind = .id_ref, .quantifier = .required },
 7145                    },
 7146                },
 7147                .{
 7148                    .name = "OpFOrdNotEqual",
 7149                    .opcode = 182,
 7150                    .operands = &.{
 7151                        .{ .kind = .id_result_type, .quantifier = .required },
 7152                        .{ .kind = .id_result, .quantifier = .required },
 7153                        .{ .kind = .id_ref, .quantifier = .required },
 7154                        .{ .kind = .id_ref, .quantifier = .required },
 7155                    },
 7156                },
 7157                .{
 7158                    .name = "OpFUnordNotEqual",
 7159                    .opcode = 183,
 7160                    .operands = &.{
 7161                        .{ .kind = .id_result_type, .quantifier = .required },
 7162                        .{ .kind = .id_result, .quantifier = .required },
 7163                        .{ .kind = .id_ref, .quantifier = .required },
 7164                        .{ .kind = .id_ref, .quantifier = .required },
 7165                    },
 7166                },
 7167                .{
 7168                    .name = "OpFOrdLessThan",
 7169                    .opcode = 184,
 7170                    .operands = &.{
 7171                        .{ .kind = .id_result_type, .quantifier = .required },
 7172                        .{ .kind = .id_result, .quantifier = .required },
 7173                        .{ .kind = .id_ref, .quantifier = .required },
 7174                        .{ .kind = .id_ref, .quantifier = .required },
 7175                    },
 7176                },
 7177                .{
 7178                    .name = "OpFUnordLessThan",
 7179                    .opcode = 185,
 7180                    .operands = &.{
 7181                        .{ .kind = .id_result_type, .quantifier = .required },
 7182                        .{ .kind = .id_result, .quantifier = .required },
 7183                        .{ .kind = .id_ref, .quantifier = .required },
 7184                        .{ .kind = .id_ref, .quantifier = .required },
 7185                    },
 7186                },
 7187                .{
 7188                    .name = "OpFOrdGreaterThan",
 7189                    .opcode = 186,
 7190                    .operands = &.{
 7191                        .{ .kind = .id_result_type, .quantifier = .required },
 7192                        .{ .kind = .id_result, .quantifier = .required },
 7193                        .{ .kind = .id_ref, .quantifier = .required },
 7194                        .{ .kind = .id_ref, .quantifier = .required },
 7195                    },
 7196                },
 7197                .{
 7198                    .name = "OpFUnordGreaterThan",
 7199                    .opcode = 187,
 7200                    .operands = &.{
 7201                        .{ .kind = .id_result_type, .quantifier = .required },
 7202                        .{ .kind = .id_result, .quantifier = .required },
 7203                        .{ .kind = .id_ref, .quantifier = .required },
 7204                        .{ .kind = .id_ref, .quantifier = .required },
 7205                    },
 7206                },
 7207                .{
 7208                    .name = "OpFOrdLessThanEqual",
 7209                    .opcode = 188,
 7210                    .operands = &.{
 7211                        .{ .kind = .id_result_type, .quantifier = .required },
 7212                        .{ .kind = .id_result, .quantifier = .required },
 7213                        .{ .kind = .id_ref, .quantifier = .required },
 7214                        .{ .kind = .id_ref, .quantifier = .required },
 7215                    },
 7216                },
 7217                .{
 7218                    .name = "OpFUnordLessThanEqual",
 7219                    .opcode = 189,
 7220                    .operands = &.{
 7221                        .{ .kind = .id_result_type, .quantifier = .required },
 7222                        .{ .kind = .id_result, .quantifier = .required },
 7223                        .{ .kind = .id_ref, .quantifier = .required },
 7224                        .{ .kind = .id_ref, .quantifier = .required },
 7225                    },
 7226                },
 7227                .{
 7228                    .name = "OpFOrdGreaterThanEqual",
 7229                    .opcode = 190,
 7230                    .operands = &.{
 7231                        .{ .kind = .id_result_type, .quantifier = .required },
 7232                        .{ .kind = .id_result, .quantifier = .required },
 7233                        .{ .kind = .id_ref, .quantifier = .required },
 7234                        .{ .kind = .id_ref, .quantifier = .required },
 7235                    },
 7236                },
 7237                .{
 7238                    .name = "OpFUnordGreaterThanEqual",
 7239                    .opcode = 191,
 7240                    .operands = &.{
 7241                        .{ .kind = .id_result_type, .quantifier = .required },
 7242                        .{ .kind = .id_result, .quantifier = .required },
 7243                        .{ .kind = .id_ref, .quantifier = .required },
 7244                        .{ .kind = .id_ref, .quantifier = .required },
 7245                    },
 7246                },
 7247                .{
 7248                    .name = "OpShiftRightLogical",
 7249                    .opcode = 194,
 7250                    .operands = &.{
 7251                        .{ .kind = .id_result_type, .quantifier = .required },
 7252                        .{ .kind = .id_result, .quantifier = .required },
 7253                        .{ .kind = .id_ref, .quantifier = .required },
 7254                        .{ .kind = .id_ref, .quantifier = .required },
 7255                    },
 7256                },
 7257                .{
 7258                    .name = "OpShiftRightArithmetic",
 7259                    .opcode = 195,
 7260                    .operands = &.{
 7261                        .{ .kind = .id_result_type, .quantifier = .required },
 7262                        .{ .kind = .id_result, .quantifier = .required },
 7263                        .{ .kind = .id_ref, .quantifier = .required },
 7264                        .{ .kind = .id_ref, .quantifier = .required },
 7265                    },
 7266                },
 7267                .{
 7268                    .name = "OpShiftLeftLogical",
 7269                    .opcode = 196,
 7270                    .operands = &.{
 7271                        .{ .kind = .id_result_type, .quantifier = .required },
 7272                        .{ .kind = .id_result, .quantifier = .required },
 7273                        .{ .kind = .id_ref, .quantifier = .required },
 7274                        .{ .kind = .id_ref, .quantifier = .required },
 7275                    },
 7276                },
 7277                .{
 7278                    .name = "OpBitwiseOr",
 7279                    .opcode = 197,
 7280                    .operands = &.{
 7281                        .{ .kind = .id_result_type, .quantifier = .required },
 7282                        .{ .kind = .id_result, .quantifier = .required },
 7283                        .{ .kind = .id_ref, .quantifier = .required },
 7284                        .{ .kind = .id_ref, .quantifier = .required },
 7285                    },
 7286                },
 7287                .{
 7288                    .name = "OpBitwiseXor",
 7289                    .opcode = 198,
 7290                    .operands = &.{
 7291                        .{ .kind = .id_result_type, .quantifier = .required },
 7292                        .{ .kind = .id_result, .quantifier = .required },
 7293                        .{ .kind = .id_ref, .quantifier = .required },
 7294                        .{ .kind = .id_ref, .quantifier = .required },
 7295                    },
 7296                },
 7297                .{
 7298                    .name = "OpBitwiseAnd",
 7299                    .opcode = 199,
 7300                    .operands = &.{
 7301                        .{ .kind = .id_result_type, .quantifier = .required },
 7302                        .{ .kind = .id_result, .quantifier = .required },
 7303                        .{ .kind = .id_ref, .quantifier = .required },
 7304                        .{ .kind = .id_ref, .quantifier = .required },
 7305                    },
 7306                },
 7307                .{
 7308                    .name = "OpNot",
 7309                    .opcode = 200,
 7310                    .operands = &.{
 7311                        .{ .kind = .id_result_type, .quantifier = .required },
 7312                        .{ .kind = .id_result, .quantifier = .required },
 7313                        .{ .kind = .id_ref, .quantifier = .required },
 7314                    },
 7315                },
 7316                .{
 7317                    .name = "OpBitFieldInsert",
 7318                    .opcode = 201,
 7319                    .operands = &.{
 7320                        .{ .kind = .id_result_type, .quantifier = .required },
 7321                        .{ .kind = .id_result, .quantifier = .required },
 7322                        .{ .kind = .id_ref, .quantifier = .required },
 7323                        .{ .kind = .id_ref, .quantifier = .required },
 7324                        .{ .kind = .id_ref, .quantifier = .required },
 7325                        .{ .kind = .id_ref, .quantifier = .required },
 7326                    },
 7327                },
 7328                .{
 7329                    .name = "OpBitFieldSExtract",
 7330                    .opcode = 202,
 7331                    .operands = &.{
 7332                        .{ .kind = .id_result_type, .quantifier = .required },
 7333                        .{ .kind = .id_result, .quantifier = .required },
 7334                        .{ .kind = .id_ref, .quantifier = .required },
 7335                        .{ .kind = .id_ref, .quantifier = .required },
 7336                        .{ .kind = .id_ref, .quantifier = .required },
 7337                    },
 7338                },
 7339                .{
 7340                    .name = "OpBitFieldUExtract",
 7341                    .opcode = 203,
 7342                    .operands = &.{
 7343                        .{ .kind = .id_result_type, .quantifier = .required },
 7344                        .{ .kind = .id_result, .quantifier = .required },
 7345                        .{ .kind = .id_ref, .quantifier = .required },
 7346                        .{ .kind = .id_ref, .quantifier = .required },
 7347                        .{ .kind = .id_ref, .quantifier = .required },
 7348                    },
 7349                },
 7350                .{
 7351                    .name = "OpBitReverse",
 7352                    .opcode = 204,
 7353                    .operands = &.{
 7354                        .{ .kind = .id_result_type, .quantifier = .required },
 7355                        .{ .kind = .id_result, .quantifier = .required },
 7356                        .{ .kind = .id_ref, .quantifier = .required },
 7357                    },
 7358                },
 7359                .{
 7360                    .name = "OpBitCount",
 7361                    .opcode = 205,
 7362                    .operands = &.{
 7363                        .{ .kind = .id_result_type, .quantifier = .required },
 7364                        .{ .kind = .id_result, .quantifier = .required },
 7365                        .{ .kind = .id_ref, .quantifier = .required },
 7366                    },
 7367                },
 7368                .{
 7369                    .name = "OpDPdx",
 7370                    .opcode = 207,
 7371                    .operands = &.{
 7372                        .{ .kind = .id_result_type, .quantifier = .required },
 7373                        .{ .kind = .id_result, .quantifier = .required },
 7374                        .{ .kind = .id_ref, .quantifier = .required },
 7375                    },
 7376                },
 7377                .{
 7378                    .name = "OpDPdy",
 7379                    .opcode = 208,
 7380                    .operands = &.{
 7381                        .{ .kind = .id_result_type, .quantifier = .required },
 7382                        .{ .kind = .id_result, .quantifier = .required },
 7383                        .{ .kind = .id_ref, .quantifier = .required },
 7384                    },
 7385                },
 7386                .{
 7387                    .name = "OpFwidth",
 7388                    .opcode = 209,
 7389                    .operands = &.{
 7390                        .{ .kind = .id_result_type, .quantifier = .required },
 7391                        .{ .kind = .id_result, .quantifier = .required },
 7392                        .{ .kind = .id_ref, .quantifier = .required },
 7393                    },
 7394                },
 7395                .{
 7396                    .name = "OpDPdxFine",
 7397                    .opcode = 210,
 7398                    .operands = &.{
 7399                        .{ .kind = .id_result_type, .quantifier = .required },
 7400                        .{ .kind = .id_result, .quantifier = .required },
 7401                        .{ .kind = .id_ref, .quantifier = .required },
 7402                    },
 7403                },
 7404                .{
 7405                    .name = "OpDPdyFine",
 7406                    .opcode = 211,
 7407                    .operands = &.{
 7408                        .{ .kind = .id_result_type, .quantifier = .required },
 7409                        .{ .kind = .id_result, .quantifier = .required },
 7410                        .{ .kind = .id_ref, .quantifier = .required },
 7411                    },
 7412                },
 7413                .{
 7414                    .name = "OpFwidthFine",
 7415                    .opcode = 212,
 7416                    .operands = &.{
 7417                        .{ .kind = .id_result_type, .quantifier = .required },
 7418                        .{ .kind = .id_result, .quantifier = .required },
 7419                        .{ .kind = .id_ref, .quantifier = .required },
 7420                    },
 7421                },
 7422                .{
 7423                    .name = "OpDPdxCoarse",
 7424                    .opcode = 213,
 7425                    .operands = &.{
 7426                        .{ .kind = .id_result_type, .quantifier = .required },
 7427                        .{ .kind = .id_result, .quantifier = .required },
 7428                        .{ .kind = .id_ref, .quantifier = .required },
 7429                    },
 7430                },
 7431                .{
 7432                    .name = "OpDPdyCoarse",
 7433                    .opcode = 214,
 7434                    .operands = &.{
 7435                        .{ .kind = .id_result_type, .quantifier = .required },
 7436                        .{ .kind = .id_result, .quantifier = .required },
 7437                        .{ .kind = .id_ref, .quantifier = .required },
 7438                    },
 7439                },
 7440                .{
 7441                    .name = "OpFwidthCoarse",
 7442                    .opcode = 215,
 7443                    .operands = &.{
 7444                        .{ .kind = .id_result_type, .quantifier = .required },
 7445                        .{ .kind = .id_result, .quantifier = .required },
 7446                        .{ .kind = .id_ref, .quantifier = .required },
 7447                    },
 7448                },
 7449                .{
 7450                    .name = "OpEmitVertex",
 7451                    .opcode = 218,
 7452                    .operands = &.{},
 7453                },
 7454                .{
 7455                    .name = "OpEndPrimitive",
 7456                    .opcode = 219,
 7457                    .operands = &.{},
 7458                },
 7459                .{
 7460                    .name = "OpEmitStreamVertex",
 7461                    .opcode = 220,
 7462                    .operands = &.{
 7463                        .{ .kind = .id_ref, .quantifier = .required },
 7464                    },
 7465                },
 7466                .{
 7467                    .name = "OpEndStreamPrimitive",
 7468                    .opcode = 221,
 7469                    .operands = &.{
 7470                        .{ .kind = .id_ref, .quantifier = .required },
 7471                    },
 7472                },
 7473                .{
 7474                    .name = "OpControlBarrier",
 7475                    .opcode = 224,
 7476                    .operands = &.{
 7477                        .{ .kind = .id_scope, .quantifier = .required },
 7478                        .{ .kind = .id_scope, .quantifier = .required },
 7479                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7480                    },
 7481                },
 7482                .{
 7483                    .name = "OpMemoryBarrier",
 7484                    .opcode = 225,
 7485                    .operands = &.{
 7486                        .{ .kind = .id_scope, .quantifier = .required },
 7487                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7488                    },
 7489                },
 7490                .{
 7491                    .name = "OpAtomicLoad",
 7492                    .opcode = 227,
 7493                    .operands = &.{
 7494                        .{ .kind = .id_result_type, .quantifier = .required },
 7495                        .{ .kind = .id_result, .quantifier = .required },
 7496                        .{ .kind = .id_ref, .quantifier = .required },
 7497                        .{ .kind = .id_scope, .quantifier = .required },
 7498                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7499                    },
 7500                },
 7501                .{
 7502                    .name = "OpAtomicStore",
 7503                    .opcode = 228,
 7504                    .operands = &.{
 7505                        .{ .kind = .id_ref, .quantifier = .required },
 7506                        .{ .kind = .id_scope, .quantifier = .required },
 7507                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7508                        .{ .kind = .id_ref, .quantifier = .required },
 7509                    },
 7510                },
 7511                .{
 7512                    .name = "OpAtomicExchange",
 7513                    .opcode = 229,
 7514                    .operands = &.{
 7515                        .{ .kind = .id_result_type, .quantifier = .required },
 7516                        .{ .kind = .id_result, .quantifier = .required },
 7517                        .{ .kind = .id_ref, .quantifier = .required },
 7518                        .{ .kind = .id_scope, .quantifier = .required },
 7519                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7520                        .{ .kind = .id_ref, .quantifier = .required },
 7521                    },
 7522                },
 7523                .{
 7524                    .name = "OpAtomicCompareExchange",
 7525                    .opcode = 230,
 7526                    .operands = &.{
 7527                        .{ .kind = .id_result_type, .quantifier = .required },
 7528                        .{ .kind = .id_result, .quantifier = .required },
 7529                        .{ .kind = .id_ref, .quantifier = .required },
 7530                        .{ .kind = .id_scope, .quantifier = .required },
 7531                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7532                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7533                        .{ .kind = .id_ref, .quantifier = .required },
 7534                        .{ .kind = .id_ref, .quantifier = .required },
 7535                    },
 7536                },
 7537                .{
 7538                    .name = "OpAtomicCompareExchangeWeak",
 7539                    .opcode = 231,
 7540                    .operands = &.{
 7541                        .{ .kind = .id_result_type, .quantifier = .required },
 7542                        .{ .kind = .id_result, .quantifier = .required },
 7543                        .{ .kind = .id_ref, .quantifier = .required },
 7544                        .{ .kind = .id_scope, .quantifier = .required },
 7545                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7546                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7547                        .{ .kind = .id_ref, .quantifier = .required },
 7548                        .{ .kind = .id_ref, .quantifier = .required },
 7549                    },
 7550                },
 7551                .{
 7552                    .name = "OpAtomicIIncrement",
 7553                    .opcode = 232,
 7554                    .operands = &.{
 7555                        .{ .kind = .id_result_type, .quantifier = .required },
 7556                        .{ .kind = .id_result, .quantifier = .required },
 7557                        .{ .kind = .id_ref, .quantifier = .required },
 7558                        .{ .kind = .id_scope, .quantifier = .required },
 7559                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7560                    },
 7561                },
 7562                .{
 7563                    .name = "OpAtomicIDecrement",
 7564                    .opcode = 233,
 7565                    .operands = &.{
 7566                        .{ .kind = .id_result_type, .quantifier = .required },
 7567                        .{ .kind = .id_result, .quantifier = .required },
 7568                        .{ .kind = .id_ref, .quantifier = .required },
 7569                        .{ .kind = .id_scope, .quantifier = .required },
 7570                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7571                    },
 7572                },
 7573                .{
 7574                    .name = "OpAtomicIAdd",
 7575                    .opcode = 234,
 7576                    .operands = &.{
 7577                        .{ .kind = .id_result_type, .quantifier = .required },
 7578                        .{ .kind = .id_result, .quantifier = .required },
 7579                        .{ .kind = .id_ref, .quantifier = .required },
 7580                        .{ .kind = .id_scope, .quantifier = .required },
 7581                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7582                        .{ .kind = .id_ref, .quantifier = .required },
 7583                    },
 7584                },
 7585                .{
 7586                    .name = "OpAtomicISub",
 7587                    .opcode = 235,
 7588                    .operands = &.{
 7589                        .{ .kind = .id_result_type, .quantifier = .required },
 7590                        .{ .kind = .id_result, .quantifier = .required },
 7591                        .{ .kind = .id_ref, .quantifier = .required },
 7592                        .{ .kind = .id_scope, .quantifier = .required },
 7593                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7594                        .{ .kind = .id_ref, .quantifier = .required },
 7595                    },
 7596                },
 7597                .{
 7598                    .name = "OpAtomicSMin",
 7599                    .opcode = 236,
 7600                    .operands = &.{
 7601                        .{ .kind = .id_result_type, .quantifier = .required },
 7602                        .{ .kind = .id_result, .quantifier = .required },
 7603                        .{ .kind = .id_ref, .quantifier = .required },
 7604                        .{ .kind = .id_scope, .quantifier = .required },
 7605                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7606                        .{ .kind = .id_ref, .quantifier = .required },
 7607                    },
 7608                },
 7609                .{
 7610                    .name = "OpAtomicUMin",
 7611                    .opcode = 237,
 7612                    .operands = &.{
 7613                        .{ .kind = .id_result_type, .quantifier = .required },
 7614                        .{ .kind = .id_result, .quantifier = .required },
 7615                        .{ .kind = .id_ref, .quantifier = .required },
 7616                        .{ .kind = .id_scope, .quantifier = .required },
 7617                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7618                        .{ .kind = .id_ref, .quantifier = .required },
 7619                    },
 7620                },
 7621                .{
 7622                    .name = "OpAtomicSMax",
 7623                    .opcode = 238,
 7624                    .operands = &.{
 7625                        .{ .kind = .id_result_type, .quantifier = .required },
 7626                        .{ .kind = .id_result, .quantifier = .required },
 7627                        .{ .kind = .id_ref, .quantifier = .required },
 7628                        .{ .kind = .id_scope, .quantifier = .required },
 7629                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7630                        .{ .kind = .id_ref, .quantifier = .required },
 7631                    },
 7632                },
 7633                .{
 7634                    .name = "OpAtomicUMax",
 7635                    .opcode = 239,
 7636                    .operands = &.{
 7637                        .{ .kind = .id_result_type, .quantifier = .required },
 7638                        .{ .kind = .id_result, .quantifier = .required },
 7639                        .{ .kind = .id_ref, .quantifier = .required },
 7640                        .{ .kind = .id_scope, .quantifier = .required },
 7641                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7642                        .{ .kind = .id_ref, .quantifier = .required },
 7643                    },
 7644                },
 7645                .{
 7646                    .name = "OpAtomicAnd",
 7647                    .opcode = 240,
 7648                    .operands = &.{
 7649                        .{ .kind = .id_result_type, .quantifier = .required },
 7650                        .{ .kind = .id_result, .quantifier = .required },
 7651                        .{ .kind = .id_ref, .quantifier = .required },
 7652                        .{ .kind = .id_scope, .quantifier = .required },
 7653                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7654                        .{ .kind = .id_ref, .quantifier = .required },
 7655                    },
 7656                },
 7657                .{
 7658                    .name = "OpAtomicOr",
 7659                    .opcode = 241,
 7660                    .operands = &.{
 7661                        .{ .kind = .id_result_type, .quantifier = .required },
 7662                        .{ .kind = .id_result, .quantifier = .required },
 7663                        .{ .kind = .id_ref, .quantifier = .required },
 7664                        .{ .kind = .id_scope, .quantifier = .required },
 7665                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7666                        .{ .kind = .id_ref, .quantifier = .required },
 7667                    },
 7668                },
 7669                .{
 7670                    .name = "OpAtomicXor",
 7671                    .opcode = 242,
 7672                    .operands = &.{
 7673                        .{ .kind = .id_result_type, .quantifier = .required },
 7674                        .{ .kind = .id_result, .quantifier = .required },
 7675                        .{ .kind = .id_ref, .quantifier = .required },
 7676                        .{ .kind = .id_scope, .quantifier = .required },
 7677                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 7678                        .{ .kind = .id_ref, .quantifier = .required },
 7679                    },
 7680                },
 7681                .{
 7682                    .name = "OpPhi",
 7683                    .opcode = 245,
 7684                    .operands = &.{
 7685                        .{ .kind = .id_result_type, .quantifier = .required },
 7686                        .{ .kind = .id_result, .quantifier = .required },
 7687                        .{ .kind = .pair_id_ref_id_ref, .quantifier = .variadic },
 7688                    },
 7689                },
 7690                .{
 7691                    .name = "OpLoopMerge",
 7692                    .opcode = 246,
 7693                    .operands = &.{
 7694                        .{ .kind = .id_ref, .quantifier = .required },
 7695                        .{ .kind = .id_ref, .quantifier = .required },
 7696                        .{ .kind = .loop_control, .quantifier = .required },
 7697                    },
 7698                },
 7699                .{
 7700                    .name = "OpSelectionMerge",
 7701                    .opcode = 247,
 7702                    .operands = &.{
 7703                        .{ .kind = .id_ref, .quantifier = .required },
 7704                        .{ .kind = .selection_control, .quantifier = .required },
 7705                    },
 7706                },
 7707                .{
 7708                    .name = "OpLabel",
 7709                    .opcode = 248,
 7710                    .operands = &.{
 7711                        .{ .kind = .id_result, .quantifier = .required },
 7712                    },
 7713                },
 7714                .{
 7715                    .name = "OpBranch",
 7716                    .opcode = 249,
 7717                    .operands = &.{
 7718                        .{ .kind = .id_ref, .quantifier = .required },
 7719                    },
 7720                },
 7721                .{
 7722                    .name = "OpBranchConditional",
 7723                    .opcode = 250,
 7724                    .operands = &.{
 7725                        .{ .kind = .id_ref, .quantifier = .required },
 7726                        .{ .kind = .id_ref, .quantifier = .required },
 7727                        .{ .kind = .id_ref, .quantifier = .required },
 7728                        .{ .kind = .literal_integer, .quantifier = .variadic },
 7729                    },
 7730                },
 7731                .{
 7732                    .name = "OpSwitch",
 7733                    .opcode = 251,
 7734                    .operands = &.{
 7735                        .{ .kind = .id_ref, .quantifier = .required },
 7736                        .{ .kind = .id_ref, .quantifier = .required },
 7737                        .{ .kind = .pair_literal_integer_id_ref, .quantifier = .variadic },
 7738                    },
 7739                },
 7740                .{
 7741                    .name = "OpKill",
 7742                    .opcode = 252,
 7743                    .operands = &.{},
 7744                },
 7745                .{
 7746                    .name = "OpReturn",
 7747                    .opcode = 253,
 7748                    .operands = &.{},
 7749                },
 7750                .{
 7751                    .name = "OpReturnValue",
 7752                    .opcode = 254,
 7753                    .operands = &.{
 7754                        .{ .kind = .id_ref, .quantifier = .required },
 7755                    },
 7756                },
 7757                .{
 7758                    .name = "OpUnreachable",
 7759                    .opcode = 255,
 7760                    .operands = &.{},
 7761                },
 7762                .{
 7763                    .name = "OpLifetimeStart",
 7764                    .opcode = 256,
 7765                    .operands = &.{
 7766                        .{ .kind = .id_ref, .quantifier = .required },
 7767                        .{ .kind = .literal_integer, .quantifier = .required },
 7768                    },
 7769                },
 7770                .{
 7771                    .name = "OpLifetimeStop",
 7772                    .opcode = 257,
 7773                    .operands = &.{
 7774                        .{ .kind = .id_ref, .quantifier = .required },
 7775                        .{ .kind = .literal_integer, .quantifier = .required },
 7776                    },
 7777                },
 7778                .{
 7779                    .name = "OpGroupAsyncCopy",
 7780                    .opcode = 259,
 7781                    .operands = &.{
 7782                        .{ .kind = .id_result_type, .quantifier = .required },
 7783                        .{ .kind = .id_result, .quantifier = .required },
 7784                        .{ .kind = .id_scope, .quantifier = .required },
 7785                        .{ .kind = .id_ref, .quantifier = .required },
 7786                        .{ .kind = .id_ref, .quantifier = .required },
 7787                        .{ .kind = .id_ref, .quantifier = .required },
 7788                        .{ .kind = .id_ref, .quantifier = .required },
 7789                        .{ .kind = .id_ref, .quantifier = .required },
 7790                    },
 7791                },
 7792                .{
 7793                    .name = "OpGroupWaitEvents",
 7794                    .opcode = 260,
 7795                    .operands = &.{
 7796                        .{ .kind = .id_scope, .quantifier = .required },
 7797                        .{ .kind = .id_ref, .quantifier = .required },
 7798                        .{ .kind = .id_ref, .quantifier = .required },
 7799                    },
 7800                },
 7801                .{
 7802                    .name = "OpGroupAll",
 7803                    .opcode = 261,
 7804                    .operands = &.{
 7805                        .{ .kind = .id_result_type, .quantifier = .required },
 7806                        .{ .kind = .id_result, .quantifier = .required },
 7807                        .{ .kind = .id_scope, .quantifier = .required },
 7808                        .{ .kind = .id_ref, .quantifier = .required },
 7809                    },
 7810                },
 7811                .{
 7812                    .name = "OpGroupAny",
 7813                    .opcode = 262,
 7814                    .operands = &.{
 7815                        .{ .kind = .id_result_type, .quantifier = .required },
 7816                        .{ .kind = .id_result, .quantifier = .required },
 7817                        .{ .kind = .id_scope, .quantifier = .required },
 7818                        .{ .kind = .id_ref, .quantifier = .required },
 7819                    },
 7820                },
 7821                .{
 7822                    .name = "OpGroupBroadcast",
 7823                    .opcode = 263,
 7824                    .operands = &.{
 7825                        .{ .kind = .id_result_type, .quantifier = .required },
 7826                        .{ .kind = .id_result, .quantifier = .required },
 7827                        .{ .kind = .id_scope, .quantifier = .required },
 7828                        .{ .kind = .id_ref, .quantifier = .required },
 7829                        .{ .kind = .id_ref, .quantifier = .required },
 7830                    },
 7831                },
 7832                .{
 7833                    .name = "OpGroupIAdd",
 7834                    .opcode = 264,
 7835                    .operands = &.{
 7836                        .{ .kind = .id_result_type, .quantifier = .required },
 7837                        .{ .kind = .id_result, .quantifier = .required },
 7838                        .{ .kind = .id_scope, .quantifier = .required },
 7839                        .{ .kind = .group_operation, .quantifier = .required },
 7840                        .{ .kind = .id_ref, .quantifier = .required },
 7841                    },
 7842                },
 7843                .{
 7844                    .name = "OpGroupFAdd",
 7845                    .opcode = 265,
 7846                    .operands = &.{
 7847                        .{ .kind = .id_result_type, .quantifier = .required },
 7848                        .{ .kind = .id_result, .quantifier = .required },
 7849                        .{ .kind = .id_scope, .quantifier = .required },
 7850                        .{ .kind = .group_operation, .quantifier = .required },
 7851                        .{ .kind = .id_ref, .quantifier = .required },
 7852                    },
 7853                },
 7854                .{
 7855                    .name = "OpGroupFMin",
 7856                    .opcode = 266,
 7857                    .operands = &.{
 7858                        .{ .kind = .id_result_type, .quantifier = .required },
 7859                        .{ .kind = .id_result, .quantifier = .required },
 7860                        .{ .kind = .id_scope, .quantifier = .required },
 7861                        .{ .kind = .group_operation, .quantifier = .required },
 7862                        .{ .kind = .id_ref, .quantifier = .required },
 7863                    },
 7864                },
 7865                .{
 7866                    .name = "OpGroupUMin",
 7867                    .opcode = 267,
 7868                    .operands = &.{
 7869                        .{ .kind = .id_result_type, .quantifier = .required },
 7870                        .{ .kind = .id_result, .quantifier = .required },
 7871                        .{ .kind = .id_scope, .quantifier = .required },
 7872                        .{ .kind = .group_operation, .quantifier = .required },
 7873                        .{ .kind = .id_ref, .quantifier = .required },
 7874                    },
 7875                },
 7876                .{
 7877                    .name = "OpGroupSMin",
 7878                    .opcode = 268,
 7879                    .operands = &.{
 7880                        .{ .kind = .id_result_type, .quantifier = .required },
 7881                        .{ .kind = .id_result, .quantifier = .required },
 7882                        .{ .kind = .id_scope, .quantifier = .required },
 7883                        .{ .kind = .group_operation, .quantifier = .required },
 7884                        .{ .kind = .id_ref, .quantifier = .required },
 7885                    },
 7886                },
 7887                .{
 7888                    .name = "OpGroupFMax",
 7889                    .opcode = 269,
 7890                    .operands = &.{
 7891                        .{ .kind = .id_result_type, .quantifier = .required },
 7892                        .{ .kind = .id_result, .quantifier = .required },
 7893                        .{ .kind = .id_scope, .quantifier = .required },
 7894                        .{ .kind = .group_operation, .quantifier = .required },
 7895                        .{ .kind = .id_ref, .quantifier = .required },
 7896                    },
 7897                },
 7898                .{
 7899                    .name = "OpGroupUMax",
 7900                    .opcode = 270,
 7901                    .operands = &.{
 7902                        .{ .kind = .id_result_type, .quantifier = .required },
 7903                        .{ .kind = .id_result, .quantifier = .required },
 7904                        .{ .kind = .id_scope, .quantifier = .required },
 7905                        .{ .kind = .group_operation, .quantifier = .required },
 7906                        .{ .kind = .id_ref, .quantifier = .required },
 7907                    },
 7908                },
 7909                .{
 7910                    .name = "OpGroupSMax",
 7911                    .opcode = 271,
 7912                    .operands = &.{
 7913                        .{ .kind = .id_result_type, .quantifier = .required },
 7914                        .{ .kind = .id_result, .quantifier = .required },
 7915                        .{ .kind = .id_scope, .quantifier = .required },
 7916                        .{ .kind = .group_operation, .quantifier = .required },
 7917                        .{ .kind = .id_ref, .quantifier = .required },
 7918                    },
 7919                },
 7920                .{
 7921                    .name = "OpReadPipe",
 7922                    .opcode = 274,
 7923                    .operands = &.{
 7924                        .{ .kind = .id_result_type, .quantifier = .required },
 7925                        .{ .kind = .id_result, .quantifier = .required },
 7926                        .{ .kind = .id_ref, .quantifier = .required },
 7927                        .{ .kind = .id_ref, .quantifier = .required },
 7928                        .{ .kind = .id_ref, .quantifier = .required },
 7929                        .{ .kind = .id_ref, .quantifier = .required },
 7930                    },
 7931                },
 7932                .{
 7933                    .name = "OpWritePipe",
 7934                    .opcode = 275,
 7935                    .operands = &.{
 7936                        .{ .kind = .id_result_type, .quantifier = .required },
 7937                        .{ .kind = .id_result, .quantifier = .required },
 7938                        .{ .kind = .id_ref, .quantifier = .required },
 7939                        .{ .kind = .id_ref, .quantifier = .required },
 7940                        .{ .kind = .id_ref, .quantifier = .required },
 7941                        .{ .kind = .id_ref, .quantifier = .required },
 7942                    },
 7943                },
 7944                .{
 7945                    .name = "OpReservedReadPipe",
 7946                    .opcode = 276,
 7947                    .operands = &.{
 7948                        .{ .kind = .id_result_type, .quantifier = .required },
 7949                        .{ .kind = .id_result, .quantifier = .required },
 7950                        .{ .kind = .id_ref, .quantifier = .required },
 7951                        .{ .kind = .id_ref, .quantifier = .required },
 7952                        .{ .kind = .id_ref, .quantifier = .required },
 7953                        .{ .kind = .id_ref, .quantifier = .required },
 7954                        .{ .kind = .id_ref, .quantifier = .required },
 7955                        .{ .kind = .id_ref, .quantifier = .required },
 7956                    },
 7957                },
 7958                .{
 7959                    .name = "OpReservedWritePipe",
 7960                    .opcode = 277,
 7961                    .operands = &.{
 7962                        .{ .kind = .id_result_type, .quantifier = .required },
 7963                        .{ .kind = .id_result, .quantifier = .required },
 7964                        .{ .kind = .id_ref, .quantifier = .required },
 7965                        .{ .kind = .id_ref, .quantifier = .required },
 7966                        .{ .kind = .id_ref, .quantifier = .required },
 7967                        .{ .kind = .id_ref, .quantifier = .required },
 7968                        .{ .kind = .id_ref, .quantifier = .required },
 7969                        .{ .kind = .id_ref, .quantifier = .required },
 7970                    },
 7971                },
 7972                .{
 7973                    .name = "OpReserveReadPipePackets",
 7974                    .opcode = 278,
 7975                    .operands = &.{
 7976                        .{ .kind = .id_result_type, .quantifier = .required },
 7977                        .{ .kind = .id_result, .quantifier = .required },
 7978                        .{ .kind = .id_ref, .quantifier = .required },
 7979                        .{ .kind = .id_ref, .quantifier = .required },
 7980                        .{ .kind = .id_ref, .quantifier = .required },
 7981                        .{ .kind = .id_ref, .quantifier = .required },
 7982                    },
 7983                },
 7984                .{
 7985                    .name = "OpReserveWritePipePackets",
 7986                    .opcode = 279,
 7987                    .operands = &.{
 7988                        .{ .kind = .id_result_type, .quantifier = .required },
 7989                        .{ .kind = .id_result, .quantifier = .required },
 7990                        .{ .kind = .id_ref, .quantifier = .required },
 7991                        .{ .kind = .id_ref, .quantifier = .required },
 7992                        .{ .kind = .id_ref, .quantifier = .required },
 7993                        .{ .kind = .id_ref, .quantifier = .required },
 7994                    },
 7995                },
 7996                .{
 7997                    .name = "OpCommitReadPipe",
 7998                    .opcode = 280,
 7999                    .operands = &.{
 8000                        .{ .kind = .id_ref, .quantifier = .required },
 8001                        .{ .kind = .id_ref, .quantifier = .required },
 8002                        .{ .kind = .id_ref, .quantifier = .required },
 8003                        .{ .kind = .id_ref, .quantifier = .required },
 8004                    },
 8005                },
 8006                .{
 8007                    .name = "OpCommitWritePipe",
 8008                    .opcode = 281,
 8009                    .operands = &.{
 8010                        .{ .kind = .id_ref, .quantifier = .required },
 8011                        .{ .kind = .id_ref, .quantifier = .required },
 8012                        .{ .kind = .id_ref, .quantifier = .required },
 8013                        .{ .kind = .id_ref, .quantifier = .required },
 8014                    },
 8015                },
 8016                .{
 8017                    .name = "OpIsValidReserveId",
 8018                    .opcode = 282,
 8019                    .operands = &.{
 8020                        .{ .kind = .id_result_type, .quantifier = .required },
 8021                        .{ .kind = .id_result, .quantifier = .required },
 8022                        .{ .kind = .id_ref, .quantifier = .required },
 8023                    },
 8024                },
 8025                .{
 8026                    .name = "OpGetNumPipePackets",
 8027                    .opcode = 283,
 8028                    .operands = &.{
 8029                        .{ .kind = .id_result_type, .quantifier = .required },
 8030                        .{ .kind = .id_result, .quantifier = .required },
 8031                        .{ .kind = .id_ref, .quantifier = .required },
 8032                        .{ .kind = .id_ref, .quantifier = .required },
 8033                        .{ .kind = .id_ref, .quantifier = .required },
 8034                    },
 8035                },
 8036                .{
 8037                    .name = "OpGetMaxPipePackets",
 8038                    .opcode = 284,
 8039                    .operands = &.{
 8040                        .{ .kind = .id_result_type, .quantifier = .required },
 8041                        .{ .kind = .id_result, .quantifier = .required },
 8042                        .{ .kind = .id_ref, .quantifier = .required },
 8043                        .{ .kind = .id_ref, .quantifier = .required },
 8044                        .{ .kind = .id_ref, .quantifier = .required },
 8045                    },
 8046                },
 8047                .{
 8048                    .name = "OpGroupReserveReadPipePackets",
 8049                    .opcode = 285,
 8050                    .operands = &.{
 8051                        .{ .kind = .id_result_type, .quantifier = .required },
 8052                        .{ .kind = .id_result, .quantifier = .required },
 8053                        .{ .kind = .id_scope, .quantifier = .required },
 8054                        .{ .kind = .id_ref, .quantifier = .required },
 8055                        .{ .kind = .id_ref, .quantifier = .required },
 8056                        .{ .kind = .id_ref, .quantifier = .required },
 8057                        .{ .kind = .id_ref, .quantifier = .required },
 8058                    },
 8059                },
 8060                .{
 8061                    .name = "OpGroupReserveWritePipePackets",
 8062                    .opcode = 286,
 8063                    .operands = &.{
 8064                        .{ .kind = .id_result_type, .quantifier = .required },
 8065                        .{ .kind = .id_result, .quantifier = .required },
 8066                        .{ .kind = .id_scope, .quantifier = .required },
 8067                        .{ .kind = .id_ref, .quantifier = .required },
 8068                        .{ .kind = .id_ref, .quantifier = .required },
 8069                        .{ .kind = .id_ref, .quantifier = .required },
 8070                        .{ .kind = .id_ref, .quantifier = .required },
 8071                    },
 8072                },
 8073                .{
 8074                    .name = "OpGroupCommitReadPipe",
 8075                    .opcode = 287,
 8076                    .operands = &.{
 8077                        .{ .kind = .id_scope, .quantifier = .required },
 8078                        .{ .kind = .id_ref, .quantifier = .required },
 8079                        .{ .kind = .id_ref, .quantifier = .required },
 8080                        .{ .kind = .id_ref, .quantifier = .required },
 8081                        .{ .kind = .id_ref, .quantifier = .required },
 8082                    },
 8083                },
 8084                .{
 8085                    .name = "OpGroupCommitWritePipe",
 8086                    .opcode = 288,
 8087                    .operands = &.{
 8088                        .{ .kind = .id_scope, .quantifier = .required },
 8089                        .{ .kind = .id_ref, .quantifier = .required },
 8090                        .{ .kind = .id_ref, .quantifier = .required },
 8091                        .{ .kind = .id_ref, .quantifier = .required },
 8092                        .{ .kind = .id_ref, .quantifier = .required },
 8093                    },
 8094                },
 8095                .{
 8096                    .name = "OpEnqueueMarker",
 8097                    .opcode = 291,
 8098                    .operands = &.{
 8099                        .{ .kind = .id_result_type, .quantifier = .required },
 8100                        .{ .kind = .id_result, .quantifier = .required },
 8101                        .{ .kind = .id_ref, .quantifier = .required },
 8102                        .{ .kind = .id_ref, .quantifier = .required },
 8103                        .{ .kind = .id_ref, .quantifier = .required },
 8104                        .{ .kind = .id_ref, .quantifier = .required },
 8105                    },
 8106                },
 8107                .{
 8108                    .name = "OpEnqueueKernel",
 8109                    .opcode = 292,
 8110                    .operands = &.{
 8111                        .{ .kind = .id_result_type, .quantifier = .required },
 8112                        .{ .kind = .id_result, .quantifier = .required },
 8113                        .{ .kind = .id_ref, .quantifier = .required },
 8114                        .{ .kind = .id_ref, .quantifier = .required },
 8115                        .{ .kind = .id_ref, .quantifier = .required },
 8116                        .{ .kind = .id_ref, .quantifier = .required },
 8117                        .{ .kind = .id_ref, .quantifier = .required },
 8118                        .{ .kind = .id_ref, .quantifier = .required },
 8119                        .{ .kind = .id_ref, .quantifier = .required },
 8120                        .{ .kind = .id_ref, .quantifier = .required },
 8121                        .{ .kind = .id_ref, .quantifier = .required },
 8122                        .{ .kind = .id_ref, .quantifier = .required },
 8123                        .{ .kind = .id_ref, .quantifier = .variadic },
 8124                    },
 8125                },
 8126                .{
 8127                    .name = "OpGetKernelNDrangeSubGroupCount",
 8128                    .opcode = 293,
 8129                    .operands = &.{
 8130                        .{ .kind = .id_result_type, .quantifier = .required },
 8131                        .{ .kind = .id_result, .quantifier = .required },
 8132                        .{ .kind = .id_ref, .quantifier = .required },
 8133                        .{ .kind = .id_ref, .quantifier = .required },
 8134                        .{ .kind = .id_ref, .quantifier = .required },
 8135                        .{ .kind = .id_ref, .quantifier = .required },
 8136                        .{ .kind = .id_ref, .quantifier = .required },
 8137                    },
 8138                },
 8139                .{
 8140                    .name = "OpGetKernelNDrangeMaxSubGroupSize",
 8141                    .opcode = 294,
 8142                    .operands = &.{
 8143                        .{ .kind = .id_result_type, .quantifier = .required },
 8144                        .{ .kind = .id_result, .quantifier = .required },
 8145                        .{ .kind = .id_ref, .quantifier = .required },
 8146                        .{ .kind = .id_ref, .quantifier = .required },
 8147                        .{ .kind = .id_ref, .quantifier = .required },
 8148                        .{ .kind = .id_ref, .quantifier = .required },
 8149                        .{ .kind = .id_ref, .quantifier = .required },
 8150                    },
 8151                },
 8152                .{
 8153                    .name = "OpGetKernelWorkGroupSize",
 8154                    .opcode = 295,
 8155                    .operands = &.{
 8156                        .{ .kind = .id_result_type, .quantifier = .required },
 8157                        .{ .kind = .id_result, .quantifier = .required },
 8158                        .{ .kind = .id_ref, .quantifier = .required },
 8159                        .{ .kind = .id_ref, .quantifier = .required },
 8160                        .{ .kind = .id_ref, .quantifier = .required },
 8161                        .{ .kind = .id_ref, .quantifier = .required },
 8162                    },
 8163                },
 8164                .{
 8165                    .name = "OpGetKernelPreferredWorkGroupSizeMultiple",
 8166                    .opcode = 296,
 8167                    .operands = &.{
 8168                        .{ .kind = .id_result_type, .quantifier = .required },
 8169                        .{ .kind = .id_result, .quantifier = .required },
 8170                        .{ .kind = .id_ref, .quantifier = .required },
 8171                        .{ .kind = .id_ref, .quantifier = .required },
 8172                        .{ .kind = .id_ref, .quantifier = .required },
 8173                        .{ .kind = .id_ref, .quantifier = .required },
 8174                    },
 8175                },
 8176                .{
 8177                    .name = "OpRetainEvent",
 8178                    .opcode = 297,
 8179                    .operands = &.{
 8180                        .{ .kind = .id_ref, .quantifier = .required },
 8181                    },
 8182                },
 8183                .{
 8184                    .name = "OpReleaseEvent",
 8185                    .opcode = 298,
 8186                    .operands = &.{
 8187                        .{ .kind = .id_ref, .quantifier = .required },
 8188                    },
 8189                },
 8190                .{
 8191                    .name = "OpCreateUserEvent",
 8192                    .opcode = 299,
 8193                    .operands = &.{
 8194                        .{ .kind = .id_result_type, .quantifier = .required },
 8195                        .{ .kind = .id_result, .quantifier = .required },
 8196                    },
 8197                },
 8198                .{
 8199                    .name = "OpIsValidEvent",
 8200                    .opcode = 300,
 8201                    .operands = &.{
 8202                        .{ .kind = .id_result_type, .quantifier = .required },
 8203                        .{ .kind = .id_result, .quantifier = .required },
 8204                        .{ .kind = .id_ref, .quantifier = .required },
 8205                    },
 8206                },
 8207                .{
 8208                    .name = "OpSetUserEventStatus",
 8209                    .opcode = 301,
 8210                    .operands = &.{
 8211                        .{ .kind = .id_ref, .quantifier = .required },
 8212                        .{ .kind = .id_ref, .quantifier = .required },
 8213                    },
 8214                },
 8215                .{
 8216                    .name = "OpCaptureEventProfilingInfo",
 8217                    .opcode = 302,
 8218                    .operands = &.{
 8219                        .{ .kind = .id_ref, .quantifier = .required },
 8220                        .{ .kind = .id_ref, .quantifier = .required },
 8221                        .{ .kind = .id_ref, .quantifier = .required },
 8222                    },
 8223                },
 8224                .{
 8225                    .name = "OpGetDefaultQueue",
 8226                    .opcode = 303,
 8227                    .operands = &.{
 8228                        .{ .kind = .id_result_type, .quantifier = .required },
 8229                        .{ .kind = .id_result, .quantifier = .required },
 8230                    },
 8231                },
 8232                .{
 8233                    .name = "OpBuildNDRange",
 8234                    .opcode = 304,
 8235                    .operands = &.{
 8236                        .{ .kind = .id_result_type, .quantifier = .required },
 8237                        .{ .kind = .id_result, .quantifier = .required },
 8238                        .{ .kind = .id_ref, .quantifier = .required },
 8239                        .{ .kind = .id_ref, .quantifier = .required },
 8240                        .{ .kind = .id_ref, .quantifier = .required },
 8241                    },
 8242                },
 8243                .{
 8244                    .name = "OpImageSparseSampleImplicitLod",
 8245                    .opcode = 305,
 8246                    .operands = &.{
 8247                        .{ .kind = .id_result_type, .quantifier = .required },
 8248                        .{ .kind = .id_result, .quantifier = .required },
 8249                        .{ .kind = .id_ref, .quantifier = .required },
 8250                        .{ .kind = .id_ref, .quantifier = .required },
 8251                        .{ .kind = .image_operands, .quantifier = .optional },
 8252                    },
 8253                },
 8254                .{
 8255                    .name = "OpImageSparseSampleExplicitLod",
 8256                    .opcode = 306,
 8257                    .operands = &.{
 8258                        .{ .kind = .id_result_type, .quantifier = .required },
 8259                        .{ .kind = .id_result, .quantifier = .required },
 8260                        .{ .kind = .id_ref, .quantifier = .required },
 8261                        .{ .kind = .id_ref, .quantifier = .required },
 8262                        .{ .kind = .image_operands, .quantifier = .required },
 8263                    },
 8264                },
 8265                .{
 8266                    .name = "OpImageSparseSampleDrefImplicitLod",
 8267                    .opcode = 307,
 8268                    .operands = &.{
 8269                        .{ .kind = .id_result_type, .quantifier = .required },
 8270                        .{ .kind = .id_result, .quantifier = .required },
 8271                        .{ .kind = .id_ref, .quantifier = .required },
 8272                        .{ .kind = .id_ref, .quantifier = .required },
 8273                        .{ .kind = .id_ref, .quantifier = .required },
 8274                        .{ .kind = .image_operands, .quantifier = .optional },
 8275                    },
 8276                },
 8277                .{
 8278                    .name = "OpImageSparseSampleDrefExplicitLod",
 8279                    .opcode = 308,
 8280                    .operands = &.{
 8281                        .{ .kind = .id_result_type, .quantifier = .required },
 8282                        .{ .kind = .id_result, .quantifier = .required },
 8283                        .{ .kind = .id_ref, .quantifier = .required },
 8284                        .{ .kind = .id_ref, .quantifier = .required },
 8285                        .{ .kind = .id_ref, .quantifier = .required },
 8286                        .{ .kind = .image_operands, .quantifier = .required },
 8287                    },
 8288                },
 8289                .{
 8290                    .name = "OpImageSparseSampleProjImplicitLod",
 8291                    .opcode = 309,
 8292                    .operands = &.{
 8293                        .{ .kind = .id_result_type, .quantifier = .required },
 8294                        .{ .kind = .id_result, .quantifier = .required },
 8295                        .{ .kind = .id_ref, .quantifier = .required },
 8296                        .{ .kind = .id_ref, .quantifier = .required },
 8297                        .{ .kind = .image_operands, .quantifier = .optional },
 8298                    },
 8299                },
 8300                .{
 8301                    .name = "OpImageSparseSampleProjExplicitLod",
 8302                    .opcode = 310,
 8303                    .operands = &.{
 8304                        .{ .kind = .id_result_type, .quantifier = .required },
 8305                        .{ .kind = .id_result, .quantifier = .required },
 8306                        .{ .kind = .id_ref, .quantifier = .required },
 8307                        .{ .kind = .id_ref, .quantifier = .required },
 8308                        .{ .kind = .image_operands, .quantifier = .required },
 8309                    },
 8310                },
 8311                .{
 8312                    .name = "OpImageSparseSampleProjDrefImplicitLod",
 8313                    .opcode = 311,
 8314                    .operands = &.{
 8315                        .{ .kind = .id_result_type, .quantifier = .required },
 8316                        .{ .kind = .id_result, .quantifier = .required },
 8317                        .{ .kind = .id_ref, .quantifier = .required },
 8318                        .{ .kind = .id_ref, .quantifier = .required },
 8319                        .{ .kind = .id_ref, .quantifier = .required },
 8320                        .{ .kind = .image_operands, .quantifier = .optional },
 8321                    },
 8322                },
 8323                .{
 8324                    .name = "OpImageSparseSampleProjDrefExplicitLod",
 8325                    .opcode = 312,
 8326                    .operands = &.{
 8327                        .{ .kind = .id_result_type, .quantifier = .required },
 8328                        .{ .kind = .id_result, .quantifier = .required },
 8329                        .{ .kind = .id_ref, .quantifier = .required },
 8330                        .{ .kind = .id_ref, .quantifier = .required },
 8331                        .{ .kind = .id_ref, .quantifier = .required },
 8332                        .{ .kind = .image_operands, .quantifier = .required },
 8333                    },
 8334                },
 8335                .{
 8336                    .name = "OpImageSparseFetch",
 8337                    .opcode = 313,
 8338                    .operands = &.{
 8339                        .{ .kind = .id_result_type, .quantifier = .required },
 8340                        .{ .kind = .id_result, .quantifier = .required },
 8341                        .{ .kind = .id_ref, .quantifier = .required },
 8342                        .{ .kind = .id_ref, .quantifier = .required },
 8343                        .{ .kind = .image_operands, .quantifier = .optional },
 8344                    },
 8345                },
 8346                .{
 8347                    .name = "OpImageSparseGather",
 8348                    .opcode = 314,
 8349                    .operands = &.{
 8350                        .{ .kind = .id_result_type, .quantifier = .required },
 8351                        .{ .kind = .id_result, .quantifier = .required },
 8352                        .{ .kind = .id_ref, .quantifier = .required },
 8353                        .{ .kind = .id_ref, .quantifier = .required },
 8354                        .{ .kind = .id_ref, .quantifier = .required },
 8355                        .{ .kind = .image_operands, .quantifier = .optional },
 8356                    },
 8357                },
 8358                .{
 8359                    .name = "OpImageSparseDrefGather",
 8360                    .opcode = 315,
 8361                    .operands = &.{
 8362                        .{ .kind = .id_result_type, .quantifier = .required },
 8363                        .{ .kind = .id_result, .quantifier = .required },
 8364                        .{ .kind = .id_ref, .quantifier = .required },
 8365                        .{ .kind = .id_ref, .quantifier = .required },
 8366                        .{ .kind = .id_ref, .quantifier = .required },
 8367                        .{ .kind = .image_operands, .quantifier = .optional },
 8368                    },
 8369                },
 8370                .{
 8371                    .name = "OpImageSparseTexelsResident",
 8372                    .opcode = 316,
 8373                    .operands = &.{
 8374                        .{ .kind = .id_result_type, .quantifier = .required },
 8375                        .{ .kind = .id_result, .quantifier = .required },
 8376                        .{ .kind = .id_ref, .quantifier = .required },
 8377                    },
 8378                },
 8379                .{
 8380                    .name = "OpNoLine",
 8381                    .opcode = 317,
 8382                    .operands = &.{},
 8383                },
 8384                .{
 8385                    .name = "OpAtomicFlagTestAndSet",
 8386                    .opcode = 318,
 8387                    .operands = &.{
 8388                        .{ .kind = .id_result_type, .quantifier = .required },
 8389                        .{ .kind = .id_result, .quantifier = .required },
 8390                        .{ .kind = .id_ref, .quantifier = .required },
 8391                        .{ .kind = .id_scope, .quantifier = .required },
 8392                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 8393                    },
 8394                },
 8395                .{
 8396                    .name = "OpAtomicFlagClear",
 8397                    .opcode = 319,
 8398                    .operands = &.{
 8399                        .{ .kind = .id_ref, .quantifier = .required },
 8400                        .{ .kind = .id_scope, .quantifier = .required },
 8401                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 8402                    },
 8403                },
 8404                .{
 8405                    .name = "OpImageSparseRead",
 8406                    .opcode = 320,
 8407                    .operands = &.{
 8408                        .{ .kind = .id_result_type, .quantifier = .required },
 8409                        .{ .kind = .id_result, .quantifier = .required },
 8410                        .{ .kind = .id_ref, .quantifier = .required },
 8411                        .{ .kind = .id_ref, .quantifier = .required },
 8412                        .{ .kind = .image_operands, .quantifier = .optional },
 8413                    },
 8414                },
 8415                .{
 8416                    .name = "OpSizeOf",
 8417                    .opcode = 321,
 8418                    .operands = &.{
 8419                        .{ .kind = .id_result_type, .quantifier = .required },
 8420                        .{ .kind = .id_result, .quantifier = .required },
 8421                        .{ .kind = .id_ref, .quantifier = .required },
 8422                    },
 8423                },
 8424                .{
 8425                    .name = "OpTypePipeStorage",
 8426                    .opcode = 322,
 8427                    .operands = &.{
 8428                        .{ .kind = .id_result, .quantifier = .required },
 8429                    },
 8430                },
 8431                .{
 8432                    .name = "OpConstantPipeStorage",
 8433                    .opcode = 323,
 8434                    .operands = &.{
 8435                        .{ .kind = .id_result_type, .quantifier = .required },
 8436                        .{ .kind = .id_result, .quantifier = .required },
 8437                        .{ .kind = .literal_integer, .quantifier = .required },
 8438                        .{ .kind = .literal_integer, .quantifier = .required },
 8439                        .{ .kind = .literal_integer, .quantifier = .required },
 8440                    },
 8441                },
 8442                .{
 8443                    .name = "OpCreatePipeFromPipeStorage",
 8444                    .opcode = 324,
 8445                    .operands = &.{
 8446                        .{ .kind = .id_result_type, .quantifier = .required },
 8447                        .{ .kind = .id_result, .quantifier = .required },
 8448                        .{ .kind = .id_ref, .quantifier = .required },
 8449                    },
 8450                },
 8451                .{
 8452                    .name = "OpGetKernelLocalSizeForSubgroupCount",
 8453                    .opcode = 325,
 8454                    .operands = &.{
 8455                        .{ .kind = .id_result_type, .quantifier = .required },
 8456                        .{ .kind = .id_result, .quantifier = .required },
 8457                        .{ .kind = .id_ref, .quantifier = .required },
 8458                        .{ .kind = .id_ref, .quantifier = .required },
 8459                        .{ .kind = .id_ref, .quantifier = .required },
 8460                        .{ .kind = .id_ref, .quantifier = .required },
 8461                        .{ .kind = .id_ref, .quantifier = .required },
 8462                    },
 8463                },
 8464                .{
 8465                    .name = "OpGetKernelMaxNumSubgroups",
 8466                    .opcode = 326,
 8467                    .operands = &.{
 8468                        .{ .kind = .id_result_type, .quantifier = .required },
 8469                        .{ .kind = .id_result, .quantifier = .required },
 8470                        .{ .kind = .id_ref, .quantifier = .required },
 8471                        .{ .kind = .id_ref, .quantifier = .required },
 8472                        .{ .kind = .id_ref, .quantifier = .required },
 8473                        .{ .kind = .id_ref, .quantifier = .required },
 8474                    },
 8475                },
 8476                .{
 8477                    .name = "OpTypeNamedBarrier",
 8478                    .opcode = 327,
 8479                    .operands = &.{
 8480                        .{ .kind = .id_result, .quantifier = .required },
 8481                    },
 8482                },
 8483                .{
 8484                    .name = "OpNamedBarrierInitialize",
 8485                    .opcode = 328,
 8486                    .operands = &.{
 8487                        .{ .kind = .id_result_type, .quantifier = .required },
 8488                        .{ .kind = .id_result, .quantifier = .required },
 8489                        .{ .kind = .id_ref, .quantifier = .required },
 8490                    },
 8491                },
 8492                .{
 8493                    .name = "OpMemoryNamedBarrier",
 8494                    .opcode = 329,
 8495                    .operands = &.{
 8496                        .{ .kind = .id_ref, .quantifier = .required },
 8497                        .{ .kind = .id_scope, .quantifier = .required },
 8498                        .{ .kind = .id_memory_semantics, .quantifier = .required },
 8499                    },
 8500                },
 8501                .{
 8502                    .name = "OpModuleProcessed",
 8503                    .opcode = 330,
 8504                    .operands = &.{
 8505                        .{ .kind = .literal_string, .quantifier = .required },
 8506                    },
 8507                },
 8508                .{
 8509                    .name = "OpExecutionModeId",
 8510                    .opcode = 331,
 8511                    .operands = &.{
 8512                        .{ .kind = .id_ref, .quantifier = .required },
 8513                        .{ .kind = .execution_mode, .quantifier = .required },
 8514                    },
 8515                },
 8516                .{
 8517                    .name = "OpDecorateId",
 8518                    .opcode = 332,
 8519                    .operands = &.{
 8520                        .{ .kind = .id_ref, .quantifier = .required },
 8521                        .{ .kind = .decoration, .quantifier = .required },
 8522                    },
 8523                },
 8524                .{
 8525                    .name = "OpGroupNonUniformElect",
 8526                    .opcode = 333,
 8527                    .operands = &.{
 8528                        .{ .kind = .id_result_type, .quantifier = .required },
 8529                        .{ .kind = .id_result, .quantifier = .required },
 8530                        .{ .kind = .id_scope, .quantifier = .required },
 8531                    },
 8532                },
 8533                .{
 8534                    .name = "OpGroupNonUniformAll",
 8535                    .opcode = 334,
 8536                    .operands = &.{
 8537                        .{ .kind = .id_result_type, .quantifier = .required },
 8538                        .{ .kind = .id_result, .quantifier = .required },
 8539                        .{ .kind = .id_scope, .quantifier = .required },
 8540                        .{ .kind = .id_ref, .quantifier = .required },
 8541                    },
 8542                },
 8543                .{
 8544                    .name = "OpGroupNonUniformAny",
 8545                    .opcode = 335,
 8546                    .operands = &.{
 8547                        .{ .kind = .id_result_type, .quantifier = .required },
 8548                        .{ .kind = .id_result, .quantifier = .required },
 8549                        .{ .kind = .id_scope, .quantifier = .required },
 8550                        .{ .kind = .id_ref, .quantifier = .required },
 8551                    },
 8552                },
 8553                .{
 8554                    .name = "OpGroupNonUniformAllEqual",
 8555                    .opcode = 336,
 8556                    .operands = &.{
 8557                        .{ .kind = .id_result_type, .quantifier = .required },
 8558                        .{ .kind = .id_result, .quantifier = .required },
 8559                        .{ .kind = .id_scope, .quantifier = .required },
 8560                        .{ .kind = .id_ref, .quantifier = .required },
 8561                    },
 8562                },
 8563                .{
 8564                    .name = "OpGroupNonUniformBroadcast",
 8565                    .opcode = 337,
 8566                    .operands = &.{
 8567                        .{ .kind = .id_result_type, .quantifier = .required },
 8568                        .{ .kind = .id_result, .quantifier = .required },
 8569                        .{ .kind = .id_scope, .quantifier = .required },
 8570                        .{ .kind = .id_ref, .quantifier = .required },
 8571                        .{ .kind = .id_ref, .quantifier = .required },
 8572                    },
 8573                },
 8574                .{
 8575                    .name = "OpGroupNonUniformBroadcastFirst",
 8576                    .opcode = 338,
 8577                    .operands = &.{
 8578                        .{ .kind = .id_result_type, .quantifier = .required },
 8579                        .{ .kind = .id_result, .quantifier = .required },
 8580                        .{ .kind = .id_scope, .quantifier = .required },
 8581                        .{ .kind = .id_ref, .quantifier = .required },
 8582                    },
 8583                },
 8584                .{
 8585                    .name = "OpGroupNonUniformBallot",
 8586                    .opcode = 339,
 8587                    .operands = &.{
 8588                        .{ .kind = .id_result_type, .quantifier = .required },
 8589                        .{ .kind = .id_result, .quantifier = .required },
 8590                        .{ .kind = .id_scope, .quantifier = .required },
 8591                        .{ .kind = .id_ref, .quantifier = .required },
 8592                    },
 8593                },
 8594                .{
 8595                    .name = "OpGroupNonUniformInverseBallot",
 8596                    .opcode = 340,
 8597                    .operands = &.{
 8598                        .{ .kind = .id_result_type, .quantifier = .required },
 8599                        .{ .kind = .id_result, .quantifier = .required },
 8600                        .{ .kind = .id_scope, .quantifier = .required },
 8601                        .{ .kind = .id_ref, .quantifier = .required },
 8602                    },
 8603                },
 8604                .{
 8605                    .name = "OpGroupNonUniformBallotBitExtract",
 8606                    .opcode = 341,
 8607                    .operands = &.{
 8608                        .{ .kind = .id_result_type, .quantifier = .required },
 8609                        .{ .kind = .id_result, .quantifier = .required },
 8610                        .{ .kind = .id_scope, .quantifier = .required },
 8611                        .{ .kind = .id_ref, .quantifier = .required },
 8612                        .{ .kind = .id_ref, .quantifier = .required },
 8613                    },
 8614                },
 8615                .{
 8616                    .name = "OpGroupNonUniformBallotBitCount",
 8617                    .opcode = 342,
 8618                    .operands = &.{
 8619                        .{ .kind = .id_result_type, .quantifier = .required },
 8620                        .{ .kind = .id_result, .quantifier = .required },
 8621                        .{ .kind = .id_scope, .quantifier = .required },
 8622                        .{ .kind = .group_operation, .quantifier = .required },
 8623                        .{ .kind = .id_ref, .quantifier = .required },
 8624                    },
 8625                },
 8626                .{
 8627                    .name = "OpGroupNonUniformBallotFindLSB",
 8628                    .opcode = 343,
 8629                    .operands = &.{
 8630                        .{ .kind = .id_result_type, .quantifier = .required },
 8631                        .{ .kind = .id_result, .quantifier = .required },
 8632                        .{ .kind = .id_scope, .quantifier = .required },
 8633                        .{ .kind = .id_ref, .quantifier = .required },
 8634                    },
 8635                },
 8636                .{
 8637                    .name = "OpGroupNonUniformBallotFindMSB",
 8638                    .opcode = 344,
 8639                    .operands = &.{
 8640                        .{ .kind = .id_result_type, .quantifier = .required },
 8641                        .{ .kind = .id_result, .quantifier = .required },
 8642                        .{ .kind = .id_scope, .quantifier = .required },
 8643                        .{ .kind = .id_ref, .quantifier = .required },
 8644                    },
 8645                },
 8646                .{
 8647                    .name = "OpGroupNonUniformShuffle",
 8648                    .opcode = 345,
 8649                    .operands = &.{
 8650                        .{ .kind = .id_result_type, .quantifier = .required },
 8651                        .{ .kind = .id_result, .quantifier = .required },
 8652                        .{ .kind = .id_scope, .quantifier = .required },
 8653                        .{ .kind = .id_ref, .quantifier = .required },
 8654                        .{ .kind = .id_ref, .quantifier = .required },
 8655                    },
 8656                },
 8657                .{
 8658                    .name = "OpGroupNonUniformShuffleXor",
 8659                    .opcode = 346,
 8660                    .operands = &.{
 8661                        .{ .kind = .id_result_type, .quantifier = .required },
 8662                        .{ .kind = .id_result, .quantifier = .required },
 8663                        .{ .kind = .id_scope, .quantifier = .required },
 8664                        .{ .kind = .id_ref, .quantifier = .required },
 8665                        .{ .kind = .id_ref, .quantifier = .required },
 8666                    },
 8667                },
 8668                .{
 8669                    .name = "OpGroupNonUniformShuffleUp",
 8670                    .opcode = 347,
 8671                    .operands = &.{
 8672                        .{ .kind = .id_result_type, .quantifier = .required },
 8673                        .{ .kind = .id_result, .quantifier = .required },
 8674                        .{ .kind = .id_scope, .quantifier = .required },
 8675                        .{ .kind = .id_ref, .quantifier = .required },
 8676                        .{ .kind = .id_ref, .quantifier = .required },
 8677                    },
 8678                },
 8679                .{
 8680                    .name = "OpGroupNonUniformShuffleDown",
 8681                    .opcode = 348,
 8682                    .operands = &.{
 8683                        .{ .kind = .id_result_type, .quantifier = .required },
 8684                        .{ .kind = .id_result, .quantifier = .required },
 8685                        .{ .kind = .id_scope, .quantifier = .required },
 8686                        .{ .kind = .id_ref, .quantifier = .required },
 8687                        .{ .kind = .id_ref, .quantifier = .required },
 8688                    },
 8689                },
 8690                .{
 8691                    .name = "OpGroupNonUniformIAdd",
 8692                    .opcode = 349,
 8693                    .operands = &.{
 8694                        .{ .kind = .id_result_type, .quantifier = .required },
 8695                        .{ .kind = .id_result, .quantifier = .required },
 8696                        .{ .kind = .id_scope, .quantifier = .required },
 8697                        .{ .kind = .group_operation, .quantifier = .required },
 8698                        .{ .kind = .id_ref, .quantifier = .required },
 8699                        .{ .kind = .id_ref, .quantifier = .optional },
 8700                    },
 8701                },
 8702                .{
 8703                    .name = "OpGroupNonUniformFAdd",
 8704                    .opcode = 350,
 8705                    .operands = &.{
 8706                        .{ .kind = .id_result_type, .quantifier = .required },
 8707                        .{ .kind = .id_result, .quantifier = .required },
 8708                        .{ .kind = .id_scope, .quantifier = .required },
 8709                        .{ .kind = .group_operation, .quantifier = .required },
 8710                        .{ .kind = .id_ref, .quantifier = .required },
 8711                        .{ .kind = .id_ref, .quantifier = .optional },
 8712                    },
 8713                },
 8714                .{
 8715                    .name = "OpGroupNonUniformIMul",
 8716                    .opcode = 351,
 8717                    .operands = &.{
 8718                        .{ .kind = .id_result_type, .quantifier = .required },
 8719                        .{ .kind = .id_result, .quantifier = .required },
 8720                        .{ .kind = .id_scope, .quantifier = .required },
 8721                        .{ .kind = .group_operation, .quantifier = .required },
 8722                        .{ .kind = .id_ref, .quantifier = .required },
 8723                        .{ .kind = .id_ref, .quantifier = .optional },
 8724                    },
 8725                },
 8726                .{
 8727                    .name = "OpGroupNonUniformFMul",
 8728                    .opcode = 352,
 8729                    .operands = &.{
 8730                        .{ .kind = .id_result_type, .quantifier = .required },
 8731                        .{ .kind = .id_result, .quantifier = .required },
 8732                        .{ .kind = .id_scope, .quantifier = .required },
 8733                        .{ .kind = .group_operation, .quantifier = .required },
 8734                        .{ .kind = .id_ref, .quantifier = .required },
 8735                        .{ .kind = .id_ref, .quantifier = .optional },
 8736                    },
 8737                },
 8738                .{
 8739                    .name = "OpGroupNonUniformSMin",
 8740                    .opcode = 353,
 8741                    .operands = &.{
 8742                        .{ .kind = .id_result_type, .quantifier = .required },
 8743                        .{ .kind = .id_result, .quantifier = .required },
 8744                        .{ .kind = .id_scope, .quantifier = .required },
 8745                        .{ .kind = .group_operation, .quantifier = .required },
 8746                        .{ .kind = .id_ref, .quantifier = .required },
 8747                        .{ .kind = .id_ref, .quantifier = .optional },
 8748                    },
 8749                },
 8750                .{
 8751                    .name = "OpGroupNonUniformUMin",
 8752                    .opcode = 354,
 8753                    .operands = &.{
 8754                        .{ .kind = .id_result_type, .quantifier = .required },
 8755                        .{ .kind = .id_result, .quantifier = .required },
 8756                        .{ .kind = .id_scope, .quantifier = .required },
 8757                        .{ .kind = .group_operation, .quantifier = .required },
 8758                        .{ .kind = .id_ref, .quantifier = .required },
 8759                        .{ .kind = .id_ref, .quantifier = .optional },
 8760                    },
 8761                },
 8762                .{
 8763                    .name = "OpGroupNonUniformFMin",
 8764                    .opcode = 355,
 8765                    .operands = &.{
 8766                        .{ .kind = .id_result_type, .quantifier = .required },
 8767                        .{ .kind = .id_result, .quantifier = .required },
 8768                        .{ .kind = .id_scope, .quantifier = .required },
 8769                        .{ .kind = .group_operation, .quantifier = .required },
 8770                        .{ .kind = .id_ref, .quantifier = .required },
 8771                        .{ .kind = .id_ref, .quantifier = .optional },
 8772                    },
 8773                },
 8774                .{
 8775                    .name = "OpGroupNonUniformSMax",
 8776                    .opcode = 356,
 8777                    .operands = &.{
 8778                        .{ .kind = .id_result_type, .quantifier = .required },
 8779                        .{ .kind = .id_result, .quantifier = .required },
 8780                        .{ .kind = .id_scope, .quantifier = .required },
 8781                        .{ .kind = .group_operation, .quantifier = .required },
 8782                        .{ .kind = .id_ref, .quantifier = .required },
 8783                        .{ .kind = .id_ref, .quantifier = .optional },
 8784                    },
 8785                },
 8786                .{
 8787                    .name = "OpGroupNonUniformUMax",
 8788                    .opcode = 357,
 8789                    .operands = &.{
 8790                        .{ .kind = .id_result_type, .quantifier = .required },
 8791                        .{ .kind = .id_result, .quantifier = .required },
 8792                        .{ .kind = .id_scope, .quantifier = .required },
 8793                        .{ .kind = .group_operation, .quantifier = .required },
 8794                        .{ .kind = .id_ref, .quantifier = .required },
 8795                        .{ .kind = .id_ref, .quantifier = .optional },
 8796                    },
 8797                },
 8798                .{
 8799                    .name = "OpGroupNonUniformFMax",
 8800                    .opcode = 358,
 8801                    .operands = &.{
 8802                        .{ .kind = .id_result_type, .quantifier = .required },
 8803                        .{ .kind = .id_result, .quantifier = .required },
 8804                        .{ .kind = .id_scope, .quantifier = .required },
 8805                        .{ .kind = .group_operation, .quantifier = .required },
 8806                        .{ .kind = .id_ref, .quantifier = .required },
 8807                        .{ .kind = .id_ref, .quantifier = .optional },
 8808                    },
 8809                },
 8810                .{
 8811                    .name = "OpGroupNonUniformBitwiseAnd",
 8812                    .opcode = 359,
 8813                    .operands = &.{
 8814                        .{ .kind = .id_result_type, .quantifier = .required },
 8815                        .{ .kind = .id_result, .quantifier = .required },
 8816                        .{ .kind = .id_scope, .quantifier = .required },
 8817                        .{ .kind = .group_operation, .quantifier = .required },
 8818                        .{ .kind = .id_ref, .quantifier = .required },
 8819                        .{ .kind = .id_ref, .quantifier = .optional },
 8820                    },
 8821                },
 8822                .{
 8823                    .name = "OpGroupNonUniformBitwiseOr",
 8824                    .opcode = 360,
 8825                    .operands = &.{
 8826                        .{ .kind = .id_result_type, .quantifier = .required },
 8827                        .{ .kind = .id_result, .quantifier = .required },
 8828                        .{ .kind = .id_scope, .quantifier = .required },
 8829                        .{ .kind = .group_operation, .quantifier = .required },
 8830                        .{ .kind = .id_ref, .quantifier = .required },
 8831                        .{ .kind = .id_ref, .quantifier = .optional },
 8832                    },
 8833                },
 8834                .{
 8835                    .name = "OpGroupNonUniformBitwiseXor",
 8836                    .opcode = 361,
 8837                    .operands = &.{
 8838                        .{ .kind = .id_result_type, .quantifier = .required },
 8839                        .{ .kind = .id_result, .quantifier = .required },
 8840                        .{ .kind = .id_scope, .quantifier = .required },
 8841                        .{ .kind = .group_operation, .quantifier = .required },
 8842                        .{ .kind = .id_ref, .quantifier = .required },
 8843                        .{ .kind = .id_ref, .quantifier = .optional },
 8844                    },
 8845                },
 8846                .{
 8847                    .name = "OpGroupNonUniformLogicalAnd",
 8848                    .opcode = 362,
 8849                    .operands = &.{
 8850                        .{ .kind = .id_result_type, .quantifier = .required },
 8851                        .{ .kind = .id_result, .quantifier = .required },
 8852                        .{ .kind = .id_scope, .quantifier = .required },
 8853                        .{ .kind = .group_operation, .quantifier = .required },
 8854                        .{ .kind = .id_ref, .quantifier = .required },
 8855                        .{ .kind = .id_ref, .quantifier = .optional },
 8856                    },
 8857                },
 8858                .{
 8859                    .name = "OpGroupNonUniformLogicalOr",
 8860                    .opcode = 363,
 8861                    .operands = &.{
 8862                        .{ .kind = .id_result_type, .quantifier = .required },
 8863                        .{ .kind = .id_result, .quantifier = .required },
 8864                        .{ .kind = .id_scope, .quantifier = .required },
 8865                        .{ .kind = .group_operation, .quantifier = .required },
 8866                        .{ .kind = .id_ref, .quantifier = .required },
 8867                        .{ .kind = .id_ref, .quantifier = .optional },
 8868                    },
 8869                },
 8870                .{
 8871                    .name = "OpGroupNonUniformLogicalXor",
 8872                    .opcode = 364,
 8873                    .operands = &.{
 8874                        .{ .kind = .id_result_type, .quantifier = .required },
 8875                        .{ .kind = .id_result, .quantifier = .required },
 8876                        .{ .kind = .id_scope, .quantifier = .required },
 8877                        .{ .kind = .group_operation, .quantifier = .required },
 8878                        .{ .kind = .id_ref, .quantifier = .required },
 8879                        .{ .kind = .id_ref, .quantifier = .optional },
 8880                    },
 8881                },
 8882                .{
 8883                    .name = "OpGroupNonUniformQuadBroadcast",
 8884                    .opcode = 365,
 8885                    .operands = &.{
 8886                        .{ .kind = .id_result_type, .quantifier = .required },
 8887                        .{ .kind = .id_result, .quantifier = .required },
 8888                        .{ .kind = .id_scope, .quantifier = .required },
 8889                        .{ .kind = .id_ref, .quantifier = .required },
 8890                        .{ .kind = .id_ref, .quantifier = .required },
 8891                    },
 8892                },
 8893                .{
 8894                    .name = "OpGroupNonUniformQuadSwap",
 8895                    .opcode = 366,
 8896                    .operands = &.{
 8897                        .{ .kind = .id_result_type, .quantifier = .required },
 8898                        .{ .kind = .id_result, .quantifier = .required },
 8899                        .{ .kind = .id_scope, .quantifier = .required },
 8900                        .{ .kind = .id_ref, .quantifier = .required },
 8901                        .{ .kind = .id_ref, .quantifier = .required },
 8902                    },
 8903                },
 8904                .{
 8905                    .name = "OpCopyLogical",
 8906                    .opcode = 400,
 8907                    .operands = &.{
 8908                        .{ .kind = .id_result_type, .quantifier = .required },
 8909                        .{ .kind = .id_result, .quantifier = .required },
 8910                        .{ .kind = .id_ref, .quantifier = .required },
 8911                    },
 8912                },
 8913                .{
 8914                    .name = "OpPtrEqual",
 8915                    .opcode = 401,
 8916                    .operands = &.{
 8917                        .{ .kind = .id_result_type, .quantifier = .required },
 8918                        .{ .kind = .id_result, .quantifier = .required },
 8919                        .{ .kind = .id_ref, .quantifier = .required },
 8920                        .{ .kind = .id_ref, .quantifier = .required },
 8921                    },
 8922                },
 8923                .{
 8924                    .name = "OpPtrNotEqual",
 8925                    .opcode = 402,
 8926                    .operands = &.{
 8927                        .{ .kind = .id_result_type, .quantifier = .required },
 8928                        .{ .kind = .id_result, .quantifier = .required },
 8929                        .{ .kind = .id_ref, .quantifier = .required },
 8930                        .{ .kind = .id_ref, .quantifier = .required },
 8931                    },
 8932                },
 8933                .{
 8934                    .name = "OpPtrDiff",
 8935                    .opcode = 403,
 8936                    .operands = &.{
 8937                        .{ .kind = .id_result_type, .quantifier = .required },
 8938                        .{ .kind = .id_result, .quantifier = .required },
 8939                        .{ .kind = .id_ref, .quantifier = .required },
 8940                        .{ .kind = .id_ref, .quantifier = .required },
 8941                    },
 8942                },
 8943                .{
 8944                    .name = "OpColorAttachmentReadEXT",
 8945                    .opcode = 4160,
 8946                    .operands = &.{
 8947                        .{ .kind = .id_result_type, .quantifier = .required },
 8948                        .{ .kind = .id_result, .quantifier = .required },
 8949                        .{ .kind = .id_ref, .quantifier = .required },
 8950                        .{ .kind = .id_ref, .quantifier = .optional },
 8951                    },
 8952                },
 8953                .{
 8954                    .name = "OpDepthAttachmentReadEXT",
 8955                    .opcode = 4161,
 8956                    .operands = &.{
 8957                        .{ .kind = .id_result_type, .quantifier = .required },
 8958                        .{ .kind = .id_result, .quantifier = .required },
 8959                        .{ .kind = .id_ref, .quantifier = .optional },
 8960                    },
 8961                },
 8962                .{
 8963                    .name = "OpStencilAttachmentReadEXT",
 8964                    .opcode = 4162,
 8965                    .operands = &.{
 8966                        .{ .kind = .id_result_type, .quantifier = .required },
 8967                        .{ .kind = .id_result, .quantifier = .required },
 8968                        .{ .kind = .id_ref, .quantifier = .optional },
 8969                    },
 8970                },
 8971                .{
 8972                    .name = "OpTypeTensorARM",
 8973                    .opcode = 4163,
 8974                    .operands = &.{
 8975                        .{ .kind = .id_result, .quantifier = .required },
 8976                        .{ .kind = .id_ref, .quantifier = .required },
 8977                        .{ .kind = .id_ref, .quantifier = .optional },
 8978                        .{ .kind = .id_ref, .quantifier = .optional },
 8979                    },
 8980                },
 8981                .{
 8982                    .name = "OpTensorReadARM",
 8983                    .opcode = 4164,
 8984                    .operands = &.{
 8985                        .{ .kind = .id_result_type, .quantifier = .required },
 8986                        .{ .kind = .id_result, .quantifier = .required },
 8987                        .{ .kind = .id_ref, .quantifier = .required },
 8988                        .{ .kind = .id_ref, .quantifier = .required },
 8989                        .{ .kind = .tensor_operands, .quantifier = .optional },
 8990                    },
 8991                },
 8992                .{
 8993                    .name = "OpTensorWriteARM",
 8994                    .opcode = 4165,
 8995                    .operands = &.{
 8996                        .{ .kind = .id_ref, .quantifier = .required },
 8997                        .{ .kind = .id_ref, .quantifier = .required },
 8998                        .{ .kind = .id_ref, .quantifier = .required },
 8999                        .{ .kind = .tensor_operands, .quantifier = .optional },
 9000                    },
 9001                },
 9002                .{
 9003                    .name = "OpTensorQuerySizeARM",
 9004                    .opcode = 4166,
 9005                    .operands = &.{
 9006                        .{ .kind = .id_result_type, .quantifier = .required },
 9007                        .{ .kind = .id_result, .quantifier = .required },
 9008                        .{ .kind = .id_ref, .quantifier = .required },
 9009                        .{ .kind = .id_ref, .quantifier = .required },
 9010                    },
 9011                },
 9012                .{
 9013                    .name = "OpGraphConstantARM",
 9014                    .opcode = 4181,
 9015                    .operands = &.{
 9016                        .{ .kind = .id_result_type, .quantifier = .required },
 9017                        .{ .kind = .id_result, .quantifier = .required },
 9018                        .{ .kind = .literal_integer, .quantifier = .required },
 9019                    },
 9020                },
 9021                .{
 9022                    .name = "OpGraphEntryPointARM",
 9023                    .opcode = 4182,
 9024                    .operands = &.{
 9025                        .{ .kind = .id_ref, .quantifier = .required },
 9026                        .{ .kind = .literal_string, .quantifier = .required },
 9027                        .{ .kind = .id_ref, .quantifier = .variadic },
 9028                    },
 9029                },
 9030                .{
 9031                    .name = "OpGraphARM",
 9032                    .opcode = 4183,
 9033                    .operands = &.{
 9034                        .{ .kind = .id_result_type, .quantifier = .required },
 9035                        .{ .kind = .id_result, .quantifier = .required },
 9036                    },
 9037                },
 9038                .{
 9039                    .name = "OpGraphInputARM",
 9040                    .opcode = 4184,
 9041                    .operands = &.{
 9042                        .{ .kind = .id_result_type, .quantifier = .required },
 9043                        .{ .kind = .id_result, .quantifier = .required },
 9044                        .{ .kind = .id_ref, .quantifier = .required },
 9045                        .{ .kind = .id_ref, .quantifier = .variadic },
 9046                    },
 9047                },
 9048                .{
 9049                    .name = "OpGraphSetOutputARM",
 9050                    .opcode = 4185,
 9051                    .operands = &.{
 9052                        .{ .kind = .id_ref, .quantifier = .required },
 9053                        .{ .kind = .id_ref, .quantifier = .required },
 9054                        .{ .kind = .id_ref, .quantifier = .variadic },
 9055                    },
 9056                },
 9057                .{
 9058                    .name = "OpGraphEndARM",
 9059                    .opcode = 4186,
 9060                    .operands = &.{},
 9061                },
 9062                .{
 9063                    .name = "OpTypeGraphARM",
 9064                    .opcode = 4190,
 9065                    .operands = &.{
 9066                        .{ .kind = .id_result, .quantifier = .required },
 9067                        .{ .kind = .literal_integer, .quantifier = .required },
 9068                        .{ .kind = .id_ref, .quantifier = .variadic },
 9069                    },
 9070                },
 9071                .{
 9072                    .name = "OpTerminateInvocation",
 9073                    .opcode = 4416,
 9074                    .operands = &.{},
 9075                },
 9076                .{
 9077                    .name = "OpTypeUntypedPointerKHR",
 9078                    .opcode = 4417,
 9079                    .operands = &.{
 9080                        .{ .kind = .id_result, .quantifier = .required },
 9081                        .{ .kind = .storage_class, .quantifier = .required },
 9082                    },
 9083                },
 9084                .{
 9085                    .name = "OpUntypedVariableKHR",
 9086                    .opcode = 4418,
 9087                    .operands = &.{
 9088                        .{ .kind = .id_result_type, .quantifier = .required },
 9089                        .{ .kind = .id_result, .quantifier = .required },
 9090                        .{ .kind = .storage_class, .quantifier = .required },
 9091                        .{ .kind = .id_ref, .quantifier = .optional },
 9092                        .{ .kind = .id_ref, .quantifier = .optional },
 9093                    },
 9094                },
 9095                .{
 9096                    .name = "OpUntypedAccessChainKHR",
 9097                    .opcode = 4419,
 9098                    .operands = &.{
 9099                        .{ .kind = .id_result_type, .quantifier = .required },
 9100                        .{ .kind = .id_result, .quantifier = .required },
 9101                        .{ .kind = .id_ref, .quantifier = .required },
 9102                        .{ .kind = .id_ref, .quantifier = .required },
 9103                        .{ .kind = .id_ref, .quantifier = .variadic },
 9104                    },
 9105                },
 9106                .{
 9107                    .name = "OpUntypedInBoundsAccessChainKHR",
 9108                    .opcode = 4420,
 9109                    .operands = &.{
 9110                        .{ .kind = .id_result_type, .quantifier = .required },
 9111                        .{ .kind = .id_result, .quantifier = .required },
 9112                        .{ .kind = .id_ref, .quantifier = .required },
 9113                        .{ .kind = .id_ref, .quantifier = .required },
 9114                        .{ .kind = .id_ref, .quantifier = .variadic },
 9115                    },
 9116                },
 9117                .{
 9118                    .name = "OpSubgroupBallotKHR",
 9119                    .opcode = 4421,
 9120                    .operands = &.{
 9121                        .{ .kind = .id_result_type, .quantifier = .required },
 9122                        .{ .kind = .id_result, .quantifier = .required },
 9123                        .{ .kind = .id_ref, .quantifier = .required },
 9124                    },
 9125                },
 9126                .{
 9127                    .name = "OpSubgroupFirstInvocationKHR",
 9128                    .opcode = 4422,
 9129                    .operands = &.{
 9130                        .{ .kind = .id_result_type, .quantifier = .required },
 9131                        .{ .kind = .id_result, .quantifier = .required },
 9132                        .{ .kind = .id_ref, .quantifier = .required },
 9133                    },
 9134                },
 9135                .{
 9136                    .name = "OpUntypedPtrAccessChainKHR",
 9137                    .opcode = 4423,
 9138                    .operands = &.{
 9139                        .{ .kind = .id_result_type, .quantifier = .required },
 9140                        .{ .kind = .id_result, .quantifier = .required },
 9141                        .{ .kind = .id_ref, .quantifier = .required },
 9142                        .{ .kind = .id_ref, .quantifier = .required },
 9143                        .{ .kind = .id_ref, .quantifier = .required },
 9144                        .{ .kind = .id_ref, .quantifier = .variadic },
 9145                    },
 9146                },
 9147                .{
 9148                    .name = "OpUntypedInBoundsPtrAccessChainKHR",
 9149                    .opcode = 4424,
 9150                    .operands = &.{
 9151                        .{ .kind = .id_result_type, .quantifier = .required },
 9152                        .{ .kind = .id_result, .quantifier = .required },
 9153                        .{ .kind = .id_ref, .quantifier = .required },
 9154                        .{ .kind = .id_ref, .quantifier = .required },
 9155                        .{ .kind = .id_ref, .quantifier = .required },
 9156                        .{ .kind = .id_ref, .quantifier = .variadic },
 9157                    },
 9158                },
 9159                .{
 9160                    .name = "OpUntypedArrayLengthKHR",
 9161                    .opcode = 4425,
 9162                    .operands = &.{
 9163                        .{ .kind = .id_result_type, .quantifier = .required },
 9164                        .{ .kind = .id_result, .quantifier = .required },
 9165                        .{ .kind = .id_ref, .quantifier = .required },
 9166                        .{ .kind = .id_ref, .quantifier = .required },
 9167                        .{ .kind = .literal_integer, .quantifier = .required },
 9168                    },
 9169                },
 9170                .{
 9171                    .name = "OpUntypedPrefetchKHR",
 9172                    .opcode = 4426,
 9173                    .operands = &.{
 9174                        .{ .kind = .id_ref, .quantifier = .required },
 9175                        .{ .kind = .id_ref, .quantifier = .required },
 9176                        .{ .kind = .id_ref, .quantifier = .optional },
 9177                        .{ .kind = .id_ref, .quantifier = .optional },
 9178                        .{ .kind = .id_ref, .quantifier = .optional },
 9179                    },
 9180                },
 9181                .{
 9182                    .name = "OpSubgroupAllKHR",
 9183                    .opcode = 4428,
 9184                    .operands = &.{
 9185                        .{ .kind = .id_result_type, .quantifier = .required },
 9186                        .{ .kind = .id_result, .quantifier = .required },
 9187                        .{ .kind = .id_ref, .quantifier = .required },
 9188                    },
 9189                },
 9190                .{
 9191                    .name = "OpSubgroupAnyKHR",
 9192                    .opcode = 4429,
 9193                    .operands = &.{
 9194                        .{ .kind = .id_result_type, .quantifier = .required },
 9195                        .{ .kind = .id_result, .quantifier = .required },
 9196                        .{ .kind = .id_ref, .quantifier = .required },
 9197                    },
 9198                },
 9199                .{
 9200                    .name = "OpSubgroupAllEqualKHR",
 9201                    .opcode = 4430,
 9202                    .operands = &.{
 9203                        .{ .kind = .id_result_type, .quantifier = .required },
 9204                        .{ .kind = .id_result, .quantifier = .required },
 9205                        .{ .kind = .id_ref, .quantifier = .required },
 9206                    },
 9207                },
 9208                .{
 9209                    .name = "OpGroupNonUniformRotateKHR",
 9210                    .opcode = 4431,
 9211                    .operands = &.{
 9212                        .{ .kind = .id_result_type, .quantifier = .required },
 9213                        .{ .kind = .id_result, .quantifier = .required },
 9214                        .{ .kind = .id_scope, .quantifier = .required },
 9215                        .{ .kind = .id_ref, .quantifier = .required },
 9216                        .{ .kind = .id_ref, .quantifier = .required },
 9217                        .{ .kind = .id_ref, .quantifier = .optional },
 9218                    },
 9219                },
 9220                .{
 9221                    .name = "OpSubgroupReadInvocationKHR",
 9222                    .opcode = 4432,
 9223                    .operands = &.{
 9224                        .{ .kind = .id_result_type, .quantifier = .required },
 9225                        .{ .kind = .id_result, .quantifier = .required },
 9226                        .{ .kind = .id_ref, .quantifier = .required },
 9227                        .{ .kind = .id_ref, .quantifier = .required },
 9228                    },
 9229                },
 9230                .{
 9231                    .name = "OpExtInstWithForwardRefsKHR",
 9232                    .opcode = 4433,
 9233                    .operands = &.{
 9234                        .{ .kind = .id_result_type, .quantifier = .required },
 9235                        .{ .kind = .id_result, .quantifier = .required },
 9236                        .{ .kind = .id_ref, .quantifier = .required },
 9237                        .{ .kind = .literal_ext_inst_integer, .quantifier = .required },
 9238                        .{ .kind = .id_ref, .quantifier = .variadic },
 9239                    },
 9240                },
 9241                .{
 9242                    .name = "OpTraceRayKHR",
 9243                    .opcode = 4445,
 9244                    .operands = &.{
 9245                        .{ .kind = .id_ref, .quantifier = .required },
 9246                        .{ .kind = .id_ref, .quantifier = .required },
 9247                        .{ .kind = .id_ref, .quantifier = .required },
 9248                        .{ .kind = .id_ref, .quantifier = .required },
 9249                        .{ .kind = .id_ref, .quantifier = .required },
 9250                        .{ .kind = .id_ref, .quantifier = .required },
 9251                        .{ .kind = .id_ref, .quantifier = .required },
 9252                        .{ .kind = .id_ref, .quantifier = .required },
 9253                        .{ .kind = .id_ref, .quantifier = .required },
 9254                        .{ .kind = .id_ref, .quantifier = .required },
 9255                        .{ .kind = .id_ref, .quantifier = .required },
 9256                    },
 9257                },
 9258                .{
 9259                    .name = "OpExecuteCallableKHR",
 9260                    .opcode = 4446,
 9261                    .operands = &.{
 9262                        .{ .kind = .id_ref, .quantifier = .required },
 9263                        .{ .kind = .id_ref, .quantifier = .required },
 9264                    },
 9265                },
 9266                .{
 9267                    .name = "OpConvertUToAccelerationStructureKHR",
 9268                    .opcode = 4447,
 9269                    .operands = &.{
 9270                        .{ .kind = .id_result_type, .quantifier = .required },
 9271                        .{ .kind = .id_result, .quantifier = .required },
 9272                        .{ .kind = .id_ref, .quantifier = .required },
 9273                    },
 9274                },
 9275                .{
 9276                    .name = "OpIgnoreIntersectionKHR",
 9277                    .opcode = 4448,
 9278                    .operands = &.{},
 9279                },
 9280                .{
 9281                    .name = "OpTerminateRayKHR",
 9282                    .opcode = 4449,
 9283                    .operands = &.{},
 9284                },
 9285                .{
 9286                    .name = "OpSDot",
 9287                    .opcode = 4450,
 9288                    .operands = &.{
 9289                        .{ .kind = .id_result_type, .quantifier = .required },
 9290                        .{ .kind = .id_result, .quantifier = .required },
 9291                        .{ .kind = .id_ref, .quantifier = .required },
 9292                        .{ .kind = .id_ref, .quantifier = .required },
 9293                        .{ .kind = .packed_vector_format, .quantifier = .optional },
 9294                    },
 9295                },
 9296                .{
 9297                    .name = "OpUDot",
 9298                    .opcode = 4451,
 9299                    .operands = &.{
 9300                        .{ .kind = .id_result_type, .quantifier = .required },
 9301                        .{ .kind = .id_result, .quantifier = .required },
 9302                        .{ .kind = .id_ref, .quantifier = .required },
 9303                        .{ .kind = .id_ref, .quantifier = .required },
 9304                        .{ .kind = .packed_vector_format, .quantifier = .optional },
 9305                    },
 9306                },
 9307                .{
 9308                    .name = "OpSUDot",
 9309                    .opcode = 4452,
 9310                    .operands = &.{
 9311                        .{ .kind = .id_result_type, .quantifier = .required },
 9312                        .{ .kind = .id_result, .quantifier = .required },
 9313                        .{ .kind = .id_ref, .quantifier = .required },
 9314                        .{ .kind = .id_ref, .quantifier = .required },
 9315                        .{ .kind = .packed_vector_format, .quantifier = .optional },
 9316                    },
 9317                },
 9318                .{
 9319                    .name = "OpSDotAccSat",
 9320                    .opcode = 4453,
 9321                    .operands = &.{
 9322                        .{ .kind = .id_result_type, .quantifier = .required },
 9323                        .{ .kind = .id_result, .quantifier = .required },
 9324                        .{ .kind = .id_ref, .quantifier = .required },
 9325                        .{ .kind = .id_ref, .quantifier = .required },
 9326                        .{ .kind = .id_ref, .quantifier = .required },
 9327                        .{ .kind = .packed_vector_format, .quantifier = .optional },
 9328                    },
 9329                },
 9330                .{
 9331                    .name = "OpUDotAccSat",
 9332                    .opcode = 4454,
 9333                    .operands = &.{
 9334                        .{ .kind = .id_result_type, .quantifier = .required },
 9335                        .{ .kind = .id_result, .quantifier = .required },
 9336                        .{ .kind = .id_ref, .quantifier = .required },
 9337                        .{ .kind = .id_ref, .quantifier = .required },
 9338                        .{ .kind = .id_ref, .quantifier = .required },
 9339                        .{ .kind = .packed_vector_format, .quantifier = .optional },
 9340                    },
 9341                },
 9342                .{
 9343                    .name = "OpSUDotAccSat",
 9344                    .opcode = 4455,
 9345                    .operands = &.{
 9346                        .{ .kind = .id_result_type, .quantifier = .required },
 9347                        .{ .kind = .id_result, .quantifier = .required },
 9348                        .{ .kind = .id_ref, .quantifier = .required },
 9349                        .{ .kind = .id_ref, .quantifier = .required },
 9350                        .{ .kind = .id_ref, .quantifier = .required },
 9351                        .{ .kind = .packed_vector_format, .quantifier = .optional },
 9352                    },
 9353                },
 9354                .{
 9355                    .name = "OpTypeCooperativeMatrixKHR",
 9356                    .opcode = 4456,
 9357                    .operands = &.{
 9358                        .{ .kind = .id_result, .quantifier = .required },
 9359                        .{ .kind = .id_ref, .quantifier = .required },
 9360                        .{ .kind = .id_scope, .quantifier = .required },
 9361                        .{ .kind = .id_ref, .quantifier = .required },
 9362                        .{ .kind = .id_ref, .quantifier = .required },
 9363                        .{ .kind = .id_ref, .quantifier = .required },
 9364                    },
 9365                },
 9366                .{
 9367                    .name = "OpCooperativeMatrixLoadKHR",
 9368                    .opcode = 4457,
 9369                    .operands = &.{
 9370                        .{ .kind = .id_result_type, .quantifier = .required },
 9371                        .{ .kind = .id_result, .quantifier = .required },
 9372                        .{ .kind = .id_ref, .quantifier = .required },
 9373                        .{ .kind = .id_ref, .quantifier = .required },
 9374                        .{ .kind = .id_ref, .quantifier = .optional },
 9375                        .{ .kind = .memory_access, .quantifier = .optional },
 9376                    },
 9377                },
 9378                .{
 9379                    .name = "OpCooperativeMatrixStoreKHR",
 9380                    .opcode = 4458,
 9381                    .operands = &.{
 9382                        .{ .kind = .id_ref, .quantifier = .required },
 9383                        .{ .kind = .id_ref, .quantifier = .required },
 9384                        .{ .kind = .id_ref, .quantifier = .required },
 9385                        .{ .kind = .id_ref, .quantifier = .optional },
 9386                        .{ .kind = .memory_access, .quantifier = .optional },
 9387                    },
 9388                },
 9389                .{
 9390                    .name = "OpCooperativeMatrixMulAddKHR",
 9391                    .opcode = 4459,
 9392                    .operands = &.{
 9393                        .{ .kind = .id_result_type, .quantifier = .required },
 9394                        .{ .kind = .id_result, .quantifier = .required },
 9395                        .{ .kind = .id_ref, .quantifier = .required },
 9396                        .{ .kind = .id_ref, .quantifier = .required },
 9397                        .{ .kind = .id_ref, .quantifier = .required },
 9398                        .{ .kind = .cooperative_matrix_operands, .quantifier = .optional },
 9399                    },
 9400                },
 9401                .{
 9402                    .name = "OpCooperativeMatrixLengthKHR",
 9403                    .opcode = 4460,
 9404                    .operands = &.{
 9405                        .{ .kind = .id_result_type, .quantifier = .required },
 9406                        .{ .kind = .id_result, .quantifier = .required },
 9407                        .{ .kind = .id_ref, .quantifier = .required },
 9408                    },
 9409                },
 9410                .{
 9411                    .name = "OpConstantCompositeReplicateEXT",
 9412                    .opcode = 4461,
 9413                    .operands = &.{
 9414                        .{ .kind = .id_result_type, .quantifier = .required },
 9415                        .{ .kind = .id_result, .quantifier = .required },
 9416                        .{ .kind = .id_ref, .quantifier = .required },
 9417                    },
 9418                },
 9419                .{
 9420                    .name = "OpSpecConstantCompositeReplicateEXT",
 9421                    .opcode = 4462,
 9422                    .operands = &.{
 9423                        .{ .kind = .id_result_type, .quantifier = .required },
 9424                        .{ .kind = .id_result, .quantifier = .required },
 9425                        .{ .kind = .id_ref, .quantifier = .required },
 9426                    },
 9427                },
 9428                .{
 9429                    .name = "OpCompositeConstructReplicateEXT",
 9430                    .opcode = 4463,
 9431                    .operands = &.{
 9432                        .{ .kind = .id_result_type, .quantifier = .required },
 9433                        .{ .kind = .id_result, .quantifier = .required },
 9434                        .{ .kind = .id_ref, .quantifier = .required },
 9435                    },
 9436                },
 9437                .{
 9438                    .name = "OpTypeRayQueryKHR",
 9439                    .opcode = 4472,
 9440                    .operands = &.{
 9441                        .{ .kind = .id_result, .quantifier = .required },
 9442                    },
 9443                },
 9444                .{
 9445                    .name = "OpRayQueryInitializeKHR",
 9446                    .opcode = 4473,
 9447                    .operands = &.{
 9448                        .{ .kind = .id_ref, .quantifier = .required },
 9449                        .{ .kind = .id_ref, .quantifier = .required },
 9450                        .{ .kind = .id_ref, .quantifier = .required },
 9451                        .{ .kind = .id_ref, .quantifier = .required },
 9452                        .{ .kind = .id_ref, .quantifier = .required },
 9453                        .{ .kind = .id_ref, .quantifier = .required },
 9454                        .{ .kind = .id_ref, .quantifier = .required },
 9455                        .{ .kind = .id_ref, .quantifier = .required },
 9456                    },
 9457                },
 9458                .{
 9459                    .name = "OpRayQueryTerminateKHR",
 9460                    .opcode = 4474,
 9461                    .operands = &.{
 9462                        .{ .kind = .id_ref, .quantifier = .required },
 9463                    },
 9464                },
 9465                .{
 9466                    .name = "OpRayQueryGenerateIntersectionKHR",
 9467                    .opcode = 4475,
 9468                    .operands = &.{
 9469                        .{ .kind = .id_ref, .quantifier = .required },
 9470                        .{ .kind = .id_ref, .quantifier = .required },
 9471                    },
 9472                },
 9473                .{
 9474                    .name = "OpRayQueryConfirmIntersectionKHR",
 9475                    .opcode = 4476,
 9476                    .operands = &.{
 9477                        .{ .kind = .id_ref, .quantifier = .required },
 9478                    },
 9479                },
 9480                .{
 9481                    .name = "OpRayQueryProceedKHR",
 9482                    .opcode = 4477,
 9483                    .operands = &.{
 9484                        .{ .kind = .id_result_type, .quantifier = .required },
 9485                        .{ .kind = .id_result, .quantifier = .required },
 9486                        .{ .kind = .id_ref, .quantifier = .required },
 9487                    },
 9488                },
 9489                .{
 9490                    .name = "OpRayQueryGetIntersectionTypeKHR",
 9491                    .opcode = 4479,
 9492                    .operands = &.{
 9493                        .{ .kind = .id_result_type, .quantifier = .required },
 9494                        .{ .kind = .id_result, .quantifier = .required },
 9495                        .{ .kind = .id_ref, .quantifier = .required },
 9496                        .{ .kind = .id_ref, .quantifier = .required },
 9497                    },
 9498                },
 9499                .{
 9500                    .name = "OpImageSampleWeightedQCOM",
 9501                    .opcode = 4480,
 9502                    .operands = &.{
 9503                        .{ .kind = .id_result_type, .quantifier = .required },
 9504                        .{ .kind = .id_result, .quantifier = .required },
 9505                        .{ .kind = .id_ref, .quantifier = .required },
 9506                        .{ .kind = .id_ref, .quantifier = .required },
 9507                        .{ .kind = .id_ref, .quantifier = .required },
 9508                    },
 9509                },
 9510                .{
 9511                    .name = "OpImageBoxFilterQCOM",
 9512                    .opcode = 4481,
 9513                    .operands = &.{
 9514                        .{ .kind = .id_result_type, .quantifier = .required },
 9515                        .{ .kind = .id_result, .quantifier = .required },
 9516                        .{ .kind = .id_ref, .quantifier = .required },
 9517                        .{ .kind = .id_ref, .quantifier = .required },
 9518                        .{ .kind = .id_ref, .quantifier = .required },
 9519                    },
 9520                },
 9521                .{
 9522                    .name = "OpImageBlockMatchSSDQCOM",
 9523                    .opcode = 4482,
 9524                    .operands = &.{
 9525                        .{ .kind = .id_result_type, .quantifier = .required },
 9526                        .{ .kind = .id_result, .quantifier = .required },
 9527                        .{ .kind = .id_ref, .quantifier = .required },
 9528                        .{ .kind = .id_ref, .quantifier = .required },
 9529                        .{ .kind = .id_ref, .quantifier = .required },
 9530                        .{ .kind = .id_ref, .quantifier = .required },
 9531                        .{ .kind = .id_ref, .quantifier = .required },
 9532                    },
 9533                },
 9534                .{
 9535                    .name = "OpImageBlockMatchSADQCOM",
 9536                    .opcode = 4483,
 9537                    .operands = &.{
 9538                        .{ .kind = .id_result_type, .quantifier = .required },
 9539                        .{ .kind = .id_result, .quantifier = .required },
 9540                        .{ .kind = .id_ref, .quantifier = .required },
 9541                        .{ .kind = .id_ref, .quantifier = .required },
 9542                        .{ .kind = .id_ref, .quantifier = .required },
 9543                        .{ .kind = .id_ref, .quantifier = .required },
 9544                        .{ .kind = .id_ref, .quantifier = .required },
 9545                    },
 9546                },
 9547                .{
 9548                    .name = "OpImageBlockMatchWindowSSDQCOM",
 9549                    .opcode = 4500,
 9550                    .operands = &.{
 9551                        .{ .kind = .id_result_type, .quantifier = .required },
 9552                        .{ .kind = .id_result, .quantifier = .required },
 9553                        .{ .kind = .id_ref, .quantifier = .required },
 9554                        .{ .kind = .id_ref, .quantifier = .required },
 9555                        .{ .kind = .id_ref, .quantifier = .required },
 9556                        .{ .kind = .id_ref, .quantifier = .required },
 9557                        .{ .kind = .id_ref, .quantifier = .required },
 9558                    },
 9559                },
 9560                .{
 9561                    .name = "OpImageBlockMatchWindowSADQCOM",
 9562                    .opcode = 4501,
 9563                    .operands = &.{
 9564                        .{ .kind = .id_result_type, .quantifier = .required },
 9565                        .{ .kind = .id_result, .quantifier = .required },
 9566                        .{ .kind = .id_ref, .quantifier = .required },
 9567                        .{ .kind = .id_ref, .quantifier = .required },
 9568                        .{ .kind = .id_ref, .quantifier = .required },
 9569                        .{ .kind = .id_ref, .quantifier = .required },
 9570                        .{ .kind = .id_ref, .quantifier = .required },
 9571                    },
 9572                },
 9573                .{
 9574                    .name = "OpImageBlockMatchGatherSSDQCOM",
 9575                    .opcode = 4502,
 9576                    .operands = &.{
 9577                        .{ .kind = .id_result_type, .quantifier = .required },
 9578                        .{ .kind = .id_result, .quantifier = .required },
 9579                        .{ .kind = .id_ref, .quantifier = .required },
 9580                        .{ .kind = .id_ref, .quantifier = .required },
 9581                        .{ .kind = .id_ref, .quantifier = .required },
 9582                        .{ .kind = .id_ref, .quantifier = .required },
 9583                        .{ .kind = .id_ref, .quantifier = .required },
 9584                    },
 9585                },
 9586                .{
 9587                    .name = "OpImageBlockMatchGatherSADQCOM",
 9588                    .opcode = 4503,
 9589                    .operands = &.{
 9590                        .{ .kind = .id_result_type, .quantifier = .required },
 9591                        .{ .kind = .id_result, .quantifier = .required },
 9592                        .{ .kind = .id_ref, .quantifier = .required },
 9593                        .{ .kind = .id_ref, .quantifier = .required },
 9594                        .{ .kind = .id_ref, .quantifier = .required },
 9595                        .{ .kind = .id_ref, .quantifier = .required },
 9596                        .{ .kind = .id_ref, .quantifier = .required },
 9597                    },
 9598                },
 9599                .{
 9600                    .name = "OpGroupIAddNonUniformAMD",
 9601                    .opcode = 5000,
 9602                    .operands = &.{
 9603                        .{ .kind = .id_result_type, .quantifier = .required },
 9604                        .{ .kind = .id_result, .quantifier = .required },
 9605                        .{ .kind = .id_scope, .quantifier = .required },
 9606                        .{ .kind = .group_operation, .quantifier = .required },
 9607                        .{ .kind = .id_ref, .quantifier = .required },
 9608                    },
 9609                },
 9610                .{
 9611                    .name = "OpGroupFAddNonUniformAMD",
 9612                    .opcode = 5001,
 9613                    .operands = &.{
 9614                        .{ .kind = .id_result_type, .quantifier = .required },
 9615                        .{ .kind = .id_result, .quantifier = .required },
 9616                        .{ .kind = .id_scope, .quantifier = .required },
 9617                        .{ .kind = .group_operation, .quantifier = .required },
 9618                        .{ .kind = .id_ref, .quantifier = .required },
 9619                    },
 9620                },
 9621                .{
 9622                    .name = "OpGroupFMinNonUniformAMD",
 9623                    .opcode = 5002,
 9624                    .operands = &.{
 9625                        .{ .kind = .id_result_type, .quantifier = .required },
 9626                        .{ .kind = .id_result, .quantifier = .required },
 9627                        .{ .kind = .id_scope, .quantifier = .required },
 9628                        .{ .kind = .group_operation, .quantifier = .required },
 9629                        .{ .kind = .id_ref, .quantifier = .required },
 9630                    },
 9631                },
 9632                .{
 9633                    .name = "OpGroupUMinNonUniformAMD",
 9634                    .opcode = 5003,
 9635                    .operands = &.{
 9636                        .{ .kind = .id_result_type, .quantifier = .required },
 9637                        .{ .kind = .id_result, .quantifier = .required },
 9638                        .{ .kind = .id_scope, .quantifier = .required },
 9639                        .{ .kind = .group_operation, .quantifier = .required },
 9640                        .{ .kind = .id_ref, .quantifier = .required },
 9641                    },
 9642                },
 9643                .{
 9644                    .name = "OpGroupSMinNonUniformAMD",
 9645                    .opcode = 5004,
 9646                    .operands = &.{
 9647                        .{ .kind = .id_result_type, .quantifier = .required },
 9648                        .{ .kind = .id_result, .quantifier = .required },
 9649                        .{ .kind = .id_scope, .quantifier = .required },
 9650                        .{ .kind = .group_operation, .quantifier = .required },
 9651                        .{ .kind = .id_ref, .quantifier = .required },
 9652                    },
 9653                },
 9654                .{
 9655                    .name = "OpGroupFMaxNonUniformAMD",
 9656                    .opcode = 5005,
 9657                    .operands = &.{
 9658                        .{ .kind = .id_result_type, .quantifier = .required },
 9659                        .{ .kind = .id_result, .quantifier = .required },
 9660                        .{ .kind = .id_scope, .quantifier = .required },
 9661                        .{ .kind = .group_operation, .quantifier = .required },
 9662                        .{ .kind = .id_ref, .quantifier = .required },
 9663                    },
 9664                },
 9665                .{
 9666                    .name = "OpGroupUMaxNonUniformAMD",
 9667                    .opcode = 5006,
 9668                    .operands = &.{
 9669                        .{ .kind = .id_result_type, .quantifier = .required },
 9670                        .{ .kind = .id_result, .quantifier = .required },
 9671                        .{ .kind = .id_scope, .quantifier = .required },
 9672                        .{ .kind = .group_operation, .quantifier = .required },
 9673                        .{ .kind = .id_ref, .quantifier = .required },
 9674                    },
 9675                },
 9676                .{
 9677                    .name = "OpGroupSMaxNonUniformAMD",
 9678                    .opcode = 5007,
 9679                    .operands = &.{
 9680                        .{ .kind = .id_result_type, .quantifier = .required },
 9681                        .{ .kind = .id_result, .quantifier = .required },
 9682                        .{ .kind = .id_scope, .quantifier = .required },
 9683                        .{ .kind = .group_operation, .quantifier = .required },
 9684                        .{ .kind = .id_ref, .quantifier = .required },
 9685                    },
 9686                },
 9687                .{
 9688                    .name = "OpFragmentMaskFetchAMD",
 9689                    .opcode = 5011,
 9690                    .operands = &.{
 9691                        .{ .kind = .id_result_type, .quantifier = .required },
 9692                        .{ .kind = .id_result, .quantifier = .required },
 9693                        .{ .kind = .id_ref, .quantifier = .required },
 9694                        .{ .kind = .id_ref, .quantifier = .required },
 9695                    },
 9696                },
 9697                .{
 9698                    .name = "OpFragmentFetchAMD",
 9699                    .opcode = 5012,
 9700                    .operands = &.{
 9701                        .{ .kind = .id_result_type, .quantifier = .required },
 9702                        .{ .kind = .id_result, .quantifier = .required },
 9703                        .{ .kind = .id_ref, .quantifier = .required },
 9704                        .{ .kind = .id_ref, .quantifier = .required },
 9705                        .{ .kind = .id_ref, .quantifier = .required },
 9706                    },
 9707                },
 9708                .{
 9709                    .name = "OpReadClockKHR",
 9710                    .opcode = 5056,
 9711                    .operands = &.{
 9712                        .{ .kind = .id_result_type, .quantifier = .required },
 9713                        .{ .kind = .id_result, .quantifier = .required },
 9714                        .{ .kind = .id_scope, .quantifier = .required },
 9715                    },
 9716                },
 9717                .{
 9718                    .name = "OpAllocateNodePayloadsAMDX",
 9719                    .opcode = 5074,
 9720                    .operands = &.{
 9721                        .{ .kind = .id_result_type, .quantifier = .required },
 9722                        .{ .kind = .id_result, .quantifier = .required },
 9723                        .{ .kind = .id_scope, .quantifier = .required },
 9724                        .{ .kind = .id_ref, .quantifier = .required },
 9725                        .{ .kind = .id_ref, .quantifier = .required },
 9726                    },
 9727                },
 9728                .{
 9729                    .name = "OpEnqueueNodePayloadsAMDX",
 9730                    .opcode = 5075,
 9731                    .operands = &.{
 9732                        .{ .kind = .id_ref, .quantifier = .required },
 9733                    },
 9734                },
 9735                .{
 9736                    .name = "OpTypeNodePayloadArrayAMDX",
 9737                    .opcode = 5076,
 9738                    .operands = &.{
 9739                        .{ .kind = .id_result, .quantifier = .required },
 9740                        .{ .kind = .id_ref, .quantifier = .required },
 9741                    },
 9742                },
 9743                .{
 9744                    .name = "OpFinishWritingNodePayloadAMDX",
 9745                    .opcode = 5078,
 9746                    .operands = &.{
 9747                        .{ .kind = .id_result_type, .quantifier = .required },
 9748                        .{ .kind = .id_result, .quantifier = .required },
 9749                        .{ .kind = .id_ref, .quantifier = .required },
 9750                    },
 9751                },
 9752                .{
 9753                    .name = "OpNodePayloadArrayLengthAMDX",
 9754                    .opcode = 5090,
 9755                    .operands = &.{
 9756                        .{ .kind = .id_result_type, .quantifier = .required },
 9757                        .{ .kind = .id_result, .quantifier = .required },
 9758                        .{ .kind = .id_ref, .quantifier = .required },
 9759                    },
 9760                },
 9761                .{
 9762                    .name = "OpIsNodePayloadValidAMDX",
 9763                    .opcode = 5101,
 9764                    .operands = &.{
 9765                        .{ .kind = .id_result_type, .quantifier = .required },
 9766                        .{ .kind = .id_result, .quantifier = .required },
 9767                        .{ .kind = .id_ref, .quantifier = .required },
 9768                        .{ .kind = .id_ref, .quantifier = .required },
 9769                    },
 9770                },
 9771                .{
 9772                    .name = "OpConstantStringAMDX",
 9773                    .opcode = 5103,
 9774                    .operands = &.{
 9775                        .{ .kind = .id_result, .quantifier = .required },
 9776                        .{ .kind = .literal_string, .quantifier = .required },
 9777                    },
 9778                },
 9779                .{
 9780                    .name = "OpSpecConstantStringAMDX",
 9781                    .opcode = 5104,
 9782                    .operands = &.{
 9783                        .{ .kind = .id_result, .quantifier = .required },
 9784                        .{ .kind = .literal_string, .quantifier = .required },
 9785                    },
 9786                },
 9787                .{
 9788                    .name = "OpGroupNonUniformQuadAllKHR",
 9789                    .opcode = 5110,
 9790                    .operands = &.{
 9791                        .{ .kind = .id_result_type, .quantifier = .required },
 9792                        .{ .kind = .id_result, .quantifier = .required },
 9793                        .{ .kind = .id_ref, .quantifier = .required },
 9794                    },
 9795                },
 9796                .{
 9797                    .name = "OpGroupNonUniformQuadAnyKHR",
 9798                    .opcode = 5111,
 9799                    .operands = &.{
 9800                        .{ .kind = .id_result_type, .quantifier = .required },
 9801                        .{ .kind = .id_result, .quantifier = .required },
 9802                        .{ .kind = .id_ref, .quantifier = .required },
 9803                    },
 9804                },
 9805                .{
 9806                    .name = "OpHitObjectRecordHitMotionNV",
 9807                    .opcode = 5249,
 9808                    .operands = &.{
 9809                        .{ .kind = .id_ref, .quantifier = .required },
 9810                        .{ .kind = .id_ref, .quantifier = .required },
 9811                        .{ .kind = .id_ref, .quantifier = .required },
 9812                        .{ .kind = .id_ref, .quantifier = .required },
 9813                        .{ .kind = .id_ref, .quantifier = .required },
 9814                        .{ .kind = .id_ref, .quantifier = .required },
 9815                        .{ .kind = .id_ref, .quantifier = .required },
 9816                        .{ .kind = .id_ref, .quantifier = .required },
 9817                        .{ .kind = .id_ref, .quantifier = .required },
 9818                        .{ .kind = .id_ref, .quantifier = .required },
 9819                        .{ .kind = .id_ref, .quantifier = .required },
 9820                        .{ .kind = .id_ref, .quantifier = .required },
 9821                        .{ .kind = .id_ref, .quantifier = .required },
 9822                        .{ .kind = .id_ref, .quantifier = .required },
 9823                    },
 9824                },
 9825                .{
 9826                    .name = "OpHitObjectRecordHitWithIndexMotionNV",
 9827                    .opcode = 5250,
 9828                    .operands = &.{
 9829                        .{ .kind = .id_ref, .quantifier = .required },
 9830                        .{ .kind = .id_ref, .quantifier = .required },
 9831                        .{ .kind = .id_ref, .quantifier = .required },
 9832                        .{ .kind = .id_ref, .quantifier = .required },
 9833                        .{ .kind = .id_ref, .quantifier = .required },
 9834                        .{ .kind = .id_ref, .quantifier = .required },
 9835                        .{ .kind = .id_ref, .quantifier = .required },
 9836                        .{ .kind = .id_ref, .quantifier = .required },
 9837                        .{ .kind = .id_ref, .quantifier = .required },
 9838                        .{ .kind = .id_ref, .quantifier = .required },
 9839                        .{ .kind = .id_ref, .quantifier = .required },
 9840                        .{ .kind = .id_ref, .quantifier = .required },
 9841                        .{ .kind = .id_ref, .quantifier = .required },
 9842                    },
 9843                },
 9844                .{
 9845                    .name = "OpHitObjectRecordMissMotionNV",
 9846                    .opcode = 5251,
 9847                    .operands = &.{
 9848                        .{ .kind = .id_ref, .quantifier = .required },
 9849                        .{ .kind = .id_ref, .quantifier = .required },
 9850                        .{ .kind = .id_ref, .quantifier = .required },
 9851                        .{ .kind = .id_ref, .quantifier = .required },
 9852                        .{ .kind = .id_ref, .quantifier = .required },
 9853                        .{ .kind = .id_ref, .quantifier = .required },
 9854                        .{ .kind = .id_ref, .quantifier = .required },
 9855                    },
 9856                },
 9857                .{
 9858                    .name = "OpHitObjectGetWorldToObjectNV",
 9859                    .opcode = 5252,
 9860                    .operands = &.{
 9861                        .{ .kind = .id_result_type, .quantifier = .required },
 9862                        .{ .kind = .id_result, .quantifier = .required },
 9863                        .{ .kind = .id_ref, .quantifier = .required },
 9864                    },
 9865                },
 9866                .{
 9867                    .name = "OpHitObjectGetObjectToWorldNV",
 9868                    .opcode = 5253,
 9869                    .operands = &.{
 9870                        .{ .kind = .id_result_type, .quantifier = .required },
 9871                        .{ .kind = .id_result, .quantifier = .required },
 9872                        .{ .kind = .id_ref, .quantifier = .required },
 9873                    },
 9874                },
 9875                .{
 9876                    .name = "OpHitObjectGetObjectRayDirectionNV",
 9877                    .opcode = 5254,
 9878                    .operands = &.{
 9879                        .{ .kind = .id_result_type, .quantifier = .required },
 9880                        .{ .kind = .id_result, .quantifier = .required },
 9881                        .{ .kind = .id_ref, .quantifier = .required },
 9882                    },
 9883                },
 9884                .{
 9885                    .name = "OpHitObjectGetObjectRayOriginNV",
 9886                    .opcode = 5255,
 9887                    .operands = &.{
 9888                        .{ .kind = .id_result_type, .quantifier = .required },
 9889                        .{ .kind = .id_result, .quantifier = .required },
 9890                        .{ .kind = .id_ref, .quantifier = .required },
 9891                    },
 9892                },
 9893                .{
 9894                    .name = "OpHitObjectTraceRayMotionNV",
 9895                    .opcode = 5256,
 9896                    .operands = &.{
 9897                        .{ .kind = .id_ref, .quantifier = .required },
 9898                        .{ .kind = .id_ref, .quantifier = .required },
 9899                        .{ .kind = .id_ref, .quantifier = .required },
 9900                        .{ .kind = .id_ref, .quantifier = .required },
 9901                        .{ .kind = .id_ref, .quantifier = .required },
 9902                        .{ .kind = .id_ref, .quantifier = .required },
 9903                        .{ .kind = .id_ref, .quantifier = .required },
 9904                        .{ .kind = .id_ref, .quantifier = .required },
 9905                        .{ .kind = .id_ref, .quantifier = .required },
 9906                        .{ .kind = .id_ref, .quantifier = .required },
 9907                        .{ .kind = .id_ref, .quantifier = .required },
 9908                        .{ .kind = .id_ref, .quantifier = .required },
 9909                        .{ .kind = .id_ref, .quantifier = .required },
 9910                    },
 9911                },
 9912                .{
 9913                    .name = "OpHitObjectGetShaderRecordBufferHandleNV",
 9914                    .opcode = 5257,
 9915                    .operands = &.{
 9916                        .{ .kind = .id_result_type, .quantifier = .required },
 9917                        .{ .kind = .id_result, .quantifier = .required },
 9918                        .{ .kind = .id_ref, .quantifier = .required },
 9919                    },
 9920                },
 9921                .{
 9922                    .name = "OpHitObjectGetShaderBindingTableRecordIndexNV",
 9923                    .opcode = 5258,
 9924                    .operands = &.{
 9925                        .{ .kind = .id_result_type, .quantifier = .required },
 9926                        .{ .kind = .id_result, .quantifier = .required },
 9927                        .{ .kind = .id_ref, .quantifier = .required },
 9928                    },
 9929                },
 9930                .{
 9931                    .name = "OpHitObjectRecordEmptyNV",
 9932                    .opcode = 5259,
 9933                    .operands = &.{
 9934                        .{ .kind = .id_ref, .quantifier = .required },
 9935                    },
 9936                },
 9937                .{
 9938                    .name = "OpHitObjectTraceRayNV",
 9939                    .opcode = 5260,
 9940                    .operands = &.{
 9941                        .{ .kind = .id_ref, .quantifier = .required },
 9942                        .{ .kind = .id_ref, .quantifier = .required },
 9943                        .{ .kind = .id_ref, .quantifier = .required },
 9944                        .{ .kind = .id_ref, .quantifier = .required },
 9945                        .{ .kind = .id_ref, .quantifier = .required },
 9946                        .{ .kind = .id_ref, .quantifier = .required },
 9947                        .{ .kind = .id_ref, .quantifier = .required },
 9948                        .{ .kind = .id_ref, .quantifier = .required },
 9949                        .{ .kind = .id_ref, .quantifier = .required },
 9950                        .{ .kind = .id_ref, .quantifier = .required },
 9951                        .{ .kind = .id_ref, .quantifier = .required },
 9952                        .{ .kind = .id_ref, .quantifier = .required },
 9953                    },
 9954                },
 9955                .{
 9956                    .name = "OpHitObjectRecordHitNV",
 9957                    .opcode = 5261,
 9958                    .operands = &.{
 9959                        .{ .kind = .id_ref, .quantifier = .required },
 9960                        .{ .kind = .id_ref, .quantifier = .required },
 9961                        .{ .kind = .id_ref, .quantifier = .required },
 9962                        .{ .kind = .id_ref, .quantifier = .required },
 9963                        .{ .kind = .id_ref, .quantifier = .required },
 9964                        .{ .kind = .id_ref, .quantifier = .required },
 9965                        .{ .kind = .id_ref, .quantifier = .required },
 9966                        .{ .kind = .id_ref, .quantifier = .required },
 9967                        .{ .kind = .id_ref, .quantifier = .required },
 9968                        .{ .kind = .id_ref, .quantifier = .required },
 9969                        .{ .kind = .id_ref, .quantifier = .required },
 9970                        .{ .kind = .id_ref, .quantifier = .required },
 9971                        .{ .kind = .id_ref, .quantifier = .required },
 9972                    },
 9973                },
 9974                .{
 9975                    .name = "OpHitObjectRecordHitWithIndexNV",
 9976                    .opcode = 5262,
 9977                    .operands = &.{
 9978                        .{ .kind = .id_ref, .quantifier = .required },
 9979                        .{ .kind = .id_ref, .quantifier = .required },
 9980                        .{ .kind = .id_ref, .quantifier = .required },
 9981                        .{ .kind = .id_ref, .quantifier = .required },
 9982                        .{ .kind = .id_ref, .quantifier = .required },
 9983                        .{ .kind = .id_ref, .quantifier = .required },
 9984                        .{ .kind = .id_ref, .quantifier = .required },
 9985                        .{ .kind = .id_ref, .quantifier = .required },
 9986                        .{ .kind = .id_ref, .quantifier = .required },
 9987                        .{ .kind = .id_ref, .quantifier = .required },
 9988                        .{ .kind = .id_ref, .quantifier = .required },
 9989                        .{ .kind = .id_ref, .quantifier = .required },
 9990                    },
 9991                },
 9992                .{
 9993                    .name = "OpHitObjectRecordMissNV",
 9994                    .opcode = 5263,
 9995                    .operands = &.{
 9996                        .{ .kind = .id_ref, .quantifier = .required },
 9997                        .{ .kind = .id_ref, .quantifier = .required },
 9998                        .{ .kind = .id_ref, .quantifier = .required },
 9999                        .{ .kind = .id_ref, .quantifier = .required },
10000                        .{ .kind = .id_ref, .quantifier = .required },
10001                        .{ .kind = .id_ref, .quantifier = .required },
10002                    },
10003                },
10004                .{
10005                    .name = "OpHitObjectExecuteShaderNV",
10006                    .opcode = 5264,
10007                    .operands = &.{
10008                        .{ .kind = .id_ref, .quantifier = .required },
10009                        .{ .kind = .id_ref, .quantifier = .required },
10010                    },
10011                },
10012                .{
10013                    .name = "OpHitObjectGetCurrentTimeNV",
10014                    .opcode = 5265,
10015                    .operands = &.{
10016                        .{ .kind = .id_result_type, .quantifier = .required },
10017                        .{ .kind = .id_result, .quantifier = .required },
10018                        .{ .kind = .id_ref, .quantifier = .required },
10019                    },
10020                },
10021                .{
10022                    .name = "OpHitObjectGetAttributesNV",
10023                    .opcode = 5266,
10024                    .operands = &.{
10025                        .{ .kind = .id_ref, .quantifier = .required },
10026                        .{ .kind = .id_ref, .quantifier = .required },
10027                    },
10028                },
10029                .{
10030                    .name = "OpHitObjectGetHitKindNV",
10031                    .opcode = 5267,
10032                    .operands = &.{
10033                        .{ .kind = .id_result_type, .quantifier = .required },
10034                        .{ .kind = .id_result, .quantifier = .required },
10035                        .{ .kind = .id_ref, .quantifier = .required },
10036                    },
10037                },
10038                .{
10039                    .name = "OpHitObjectGetPrimitiveIndexNV",
10040                    .opcode = 5268,
10041                    .operands = &.{
10042                        .{ .kind = .id_result_type, .quantifier = .required },
10043                        .{ .kind = .id_result, .quantifier = .required },
10044                        .{ .kind = .id_ref, .quantifier = .required },
10045                    },
10046                },
10047                .{
10048                    .name = "OpHitObjectGetGeometryIndexNV",
10049                    .opcode = 5269,
10050                    .operands = &.{
10051                        .{ .kind = .id_result_type, .quantifier = .required },
10052                        .{ .kind = .id_result, .quantifier = .required },
10053                        .{ .kind = .id_ref, .quantifier = .required },
10054                    },
10055                },
10056                .{
10057                    .name = "OpHitObjectGetInstanceIdNV",
10058                    .opcode = 5270,
10059                    .operands = &.{
10060                        .{ .kind = .id_result_type, .quantifier = .required },
10061                        .{ .kind = .id_result, .quantifier = .required },
10062                        .{ .kind = .id_ref, .quantifier = .required },
10063                    },
10064                },
10065                .{
10066                    .name = "OpHitObjectGetInstanceCustomIndexNV",
10067                    .opcode = 5271,
10068                    .operands = &.{
10069                        .{ .kind = .id_result_type, .quantifier = .required },
10070                        .{ .kind = .id_result, .quantifier = .required },
10071                        .{ .kind = .id_ref, .quantifier = .required },
10072                    },
10073                },
10074                .{
10075                    .name = "OpHitObjectGetWorldRayDirectionNV",
10076                    .opcode = 5272,
10077                    .operands = &.{
10078                        .{ .kind = .id_result_type, .quantifier = .required },
10079                        .{ .kind = .id_result, .quantifier = .required },
10080                        .{ .kind = .id_ref, .quantifier = .required },
10081                    },
10082                },
10083                .{
10084                    .name = "OpHitObjectGetWorldRayOriginNV",
10085                    .opcode = 5273,
10086                    .operands = &.{
10087                        .{ .kind = .id_result_type, .quantifier = .required },
10088                        .{ .kind = .id_result, .quantifier = .required },
10089                        .{ .kind = .id_ref, .quantifier = .required },
10090                    },
10091                },
10092                .{
10093                    .name = "OpHitObjectGetRayTMaxNV",
10094                    .opcode = 5274,
10095                    .operands = &.{
10096                        .{ .kind = .id_result_type, .quantifier = .required },
10097                        .{ .kind = .id_result, .quantifier = .required },
10098                        .{ .kind = .id_ref, .quantifier = .required },
10099                    },
10100                },
10101                .{
10102                    .name = "OpHitObjectGetRayTMinNV",
10103                    .opcode = 5275,
10104                    .operands = &.{
10105                        .{ .kind = .id_result_type, .quantifier = .required },
10106                        .{ .kind = .id_result, .quantifier = .required },
10107                        .{ .kind = .id_ref, .quantifier = .required },
10108                    },
10109                },
10110                .{
10111                    .name = "OpHitObjectIsEmptyNV",
10112                    .opcode = 5276,
10113                    .operands = &.{
10114                        .{ .kind = .id_result_type, .quantifier = .required },
10115                        .{ .kind = .id_result, .quantifier = .required },
10116                        .{ .kind = .id_ref, .quantifier = .required },
10117                    },
10118                },
10119                .{
10120                    .name = "OpHitObjectIsHitNV",
10121                    .opcode = 5277,
10122                    .operands = &.{
10123                        .{ .kind = .id_result_type, .quantifier = .required },
10124                        .{ .kind = .id_result, .quantifier = .required },
10125                        .{ .kind = .id_ref, .quantifier = .required },
10126                    },
10127                },
10128                .{
10129                    .name = "OpHitObjectIsMissNV",
10130                    .opcode = 5278,
10131                    .operands = &.{
10132                        .{ .kind = .id_result_type, .quantifier = .required },
10133                        .{ .kind = .id_result, .quantifier = .required },
10134                        .{ .kind = .id_ref, .quantifier = .required },
10135                    },
10136                },
10137                .{
10138                    .name = "OpReorderThreadWithHitObjectNV",
10139                    .opcode = 5279,
10140                    .operands = &.{
10141                        .{ .kind = .id_ref, .quantifier = .required },
10142                        .{ .kind = .id_ref, .quantifier = .optional },
10143                        .{ .kind = .id_ref, .quantifier = .optional },
10144                    },
10145                },
10146                .{
10147                    .name = "OpReorderThreadWithHintNV",
10148                    .opcode = 5280,
10149                    .operands = &.{
10150                        .{ .kind = .id_ref, .quantifier = .required },
10151                        .{ .kind = .id_ref, .quantifier = .required },
10152                    },
10153                },
10154                .{
10155                    .name = "OpTypeHitObjectNV",
10156                    .opcode = 5281,
10157                    .operands = &.{
10158                        .{ .kind = .id_result, .quantifier = .required },
10159                    },
10160                },
10161                .{
10162                    .name = "OpImageSampleFootprintNV",
10163                    .opcode = 5283,
10164                    .operands = &.{
10165                        .{ .kind = .id_result_type, .quantifier = .required },
10166                        .{ .kind = .id_result, .quantifier = .required },
10167                        .{ .kind = .id_ref, .quantifier = .required },
10168                        .{ .kind = .id_ref, .quantifier = .required },
10169                        .{ .kind = .id_ref, .quantifier = .required },
10170                        .{ .kind = .id_ref, .quantifier = .required },
10171                        .{ .kind = .image_operands, .quantifier = .optional },
10172                    },
10173                },
10174                .{
10175                    .name = "OpTypeCooperativeVectorNV",
10176                    .opcode = 5288,
10177                    .operands = &.{
10178                        .{ .kind = .id_result, .quantifier = .required },
10179                        .{ .kind = .id_ref, .quantifier = .required },
10180                        .{ .kind = .id_ref, .quantifier = .required },
10181                    },
10182                },
10183                .{
10184                    .name = "OpCooperativeVectorMatrixMulNV",
10185                    .opcode = 5289,
10186                    .operands = &.{
10187                        .{ .kind = .id_result_type, .quantifier = .required },
10188                        .{ .kind = .id_result, .quantifier = .required },
10189                        .{ .kind = .id_ref, .quantifier = .required },
10190                        .{ .kind = .id_ref, .quantifier = .required },
10191                        .{ .kind = .id_ref, .quantifier = .required },
10192                        .{ .kind = .id_ref, .quantifier = .required },
10193                        .{ .kind = .id_ref, .quantifier = .required },
10194                        .{ .kind = .id_ref, .quantifier = .required },
10195                        .{ .kind = .id_ref, .quantifier = .required },
10196                        .{ .kind = .id_ref, .quantifier = .required },
10197                        .{ .kind = .id_ref, .quantifier = .required },
10198                        .{ .kind = .id_ref, .quantifier = .optional },
10199                        .{ .kind = .cooperative_matrix_operands, .quantifier = .optional },
10200                    },
10201                },
10202                .{
10203                    .name = "OpCooperativeVectorOuterProductAccumulateNV",
10204                    .opcode = 5290,
10205                    .operands = &.{
10206                        .{ .kind = .id_ref, .quantifier = .required },
10207                        .{ .kind = .id_ref, .quantifier = .required },
10208                        .{ .kind = .id_ref, .quantifier = .required },
10209                        .{ .kind = .id_ref, .quantifier = .required },
10210                        .{ .kind = .id_ref, .quantifier = .required },
10211                        .{ .kind = .id_ref, .quantifier = .required },
10212                        .{ .kind = .id_ref, .quantifier = .optional },
10213                    },
10214                },
10215                .{
10216                    .name = "OpCooperativeVectorReduceSumAccumulateNV",
10217                    .opcode = 5291,
10218                    .operands = &.{
10219                        .{ .kind = .id_ref, .quantifier = .required },
10220                        .{ .kind = .id_ref, .quantifier = .required },
10221                        .{ .kind = .id_ref, .quantifier = .required },
10222                    },
10223                },
10224                .{
10225                    .name = "OpCooperativeVectorMatrixMulAddNV",
10226                    .opcode = 5292,
10227                    .operands = &.{
10228                        .{ .kind = .id_result_type, .quantifier = .required },
10229                        .{ .kind = .id_result, .quantifier = .required },
10230                        .{ .kind = .id_ref, .quantifier = .required },
10231                        .{ .kind = .id_ref, .quantifier = .required },
10232                        .{ .kind = .id_ref, .quantifier = .required },
10233                        .{ .kind = .id_ref, .quantifier = .required },
10234                        .{ .kind = .id_ref, .quantifier = .required },
10235                        .{ .kind = .id_ref, .quantifier = .required },
10236                        .{ .kind = .id_ref, .quantifier = .required },
10237                        .{ .kind = .id_ref, .quantifier = .required },
10238                        .{ .kind = .id_ref, .quantifier = .required },
10239                        .{ .kind = .id_ref, .quantifier = .required },
10240                        .{ .kind = .id_ref, .quantifier = .required },
10241                        .{ .kind = .id_ref, .quantifier = .required },
10242                        .{ .kind = .id_ref, .quantifier = .optional },
10243                        .{ .kind = .cooperative_matrix_operands, .quantifier = .optional },
10244                    },
10245                },
10246                .{
10247                    .name = "OpCooperativeMatrixConvertNV",
10248                    .opcode = 5293,
10249                    .operands = &.{
10250                        .{ .kind = .id_result_type, .quantifier = .required },
10251                        .{ .kind = .id_result, .quantifier = .required },
10252                        .{ .kind = .id_ref, .quantifier = .required },
10253                    },
10254                },
10255                .{
10256                    .name = "OpEmitMeshTasksEXT",
10257                    .opcode = 5294,
10258                    .operands = &.{
10259                        .{ .kind = .id_ref, .quantifier = .required },
10260                        .{ .kind = .id_ref, .quantifier = .required },
10261                        .{ .kind = .id_ref, .quantifier = .required },
10262                        .{ .kind = .id_ref, .quantifier = .optional },
10263                    },
10264                },
10265                .{
10266                    .name = "OpSetMeshOutputsEXT",
10267                    .opcode = 5295,
10268                    .operands = &.{
10269                        .{ .kind = .id_ref, .quantifier = .required },
10270                        .{ .kind = .id_ref, .quantifier = .required },
10271                    },
10272                },
10273                .{
10274                    .name = "OpGroupNonUniformPartitionNV",
10275                    .opcode = 5296,
10276                    .operands = &.{
10277                        .{ .kind = .id_result_type, .quantifier = .required },
10278                        .{ .kind = .id_result, .quantifier = .required },
10279                        .{ .kind = .id_ref, .quantifier = .required },
10280                    },
10281                },
10282                .{
10283                    .name = "OpWritePackedPrimitiveIndices4x8NV",
10284                    .opcode = 5299,
10285                    .operands = &.{
10286                        .{ .kind = .id_ref, .quantifier = .required },
10287                        .{ .kind = .id_ref, .quantifier = .required },
10288                    },
10289                },
10290                .{
10291                    .name = "OpFetchMicroTriangleVertexPositionNV",
10292                    .opcode = 5300,
10293                    .operands = &.{
10294                        .{ .kind = .id_result_type, .quantifier = .required },
10295                        .{ .kind = .id_result, .quantifier = .required },
10296                        .{ .kind = .id_ref, .quantifier = .required },
10297                        .{ .kind = .id_ref, .quantifier = .required },
10298                        .{ .kind = .id_ref, .quantifier = .required },
10299                        .{ .kind = .id_ref, .quantifier = .required },
10300                        .{ .kind = .id_ref, .quantifier = .required },
10301                    },
10302                },
10303                .{
10304                    .name = "OpFetchMicroTriangleVertexBarycentricNV",
10305                    .opcode = 5301,
10306                    .operands = &.{
10307                        .{ .kind = .id_result_type, .quantifier = .required },
10308                        .{ .kind = .id_result, .quantifier = .required },
10309                        .{ .kind = .id_ref, .quantifier = .required },
10310                        .{ .kind = .id_ref, .quantifier = .required },
10311                        .{ .kind = .id_ref, .quantifier = .required },
10312                        .{ .kind = .id_ref, .quantifier = .required },
10313                        .{ .kind = .id_ref, .quantifier = .required },
10314                    },
10315                },
10316                .{
10317                    .name = "OpCooperativeVectorLoadNV",
10318                    .opcode = 5302,
10319                    .operands = &.{
10320                        .{ .kind = .id_result_type, .quantifier = .required },
10321                        .{ .kind = .id_result, .quantifier = .required },
10322                        .{ .kind = .id_ref, .quantifier = .required },
10323                        .{ .kind = .id_ref, .quantifier = .required },
10324                        .{ .kind = .memory_access, .quantifier = .optional },
10325                    },
10326                },
10327                .{
10328                    .name = "OpCooperativeVectorStoreNV",
10329                    .opcode = 5303,
10330                    .operands = &.{
10331                        .{ .kind = .id_ref, .quantifier = .required },
10332                        .{ .kind = .id_ref, .quantifier = .required },
10333                        .{ .kind = .id_ref, .quantifier = .required },
10334                        .{ .kind = .memory_access, .quantifier = .optional },
10335                    },
10336                },
10337                .{
10338                    .name = "OpReportIntersectionKHR",
10339                    .opcode = 5334,
10340                    .operands = &.{
10341                        .{ .kind = .id_result_type, .quantifier = .required },
10342                        .{ .kind = .id_result, .quantifier = .required },
10343                        .{ .kind = .id_ref, .quantifier = .required },
10344                        .{ .kind = .id_ref, .quantifier = .required },
10345                    },
10346                },
10347                .{
10348                    .name = "OpIgnoreIntersectionNV",
10349                    .opcode = 5335,
10350                    .operands = &.{},
10351                },
10352                .{
10353                    .name = "OpTerminateRayNV",
10354                    .opcode = 5336,
10355                    .operands = &.{},
10356                },
10357                .{
10358                    .name = "OpTraceNV",
10359                    .opcode = 5337,
10360                    .operands = &.{
10361                        .{ .kind = .id_ref, .quantifier = .required },
10362                        .{ .kind = .id_ref, .quantifier = .required },
10363                        .{ .kind = .id_ref, .quantifier = .required },
10364                        .{ .kind = .id_ref, .quantifier = .required },
10365                        .{ .kind = .id_ref, .quantifier = .required },
10366                        .{ .kind = .id_ref, .quantifier = .required },
10367                        .{ .kind = .id_ref, .quantifier = .required },
10368                        .{ .kind = .id_ref, .quantifier = .required },
10369                        .{ .kind = .id_ref, .quantifier = .required },
10370                        .{ .kind = .id_ref, .quantifier = .required },
10371                        .{ .kind = .id_ref, .quantifier = .required },
10372                    },
10373                },
10374                .{
10375                    .name = "OpTraceMotionNV",
10376                    .opcode = 5338,
10377                    .operands = &.{
10378                        .{ .kind = .id_ref, .quantifier = .required },
10379                        .{ .kind = .id_ref, .quantifier = .required },
10380                        .{ .kind = .id_ref, .quantifier = .required },
10381                        .{ .kind = .id_ref, .quantifier = .required },
10382                        .{ .kind = .id_ref, .quantifier = .required },
10383                        .{ .kind = .id_ref, .quantifier = .required },
10384                        .{ .kind = .id_ref, .quantifier = .required },
10385                        .{ .kind = .id_ref, .quantifier = .required },
10386                        .{ .kind = .id_ref, .quantifier = .required },
10387                        .{ .kind = .id_ref, .quantifier = .required },
10388                        .{ .kind = .id_ref, .quantifier = .required },
10389                        .{ .kind = .id_ref, .quantifier = .required },
10390                    },
10391                },
10392                .{
10393                    .name = "OpTraceRayMotionNV",
10394                    .opcode = 5339,
10395                    .operands = &.{
10396                        .{ .kind = .id_ref, .quantifier = .required },
10397                        .{ .kind = .id_ref, .quantifier = .required },
10398                        .{ .kind = .id_ref, .quantifier = .required },
10399                        .{ .kind = .id_ref, .quantifier = .required },
10400                        .{ .kind = .id_ref, .quantifier = .required },
10401                        .{ .kind = .id_ref, .quantifier = .required },
10402                        .{ .kind = .id_ref, .quantifier = .required },
10403                        .{ .kind = .id_ref, .quantifier = .required },
10404                        .{ .kind = .id_ref, .quantifier = .required },
10405                        .{ .kind = .id_ref, .quantifier = .required },
10406                        .{ .kind = .id_ref, .quantifier = .required },
10407                        .{ .kind = .id_ref, .quantifier = .required },
10408                    },
10409                },
10410                .{
10411                    .name = "OpRayQueryGetIntersectionTriangleVertexPositionsKHR",
10412                    .opcode = 5340,
10413                    .operands = &.{
10414                        .{ .kind = .id_result_type, .quantifier = .required },
10415                        .{ .kind = .id_result, .quantifier = .required },
10416                        .{ .kind = .id_ref, .quantifier = .required },
10417                        .{ .kind = .id_ref, .quantifier = .required },
10418                    },
10419                },
10420                .{
10421                    .name = "OpTypeAccelerationStructureKHR",
10422                    .opcode = 5341,
10423                    .operands = &.{
10424                        .{ .kind = .id_result, .quantifier = .required },
10425                    },
10426                },
10427                .{
10428                    .name = "OpExecuteCallableNV",
10429                    .opcode = 5344,
10430                    .operands = &.{
10431                        .{ .kind = .id_ref, .quantifier = .required },
10432                        .{ .kind = .id_ref, .quantifier = .required },
10433                    },
10434                },
10435                .{
10436                    .name = "OpRayQueryGetClusterIdNV",
10437                    .opcode = 5345,
10438                    .operands = &.{
10439                        .{ .kind = .id_result_type, .quantifier = .required },
10440                        .{ .kind = .id_result, .quantifier = .required },
10441                        .{ .kind = .id_ref, .quantifier = .required },
10442                        .{ .kind = .id_ref, .quantifier = .required },
10443                    },
10444                },
10445                .{
10446                    .name = "OpHitObjectGetClusterIdNV",
10447                    .opcode = 5346,
10448                    .operands = &.{
10449                        .{ .kind = .id_result_type, .quantifier = .required },
10450                        .{ .kind = .id_result, .quantifier = .required },
10451                        .{ .kind = .id_ref, .quantifier = .required },
10452                    },
10453                },
10454                .{
10455                    .name = "OpTypeCooperativeMatrixNV",
10456                    .opcode = 5358,
10457                    .operands = &.{
10458                        .{ .kind = .id_result, .quantifier = .required },
10459                        .{ .kind = .id_ref, .quantifier = .required },
10460                        .{ .kind = .id_scope, .quantifier = .required },
10461                        .{ .kind = .id_ref, .quantifier = .required },
10462                        .{ .kind = .id_ref, .quantifier = .required },
10463                    },
10464                },
10465                .{
10466                    .name = "OpCooperativeMatrixLoadNV",
10467                    .opcode = 5359,
10468                    .operands = &.{
10469                        .{ .kind = .id_result_type, .quantifier = .required },
10470                        .{ .kind = .id_result, .quantifier = .required },
10471                        .{ .kind = .id_ref, .quantifier = .required },
10472                        .{ .kind = .id_ref, .quantifier = .required },
10473                        .{ .kind = .id_ref, .quantifier = .required },
10474                        .{ .kind = .memory_access, .quantifier = .optional },
10475                    },
10476                },
10477                .{
10478                    .name = "OpCooperativeMatrixStoreNV",
10479                    .opcode = 5360,
10480                    .operands = &.{
10481                        .{ .kind = .id_ref, .quantifier = .required },
10482                        .{ .kind = .id_ref, .quantifier = .required },
10483                        .{ .kind = .id_ref, .quantifier = .required },
10484                        .{ .kind = .id_ref, .quantifier = .required },
10485                        .{ .kind = .memory_access, .quantifier = .optional },
10486                    },
10487                },
10488                .{
10489                    .name = "OpCooperativeMatrixMulAddNV",
10490                    .opcode = 5361,
10491                    .operands = &.{
10492                        .{ .kind = .id_result_type, .quantifier = .required },
10493                        .{ .kind = .id_result, .quantifier = .required },
10494                        .{ .kind = .id_ref, .quantifier = .required },
10495                        .{ .kind = .id_ref, .quantifier = .required },
10496                        .{ .kind = .id_ref, .quantifier = .required },
10497                    },
10498                },
10499                .{
10500                    .name = "OpCooperativeMatrixLengthNV",
10501                    .opcode = 5362,
10502                    .operands = &.{
10503                        .{ .kind = .id_result_type, .quantifier = .required },
10504                        .{ .kind = .id_result, .quantifier = .required },
10505                        .{ .kind = .id_ref, .quantifier = .required },
10506                    },
10507                },
10508                .{
10509                    .name = "OpBeginInvocationInterlockEXT",
10510                    .opcode = 5364,
10511                    .operands = &.{},
10512                },
10513                .{
10514                    .name = "OpEndInvocationInterlockEXT",
10515                    .opcode = 5365,
10516                    .operands = &.{},
10517                },
10518                .{
10519                    .name = "OpCooperativeMatrixReduceNV",
10520                    .opcode = 5366,
10521                    .operands = &.{
10522                        .{ .kind = .id_result_type, .quantifier = .required },
10523                        .{ .kind = .id_result, .quantifier = .required },
10524                        .{ .kind = .id_ref, .quantifier = .required },
10525                        .{ .kind = .cooperative_matrix_reduce, .quantifier = .required },
10526                        .{ .kind = .id_ref, .quantifier = .required },
10527                    },
10528                },
10529                .{
10530                    .name = "OpCooperativeMatrixLoadTensorNV",
10531                    .opcode = 5367,
10532                    .operands = &.{
10533                        .{ .kind = .id_result_type, .quantifier = .required },
10534                        .{ .kind = .id_result, .quantifier = .required },
10535                        .{ .kind = .id_ref, .quantifier = .required },
10536                        .{ .kind = .id_ref, .quantifier = .required },
10537                        .{ .kind = .id_ref, .quantifier = .required },
10538                        .{ .kind = .memory_access, .quantifier = .required },
10539                        .{ .kind = .tensor_addressing_operands, .quantifier = .required },
10540                    },
10541                },
10542                .{
10543                    .name = "OpCooperativeMatrixStoreTensorNV",
10544                    .opcode = 5368,
10545                    .operands = &.{
10546                        .{ .kind = .id_ref, .quantifier = .required },
10547                        .{ .kind = .id_ref, .quantifier = .required },
10548                        .{ .kind = .id_ref, .quantifier = .required },
10549                        .{ .kind = .memory_access, .quantifier = .required },
10550                        .{ .kind = .tensor_addressing_operands, .quantifier = .required },
10551                    },
10552                },
10553                .{
10554                    .name = "OpCooperativeMatrixPerElementOpNV",
10555                    .opcode = 5369,
10556                    .operands = &.{
10557                        .{ .kind = .id_result_type, .quantifier = .required },
10558                        .{ .kind = .id_result, .quantifier = .required },
10559                        .{ .kind = .id_ref, .quantifier = .required },
10560                        .{ .kind = .id_ref, .quantifier = .required },
10561                        .{ .kind = .id_ref, .quantifier = .variadic },
10562                    },
10563                },
10564                .{
10565                    .name = "OpTypeTensorLayoutNV",
10566                    .opcode = 5370,
10567                    .operands = &.{
10568                        .{ .kind = .id_result, .quantifier = .required },
10569                        .{ .kind = .id_ref, .quantifier = .required },
10570                        .{ .kind = .id_ref, .quantifier = .required },
10571                    },
10572                },
10573                .{
10574                    .name = "OpTypeTensorViewNV",
10575                    .opcode = 5371,
10576                    .operands = &.{
10577                        .{ .kind = .id_result, .quantifier = .required },
10578                        .{ .kind = .id_ref, .quantifier = .required },
10579                        .{ .kind = .id_ref, .quantifier = .required },
10580                        .{ .kind = .id_ref, .quantifier = .variadic },
10581                    },
10582                },
10583                .{
10584                    .name = "OpCreateTensorLayoutNV",
10585                    .opcode = 5372,
10586                    .operands = &.{
10587                        .{ .kind = .id_result_type, .quantifier = .required },
10588                        .{ .kind = .id_result, .quantifier = .required },
10589                    },
10590                },
10591                .{
10592                    .name = "OpTensorLayoutSetDimensionNV",
10593                    .opcode = 5373,
10594                    .operands = &.{
10595                        .{ .kind = .id_result_type, .quantifier = .required },
10596                        .{ .kind = .id_result, .quantifier = .required },
10597                        .{ .kind = .id_ref, .quantifier = .required },
10598                        .{ .kind = .id_ref, .quantifier = .variadic },
10599                    },
10600                },
10601                .{
10602                    .name = "OpTensorLayoutSetStrideNV",
10603                    .opcode = 5374,
10604                    .operands = &.{
10605                        .{ .kind = .id_result_type, .quantifier = .required },
10606                        .{ .kind = .id_result, .quantifier = .required },
10607                        .{ .kind = .id_ref, .quantifier = .required },
10608                        .{ .kind = .id_ref, .quantifier = .variadic },
10609                    },
10610                },
10611                .{
10612                    .name = "OpTensorLayoutSliceNV",
10613                    .opcode = 5375,
10614                    .operands = &.{
10615                        .{ .kind = .id_result_type, .quantifier = .required },
10616                        .{ .kind = .id_result, .quantifier = .required },
10617                        .{ .kind = .id_ref, .quantifier = .required },
10618                        .{ .kind = .id_ref, .quantifier = .variadic },
10619                    },
10620                },
10621                .{
10622                    .name = "OpTensorLayoutSetClampValueNV",
10623                    .opcode = 5376,
10624                    .operands = &.{
10625                        .{ .kind = .id_result_type, .quantifier = .required },
10626                        .{ .kind = .id_result, .quantifier = .required },
10627                        .{ .kind = .id_ref, .quantifier = .required },
10628                        .{ .kind = .id_ref, .quantifier = .required },
10629                    },
10630                },
10631                .{
10632                    .name = "OpCreateTensorViewNV",
10633                    .opcode = 5377,
10634                    .operands = &.{
10635                        .{ .kind = .id_result_type, .quantifier = .required },
10636                        .{ .kind = .id_result, .quantifier = .required },
10637                    },
10638                },
10639                .{
10640                    .name = "OpTensorViewSetDimensionNV",
10641                    .opcode = 5378,
10642                    .operands = &.{
10643                        .{ .kind = .id_result_type, .quantifier = .required },
10644                        .{ .kind = .id_result, .quantifier = .required },
10645                        .{ .kind = .id_ref, .quantifier = .required },
10646                        .{ .kind = .id_ref, .quantifier = .variadic },
10647                    },
10648                },
10649                .{
10650                    .name = "OpTensorViewSetStrideNV",
10651                    .opcode = 5379,
10652                    .operands = &.{
10653                        .{ .kind = .id_result_type, .quantifier = .required },
10654                        .{ .kind = .id_result, .quantifier = .required },
10655                        .{ .kind = .id_ref, .quantifier = .required },
10656                        .{ .kind = .id_ref, .quantifier = .variadic },
10657                    },
10658                },
10659                .{
10660                    .name = "OpDemoteToHelperInvocation",
10661                    .opcode = 5380,
10662                    .operands = &.{},
10663                },
10664                .{
10665                    .name = "OpIsHelperInvocationEXT",
10666                    .opcode = 5381,
10667                    .operands = &.{
10668                        .{ .kind = .id_result_type, .quantifier = .required },
10669                        .{ .kind = .id_result, .quantifier = .required },
10670                    },
10671                },
10672                .{
10673                    .name = "OpTensorViewSetClipNV",
10674                    .opcode = 5382,
10675                    .operands = &.{
10676                        .{ .kind = .id_result_type, .quantifier = .required },
10677                        .{ .kind = .id_result, .quantifier = .required },
10678                        .{ .kind = .id_ref, .quantifier = .required },
10679                        .{ .kind = .id_ref, .quantifier = .required },
10680                        .{ .kind = .id_ref, .quantifier = .required },
10681                        .{ .kind = .id_ref, .quantifier = .required },
10682                        .{ .kind = .id_ref, .quantifier = .required },
10683                    },
10684                },
10685                .{
10686                    .name = "OpTensorLayoutSetBlockSizeNV",
10687                    .opcode = 5384,
10688                    .operands = &.{
10689                        .{ .kind = .id_result_type, .quantifier = .required },
10690                        .{ .kind = .id_result, .quantifier = .required },
10691                        .{ .kind = .id_ref, .quantifier = .required },
10692                        .{ .kind = .id_ref, .quantifier = .variadic },
10693                    },
10694                },
10695                .{
10696                    .name = "OpCooperativeMatrixTransposeNV",
10697                    .opcode = 5390,
10698                    .operands = &.{
10699                        .{ .kind = .id_result_type, .quantifier = .required },
10700                        .{ .kind = .id_result, .quantifier = .required },
10701                        .{ .kind = .id_ref, .quantifier = .required },
10702                    },
10703                },
10704                .{
10705                    .name = "OpConvertUToImageNV",
10706                    .opcode = 5391,
10707                    .operands = &.{
10708                        .{ .kind = .id_result_type, .quantifier = .required },
10709                        .{ .kind = .id_result, .quantifier = .required },
10710                        .{ .kind = .id_ref, .quantifier = .required },
10711                    },
10712                },
10713                .{
10714                    .name = "OpConvertUToSamplerNV",
10715                    .opcode = 5392,
10716                    .operands = &.{
10717                        .{ .kind = .id_result_type, .quantifier = .required },
10718                        .{ .kind = .id_result, .quantifier = .required },
10719                        .{ .kind = .id_ref, .quantifier = .required },
10720                    },
10721                },
10722                .{
10723                    .name = "OpConvertImageToUNV",
10724                    .opcode = 5393,
10725                    .operands = &.{
10726                        .{ .kind = .id_result_type, .quantifier = .required },
10727                        .{ .kind = .id_result, .quantifier = .required },
10728                        .{ .kind = .id_ref, .quantifier = .required },
10729                    },
10730                },
10731                .{
10732                    .name = "OpConvertSamplerToUNV",
10733                    .opcode = 5394,
10734                    .operands = &.{
10735                        .{ .kind = .id_result_type, .quantifier = .required },
10736                        .{ .kind = .id_result, .quantifier = .required },
10737                        .{ .kind = .id_ref, .quantifier = .required },
10738                    },
10739                },
10740                .{
10741                    .name = "OpConvertUToSampledImageNV",
10742                    .opcode = 5395,
10743                    .operands = &.{
10744                        .{ .kind = .id_result_type, .quantifier = .required },
10745                        .{ .kind = .id_result, .quantifier = .required },
10746                        .{ .kind = .id_ref, .quantifier = .required },
10747                    },
10748                },
10749                .{
10750                    .name = "OpConvertSampledImageToUNV",
10751                    .opcode = 5396,
10752                    .operands = &.{
10753                        .{ .kind = .id_result_type, .quantifier = .required },
10754                        .{ .kind = .id_result, .quantifier = .required },
10755                        .{ .kind = .id_ref, .quantifier = .required },
10756                    },
10757                },
10758                .{
10759                    .name = "OpSamplerImageAddressingModeNV",
10760                    .opcode = 5397,
10761                    .operands = &.{
10762                        .{ .kind = .literal_integer, .quantifier = .required },
10763                    },
10764                },
10765                .{
10766                    .name = "OpRawAccessChainNV",
10767                    .opcode = 5398,
10768                    .operands = &.{
10769                        .{ .kind = .id_result_type, .quantifier = .required },
10770                        .{ .kind = .id_result, .quantifier = .required },
10771                        .{ .kind = .id_ref, .quantifier = .required },
10772                        .{ .kind = .id_ref, .quantifier = .required },
10773                        .{ .kind = .id_ref, .quantifier = .required },
10774                        .{ .kind = .id_ref, .quantifier = .required },
10775                        .{ .kind = .raw_access_chain_operands, .quantifier = .optional },
10776                    },
10777                },
10778                .{
10779                    .name = "OpRayQueryGetIntersectionSpherePositionNV",
10780                    .opcode = 5427,
10781                    .operands = &.{
10782                        .{ .kind = .id_result_type, .quantifier = .required },
10783                        .{ .kind = .id_result, .quantifier = .required },
10784                        .{ .kind = .id_ref, .quantifier = .required },
10785                        .{ .kind = .id_ref, .quantifier = .required },
10786                    },
10787                },
10788                .{
10789                    .name = "OpRayQueryGetIntersectionSphereRadiusNV",
10790                    .opcode = 5428,
10791                    .operands = &.{
10792                        .{ .kind = .id_result_type, .quantifier = .required },
10793                        .{ .kind = .id_result, .quantifier = .required },
10794                        .{ .kind = .id_ref, .quantifier = .required },
10795                        .{ .kind = .id_ref, .quantifier = .required },
10796                    },
10797                },
10798                .{
10799                    .name = "OpRayQueryGetIntersectionLSSPositionsNV",
10800                    .opcode = 5429,
10801                    .operands = &.{
10802                        .{ .kind = .id_result_type, .quantifier = .required },
10803                        .{ .kind = .id_result, .quantifier = .required },
10804                        .{ .kind = .id_ref, .quantifier = .required },
10805                        .{ .kind = .id_ref, .quantifier = .required },
10806                    },
10807                },
10808                .{
10809                    .name = "OpRayQueryGetIntersectionLSSRadiiNV",
10810                    .opcode = 5430,
10811                    .operands = &.{
10812                        .{ .kind = .id_result_type, .quantifier = .required },
10813                        .{ .kind = .id_result, .quantifier = .required },
10814                        .{ .kind = .id_ref, .quantifier = .required },
10815                        .{ .kind = .id_ref, .quantifier = .required },
10816                    },
10817                },
10818                .{
10819                    .name = "OpRayQueryGetIntersectionLSSHitValueNV",
10820                    .opcode = 5431,
10821                    .operands = &.{
10822                        .{ .kind = .id_result_type, .quantifier = .required },
10823                        .{ .kind = .id_result, .quantifier = .required },
10824                        .{ .kind = .id_ref, .quantifier = .required },
10825                        .{ .kind = .id_ref, .quantifier = .required },
10826                    },
10827                },
10828                .{
10829                    .name = "OpHitObjectGetSpherePositionNV",
10830                    .opcode = 5432,
10831                    .operands = &.{
10832                        .{ .kind = .id_result_type, .quantifier = .required },
10833                        .{ .kind = .id_result, .quantifier = .required },
10834                        .{ .kind = .id_ref, .quantifier = .required },
10835                    },
10836                },
10837                .{
10838                    .name = "OpHitObjectGetSphereRadiusNV",
10839                    .opcode = 5433,
10840                    .operands = &.{
10841                        .{ .kind = .id_result_type, .quantifier = .required },
10842                        .{ .kind = .id_result, .quantifier = .required },
10843                        .{ .kind = .id_ref, .quantifier = .required },
10844                    },
10845                },
10846                .{
10847                    .name = "OpHitObjectGetLSSPositionsNV",
10848                    .opcode = 5434,
10849                    .operands = &.{
10850                        .{ .kind = .id_result_type, .quantifier = .required },
10851                        .{ .kind = .id_result, .quantifier = .required },
10852                        .{ .kind = .id_ref, .quantifier = .required },
10853                    },
10854                },
10855                .{
10856                    .name = "OpHitObjectGetLSSRadiiNV",
10857                    .opcode = 5435,
10858                    .operands = &.{
10859                        .{ .kind = .id_result_type, .quantifier = .required },
10860                        .{ .kind = .id_result, .quantifier = .required },
10861                        .{ .kind = .id_ref, .quantifier = .required },
10862                    },
10863                },
10864                .{
10865                    .name = "OpHitObjectIsSphereHitNV",
10866                    .opcode = 5436,
10867                    .operands = &.{
10868                        .{ .kind = .id_result_type, .quantifier = .required },
10869                        .{ .kind = .id_result, .quantifier = .required },
10870                        .{ .kind = .id_ref, .quantifier = .required },
10871                    },
10872                },
10873                .{
10874                    .name = "OpHitObjectIsLSSHitNV",
10875                    .opcode = 5437,
10876                    .operands = &.{
10877                        .{ .kind = .id_result_type, .quantifier = .required },
10878                        .{ .kind = .id_result, .quantifier = .required },
10879                        .{ .kind = .id_ref, .quantifier = .required },
10880                    },
10881                },
10882                .{
10883                    .name = "OpRayQueryIsSphereHitNV",
10884                    .opcode = 5438,
10885                    .operands = &.{
10886                        .{ .kind = .id_result_type, .quantifier = .required },
10887                        .{ .kind = .id_result, .quantifier = .required },
10888                        .{ .kind = .id_ref, .quantifier = .required },
10889                        .{ .kind = .id_ref, .quantifier = .required },
10890                    },
10891                },
10892                .{
10893                    .name = "OpRayQueryIsLSSHitNV",
10894                    .opcode = 5439,
10895                    .operands = &.{
10896                        .{ .kind = .id_result_type, .quantifier = .required },
10897                        .{ .kind = .id_result, .quantifier = .required },
10898                        .{ .kind = .id_ref, .quantifier = .required },
10899                        .{ .kind = .id_ref, .quantifier = .required },
10900                    },
10901                },
10902                .{
10903                    .name = "OpSubgroupShuffleINTEL",
10904                    .opcode = 5571,
10905                    .operands = &.{
10906                        .{ .kind = .id_result_type, .quantifier = .required },
10907                        .{ .kind = .id_result, .quantifier = .required },
10908                        .{ .kind = .id_ref, .quantifier = .required },
10909                        .{ .kind = .id_ref, .quantifier = .required },
10910                    },
10911                },
10912                .{
10913                    .name = "OpSubgroupShuffleDownINTEL",
10914                    .opcode = 5572,
10915                    .operands = &.{
10916                        .{ .kind = .id_result_type, .quantifier = .required },
10917                        .{ .kind = .id_result, .quantifier = .required },
10918                        .{ .kind = .id_ref, .quantifier = .required },
10919                        .{ .kind = .id_ref, .quantifier = .required },
10920                        .{ .kind = .id_ref, .quantifier = .required },
10921                    },
10922                },
10923                .{
10924                    .name = "OpSubgroupShuffleUpINTEL",
10925                    .opcode = 5573,
10926                    .operands = &.{
10927                        .{ .kind = .id_result_type, .quantifier = .required },
10928                        .{ .kind = .id_result, .quantifier = .required },
10929                        .{ .kind = .id_ref, .quantifier = .required },
10930                        .{ .kind = .id_ref, .quantifier = .required },
10931                        .{ .kind = .id_ref, .quantifier = .required },
10932                    },
10933                },
10934                .{
10935                    .name = "OpSubgroupShuffleXorINTEL",
10936                    .opcode = 5574,
10937                    .operands = &.{
10938                        .{ .kind = .id_result_type, .quantifier = .required },
10939                        .{ .kind = .id_result, .quantifier = .required },
10940                        .{ .kind = .id_ref, .quantifier = .required },
10941                        .{ .kind = .id_ref, .quantifier = .required },
10942                    },
10943                },
10944                .{
10945                    .name = "OpSubgroupBlockReadINTEL",
10946                    .opcode = 5575,
10947                    .operands = &.{
10948                        .{ .kind = .id_result_type, .quantifier = .required },
10949                        .{ .kind = .id_result, .quantifier = .required },
10950                        .{ .kind = .id_ref, .quantifier = .required },
10951                    },
10952                },
10953                .{
10954                    .name = "OpSubgroupBlockWriteINTEL",
10955                    .opcode = 5576,
10956                    .operands = &.{
10957                        .{ .kind = .id_ref, .quantifier = .required },
10958                        .{ .kind = .id_ref, .quantifier = .required },
10959                    },
10960                },
10961                .{
10962                    .name = "OpSubgroupImageBlockReadINTEL",
10963                    .opcode = 5577,
10964                    .operands = &.{
10965                        .{ .kind = .id_result_type, .quantifier = .required },
10966                        .{ .kind = .id_result, .quantifier = .required },
10967                        .{ .kind = .id_ref, .quantifier = .required },
10968                        .{ .kind = .id_ref, .quantifier = .required },
10969                    },
10970                },
10971                .{
10972                    .name = "OpSubgroupImageBlockWriteINTEL",
10973                    .opcode = 5578,
10974                    .operands = &.{
10975                        .{ .kind = .id_ref, .quantifier = .required },
10976                        .{ .kind = .id_ref, .quantifier = .required },
10977                        .{ .kind = .id_ref, .quantifier = .required },
10978                    },
10979                },
10980                .{
10981                    .name = "OpSubgroupImageMediaBlockReadINTEL",
10982                    .opcode = 5580,
10983                    .operands = &.{
10984                        .{ .kind = .id_result_type, .quantifier = .required },
10985                        .{ .kind = .id_result, .quantifier = .required },
10986                        .{ .kind = .id_ref, .quantifier = .required },
10987                        .{ .kind = .id_ref, .quantifier = .required },
10988                        .{ .kind = .id_ref, .quantifier = .required },
10989                        .{ .kind = .id_ref, .quantifier = .required },
10990                    },
10991                },
10992                .{
10993                    .name = "OpSubgroupImageMediaBlockWriteINTEL",
10994                    .opcode = 5581,
10995                    .operands = &.{
10996                        .{ .kind = .id_ref, .quantifier = .required },
10997                        .{ .kind = .id_ref, .quantifier = .required },
10998                        .{ .kind = .id_ref, .quantifier = .required },
10999                        .{ .kind = .id_ref, .quantifier = .required },
11000                        .{ .kind = .id_ref, .quantifier = .required },
11001                    },
11002                },
11003                .{
11004                    .name = "OpUCountLeadingZerosINTEL",
11005                    .opcode = 5585,
11006                    .operands = &.{
11007                        .{ .kind = .id_result_type, .quantifier = .required },
11008                        .{ .kind = .id_result, .quantifier = .required },
11009                        .{ .kind = .id_ref, .quantifier = .required },
11010                    },
11011                },
11012                .{
11013                    .name = "OpUCountTrailingZerosINTEL",
11014                    .opcode = 5586,
11015                    .operands = &.{
11016                        .{ .kind = .id_result_type, .quantifier = .required },
11017                        .{ .kind = .id_result, .quantifier = .required },
11018                        .{ .kind = .id_ref, .quantifier = .required },
11019                    },
11020                },
11021                .{
11022                    .name = "OpAbsISubINTEL",
11023                    .opcode = 5587,
11024                    .operands = &.{
11025                        .{ .kind = .id_result_type, .quantifier = .required },
11026                        .{ .kind = .id_result, .quantifier = .required },
11027                        .{ .kind = .id_ref, .quantifier = .required },
11028                        .{ .kind = .id_ref, .quantifier = .required },
11029                    },
11030                },
11031                .{
11032                    .name = "OpAbsUSubINTEL",
11033                    .opcode = 5588,
11034                    .operands = &.{
11035                        .{ .kind = .id_result_type, .quantifier = .required },
11036                        .{ .kind = .id_result, .quantifier = .required },
11037                        .{ .kind = .id_ref, .quantifier = .required },
11038                        .{ .kind = .id_ref, .quantifier = .required },
11039                    },
11040                },
11041                .{
11042                    .name = "OpIAddSatINTEL",
11043                    .opcode = 5589,
11044                    .operands = &.{
11045                        .{ .kind = .id_result_type, .quantifier = .required },
11046                        .{ .kind = .id_result, .quantifier = .required },
11047                        .{ .kind = .id_ref, .quantifier = .required },
11048                        .{ .kind = .id_ref, .quantifier = .required },
11049                    },
11050                },
11051                .{
11052                    .name = "OpUAddSatINTEL",
11053                    .opcode = 5590,
11054                    .operands = &.{
11055                        .{ .kind = .id_result_type, .quantifier = .required },
11056                        .{ .kind = .id_result, .quantifier = .required },
11057                        .{ .kind = .id_ref, .quantifier = .required },
11058                        .{ .kind = .id_ref, .quantifier = .required },
11059                    },
11060                },
11061                .{
11062                    .name = "OpIAverageINTEL",
11063                    .opcode = 5591,
11064                    .operands = &.{
11065                        .{ .kind = .id_result_type, .quantifier = .required },
11066                        .{ .kind = .id_result, .quantifier = .required },
11067                        .{ .kind = .id_ref, .quantifier = .required },
11068                        .{ .kind = .id_ref, .quantifier = .required },
11069                    },
11070                },
11071                .{
11072                    .name = "OpUAverageINTEL",
11073                    .opcode = 5592,
11074                    .operands = &.{
11075                        .{ .kind = .id_result_type, .quantifier = .required },
11076                        .{ .kind = .id_result, .quantifier = .required },
11077                        .{ .kind = .id_ref, .quantifier = .required },
11078                        .{ .kind = .id_ref, .quantifier = .required },
11079                    },
11080                },
11081                .{
11082                    .name = "OpIAverageRoundedINTEL",
11083                    .opcode = 5593,
11084                    .operands = &.{
11085                        .{ .kind = .id_result_type, .quantifier = .required },
11086                        .{ .kind = .id_result, .quantifier = .required },
11087                        .{ .kind = .id_ref, .quantifier = .required },
11088                        .{ .kind = .id_ref, .quantifier = .required },
11089                    },
11090                },
11091                .{
11092                    .name = "OpUAverageRoundedINTEL",
11093                    .opcode = 5594,
11094                    .operands = &.{
11095                        .{ .kind = .id_result_type, .quantifier = .required },
11096                        .{ .kind = .id_result, .quantifier = .required },
11097                        .{ .kind = .id_ref, .quantifier = .required },
11098                        .{ .kind = .id_ref, .quantifier = .required },
11099                    },
11100                },
11101                .{
11102                    .name = "OpISubSatINTEL",
11103                    .opcode = 5595,
11104                    .operands = &.{
11105                        .{ .kind = .id_result_type, .quantifier = .required },
11106                        .{ .kind = .id_result, .quantifier = .required },
11107                        .{ .kind = .id_ref, .quantifier = .required },
11108                        .{ .kind = .id_ref, .quantifier = .required },
11109                    },
11110                },
11111                .{
11112                    .name = "OpUSubSatINTEL",
11113                    .opcode = 5596,
11114                    .operands = &.{
11115                        .{ .kind = .id_result_type, .quantifier = .required },
11116                        .{ .kind = .id_result, .quantifier = .required },
11117                        .{ .kind = .id_ref, .quantifier = .required },
11118                        .{ .kind = .id_ref, .quantifier = .required },
11119                    },
11120                },
11121                .{
11122                    .name = "OpIMul32x16INTEL",
11123                    .opcode = 5597,
11124                    .operands = &.{
11125                        .{ .kind = .id_result_type, .quantifier = .required },
11126                        .{ .kind = .id_result, .quantifier = .required },
11127                        .{ .kind = .id_ref, .quantifier = .required },
11128                        .{ .kind = .id_ref, .quantifier = .required },
11129                    },
11130                },
11131                .{
11132                    .name = "OpUMul32x16INTEL",
11133                    .opcode = 5598,
11134                    .operands = &.{
11135                        .{ .kind = .id_result_type, .quantifier = .required },
11136                        .{ .kind = .id_result, .quantifier = .required },
11137                        .{ .kind = .id_ref, .quantifier = .required },
11138                        .{ .kind = .id_ref, .quantifier = .required },
11139                    },
11140                },
11141                .{
11142                    .name = "OpConstantFunctionPointerINTEL",
11143                    .opcode = 5600,
11144                    .operands = &.{
11145                        .{ .kind = .id_result_type, .quantifier = .required },
11146                        .{ .kind = .id_result, .quantifier = .required },
11147                        .{ .kind = .id_ref, .quantifier = .required },
11148                    },
11149                },
11150                .{
11151                    .name = "OpFunctionPointerCallINTEL",
11152                    .opcode = 5601,
11153                    .operands = &.{
11154                        .{ .kind = .id_result_type, .quantifier = .required },
11155                        .{ .kind = .id_result, .quantifier = .required },
11156                        .{ .kind = .id_ref, .quantifier = .variadic },
11157                    },
11158                },
11159                .{
11160                    .name = "OpAsmTargetINTEL",
11161                    .opcode = 5609,
11162                    .operands = &.{
11163                        .{ .kind = .id_result, .quantifier = .required },
11164                        .{ .kind = .literal_string, .quantifier = .required },
11165                    },
11166                },
11167                .{
11168                    .name = "OpAsmINTEL",
11169                    .opcode = 5610,
11170                    .operands = &.{
11171                        .{ .kind = .id_result_type, .quantifier = .required },
11172                        .{ .kind = .id_result, .quantifier = .required },
11173                        .{ .kind = .id_ref, .quantifier = .required },
11174                        .{ .kind = .id_ref, .quantifier = .required },
11175                        .{ .kind = .literal_string, .quantifier = .required },
11176                        .{ .kind = .literal_string, .quantifier = .required },
11177                    },
11178                },
11179                .{
11180                    .name = "OpAsmCallINTEL",
11181                    .opcode = 5611,
11182                    .operands = &.{
11183                        .{ .kind = .id_result_type, .quantifier = .required },
11184                        .{ .kind = .id_result, .quantifier = .required },
11185                        .{ .kind = .id_ref, .quantifier = .required },
11186                        .{ .kind = .id_ref, .quantifier = .variadic },
11187                    },
11188                },
11189                .{
11190                    .name = "OpAtomicFMinEXT",
11191                    .opcode = 5614,
11192                    .operands = &.{
11193                        .{ .kind = .id_result_type, .quantifier = .required },
11194                        .{ .kind = .id_result, .quantifier = .required },
11195                        .{ .kind = .id_ref, .quantifier = .required },
11196                        .{ .kind = .id_scope, .quantifier = .required },
11197                        .{ .kind = .id_memory_semantics, .quantifier = .required },
11198                        .{ .kind = .id_ref, .quantifier = .required },
11199                    },
11200                },
11201                .{
11202                    .name = "OpAtomicFMaxEXT",
11203                    .opcode = 5615,
11204                    .operands = &.{
11205                        .{ .kind = .id_result_type, .quantifier = .required },
11206                        .{ .kind = .id_result, .quantifier = .required },
11207                        .{ .kind = .id_ref, .quantifier = .required },
11208                        .{ .kind = .id_scope, .quantifier = .required },
11209                        .{ .kind = .id_memory_semantics, .quantifier = .required },
11210                        .{ .kind = .id_ref, .quantifier = .required },
11211                    },
11212                },
11213                .{
11214                    .name = "OpAssumeTrueKHR",
11215                    .opcode = 5630,
11216                    .operands = &.{
11217                        .{ .kind = .id_ref, .quantifier = .required },
11218                    },
11219                },
11220                .{
11221                    .name = "OpExpectKHR",
11222                    .opcode = 5631,
11223                    .operands = &.{
11224                        .{ .kind = .id_result_type, .quantifier = .required },
11225                        .{ .kind = .id_result, .quantifier = .required },
11226                        .{ .kind = .id_ref, .quantifier = .required },
11227                        .{ .kind = .id_ref, .quantifier = .required },
11228                    },
11229                },
11230                .{
11231                    .name = "OpDecorateString",
11232                    .opcode = 5632,
11233                    .operands = &.{
11234                        .{ .kind = .id_ref, .quantifier = .required },
11235                        .{ .kind = .decoration, .quantifier = .required },
11236                    },
11237                },
11238                .{
11239                    .name = "OpMemberDecorateString",
11240                    .opcode = 5633,
11241                    .operands = &.{
11242                        .{ .kind = .id_ref, .quantifier = .required },
11243                        .{ .kind = .literal_integer, .quantifier = .required },
11244                        .{ .kind = .decoration, .quantifier = .required },
11245                    },
11246                },
11247                .{
11248                    .name = "OpVmeImageINTEL",
11249                    .opcode = 5699,
11250                    .operands = &.{
11251                        .{ .kind = .id_result_type, .quantifier = .required },
11252                        .{ .kind = .id_result, .quantifier = .required },
11253                        .{ .kind = .id_ref, .quantifier = .required },
11254                        .{ .kind = .id_ref, .quantifier = .required },
11255                    },
11256                },
11257                .{
11258                    .name = "OpTypeVmeImageINTEL",
11259                    .opcode = 5700,
11260                    .operands = &.{
11261                        .{ .kind = .id_result, .quantifier = .required },
11262                        .{ .kind = .id_ref, .quantifier = .required },
11263                    },
11264                },
11265                .{
11266                    .name = "OpTypeAvcImePayloadINTEL",
11267                    .opcode = 5701,
11268                    .operands = &.{
11269                        .{ .kind = .id_result, .quantifier = .required },
11270                    },
11271                },
11272                .{
11273                    .name = "OpTypeAvcRefPayloadINTEL",
11274                    .opcode = 5702,
11275                    .operands = &.{
11276                        .{ .kind = .id_result, .quantifier = .required },
11277                    },
11278                },
11279                .{
11280                    .name = "OpTypeAvcSicPayloadINTEL",
11281                    .opcode = 5703,
11282                    .operands = &.{
11283                        .{ .kind = .id_result, .quantifier = .required },
11284                    },
11285                },
11286                .{
11287                    .name = "OpTypeAvcMcePayloadINTEL",
11288                    .opcode = 5704,
11289                    .operands = &.{
11290                        .{ .kind = .id_result, .quantifier = .required },
11291                    },
11292                },
11293                .{
11294                    .name = "OpTypeAvcMceResultINTEL",
11295                    .opcode = 5705,
11296                    .operands = &.{
11297                        .{ .kind = .id_result, .quantifier = .required },
11298                    },
11299                },
11300                .{
11301                    .name = "OpTypeAvcImeResultINTEL",
11302                    .opcode = 5706,
11303                    .operands = &.{
11304                        .{ .kind = .id_result, .quantifier = .required },
11305                    },
11306                },
11307                .{
11308                    .name = "OpTypeAvcImeResultSingleReferenceStreamoutINTEL",
11309                    .opcode = 5707,
11310                    .operands = &.{
11311                        .{ .kind = .id_result, .quantifier = .required },
11312                    },
11313                },
11314                .{
11315                    .name = "OpTypeAvcImeResultDualReferenceStreamoutINTEL",
11316                    .opcode = 5708,
11317                    .operands = &.{
11318                        .{ .kind = .id_result, .quantifier = .required },
11319                    },
11320                },
11321                .{
11322                    .name = "OpTypeAvcImeSingleReferenceStreaminINTEL",
11323                    .opcode = 5709,
11324                    .operands = &.{
11325                        .{ .kind = .id_result, .quantifier = .required },
11326                    },
11327                },
11328                .{
11329                    .name = "OpTypeAvcImeDualReferenceStreaminINTEL",
11330                    .opcode = 5710,
11331                    .operands = &.{
11332                        .{ .kind = .id_result, .quantifier = .required },
11333                    },
11334                },
11335                .{
11336                    .name = "OpTypeAvcRefResultINTEL",
11337                    .opcode = 5711,
11338                    .operands = &.{
11339                        .{ .kind = .id_result, .quantifier = .required },
11340                    },
11341                },
11342                .{
11343                    .name = "OpTypeAvcSicResultINTEL",
11344                    .opcode = 5712,
11345                    .operands = &.{
11346                        .{ .kind = .id_result, .quantifier = .required },
11347                    },
11348                },
11349                .{
11350                    .name = "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL",
11351                    .opcode = 5713,
11352                    .operands = &.{
11353                        .{ .kind = .id_result_type, .quantifier = .required },
11354                        .{ .kind = .id_result, .quantifier = .required },
11355                        .{ .kind = .id_ref, .quantifier = .required },
11356                        .{ .kind = .id_ref, .quantifier = .required },
11357                    },
11358                },
11359                .{
11360                    .name = "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL",
11361                    .opcode = 5714,
11362                    .operands = &.{
11363                        .{ .kind = .id_result_type, .quantifier = .required },
11364                        .{ .kind = .id_result, .quantifier = .required },
11365                        .{ .kind = .id_ref, .quantifier = .required },
11366                        .{ .kind = .id_ref, .quantifier = .required },
11367                    },
11368                },
11369                .{
11370                    .name = "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL",
11371                    .opcode = 5715,
11372                    .operands = &.{
11373                        .{ .kind = .id_result_type, .quantifier = .required },
11374                        .{ .kind = .id_result, .quantifier = .required },
11375                        .{ .kind = .id_ref, .quantifier = .required },
11376                        .{ .kind = .id_ref, .quantifier = .required },
11377                    },
11378                },
11379                .{
11380                    .name = "OpSubgroupAvcMceSetInterShapePenaltyINTEL",
11381                    .opcode = 5716,
11382                    .operands = &.{
11383                        .{ .kind = .id_result_type, .quantifier = .required },
11384                        .{ .kind = .id_result, .quantifier = .required },
11385                        .{ .kind = .id_ref, .quantifier = .required },
11386                        .{ .kind = .id_ref, .quantifier = .required },
11387                    },
11388                },
11389                .{
11390                    .name = "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL",
11391                    .opcode = 5717,
11392                    .operands = &.{
11393                        .{ .kind = .id_result_type, .quantifier = .required },
11394                        .{ .kind = .id_result, .quantifier = .required },
11395                        .{ .kind = .id_ref, .quantifier = .required },
11396                        .{ .kind = .id_ref, .quantifier = .required },
11397                    },
11398                },
11399                .{
11400                    .name = "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL",
11401                    .opcode = 5718,
11402                    .operands = &.{
11403                        .{ .kind = .id_result_type, .quantifier = .required },
11404                        .{ .kind = .id_result, .quantifier = .required },
11405                        .{ .kind = .id_ref, .quantifier = .required },
11406                        .{ .kind = .id_ref, .quantifier = .required },
11407                    },
11408                },
11409                .{
11410                    .name = "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL",
11411                    .opcode = 5719,
11412                    .operands = &.{
11413                        .{ .kind = .id_result_type, .quantifier = .required },
11414                        .{ .kind = .id_result, .quantifier = .required },
11415                        .{ .kind = .id_ref, .quantifier = .required },
11416                        .{ .kind = .id_ref, .quantifier = .required },
11417                    },
11418                },
11419                .{
11420                    .name = "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL",
11421                    .opcode = 5720,
11422                    .operands = &.{
11423                        .{ .kind = .id_result_type, .quantifier = .required },
11424                        .{ .kind = .id_result, .quantifier = .required },
11425                        .{ .kind = .id_ref, .quantifier = .required },
11426                        .{ .kind = .id_ref, .quantifier = .required },
11427                    },
11428                },
11429                .{
11430                    .name = "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL",
11431                    .opcode = 5721,
11432                    .operands = &.{
11433                        .{ .kind = .id_result_type, .quantifier = .required },
11434                        .{ .kind = .id_result, .quantifier = .required },
11435                    },
11436                },
11437                .{
11438                    .name = "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL",
11439                    .opcode = 5722,
11440                    .operands = &.{
11441                        .{ .kind = .id_result_type, .quantifier = .required },
11442                        .{ .kind = .id_result, .quantifier = .required },
11443                    },
11444                },
11445                .{
11446                    .name = "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL",
11447                    .opcode = 5723,
11448                    .operands = &.{
11449                        .{ .kind = .id_result_type, .quantifier = .required },
11450                        .{ .kind = .id_result, .quantifier = .required },
11451                    },
11452                },
11453                .{
11454                    .name = "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL",
11455                    .opcode = 5724,
11456                    .operands = &.{
11457                        .{ .kind = .id_result_type, .quantifier = .required },
11458                        .{ .kind = .id_result, .quantifier = .required },
11459                        .{ .kind = .id_ref, .quantifier = .required },
11460                        .{ .kind = .id_ref, .quantifier = .required },
11461                        .{ .kind = .id_ref, .quantifier = .required },
11462                        .{ .kind = .id_ref, .quantifier = .required },
11463                    },
11464                },
11465                .{
11466                    .name = "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL",
11467                    .opcode = 5725,
11468                    .operands = &.{
11469                        .{ .kind = .id_result_type, .quantifier = .required },
11470                        .{ .kind = .id_result, .quantifier = .required },
11471                        .{ .kind = .id_ref, .quantifier = .required },
11472                        .{ .kind = .id_ref, .quantifier = .required },
11473                    },
11474                },
11475                .{
11476                    .name = "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL",
11477                    .opcode = 5726,
11478                    .operands = &.{
11479                        .{ .kind = .id_result_type, .quantifier = .required },
11480                        .{ .kind = .id_result, .quantifier = .required },
11481                    },
11482                },
11483                .{
11484                    .name = "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL",
11485                    .opcode = 5727,
11486                    .operands = &.{
11487                        .{ .kind = .id_result_type, .quantifier = .required },
11488                        .{ .kind = .id_result, .quantifier = .required },
11489                    },
11490                },
11491                .{
11492                    .name = "OpSubgroupAvcMceSetAcOnlyHaarINTEL",
11493                    .opcode = 5728,
11494                    .operands = &.{
11495                        .{ .kind = .id_result_type, .quantifier = .required },
11496                        .{ .kind = .id_result, .quantifier = .required },
11497                        .{ .kind = .id_ref, .quantifier = .required },
11498                    },
11499                },
11500                .{
11501                    .name = "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL",
11502                    .opcode = 5729,
11503                    .operands = &.{
11504                        .{ .kind = .id_result_type, .quantifier = .required },
11505                        .{ .kind = .id_result, .quantifier = .required },
11506                        .{ .kind = .id_ref, .quantifier = .required },
11507                        .{ .kind = .id_ref, .quantifier = .required },
11508                    },
11509                },
11510                .{
11511                    .name = "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL",
11512                    .opcode = 5730,
11513                    .operands = &.{
11514                        .{ .kind = .id_result_type, .quantifier = .required },
11515                        .{ .kind = .id_result, .quantifier = .required },
11516                        .{ .kind = .id_ref, .quantifier = .required },
11517                        .{ .kind = .id_ref, .quantifier = .required },
11518                    },
11519                },
11520                .{
11521                    .name = "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL",
11522                    .opcode = 5731,
11523                    .operands = &.{
11524                        .{ .kind = .id_result_type, .quantifier = .required },
11525                        .{ .kind = .id_result, .quantifier = .required },
11526                        .{ .kind = .id_ref, .quantifier = .required },
11527                        .{ .kind = .id_ref, .quantifier = .required },
11528                        .{ .kind = .id_ref, .quantifier = .required },
11529                    },
11530                },
11531                .{
11532                    .name = "OpSubgroupAvcMceConvertToImePayloadINTEL",
11533                    .opcode = 5732,
11534                    .operands = &.{
11535                        .{ .kind = .id_result_type, .quantifier = .required },
11536                        .{ .kind = .id_result, .quantifier = .required },
11537                        .{ .kind = .id_ref, .quantifier = .required },
11538                    },
11539                },
11540                .{
11541                    .name = "OpSubgroupAvcMceConvertToImeResultINTEL",
11542                    .opcode = 5733,
11543                    .operands = &.{
11544                        .{ .kind = .id_result_type, .quantifier = .required },
11545                        .{ .kind = .id_result, .quantifier = .required },
11546                        .{ .kind = .id_ref, .quantifier = .required },
11547                    },
11548                },
11549                .{
11550                    .name = "OpSubgroupAvcMceConvertToRefPayloadINTEL",
11551                    .opcode = 5734,
11552                    .operands = &.{
11553                        .{ .kind = .id_result_type, .quantifier = .required },
11554                        .{ .kind = .id_result, .quantifier = .required },
11555                        .{ .kind = .id_ref, .quantifier = .required },
11556                    },
11557                },
11558                .{
11559                    .name = "OpSubgroupAvcMceConvertToRefResultINTEL",
11560                    .opcode = 5735,
11561                    .operands = &.{
11562                        .{ .kind = .id_result_type, .quantifier = .required },
11563                        .{ .kind = .id_result, .quantifier = .required },
11564                        .{ .kind = .id_ref, .quantifier = .required },
11565                    },
11566                },
11567                .{
11568                    .name = "OpSubgroupAvcMceConvertToSicPayloadINTEL",
11569                    .opcode = 5736,
11570                    .operands = &.{
11571                        .{ .kind = .id_result_type, .quantifier = .required },
11572                        .{ .kind = .id_result, .quantifier = .required },
11573                        .{ .kind = .id_ref, .quantifier = .required },
11574                    },
11575                },
11576                .{
11577                    .name = "OpSubgroupAvcMceConvertToSicResultINTEL",
11578                    .opcode = 5737,
11579                    .operands = &.{
11580                        .{ .kind = .id_result_type, .quantifier = .required },
11581                        .{ .kind = .id_result, .quantifier = .required },
11582                        .{ .kind = .id_ref, .quantifier = .required },
11583                    },
11584                },
11585                .{
11586                    .name = "OpSubgroupAvcMceGetMotionVectorsINTEL",
11587                    .opcode = 5738,
11588                    .operands = &.{
11589                        .{ .kind = .id_result_type, .quantifier = .required },
11590                        .{ .kind = .id_result, .quantifier = .required },
11591                        .{ .kind = .id_ref, .quantifier = .required },
11592                    },
11593                },
11594                .{
11595                    .name = "OpSubgroupAvcMceGetInterDistortionsINTEL",
11596                    .opcode = 5739,
11597                    .operands = &.{
11598                        .{ .kind = .id_result_type, .quantifier = .required },
11599                        .{ .kind = .id_result, .quantifier = .required },
11600                        .{ .kind = .id_ref, .quantifier = .required },
11601                    },
11602                },
11603                .{
11604                    .name = "OpSubgroupAvcMceGetBestInterDistortionsINTEL",
11605                    .opcode = 5740,
11606                    .operands = &.{
11607                        .{ .kind = .id_result_type, .quantifier = .required },
11608                        .{ .kind = .id_result, .quantifier = .required },
11609                        .{ .kind = .id_ref, .quantifier = .required },
11610                    },
11611                },
11612                .{
11613                    .name = "OpSubgroupAvcMceGetInterMajorShapeINTEL",
11614                    .opcode = 5741,
11615                    .operands = &.{
11616                        .{ .kind = .id_result_type, .quantifier = .required },
11617                        .{ .kind = .id_result, .quantifier = .required },
11618                        .{ .kind = .id_ref, .quantifier = .required },
11619                    },
11620                },
11621                .{
11622                    .name = "OpSubgroupAvcMceGetInterMinorShapeINTEL",
11623                    .opcode = 5742,
11624                    .operands = &.{
11625                        .{ .kind = .id_result_type, .quantifier = .required },
11626                        .{ .kind = .id_result, .quantifier = .required },
11627                        .{ .kind = .id_ref, .quantifier = .required },
11628                    },
11629                },
11630                .{
11631                    .name = "OpSubgroupAvcMceGetInterDirectionsINTEL",
11632                    .opcode = 5743,
11633                    .operands = &.{
11634                        .{ .kind = .id_result_type, .quantifier = .required },
11635                        .{ .kind = .id_result, .quantifier = .required },
11636                        .{ .kind = .id_ref, .quantifier = .required },
11637                    },
11638                },
11639                .{
11640                    .name = "OpSubgroupAvcMceGetInterMotionVectorCountINTEL",
11641                    .opcode = 5744,
11642                    .operands = &.{
11643                        .{ .kind = .id_result_type, .quantifier = .required },
11644                        .{ .kind = .id_result, .quantifier = .required },
11645                        .{ .kind = .id_ref, .quantifier = .required },
11646                    },
11647                },
11648                .{
11649                    .name = "OpSubgroupAvcMceGetInterReferenceIdsINTEL",
11650                    .opcode = 5745,
11651                    .operands = &.{
11652                        .{ .kind = .id_result_type, .quantifier = .required },
11653                        .{ .kind = .id_result, .quantifier = .required },
11654                        .{ .kind = .id_ref, .quantifier = .required },
11655                    },
11656                },
11657                .{
11658                    .name = "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL",
11659                    .opcode = 5746,
11660                    .operands = &.{
11661                        .{ .kind = .id_result_type, .quantifier = .required },
11662                        .{ .kind = .id_result, .quantifier = .required },
11663                        .{ .kind = .id_ref, .quantifier = .required },
11664                        .{ .kind = .id_ref, .quantifier = .required },
11665                        .{ .kind = .id_ref, .quantifier = .required },
11666                    },
11667                },
11668                .{
11669                    .name = "OpSubgroupAvcImeInitializeINTEL",
11670                    .opcode = 5747,
11671                    .operands = &.{
11672                        .{ .kind = .id_result_type, .quantifier = .required },
11673                        .{ .kind = .id_result, .quantifier = .required },
11674                        .{ .kind = .id_ref, .quantifier = .required },
11675                        .{ .kind = .id_ref, .quantifier = .required },
11676                        .{ .kind = .id_ref, .quantifier = .required },
11677                    },
11678                },
11679                .{
11680                    .name = "OpSubgroupAvcImeSetSingleReferenceINTEL",
11681                    .opcode = 5748,
11682                    .operands = &.{
11683                        .{ .kind = .id_result_type, .quantifier = .required },
11684                        .{ .kind = .id_result, .quantifier = .required },
11685                        .{ .kind = .id_ref, .quantifier = .required },
11686                        .{ .kind = .id_ref, .quantifier = .required },
11687                        .{ .kind = .id_ref, .quantifier = .required },
11688                    },
11689                },
11690                .{
11691                    .name = "OpSubgroupAvcImeSetDualReferenceINTEL",
11692                    .opcode = 5749,
11693                    .operands = &.{
11694                        .{ .kind = .id_result_type, .quantifier = .required },
11695                        .{ .kind = .id_result, .quantifier = .required },
11696                        .{ .kind = .id_ref, .quantifier = .required },
11697                        .{ .kind = .id_ref, .quantifier = .required },
11698                        .{ .kind = .id_ref, .quantifier = .required },
11699                        .{ .kind = .id_ref, .quantifier = .required },
11700                    },
11701                },
11702                .{
11703                    .name = "OpSubgroupAvcImeRefWindowSizeINTEL",
11704                    .opcode = 5750,
11705                    .operands = &.{
11706                        .{ .kind = .id_result_type, .quantifier = .required },
11707                        .{ .kind = .id_result, .quantifier = .required },
11708                        .{ .kind = .id_ref, .quantifier = .required },
11709                        .{ .kind = .id_ref, .quantifier = .required },
11710                    },
11711                },
11712                .{
11713                    .name = "OpSubgroupAvcImeAdjustRefOffsetINTEL",
11714                    .opcode = 5751,
11715                    .operands = &.{
11716                        .{ .kind = .id_result_type, .quantifier = .required },
11717                        .{ .kind = .id_result, .quantifier = .required },
11718                        .{ .kind = .id_ref, .quantifier = .required },
11719                        .{ .kind = .id_ref, .quantifier = .required },
11720                        .{ .kind = .id_ref, .quantifier = .required },
11721                        .{ .kind = .id_ref, .quantifier = .required },
11722                    },
11723                },
11724                .{
11725                    .name = "OpSubgroupAvcImeConvertToMcePayloadINTEL",
11726                    .opcode = 5752,
11727                    .operands = &.{
11728                        .{ .kind = .id_result_type, .quantifier = .required },
11729                        .{ .kind = .id_result, .quantifier = .required },
11730                        .{ .kind = .id_ref, .quantifier = .required },
11731                    },
11732                },
11733                .{
11734                    .name = "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL",
11735                    .opcode = 5753,
11736                    .operands = &.{
11737                        .{ .kind = .id_result_type, .quantifier = .required },
11738                        .{ .kind = .id_result, .quantifier = .required },
11739                        .{ .kind = .id_ref, .quantifier = .required },
11740                        .{ .kind = .id_ref, .quantifier = .required },
11741                    },
11742                },
11743                .{
11744                    .name = "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL",
11745                    .opcode = 5754,
11746                    .operands = &.{
11747                        .{ .kind = .id_result_type, .quantifier = .required },
11748                        .{ .kind = .id_result, .quantifier = .required },
11749                        .{ .kind = .id_ref, .quantifier = .required },
11750                    },
11751                },
11752                .{
11753                    .name = "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL",
11754                    .opcode = 5755,
11755                    .operands = &.{
11756                        .{ .kind = .id_result_type, .quantifier = .required },
11757                        .{ .kind = .id_result, .quantifier = .required },
11758                        .{ .kind = .id_ref, .quantifier = .required },
11759                        .{ .kind = .id_ref, .quantifier = .required },
11760                    },
11761                },
11762                .{
11763                    .name = "OpSubgroupAvcImeSetWeightedSadINTEL",
11764                    .opcode = 5756,
11765                    .operands = &.{
11766                        .{ .kind = .id_result_type, .quantifier = .required },
11767                        .{ .kind = .id_result, .quantifier = .required },
11768                        .{ .kind = .id_ref, .quantifier = .required },
11769                        .{ .kind = .id_ref, .quantifier = .required },
11770                    },
11771                },
11772                .{
11773                    .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL",
11774                    .opcode = 5757,
11775                    .operands = &.{
11776                        .{ .kind = .id_result_type, .quantifier = .required },
11777                        .{ .kind = .id_result, .quantifier = .required },
11778                        .{ .kind = .id_ref, .quantifier = .required },
11779                        .{ .kind = .id_ref, .quantifier = .required },
11780                        .{ .kind = .id_ref, .quantifier = .required },
11781                    },
11782                },
11783                .{
11784                    .name = "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL",
11785                    .opcode = 5758,
11786                    .operands = &.{
11787                        .{ .kind = .id_result_type, .quantifier = .required },
11788                        .{ .kind = .id_result, .quantifier = .required },
11789                        .{ .kind = .id_ref, .quantifier = .required },
11790                        .{ .kind = .id_ref, .quantifier = .required },
11791                        .{ .kind = .id_ref, .quantifier = .required },
11792                        .{ .kind = .id_ref, .quantifier = .required },
11793                    },
11794                },
11795                .{
11796                    .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL",
11797                    .opcode = 5759,
11798                    .operands = &.{
11799                        .{ .kind = .id_result_type, .quantifier = .required },
11800                        .{ .kind = .id_result, .quantifier = .required },
11801                        .{ .kind = .id_ref, .quantifier = .required },
11802                        .{ .kind = .id_ref, .quantifier = .required },
11803                        .{ .kind = .id_ref, .quantifier = .required },
11804                        .{ .kind = .id_ref, .quantifier = .required },
11805                    },
11806                },
11807                .{
11808                    .name = "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL",
11809                    .opcode = 5760,
11810                    .operands = &.{
11811                        .{ .kind = .id_result_type, .quantifier = .required },
11812                        .{ .kind = .id_result, .quantifier = .required },
11813                        .{ .kind = .id_ref, .quantifier = .required },
11814                        .{ .kind = .id_ref, .quantifier = .required },
11815                        .{ .kind = .id_ref, .quantifier = .required },
11816                        .{ .kind = .id_ref, .quantifier = .required },
11817                        .{ .kind = .id_ref, .quantifier = .required },
11818                    },
11819                },
11820                .{
11821                    .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL",
11822                    .opcode = 5761,
11823                    .operands = &.{
11824                        .{ .kind = .id_result_type, .quantifier = .required },
11825                        .{ .kind = .id_result, .quantifier = .required },
11826                        .{ .kind = .id_ref, .quantifier = .required },
11827                        .{ .kind = .id_ref, .quantifier = .required },
11828                        .{ .kind = .id_ref, .quantifier = .required },
11829                    },
11830                },
11831                .{
11832                    .name = "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL",
11833                    .opcode = 5762,
11834                    .operands = &.{
11835                        .{ .kind = .id_result_type, .quantifier = .required },
11836                        .{ .kind = .id_result, .quantifier = .required },
11837                        .{ .kind = .id_ref, .quantifier = .required },
11838                        .{ .kind = .id_ref, .quantifier = .required },
11839                        .{ .kind = .id_ref, .quantifier = .required },
11840                        .{ .kind = .id_ref, .quantifier = .required },
11841                    },
11842                },
11843                .{
11844                    .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL",
11845                    .opcode = 5763,
11846                    .operands = &.{
11847                        .{ .kind = .id_result_type, .quantifier = .required },
11848                        .{ .kind = .id_result, .quantifier = .required },
11849                        .{ .kind = .id_ref, .quantifier = .required },
11850                        .{ .kind = .id_ref, .quantifier = .required },
11851                        .{ .kind = .id_ref, .quantifier = .required },
11852                        .{ .kind = .id_ref, .quantifier = .required },
11853                    },
11854                },
11855                .{
11856                    .name = "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL",
11857                    .opcode = 5764,
11858                    .operands = &.{
11859                        .{ .kind = .id_result_type, .quantifier = .required },
11860                        .{ .kind = .id_result, .quantifier = .required },
11861                        .{ .kind = .id_ref, .quantifier = .required },
11862                        .{ .kind = .id_ref, .quantifier = .required },
11863                        .{ .kind = .id_ref, .quantifier = .required },
11864                        .{ .kind = .id_ref, .quantifier = .required },
11865                        .{ .kind = .id_ref, .quantifier = .required },
11866                    },
11867                },
11868                .{
11869                    .name = "OpSubgroupAvcImeConvertToMceResultINTEL",
11870                    .opcode = 5765,
11871                    .operands = &.{
11872                        .{ .kind = .id_result_type, .quantifier = .required },
11873                        .{ .kind = .id_result, .quantifier = .required },
11874                        .{ .kind = .id_ref, .quantifier = .required },
11875                    },
11876                },
11877                .{
11878                    .name = "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL",
11879                    .opcode = 5766,
11880                    .operands = &.{
11881                        .{ .kind = .id_result_type, .quantifier = .required },
11882                        .{ .kind = .id_result, .quantifier = .required },
11883                        .{ .kind = .id_ref, .quantifier = .required },
11884                    },
11885                },
11886                .{
11887                    .name = "OpSubgroupAvcImeGetDualReferenceStreaminINTEL",
11888                    .opcode = 5767,
11889                    .operands = &.{
11890                        .{ .kind = .id_result_type, .quantifier = .required },
11891                        .{ .kind = .id_result, .quantifier = .required },
11892                        .{ .kind = .id_ref, .quantifier = .required },
11893                    },
11894                },
11895                .{
11896                    .name = "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL",
11897                    .opcode = 5768,
11898                    .operands = &.{
11899                        .{ .kind = .id_result_type, .quantifier = .required },
11900                        .{ .kind = .id_result, .quantifier = .required },
11901                        .{ .kind = .id_ref, .quantifier = .required },
11902                    },
11903                },
11904                .{
11905                    .name = "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL",
11906                    .opcode = 5769,
11907                    .operands = &.{
11908                        .{ .kind = .id_result_type, .quantifier = .required },
11909                        .{ .kind = .id_result, .quantifier = .required },
11910                        .{ .kind = .id_ref, .quantifier = .required },
11911                    },
11912                },
11913                .{
11914                    .name = "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL",
11915                    .opcode = 5770,
11916                    .operands = &.{
11917                        .{ .kind = .id_result_type, .quantifier = .required },
11918                        .{ .kind = .id_result, .quantifier = .required },
11919                        .{ .kind = .id_ref, .quantifier = .required },
11920                        .{ .kind = .id_ref, .quantifier = .required },
11921                    },
11922                },
11923                .{
11924                    .name = "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL",
11925                    .opcode = 5771,
11926                    .operands = &.{
11927                        .{ .kind = .id_result_type, .quantifier = .required },
11928                        .{ .kind = .id_result, .quantifier = .required },
11929                        .{ .kind = .id_ref, .quantifier = .required },
11930                        .{ .kind = .id_ref, .quantifier = .required },
11931                    },
11932                },
11933                .{
11934                    .name = "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL",
11935                    .opcode = 5772,
11936                    .operands = &.{
11937                        .{ .kind = .id_result_type, .quantifier = .required },
11938                        .{ .kind = .id_result, .quantifier = .required },
11939                        .{ .kind = .id_ref, .quantifier = .required },
11940                        .{ .kind = .id_ref, .quantifier = .required },
11941                    },
11942                },
11943                .{
11944                    .name = "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL",
11945                    .opcode = 5773,
11946                    .operands = &.{
11947                        .{ .kind = .id_result_type, .quantifier = .required },
11948                        .{ .kind = .id_result, .quantifier = .required },
11949                        .{ .kind = .id_ref, .quantifier = .required },
11950                        .{ .kind = .id_ref, .quantifier = .required },
11951                        .{ .kind = .id_ref, .quantifier = .required },
11952                    },
11953                },
11954                .{
11955                    .name = "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL",
11956                    .opcode = 5774,
11957                    .operands = &.{
11958                        .{ .kind = .id_result_type, .quantifier = .required },
11959                        .{ .kind = .id_result, .quantifier = .required },
11960                        .{ .kind = .id_ref, .quantifier = .required },
11961                        .{ .kind = .id_ref, .quantifier = .required },
11962                        .{ .kind = .id_ref, .quantifier = .required },
11963                    },
11964                },
11965                .{
11966                    .name = "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL",
11967                    .opcode = 5775,
11968                    .operands = &.{
11969                        .{ .kind = .id_result_type, .quantifier = .required },
11970                        .{ .kind = .id_result, .quantifier = .required },
11971                        .{ .kind = .id_ref, .quantifier = .required },
11972                        .{ .kind = .id_ref, .quantifier = .required },
11973                        .{ .kind = .id_ref, .quantifier = .required },
11974                    },
11975                },
11976                .{
11977                    .name = "OpSubgroupAvcImeGetBorderReachedINTEL",
11978                    .opcode = 5776,
11979                    .operands = &.{
11980                        .{ .kind = .id_result_type, .quantifier = .required },
11981                        .{ .kind = .id_result, .quantifier = .required },
11982                        .{ .kind = .id_ref, .quantifier = .required },
11983                        .{ .kind = .id_ref, .quantifier = .required },
11984                    },
11985                },
11986                .{
11987                    .name = "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL",
11988                    .opcode = 5777,
11989                    .operands = &.{
11990                        .{ .kind = .id_result_type, .quantifier = .required },
11991                        .{ .kind = .id_result, .quantifier = .required },
11992                        .{ .kind = .id_ref, .quantifier = .required },
11993                    },
11994                },
11995                .{
11996                    .name = "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL",
11997                    .opcode = 5778,
11998                    .operands = &.{
11999                        .{ .kind = .id_result_type, .quantifier = .required },
12000                        .{ .kind = .id_result, .quantifier = .required },
12001                        .{ .kind = .id_ref, .quantifier = .required },
12002                    },
12003                },
12004                .{
12005                    .name = "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL",
12006                    .opcode = 5779,
12007                    .operands = &.{
12008                        .{ .kind = .id_result_type, .quantifier = .required },
12009                        .{ .kind = .id_result, .quantifier = .required },
12010                        .{ .kind = .id_ref, .quantifier = .required },
12011                    },
12012                },
12013                .{
12014                    .name = "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL",
12015                    .opcode = 5780,
12016                    .operands = &.{
12017                        .{ .kind = .id_result_type, .quantifier = .required },
12018                        .{ .kind = .id_result, .quantifier = .required },
12019                        .{ .kind = .id_ref, .quantifier = .required },
12020                    },
12021                },
12022                .{
12023                    .name = "OpSubgroupAvcFmeInitializeINTEL",
12024                    .opcode = 5781,
12025                    .operands = &.{
12026                        .{ .kind = .id_result_type, .quantifier = .required },
12027                        .{ .kind = .id_result, .quantifier = .required },
12028                        .{ .kind = .id_ref, .quantifier = .required },
12029                        .{ .kind = .id_ref, .quantifier = .required },
12030                        .{ .kind = .id_ref, .quantifier = .required },
12031                        .{ .kind = .id_ref, .quantifier = .required },
12032                        .{ .kind = .id_ref, .quantifier = .required },
12033                        .{ .kind = .id_ref, .quantifier = .required },
12034                        .{ .kind = .id_ref, .quantifier = .required },
12035                    },
12036                },
12037                .{
12038                    .name = "OpSubgroupAvcBmeInitializeINTEL",
12039                    .opcode = 5782,
12040                    .operands = &.{
12041                        .{ .kind = .id_result_type, .quantifier = .required },
12042                        .{ .kind = .id_result, .quantifier = .required },
12043                        .{ .kind = .id_ref, .quantifier = .required },
12044                        .{ .kind = .id_ref, .quantifier = .required },
12045                        .{ .kind = .id_ref, .quantifier = .required },
12046                        .{ .kind = .id_ref, .quantifier = .required },
12047                        .{ .kind = .id_ref, .quantifier = .required },
12048                        .{ .kind = .id_ref, .quantifier = .required },
12049                        .{ .kind = .id_ref, .quantifier = .required },
12050                        .{ .kind = .id_ref, .quantifier = .required },
12051                    },
12052                },
12053                .{
12054                    .name = "OpSubgroupAvcRefConvertToMcePayloadINTEL",
12055                    .opcode = 5783,
12056                    .operands = &.{
12057                        .{ .kind = .id_result_type, .quantifier = .required },
12058                        .{ .kind = .id_result, .quantifier = .required },
12059                        .{ .kind = .id_ref, .quantifier = .required },
12060                    },
12061                },
12062                .{
12063                    .name = "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL",
12064                    .opcode = 5784,
12065                    .operands = &.{
12066                        .{ .kind = .id_result_type, .quantifier = .required },
12067                        .{ .kind = .id_result, .quantifier = .required },
12068                        .{ .kind = .id_ref, .quantifier = .required },
12069                    },
12070                },
12071                .{
12072                    .name = "OpSubgroupAvcRefSetBilinearFilterEnableINTEL",
12073                    .opcode = 5785,
12074                    .operands = &.{
12075                        .{ .kind = .id_result_type, .quantifier = .required },
12076                        .{ .kind = .id_result, .quantifier = .required },
12077                        .{ .kind = .id_ref, .quantifier = .required },
12078                    },
12079                },
12080                .{
12081                    .name = "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL",
12082                    .opcode = 5786,
12083                    .operands = &.{
12084                        .{ .kind = .id_result_type, .quantifier = .required },
12085                        .{ .kind = .id_result, .quantifier = .required },
12086                        .{ .kind = .id_ref, .quantifier = .required },
12087                        .{ .kind = .id_ref, .quantifier = .required },
12088                        .{ .kind = .id_ref, .quantifier = .required },
12089                    },
12090                },
12091                .{
12092                    .name = "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL",
12093                    .opcode = 5787,
12094                    .operands = &.{
12095                        .{ .kind = .id_result_type, .quantifier = .required },
12096                        .{ .kind = .id_result, .quantifier = .required },
12097                        .{ .kind = .id_ref, .quantifier = .required },
12098                        .{ .kind = .id_ref, .quantifier = .required },
12099                        .{ .kind = .id_ref, .quantifier = .required },
12100                        .{ .kind = .id_ref, .quantifier = .required },
12101                    },
12102                },
12103                .{
12104                    .name = "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL",
12105                    .opcode = 5788,
12106                    .operands = &.{
12107                        .{ .kind = .id_result_type, .quantifier = .required },
12108                        .{ .kind = .id_result, .quantifier = .required },
12109                        .{ .kind = .id_ref, .quantifier = .required },
12110                        .{ .kind = .id_ref, .quantifier = .required },
12111                        .{ .kind = .id_ref, .quantifier = .required },
12112                    },
12113                },
12114                .{
12115                    .name = "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL",
12116                    .opcode = 5789,
12117                    .operands = &.{
12118                        .{ .kind = .id_result_type, .quantifier = .required },
12119                        .{ .kind = .id_result, .quantifier = .required },
12120                        .{ .kind = .id_ref, .quantifier = .required },
12121                        .{ .kind = .id_ref, .quantifier = .required },
12122                        .{ .kind = .id_ref, .quantifier = .required },
12123                        .{ .kind = .id_ref, .quantifier = .required },
12124                    },
12125                },
12126                .{
12127                    .name = "OpSubgroupAvcRefConvertToMceResultINTEL",
12128                    .opcode = 5790,
12129                    .operands = &.{
12130                        .{ .kind = .id_result_type, .quantifier = .required },
12131                        .{ .kind = .id_result, .quantifier = .required },
12132                        .{ .kind = .id_ref, .quantifier = .required },
12133                    },
12134                },
12135                .{
12136                    .name = "OpSubgroupAvcSicInitializeINTEL",
12137                    .opcode = 5791,
12138                    .operands = &.{
12139                        .{ .kind = .id_result_type, .quantifier = .required },
12140                        .{ .kind = .id_result, .quantifier = .required },
12141                        .{ .kind = .id_ref, .quantifier = .required },
12142                    },
12143                },
12144                .{
12145                    .name = "OpSubgroupAvcSicConfigureSkcINTEL",
12146                    .opcode = 5792,
12147                    .operands = &.{
12148                        .{ .kind = .id_result_type, .quantifier = .required },
12149                        .{ .kind = .id_result, .quantifier = .required },
12150                        .{ .kind = .id_ref, .quantifier = .required },
12151                        .{ .kind = .id_ref, .quantifier = .required },
12152                        .{ .kind = .id_ref, .quantifier = .required },
12153                        .{ .kind = .id_ref, .quantifier = .required },
12154                        .{ .kind = .id_ref, .quantifier = .required },
12155                        .{ .kind = .id_ref, .quantifier = .required },
12156                    },
12157                },
12158                .{
12159                    .name = "OpSubgroupAvcSicConfigureIpeLumaINTEL",
12160                    .opcode = 5793,
12161                    .operands = &.{
12162                        .{ .kind = .id_result_type, .quantifier = .required },
12163                        .{ .kind = .id_result, .quantifier = .required },
12164                        .{ .kind = .id_ref, .quantifier = .required },
12165                        .{ .kind = .id_ref, .quantifier = .required },
12166                        .{ .kind = .id_ref, .quantifier = .required },
12167                        .{ .kind = .id_ref, .quantifier = .required },
12168                        .{ .kind = .id_ref, .quantifier = .required },
12169                        .{ .kind = .id_ref, .quantifier = .required },
12170                        .{ .kind = .id_ref, .quantifier = .required },
12171                        .{ .kind = .id_ref, .quantifier = .required },
12172                    },
12173                },
12174                .{
12175                    .name = "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL",
12176                    .opcode = 5794,
12177                    .operands = &.{
12178                        .{ .kind = .id_result_type, .quantifier = .required },
12179                        .{ .kind = .id_result, .quantifier = .required },
12180                        .{ .kind = .id_ref, .quantifier = .required },
12181                        .{ .kind = .id_ref, .quantifier = .required },
12182                        .{ .kind = .id_ref, .quantifier = .required },
12183                        .{ .kind = .id_ref, .quantifier = .required },
12184                        .{ .kind = .id_ref, .quantifier = .required },
12185                        .{ .kind = .id_ref, .quantifier = .required },
12186                        .{ .kind = .id_ref, .quantifier = .required },
12187                        .{ .kind = .id_ref, .quantifier = .required },
12188                        .{ .kind = .id_ref, .quantifier = .required },
12189                        .{ .kind = .id_ref, .quantifier = .required },
12190                        .{ .kind = .id_ref, .quantifier = .required },
12191                    },
12192                },
12193                .{
12194                    .name = "OpSubgroupAvcSicGetMotionVectorMaskINTEL",
12195                    .opcode = 5795,
12196                    .operands = &.{
12197                        .{ .kind = .id_result_type, .quantifier = .required },
12198                        .{ .kind = .id_result, .quantifier = .required },
12199                        .{ .kind = .id_ref, .quantifier = .required },
12200                        .{ .kind = .id_ref, .quantifier = .required },
12201                    },
12202                },
12203                .{
12204                    .name = "OpSubgroupAvcSicConvertToMcePayloadINTEL",
12205                    .opcode = 5796,
12206                    .operands = &.{
12207                        .{ .kind = .id_result_type, .quantifier = .required },
12208                        .{ .kind = .id_result, .quantifier = .required },
12209                        .{ .kind = .id_ref, .quantifier = .required },
12210                    },
12211                },
12212                .{
12213                    .name = "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL",
12214                    .opcode = 5797,
12215                    .operands = &.{
12216                        .{ .kind = .id_result_type, .quantifier = .required },
12217                        .{ .kind = .id_result, .quantifier = .required },
12218                        .{ .kind = .id_ref, .quantifier = .required },
12219                        .{ .kind = .id_ref, .quantifier = .required },
12220                    },
12221                },
12222                .{
12223                    .name = "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL",
12224                    .opcode = 5798,
12225                    .operands = &.{
12226                        .{ .kind = .id_result_type, .quantifier = .required },
12227                        .{ .kind = .id_result, .quantifier = .required },
12228                        .{ .kind = .id_ref, .quantifier = .required },
12229                        .{ .kind = .id_ref, .quantifier = .required },
12230                        .{ .kind = .id_ref, .quantifier = .required },
12231                        .{ .kind = .id_ref, .quantifier = .required },
12232                    },
12233                },
12234                .{
12235                    .name = "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL",
12236                    .opcode = 5799,
12237                    .operands = &.{
12238                        .{ .kind = .id_result_type, .quantifier = .required },
12239                        .{ .kind = .id_result, .quantifier = .required },
12240                        .{ .kind = .id_ref, .quantifier = .required },
12241                        .{ .kind = .id_ref, .quantifier = .required },
12242                    },
12243                },
12244                .{
12245                    .name = "OpSubgroupAvcSicSetBilinearFilterEnableINTEL",
12246                    .opcode = 5800,
12247                    .operands = &.{
12248                        .{ .kind = .id_result_type, .quantifier = .required },
12249                        .{ .kind = .id_result, .quantifier = .required },
12250                        .{ .kind = .id_ref, .quantifier = .required },
12251                    },
12252                },
12253                .{
12254                    .name = "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL",
12255                    .opcode = 5801,
12256                    .operands = &.{
12257                        .{ .kind = .id_result_type, .quantifier = .required },
12258                        .{ .kind = .id_result, .quantifier = .required },
12259                        .{ .kind = .id_ref, .quantifier = .required },
12260                        .{ .kind = .id_ref, .quantifier = .required },
12261                    },
12262                },
12263                .{
12264                    .name = "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL",
12265                    .opcode = 5802,
12266                    .operands = &.{
12267                        .{ .kind = .id_result_type, .quantifier = .required },
12268                        .{ .kind = .id_result, .quantifier = .required },
12269                        .{ .kind = .id_ref, .quantifier = .required },
12270                        .{ .kind = .id_ref, .quantifier = .required },
12271                    },
12272                },
12273                .{
12274                    .name = "OpSubgroupAvcSicEvaluateIpeINTEL",
12275                    .opcode = 5803,
12276                    .operands = &.{
12277                        .{ .kind = .id_result_type, .quantifier = .required },
12278                        .{ .kind = .id_result, .quantifier = .required },
12279                        .{ .kind = .id_ref, .quantifier = .required },
12280                        .{ .kind = .id_ref, .quantifier = .required },
12281                    },
12282                },
12283                .{
12284                    .name = "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL",
12285                    .opcode = 5804,
12286                    .operands = &.{
12287                        .{ .kind = .id_result_type, .quantifier = .required },
12288                        .{ .kind = .id_result, .quantifier = .required },
12289                        .{ .kind = .id_ref, .quantifier = .required },
12290                        .{ .kind = .id_ref, .quantifier = .required },
12291                        .{ .kind = .id_ref, .quantifier = .required },
12292                    },
12293                },
12294                .{
12295                    .name = "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL",
12296                    .opcode = 5805,
12297                    .operands = &.{
12298                        .{ .kind = .id_result_type, .quantifier = .required },
12299                        .{ .kind = .id_result, .quantifier = .required },
12300                        .{ .kind = .id_ref, .quantifier = .required },
12301                        .{ .kind = .id_ref, .quantifier = .required },
12302                        .{ .kind = .id_ref, .quantifier = .required },
12303                        .{ .kind = .id_ref, .quantifier = .required },
12304                    },
12305                },
12306                .{
12307                    .name = "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL",
12308                    .opcode = 5806,
12309                    .operands = &.{
12310                        .{ .kind = .id_result_type, .quantifier = .required },
12311                        .{ .kind = .id_result, .quantifier = .required },
12312                        .{ .kind = .id_ref, .quantifier = .required },
12313                        .{ .kind = .id_ref, .quantifier = .required },
12314                        .{ .kind = .id_ref, .quantifier = .required },
12315                    },
12316                },
12317                .{
12318                    .name = "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL",
12319                    .opcode = 5807,
12320                    .operands = &.{
12321                        .{ .kind = .id_result_type, .quantifier = .required },
12322                        .{ .kind = .id_result, .quantifier = .required },
12323                        .{ .kind = .id_ref, .quantifier = .required },
12324                        .{ .kind = .id_ref, .quantifier = .required },
12325                        .{ .kind = .id_ref, .quantifier = .required },
12326                        .{ .kind = .id_ref, .quantifier = .required },
12327                    },
12328                },
12329                .{
12330                    .name = "OpSubgroupAvcSicConvertToMceResultINTEL",
12331                    .opcode = 5808,
12332                    .operands = &.{
12333                        .{ .kind = .id_result_type, .quantifier = .required },
12334                        .{ .kind = .id_result, .quantifier = .required },
12335                        .{ .kind = .id_ref, .quantifier = .required },
12336                    },
12337                },
12338                .{
12339                    .name = "OpSubgroupAvcSicGetIpeLumaShapeINTEL",
12340                    .opcode = 5809,
12341                    .operands = &.{
12342                        .{ .kind = .id_result_type, .quantifier = .required },
12343                        .{ .kind = .id_result, .quantifier = .required },
12344                        .{ .kind = .id_ref, .quantifier = .required },
12345                    },
12346                },
12347                .{
12348                    .name = "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL",
12349                    .opcode = 5810,
12350                    .operands = &.{
12351                        .{ .kind = .id_result_type, .quantifier = .required },
12352                        .{ .kind = .id_result, .quantifier = .required },
12353                        .{ .kind = .id_ref, .quantifier = .required },
12354                    },
12355                },
12356                .{
12357                    .name = "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL",
12358                    .opcode = 5811,
12359                    .operands = &.{
12360                        .{ .kind = .id_result_type, .quantifier = .required },
12361                        .{ .kind = .id_result, .quantifier = .required },
12362                        .{ .kind = .id_ref, .quantifier = .required },
12363                    },
12364                },
12365                .{
12366                    .name = "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL",
12367                    .opcode = 5812,
12368                    .operands = &.{
12369                        .{ .kind = .id_result_type, .quantifier = .required },
12370                        .{ .kind = .id_result, .quantifier = .required },
12371                        .{ .kind = .id_ref, .quantifier = .required },
12372                    },
12373                },
12374                .{
12375                    .name = "OpSubgroupAvcSicGetIpeChromaModeINTEL",
12376                    .opcode = 5813,
12377                    .operands = &.{
12378                        .{ .kind = .id_result_type, .quantifier = .required },
12379                        .{ .kind = .id_result, .quantifier = .required },
12380                        .{ .kind = .id_ref, .quantifier = .required },
12381                    },
12382                },
12383                .{
12384                    .name = "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL",
12385                    .opcode = 5814,
12386                    .operands = &.{
12387                        .{ .kind = .id_result_type, .quantifier = .required },
12388                        .{ .kind = .id_result, .quantifier = .required },
12389                        .{ .kind = .id_ref, .quantifier = .required },
12390                    },
12391                },
12392                .{
12393                    .name = "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL",
12394                    .opcode = 5815,
12395                    .operands = &.{
12396                        .{ .kind = .id_result_type, .quantifier = .required },
12397                        .{ .kind = .id_result, .quantifier = .required },
12398                        .{ .kind = .id_ref, .quantifier = .required },
12399                    },
12400                },
12401                .{
12402                    .name = "OpSubgroupAvcSicGetInterRawSadsINTEL",
12403                    .opcode = 5816,
12404                    .operands = &.{
12405                        .{ .kind = .id_result_type, .quantifier = .required },
12406                        .{ .kind = .id_result, .quantifier = .required },
12407                        .{ .kind = .id_ref, .quantifier = .required },
12408                    },
12409                },
12410                .{
12411                    .name = "OpVariableLengthArrayINTEL",
12412                    .opcode = 5818,
12413                    .operands = &.{
12414                        .{ .kind = .id_result_type, .quantifier = .required },
12415                        .{ .kind = .id_result, .quantifier = .required },
12416                        .{ .kind = .id_ref, .quantifier = .required },
12417                    },
12418                },
12419                .{
12420                    .name = "OpSaveMemoryINTEL",
12421                    .opcode = 5819,
12422                    .operands = &.{
12423                        .{ .kind = .id_result_type, .quantifier = .required },
12424                        .{ .kind = .id_result, .quantifier = .required },
12425                    },
12426                },
12427                .{
12428                    .name = "OpRestoreMemoryINTEL",
12429                    .opcode = 5820,
12430                    .operands = &.{
12431                        .{ .kind = .id_ref, .quantifier = .required },
12432                    },
12433                },
12434                .{
12435                    .name = "OpArbitraryFloatSinCosPiINTEL",
12436                    .opcode = 5840,
12437                    .operands = &.{
12438                        .{ .kind = .id_result_type, .quantifier = .required },
12439                        .{ .kind = .id_result, .quantifier = .required },
12440                        .{ .kind = .id_ref, .quantifier = .required },
12441                        .{ .kind = .literal_integer, .quantifier = .required },
12442                        .{ .kind = .literal_integer, .quantifier = .required },
12443                        .{ .kind = .literal_integer, .quantifier = .required },
12444                        .{ .kind = .literal_integer, .quantifier = .required },
12445                        .{ .kind = .literal_integer, .quantifier = .required },
12446                    },
12447                },
12448                .{
12449                    .name = "OpArbitraryFloatCastINTEL",
12450                    .opcode = 5841,
12451                    .operands = &.{
12452                        .{ .kind = .id_result_type, .quantifier = .required },
12453                        .{ .kind = .id_result, .quantifier = .required },
12454                        .{ .kind = .id_ref, .quantifier = .required },
12455                        .{ .kind = .literal_integer, .quantifier = .required },
12456                        .{ .kind = .literal_integer, .quantifier = .required },
12457                        .{ .kind = .literal_integer, .quantifier = .required },
12458                        .{ .kind = .literal_integer, .quantifier = .required },
12459                        .{ .kind = .literal_integer, .quantifier = .required },
12460                    },
12461                },
12462                .{
12463                    .name = "OpArbitraryFloatCastFromIntINTEL",
12464                    .opcode = 5842,
12465                    .operands = &.{
12466                        .{ .kind = .id_result_type, .quantifier = .required },
12467                        .{ .kind = .id_result, .quantifier = .required },
12468                        .{ .kind = .id_ref, .quantifier = .required },
12469                        .{ .kind = .literal_integer, .quantifier = .required },
12470                        .{ .kind = .literal_integer, .quantifier = .required },
12471                        .{ .kind = .literal_integer, .quantifier = .required },
12472                        .{ .kind = .literal_integer, .quantifier = .required },
12473                        .{ .kind = .literal_integer, .quantifier = .required },
12474                    },
12475                },
12476                .{
12477                    .name = "OpArbitraryFloatCastToIntINTEL",
12478                    .opcode = 5843,
12479                    .operands = &.{
12480                        .{ .kind = .id_result_type, .quantifier = .required },
12481                        .{ .kind = .id_result, .quantifier = .required },
12482                        .{ .kind = .id_ref, .quantifier = .required },
12483                        .{ .kind = .literal_integer, .quantifier = .required },
12484                        .{ .kind = .literal_integer, .quantifier = .required },
12485                        .{ .kind = .literal_integer, .quantifier = .required },
12486                        .{ .kind = .literal_integer, .quantifier = .required },
12487                        .{ .kind = .literal_integer, .quantifier = .required },
12488                    },
12489                },
12490                .{
12491                    .name = "OpArbitraryFloatAddINTEL",
12492                    .opcode = 5846,
12493                    .operands = &.{
12494                        .{ .kind = .id_result_type, .quantifier = .required },
12495                        .{ .kind = .id_result, .quantifier = .required },
12496                        .{ .kind = .id_ref, .quantifier = .required },
12497                        .{ .kind = .literal_integer, .quantifier = .required },
12498                        .{ .kind = .id_ref, .quantifier = .required },
12499                        .{ .kind = .literal_integer, .quantifier = .required },
12500                        .{ .kind = .literal_integer, .quantifier = .required },
12501                        .{ .kind = .literal_integer, .quantifier = .required },
12502                        .{ .kind = .literal_integer, .quantifier = .required },
12503                        .{ .kind = .literal_integer, .quantifier = .required },
12504                    },
12505                },
12506                .{
12507                    .name = "OpArbitraryFloatSubINTEL",
12508                    .opcode = 5847,
12509                    .operands = &.{
12510                        .{ .kind = .id_result_type, .quantifier = .required },
12511                        .{ .kind = .id_result, .quantifier = .required },
12512                        .{ .kind = .id_ref, .quantifier = .required },
12513                        .{ .kind = .literal_integer, .quantifier = .required },
12514                        .{ .kind = .id_ref, .quantifier = .required },
12515                        .{ .kind = .literal_integer, .quantifier = .required },
12516                        .{ .kind = .literal_integer, .quantifier = .required },
12517                        .{ .kind = .literal_integer, .quantifier = .required },
12518                        .{ .kind = .literal_integer, .quantifier = .required },
12519                        .{ .kind = .literal_integer, .quantifier = .required },
12520                    },
12521                },
12522                .{
12523                    .name = "OpArbitraryFloatMulINTEL",
12524                    .opcode = 5848,
12525                    .operands = &.{
12526                        .{ .kind = .id_result_type, .quantifier = .required },
12527                        .{ .kind = .id_result, .quantifier = .required },
12528                        .{ .kind = .id_ref, .quantifier = .required },
12529                        .{ .kind = .literal_integer, .quantifier = .required },
12530                        .{ .kind = .id_ref, .quantifier = .required },
12531                        .{ .kind = .literal_integer, .quantifier = .required },
12532                        .{ .kind = .literal_integer, .quantifier = .required },
12533                        .{ .kind = .literal_integer, .quantifier = .required },
12534                        .{ .kind = .literal_integer, .quantifier = .required },
12535                        .{ .kind = .literal_integer, .quantifier = .required },
12536                    },
12537                },
12538                .{
12539                    .name = "OpArbitraryFloatDivINTEL",
12540                    .opcode = 5849,
12541                    .operands = &.{
12542                        .{ .kind = .id_result_type, .quantifier = .required },
12543                        .{ .kind = .id_result, .quantifier = .required },
12544                        .{ .kind = .id_ref, .quantifier = .required },
12545                        .{ .kind = .literal_integer, .quantifier = .required },
12546                        .{ .kind = .id_ref, .quantifier = .required },
12547                        .{ .kind = .literal_integer, .quantifier = .required },
12548                        .{ .kind = .literal_integer, .quantifier = .required },
12549                        .{ .kind = .literal_integer, .quantifier = .required },
12550                        .{ .kind = .literal_integer, .quantifier = .required },
12551                        .{ .kind = .literal_integer, .quantifier = .required },
12552                    },
12553                },
12554                .{
12555                    .name = "OpArbitraryFloatGTINTEL",
12556                    .opcode = 5850,
12557                    .operands = &.{
12558                        .{ .kind = .id_result_type, .quantifier = .required },
12559                        .{ .kind = .id_result, .quantifier = .required },
12560                        .{ .kind = .id_ref, .quantifier = .required },
12561                        .{ .kind = .literal_integer, .quantifier = .required },
12562                        .{ .kind = .id_ref, .quantifier = .required },
12563                        .{ .kind = .literal_integer, .quantifier = .required },
12564                    },
12565                },
12566                .{
12567                    .name = "OpArbitraryFloatGEINTEL",
12568                    .opcode = 5851,
12569                    .operands = &.{
12570                        .{ .kind = .id_result_type, .quantifier = .required },
12571                        .{ .kind = .id_result, .quantifier = .required },
12572                        .{ .kind = .id_ref, .quantifier = .required },
12573                        .{ .kind = .literal_integer, .quantifier = .required },
12574                        .{ .kind = .id_ref, .quantifier = .required },
12575                        .{ .kind = .literal_integer, .quantifier = .required },
12576                    },
12577                },
12578                .{
12579                    .name = "OpArbitraryFloatLTINTEL",
12580                    .opcode = 5852,
12581                    .operands = &.{
12582                        .{ .kind = .id_result_type, .quantifier = .required },
12583                        .{ .kind = .id_result, .quantifier = .required },
12584                        .{ .kind = .id_ref, .quantifier = .required },
12585                        .{ .kind = .literal_integer, .quantifier = .required },
12586                        .{ .kind = .id_ref, .quantifier = .required },
12587                        .{ .kind = .literal_integer, .quantifier = .required },
12588                    },
12589                },
12590                .{
12591                    .name = "OpArbitraryFloatLEINTEL",
12592                    .opcode = 5853,
12593                    .operands = &.{
12594                        .{ .kind = .id_result_type, .quantifier = .required },
12595                        .{ .kind = .id_result, .quantifier = .required },
12596                        .{ .kind = .id_ref, .quantifier = .required },
12597                        .{ .kind = .literal_integer, .quantifier = .required },
12598                        .{ .kind = .id_ref, .quantifier = .required },
12599                        .{ .kind = .literal_integer, .quantifier = .required },
12600                    },
12601                },
12602                .{
12603                    .name = "OpArbitraryFloatEQINTEL",
12604                    .opcode = 5854,
12605                    .operands = &.{
12606                        .{ .kind = .id_result_type, .quantifier = .required },
12607                        .{ .kind = .id_result, .quantifier = .required },
12608                        .{ .kind = .id_ref, .quantifier = .required },
12609                        .{ .kind = .literal_integer, .quantifier = .required },
12610                        .{ .kind = .id_ref, .quantifier = .required },
12611                        .{ .kind = .literal_integer, .quantifier = .required },
12612                    },
12613                },
12614                .{
12615                    .name = "OpArbitraryFloatRecipINTEL",
12616                    .opcode = 5855,
12617                    .operands = &.{
12618                        .{ .kind = .id_result_type, .quantifier = .required },
12619                        .{ .kind = .id_result, .quantifier = .required },
12620                        .{ .kind = .id_ref, .quantifier = .required },
12621                        .{ .kind = .literal_integer, .quantifier = .required },
12622                        .{ .kind = .literal_integer, .quantifier = .required },
12623                        .{ .kind = .literal_integer, .quantifier = .required },
12624                        .{ .kind = .literal_integer, .quantifier = .required },
12625                        .{ .kind = .literal_integer, .quantifier = .required },
12626                    },
12627                },
12628                .{
12629                    .name = "OpArbitraryFloatRSqrtINTEL",
12630                    .opcode = 5856,
12631                    .operands = &.{
12632                        .{ .kind = .id_result_type, .quantifier = .required },
12633                        .{ .kind = .id_result, .quantifier = .required },
12634                        .{ .kind = .id_ref, .quantifier = .required },
12635                        .{ .kind = .literal_integer, .quantifier = .required },
12636                        .{ .kind = .literal_integer, .quantifier = .required },
12637                        .{ .kind = .literal_integer, .quantifier = .required },
12638                        .{ .kind = .literal_integer, .quantifier = .required },
12639                        .{ .kind = .literal_integer, .quantifier = .required },
12640                    },
12641                },
12642                .{
12643                    .name = "OpArbitraryFloatCbrtINTEL",
12644                    .opcode = 5857,
12645                    .operands = &.{
12646                        .{ .kind = .id_result_type, .quantifier = .required },
12647                        .{ .kind = .id_result, .quantifier = .required },
12648                        .{ .kind = .id_ref, .quantifier = .required },
12649                        .{ .kind = .literal_integer, .quantifier = .required },
12650                        .{ .kind = .literal_integer, .quantifier = .required },
12651                        .{ .kind = .literal_integer, .quantifier = .required },
12652                        .{ .kind = .literal_integer, .quantifier = .required },
12653                        .{ .kind = .literal_integer, .quantifier = .required },
12654                    },
12655                },
12656                .{
12657                    .name = "OpArbitraryFloatHypotINTEL",
12658                    .opcode = 5858,
12659                    .operands = &.{
12660                        .{ .kind = .id_result_type, .quantifier = .required },
12661                        .{ .kind = .id_result, .quantifier = .required },
12662                        .{ .kind = .id_ref, .quantifier = .required },
12663                        .{ .kind = .literal_integer, .quantifier = .required },
12664                        .{ .kind = .id_ref, .quantifier = .required },
12665                        .{ .kind = .literal_integer, .quantifier = .required },
12666                        .{ .kind = .literal_integer, .quantifier = .required },
12667                        .{ .kind = .literal_integer, .quantifier = .required },
12668                        .{ .kind = .literal_integer, .quantifier = .required },
12669                        .{ .kind = .literal_integer, .quantifier = .required },
12670                    },
12671                },
12672                .{
12673                    .name = "OpArbitraryFloatSqrtINTEL",
12674                    .opcode = 5859,
12675                    .operands = &.{
12676                        .{ .kind = .id_result_type, .quantifier = .required },
12677                        .{ .kind = .id_result, .quantifier = .required },
12678                        .{ .kind = .id_ref, .quantifier = .required },
12679                        .{ .kind = .literal_integer, .quantifier = .required },
12680                        .{ .kind = .literal_integer, .quantifier = .required },
12681                        .{ .kind = .literal_integer, .quantifier = .required },
12682                        .{ .kind = .literal_integer, .quantifier = .required },
12683                        .{ .kind = .literal_integer, .quantifier = .required },
12684                    },
12685                },
12686                .{
12687                    .name = "OpArbitraryFloatLogINTEL",
12688                    .opcode = 5860,
12689                    .operands = &.{
12690                        .{ .kind = .id_result_type, .quantifier = .required },
12691                        .{ .kind = .id_result, .quantifier = .required },
12692                        .{ .kind = .id_ref, .quantifier = .required },
12693                        .{ .kind = .literal_integer, .quantifier = .required },
12694                        .{ .kind = .literal_integer, .quantifier = .required },
12695                        .{ .kind = .literal_integer, .quantifier = .required },
12696                        .{ .kind = .literal_integer, .quantifier = .required },
12697                        .{ .kind = .literal_integer, .quantifier = .required },
12698                    },
12699                },
12700                .{
12701                    .name = "OpArbitraryFloatLog2INTEL",
12702                    .opcode = 5861,
12703                    .operands = &.{
12704                        .{ .kind = .id_result_type, .quantifier = .required },
12705                        .{ .kind = .id_result, .quantifier = .required },
12706                        .{ .kind = .id_ref, .quantifier = .required },
12707                        .{ .kind = .literal_integer, .quantifier = .required },
12708                        .{ .kind = .literal_integer, .quantifier = .required },
12709                        .{ .kind = .literal_integer, .quantifier = .required },
12710                        .{ .kind = .literal_integer, .quantifier = .required },
12711                        .{ .kind = .literal_integer, .quantifier = .required },
12712                    },
12713                },
12714                .{
12715                    .name = "OpArbitraryFloatLog10INTEL",
12716                    .opcode = 5862,
12717                    .operands = &.{
12718                        .{ .kind = .id_result_type, .quantifier = .required },
12719                        .{ .kind = .id_result, .quantifier = .required },
12720                        .{ .kind = .id_ref, .quantifier = .required },
12721                        .{ .kind = .literal_integer, .quantifier = .required },
12722                        .{ .kind = .literal_integer, .quantifier = .required },
12723                        .{ .kind = .literal_integer, .quantifier = .required },
12724                        .{ .kind = .literal_integer, .quantifier = .required },
12725                        .{ .kind = .literal_integer, .quantifier = .required },
12726                    },
12727                },
12728                .{
12729                    .name = "OpArbitraryFloatLog1pINTEL",
12730                    .opcode = 5863,
12731                    .operands = &.{
12732                        .{ .kind = .id_result_type, .quantifier = .required },
12733                        .{ .kind = .id_result, .quantifier = .required },
12734                        .{ .kind = .id_ref, .quantifier = .required },
12735                        .{ .kind = .literal_integer, .quantifier = .required },
12736                        .{ .kind = .literal_integer, .quantifier = .required },
12737                        .{ .kind = .literal_integer, .quantifier = .required },
12738                        .{ .kind = .literal_integer, .quantifier = .required },
12739                        .{ .kind = .literal_integer, .quantifier = .required },
12740                    },
12741                },
12742                .{
12743                    .name = "OpArbitraryFloatExpINTEL",
12744                    .opcode = 5864,
12745                    .operands = &.{
12746                        .{ .kind = .id_result_type, .quantifier = .required },
12747                        .{ .kind = .id_result, .quantifier = .required },
12748                        .{ .kind = .id_ref, .quantifier = .required },
12749                        .{ .kind = .literal_integer, .quantifier = .required },
12750                        .{ .kind = .literal_integer, .quantifier = .required },
12751                        .{ .kind = .literal_integer, .quantifier = .required },
12752                        .{ .kind = .literal_integer, .quantifier = .required },
12753                        .{ .kind = .literal_integer, .quantifier = .required },
12754                    },
12755                },
12756                .{
12757                    .name = "OpArbitraryFloatExp2INTEL",
12758                    .opcode = 5865,
12759                    .operands = &.{
12760                        .{ .kind = .id_result_type, .quantifier = .required },
12761                        .{ .kind = .id_result, .quantifier = .required },
12762                        .{ .kind = .id_ref, .quantifier = .required },
12763                        .{ .kind = .literal_integer, .quantifier = .required },
12764                        .{ .kind = .literal_integer, .quantifier = .required },
12765                        .{ .kind = .literal_integer, .quantifier = .required },
12766                        .{ .kind = .literal_integer, .quantifier = .required },
12767                        .{ .kind = .literal_integer, .quantifier = .required },
12768                    },
12769                },
12770                .{
12771                    .name = "OpArbitraryFloatExp10INTEL",
12772                    .opcode = 5866,
12773                    .operands = &.{
12774                        .{ .kind = .id_result_type, .quantifier = .required },
12775                        .{ .kind = .id_result, .quantifier = .required },
12776                        .{ .kind = .id_ref, .quantifier = .required },
12777                        .{ .kind = .literal_integer, .quantifier = .required },
12778                        .{ .kind = .literal_integer, .quantifier = .required },
12779                        .{ .kind = .literal_integer, .quantifier = .required },
12780                        .{ .kind = .literal_integer, .quantifier = .required },
12781                        .{ .kind = .literal_integer, .quantifier = .required },
12782                    },
12783                },
12784                .{
12785                    .name = "OpArbitraryFloatExpm1INTEL",
12786                    .opcode = 5867,
12787                    .operands = &.{
12788                        .{ .kind = .id_result_type, .quantifier = .required },
12789                        .{ .kind = .id_result, .quantifier = .required },
12790                        .{ .kind = .id_ref, .quantifier = .required },
12791                        .{ .kind = .literal_integer, .quantifier = .required },
12792                        .{ .kind = .literal_integer, .quantifier = .required },
12793                        .{ .kind = .literal_integer, .quantifier = .required },
12794                        .{ .kind = .literal_integer, .quantifier = .required },
12795                        .{ .kind = .literal_integer, .quantifier = .required },
12796                    },
12797                },
12798                .{
12799                    .name = "OpArbitraryFloatSinINTEL",
12800                    .opcode = 5868,
12801                    .operands = &.{
12802                        .{ .kind = .id_result_type, .quantifier = .required },
12803                        .{ .kind = .id_result, .quantifier = .required },
12804                        .{ .kind = .id_ref, .quantifier = .required },
12805                        .{ .kind = .literal_integer, .quantifier = .required },
12806                        .{ .kind = .literal_integer, .quantifier = .required },
12807                        .{ .kind = .literal_integer, .quantifier = .required },
12808                        .{ .kind = .literal_integer, .quantifier = .required },
12809                        .{ .kind = .literal_integer, .quantifier = .required },
12810                    },
12811                },
12812                .{
12813                    .name = "OpArbitraryFloatCosINTEL",
12814                    .opcode = 5869,
12815                    .operands = &.{
12816                        .{ .kind = .id_result_type, .quantifier = .required },
12817                        .{ .kind = .id_result, .quantifier = .required },
12818                        .{ .kind = .id_ref, .quantifier = .required },
12819                        .{ .kind = .literal_integer, .quantifier = .required },
12820                        .{ .kind = .literal_integer, .quantifier = .required },
12821                        .{ .kind = .literal_integer, .quantifier = .required },
12822                        .{ .kind = .literal_integer, .quantifier = .required },
12823                        .{ .kind = .literal_integer, .quantifier = .required },
12824                    },
12825                },
12826                .{
12827                    .name = "OpArbitraryFloatSinCosINTEL",
12828                    .opcode = 5870,
12829                    .operands = &.{
12830                        .{ .kind = .id_result_type, .quantifier = .required },
12831                        .{ .kind = .id_result, .quantifier = .required },
12832                        .{ .kind = .id_ref, .quantifier = .required },
12833                        .{ .kind = .literal_integer, .quantifier = .required },
12834                        .{ .kind = .literal_integer, .quantifier = .required },
12835                        .{ .kind = .literal_integer, .quantifier = .required },
12836                        .{ .kind = .literal_integer, .quantifier = .required },
12837                        .{ .kind = .literal_integer, .quantifier = .required },
12838                    },
12839                },
12840                .{
12841                    .name = "OpArbitraryFloatSinPiINTEL",
12842                    .opcode = 5871,
12843                    .operands = &.{
12844                        .{ .kind = .id_result_type, .quantifier = .required },
12845                        .{ .kind = .id_result, .quantifier = .required },
12846                        .{ .kind = .id_ref, .quantifier = .required },
12847                        .{ .kind = .literal_integer, .quantifier = .required },
12848                        .{ .kind = .literal_integer, .quantifier = .required },
12849                        .{ .kind = .literal_integer, .quantifier = .required },
12850                        .{ .kind = .literal_integer, .quantifier = .required },
12851                        .{ .kind = .literal_integer, .quantifier = .required },
12852                    },
12853                },
12854                .{
12855                    .name = "OpArbitraryFloatCosPiINTEL",
12856                    .opcode = 5872,
12857                    .operands = &.{
12858                        .{ .kind = .id_result_type, .quantifier = .required },
12859                        .{ .kind = .id_result, .quantifier = .required },
12860                        .{ .kind = .id_ref, .quantifier = .required },
12861                        .{ .kind = .literal_integer, .quantifier = .required },
12862                        .{ .kind = .literal_integer, .quantifier = .required },
12863                        .{ .kind = .literal_integer, .quantifier = .required },
12864                        .{ .kind = .literal_integer, .quantifier = .required },
12865                        .{ .kind = .literal_integer, .quantifier = .required },
12866                    },
12867                },
12868                .{
12869                    .name = "OpArbitraryFloatASinINTEL",
12870                    .opcode = 5873,
12871                    .operands = &.{
12872                        .{ .kind = .id_result_type, .quantifier = .required },
12873                        .{ .kind = .id_result, .quantifier = .required },
12874                        .{ .kind = .id_ref, .quantifier = .required },
12875                        .{ .kind = .literal_integer, .quantifier = .required },
12876                        .{ .kind = .literal_integer, .quantifier = .required },
12877                        .{ .kind = .literal_integer, .quantifier = .required },
12878                        .{ .kind = .literal_integer, .quantifier = .required },
12879                        .{ .kind = .literal_integer, .quantifier = .required },
12880                    },
12881                },
12882                .{
12883                    .name = "OpArbitraryFloatASinPiINTEL",
12884                    .opcode = 5874,
12885                    .operands = &.{
12886                        .{ .kind = .id_result_type, .quantifier = .required },
12887                        .{ .kind = .id_result, .quantifier = .required },
12888                        .{ .kind = .id_ref, .quantifier = .required },
12889                        .{ .kind = .literal_integer, .quantifier = .required },
12890                        .{ .kind = .literal_integer, .quantifier = .required },
12891                        .{ .kind = .literal_integer, .quantifier = .required },
12892                        .{ .kind = .literal_integer, .quantifier = .required },
12893                        .{ .kind = .literal_integer, .quantifier = .required },
12894                    },
12895                },
12896                .{
12897                    .name = "OpArbitraryFloatACosINTEL",
12898                    .opcode = 5875,
12899                    .operands = &.{
12900                        .{ .kind = .id_result_type, .quantifier = .required },
12901                        .{ .kind = .id_result, .quantifier = .required },
12902                        .{ .kind = .id_ref, .quantifier = .required },
12903                        .{ .kind = .literal_integer, .quantifier = .required },
12904                        .{ .kind = .literal_integer, .quantifier = .required },
12905                        .{ .kind = .literal_integer, .quantifier = .required },
12906                        .{ .kind = .literal_integer, .quantifier = .required },
12907                        .{ .kind = .literal_integer, .quantifier = .required },
12908                    },
12909                },
12910                .{
12911                    .name = "OpArbitraryFloatACosPiINTEL",
12912                    .opcode = 5876,
12913                    .operands = &.{
12914                        .{ .kind = .id_result_type, .quantifier = .required },
12915                        .{ .kind = .id_result, .quantifier = .required },
12916                        .{ .kind = .id_ref, .quantifier = .required },
12917                        .{ .kind = .literal_integer, .quantifier = .required },
12918                        .{ .kind = .literal_integer, .quantifier = .required },
12919                        .{ .kind = .literal_integer, .quantifier = .required },
12920                        .{ .kind = .literal_integer, .quantifier = .required },
12921                        .{ .kind = .literal_integer, .quantifier = .required },
12922                    },
12923                },
12924                .{
12925                    .name = "OpArbitraryFloatATanINTEL",
12926                    .opcode = 5877,
12927                    .operands = &.{
12928                        .{ .kind = .id_result_type, .quantifier = .required },
12929                        .{ .kind = .id_result, .quantifier = .required },
12930                        .{ .kind = .id_ref, .quantifier = .required },
12931                        .{ .kind = .literal_integer, .quantifier = .required },
12932                        .{ .kind = .literal_integer, .quantifier = .required },
12933                        .{ .kind = .literal_integer, .quantifier = .required },
12934                        .{ .kind = .literal_integer, .quantifier = .required },
12935                        .{ .kind = .literal_integer, .quantifier = .required },
12936                    },
12937                },
12938                .{
12939                    .name = "OpArbitraryFloatATanPiINTEL",
12940                    .opcode = 5878,
12941                    .operands = &.{
12942                        .{ .kind = .id_result_type, .quantifier = .required },
12943                        .{ .kind = .id_result, .quantifier = .required },
12944                        .{ .kind = .id_ref, .quantifier = .required },
12945                        .{ .kind = .literal_integer, .quantifier = .required },
12946                        .{ .kind = .literal_integer, .quantifier = .required },
12947                        .{ .kind = .literal_integer, .quantifier = .required },
12948                        .{ .kind = .literal_integer, .quantifier = .required },
12949                        .{ .kind = .literal_integer, .quantifier = .required },
12950                    },
12951                },
12952                .{
12953                    .name = "OpArbitraryFloatATan2INTEL",
12954                    .opcode = 5879,
12955                    .operands = &.{
12956                        .{ .kind = .id_result_type, .quantifier = .required },
12957                        .{ .kind = .id_result, .quantifier = .required },
12958                        .{ .kind = .id_ref, .quantifier = .required },
12959                        .{ .kind = .literal_integer, .quantifier = .required },
12960                        .{ .kind = .id_ref, .quantifier = .required },
12961                        .{ .kind = .literal_integer, .quantifier = .required },
12962                        .{ .kind = .literal_integer, .quantifier = .required },
12963                        .{ .kind = .literal_integer, .quantifier = .required },
12964                        .{ .kind = .literal_integer, .quantifier = .required },
12965                        .{ .kind = .literal_integer, .quantifier = .required },
12966                    },
12967                },
12968                .{
12969                    .name = "OpArbitraryFloatPowINTEL",
12970                    .opcode = 5880,
12971                    .operands = &.{
12972                        .{ .kind = .id_result_type, .quantifier = .required },
12973                        .{ .kind = .id_result, .quantifier = .required },
12974                        .{ .kind = .id_ref, .quantifier = .required },
12975                        .{ .kind = .literal_integer, .quantifier = .required },
12976                        .{ .kind = .id_ref, .quantifier = .required },
12977                        .{ .kind = .literal_integer, .quantifier = .required },
12978                        .{ .kind = .literal_integer, .quantifier = .required },
12979                        .{ .kind = .literal_integer, .quantifier = .required },
12980                        .{ .kind = .literal_integer, .quantifier = .required },
12981                        .{ .kind = .literal_integer, .quantifier = .required },
12982                    },
12983                },
12984                .{
12985                    .name = "OpArbitraryFloatPowRINTEL",
12986                    .opcode = 5881,
12987                    .operands = &.{
12988                        .{ .kind = .id_result_type, .quantifier = .required },
12989                        .{ .kind = .id_result, .quantifier = .required },
12990                        .{ .kind = .id_ref, .quantifier = .required },
12991                        .{ .kind = .literal_integer, .quantifier = .required },
12992                        .{ .kind = .id_ref, .quantifier = .required },
12993                        .{ .kind = .literal_integer, .quantifier = .required },
12994                        .{ .kind = .literal_integer, .quantifier = .required },
12995                        .{ .kind = .literal_integer, .quantifier = .required },
12996                        .{ .kind = .literal_integer, .quantifier = .required },
12997                        .{ .kind = .literal_integer, .quantifier = .required },
12998                    },
12999                },
13000                .{
13001                    .name = "OpArbitraryFloatPowNINTEL",
13002                    .opcode = 5882,
13003                    .operands = &.{
13004                        .{ .kind = .id_result_type, .quantifier = .required },
13005                        .{ .kind = .id_result, .quantifier = .required },
13006                        .{ .kind = .id_ref, .quantifier = .required },
13007                        .{ .kind = .literal_integer, .quantifier = .required },
13008                        .{ .kind = .id_ref, .quantifier = .required },
13009                        .{ .kind = .literal_integer, .quantifier = .required },
13010                        .{ .kind = .literal_integer, .quantifier = .required },
13011                        .{ .kind = .literal_integer, .quantifier = .required },
13012                        .{ .kind = .literal_integer, .quantifier = .required },
13013                        .{ .kind = .literal_integer, .quantifier = .required },
13014                    },
13015                },
13016                .{
13017                    .name = "OpLoopControlINTEL",
13018                    .opcode = 5887,
13019                    .operands = &.{
13020                        .{ .kind = .literal_integer, .quantifier = .variadic },
13021                    },
13022                },
13023                .{
13024                    .name = "OpAliasDomainDeclINTEL",
13025                    .opcode = 5911,
13026                    .operands = &.{
13027                        .{ .kind = .id_result, .quantifier = .required },
13028                        .{ .kind = .id_ref, .quantifier = .optional },
13029                    },
13030                },
13031                .{
13032                    .name = "OpAliasScopeDeclINTEL",
13033                    .opcode = 5912,
13034                    .operands = &.{
13035                        .{ .kind = .id_result, .quantifier = .required },
13036                        .{ .kind = .id_ref, .quantifier = .required },
13037                        .{ .kind = .id_ref, .quantifier = .optional },
13038                    },
13039                },
13040                .{
13041                    .name = "OpAliasScopeListDeclINTEL",
13042                    .opcode = 5913,
13043                    .operands = &.{
13044                        .{ .kind = .id_result, .quantifier = .required },
13045                        .{ .kind = .id_ref, .quantifier = .variadic },
13046                    },
13047                },
13048                .{
13049                    .name = "OpFixedSqrtINTEL",
13050                    .opcode = 5923,
13051                    .operands = &.{
13052                        .{ .kind = .id_result_type, .quantifier = .required },
13053                        .{ .kind = .id_result, .quantifier = .required },
13054                        .{ .kind = .id_ref, .quantifier = .required },
13055                        .{ .kind = .literal_integer, .quantifier = .required },
13056                        .{ .kind = .literal_integer, .quantifier = .required },
13057                        .{ .kind = .literal_integer, .quantifier = .required },
13058                        .{ .kind = .literal_integer, .quantifier = .required },
13059                        .{ .kind = .literal_integer, .quantifier = .required },
13060                    },
13061                },
13062                .{
13063                    .name = "OpFixedRecipINTEL",
13064                    .opcode = 5924,
13065                    .operands = &.{
13066                        .{ .kind = .id_result_type, .quantifier = .required },
13067                        .{ .kind = .id_result, .quantifier = .required },
13068                        .{ .kind = .id_ref, .quantifier = .required },
13069                        .{ .kind = .literal_integer, .quantifier = .required },
13070                        .{ .kind = .literal_integer, .quantifier = .required },
13071                        .{ .kind = .literal_integer, .quantifier = .required },
13072                        .{ .kind = .literal_integer, .quantifier = .required },
13073                        .{ .kind = .literal_integer, .quantifier = .required },
13074                    },
13075                },
13076                .{
13077                    .name = "OpFixedRsqrtINTEL",
13078                    .opcode = 5925,
13079                    .operands = &.{
13080                        .{ .kind = .id_result_type, .quantifier = .required },
13081                        .{ .kind = .id_result, .quantifier = .required },
13082                        .{ .kind = .id_ref, .quantifier = .required },
13083                        .{ .kind = .literal_integer, .quantifier = .required },
13084                        .{ .kind = .literal_integer, .quantifier = .required },
13085                        .{ .kind = .literal_integer, .quantifier = .required },
13086                        .{ .kind = .literal_integer, .quantifier = .required },
13087                        .{ .kind = .literal_integer, .quantifier = .required },
13088                    },
13089                },
13090                .{
13091                    .name = "OpFixedSinINTEL",
13092                    .opcode = 5926,
13093                    .operands = &.{
13094                        .{ .kind = .id_result_type, .quantifier = .required },
13095                        .{ .kind = .id_result, .quantifier = .required },
13096                        .{ .kind = .id_ref, .quantifier = .required },
13097                        .{ .kind = .literal_integer, .quantifier = .required },
13098                        .{ .kind = .literal_integer, .quantifier = .required },
13099                        .{ .kind = .literal_integer, .quantifier = .required },
13100                        .{ .kind = .literal_integer, .quantifier = .required },
13101                        .{ .kind = .literal_integer, .quantifier = .required },
13102                    },
13103                },
13104                .{
13105                    .name = "OpFixedCosINTEL",
13106                    .opcode = 5927,
13107                    .operands = &.{
13108                        .{ .kind = .id_result_type, .quantifier = .required },
13109                        .{ .kind = .id_result, .quantifier = .required },
13110                        .{ .kind = .id_ref, .quantifier = .required },
13111                        .{ .kind = .literal_integer, .quantifier = .required },
13112                        .{ .kind = .literal_integer, .quantifier = .required },
13113                        .{ .kind = .literal_integer, .quantifier = .required },
13114                        .{ .kind = .literal_integer, .quantifier = .required },
13115                        .{ .kind = .literal_integer, .quantifier = .required },
13116                    },
13117                },
13118                .{
13119                    .name = "OpFixedSinCosINTEL",
13120                    .opcode = 5928,
13121                    .operands = &.{
13122                        .{ .kind = .id_result_type, .quantifier = .required },
13123                        .{ .kind = .id_result, .quantifier = .required },
13124                        .{ .kind = .id_ref, .quantifier = .required },
13125                        .{ .kind = .literal_integer, .quantifier = .required },
13126                        .{ .kind = .literal_integer, .quantifier = .required },
13127                        .{ .kind = .literal_integer, .quantifier = .required },
13128                        .{ .kind = .literal_integer, .quantifier = .required },
13129                        .{ .kind = .literal_integer, .quantifier = .required },
13130                    },
13131                },
13132                .{
13133                    .name = "OpFixedSinPiINTEL",
13134                    .opcode = 5929,
13135                    .operands = &.{
13136                        .{ .kind = .id_result_type, .quantifier = .required },
13137                        .{ .kind = .id_result, .quantifier = .required },
13138                        .{ .kind = .id_ref, .quantifier = .required },
13139                        .{ .kind = .literal_integer, .quantifier = .required },
13140                        .{ .kind = .literal_integer, .quantifier = .required },
13141                        .{ .kind = .literal_integer, .quantifier = .required },
13142                        .{ .kind = .literal_integer, .quantifier = .required },
13143                        .{ .kind = .literal_integer, .quantifier = .required },
13144                    },
13145                },
13146                .{
13147                    .name = "OpFixedCosPiINTEL",
13148                    .opcode = 5930,
13149                    .operands = &.{
13150                        .{ .kind = .id_result_type, .quantifier = .required },
13151                        .{ .kind = .id_result, .quantifier = .required },
13152                        .{ .kind = .id_ref, .quantifier = .required },
13153                        .{ .kind = .literal_integer, .quantifier = .required },
13154                        .{ .kind = .literal_integer, .quantifier = .required },
13155                        .{ .kind = .literal_integer, .quantifier = .required },
13156                        .{ .kind = .literal_integer, .quantifier = .required },
13157                        .{ .kind = .literal_integer, .quantifier = .required },
13158                    },
13159                },
13160                .{
13161                    .name = "OpFixedSinCosPiINTEL",
13162                    .opcode = 5931,
13163                    .operands = &.{
13164                        .{ .kind = .id_result_type, .quantifier = .required },
13165                        .{ .kind = .id_result, .quantifier = .required },
13166                        .{ .kind = .id_ref, .quantifier = .required },
13167                        .{ .kind = .literal_integer, .quantifier = .required },
13168                        .{ .kind = .literal_integer, .quantifier = .required },
13169                        .{ .kind = .literal_integer, .quantifier = .required },
13170                        .{ .kind = .literal_integer, .quantifier = .required },
13171                        .{ .kind = .literal_integer, .quantifier = .required },
13172                    },
13173                },
13174                .{
13175                    .name = "OpFixedLogINTEL",
13176                    .opcode = 5932,
13177                    .operands = &.{
13178                        .{ .kind = .id_result_type, .quantifier = .required },
13179                        .{ .kind = .id_result, .quantifier = .required },
13180                        .{ .kind = .id_ref, .quantifier = .required },
13181                        .{ .kind = .literal_integer, .quantifier = .required },
13182                        .{ .kind = .literal_integer, .quantifier = .required },
13183                        .{ .kind = .literal_integer, .quantifier = .required },
13184                        .{ .kind = .literal_integer, .quantifier = .required },
13185                        .{ .kind = .literal_integer, .quantifier = .required },
13186                    },
13187                },
13188                .{
13189                    .name = "OpFixedExpINTEL",
13190                    .opcode = 5933,
13191                    .operands = &.{
13192                        .{ .kind = .id_result_type, .quantifier = .required },
13193                        .{ .kind = .id_result, .quantifier = .required },
13194                        .{ .kind = .id_ref, .quantifier = .required },
13195                        .{ .kind = .literal_integer, .quantifier = .required },
13196                        .{ .kind = .literal_integer, .quantifier = .required },
13197                        .{ .kind = .literal_integer, .quantifier = .required },
13198                        .{ .kind = .literal_integer, .quantifier = .required },
13199                        .{ .kind = .literal_integer, .quantifier = .required },
13200                    },
13201                },
13202                .{
13203                    .name = "OpPtrCastToCrossWorkgroupINTEL",
13204                    .opcode = 5934,
13205                    .operands = &.{
13206                        .{ .kind = .id_result_type, .quantifier = .required },
13207                        .{ .kind = .id_result, .quantifier = .required },
13208                        .{ .kind = .id_ref, .quantifier = .required },
13209                    },
13210                },
13211                .{
13212                    .name = "OpCrossWorkgroupCastToPtrINTEL",
13213                    .opcode = 5938,
13214                    .operands = &.{
13215                        .{ .kind = .id_result_type, .quantifier = .required },
13216                        .{ .kind = .id_result, .quantifier = .required },
13217                        .{ .kind = .id_ref, .quantifier = .required },
13218                    },
13219                },
13220                .{
13221                    .name = "OpReadPipeBlockingINTEL",
13222                    .opcode = 5946,
13223                    .operands = &.{
13224                        .{ .kind = .id_result_type, .quantifier = .required },
13225                        .{ .kind = .id_result, .quantifier = .required },
13226                        .{ .kind = .id_ref, .quantifier = .required },
13227                        .{ .kind = .id_ref, .quantifier = .required },
13228                    },
13229                },
13230                .{
13231                    .name = "OpWritePipeBlockingINTEL",
13232                    .opcode = 5947,
13233                    .operands = &.{
13234                        .{ .kind = .id_result_type, .quantifier = .required },
13235                        .{ .kind = .id_result, .quantifier = .required },
13236                        .{ .kind = .id_ref, .quantifier = .required },
13237                        .{ .kind = .id_ref, .quantifier = .required },
13238                    },
13239                },
13240                .{
13241                    .name = "OpFPGARegINTEL",
13242                    .opcode = 5949,
13243                    .operands = &.{
13244                        .{ .kind = .id_result_type, .quantifier = .required },
13245                        .{ .kind = .id_result, .quantifier = .required },
13246                        .{ .kind = .id_ref, .quantifier = .required },
13247                    },
13248                },
13249                .{
13250                    .name = "OpRayQueryGetRayTMinKHR",
13251                    .opcode = 6016,
13252                    .operands = &.{
13253                        .{ .kind = .id_result_type, .quantifier = .required },
13254                        .{ .kind = .id_result, .quantifier = .required },
13255                        .{ .kind = .id_ref, .quantifier = .required },
13256                    },
13257                },
13258                .{
13259                    .name = "OpRayQueryGetRayFlagsKHR",
13260                    .opcode = 6017,
13261                    .operands = &.{
13262                        .{ .kind = .id_result_type, .quantifier = .required },
13263                        .{ .kind = .id_result, .quantifier = .required },
13264                        .{ .kind = .id_ref, .quantifier = .required },
13265                    },
13266                },
13267                .{
13268                    .name = "OpRayQueryGetIntersectionTKHR",
13269                    .opcode = 6018,
13270                    .operands = &.{
13271                        .{ .kind = .id_result_type, .quantifier = .required },
13272                        .{ .kind = .id_result, .quantifier = .required },
13273                        .{ .kind = .id_ref, .quantifier = .required },
13274                        .{ .kind = .id_ref, .quantifier = .required },
13275                    },
13276                },
13277                .{
13278                    .name = "OpRayQueryGetIntersectionInstanceCustomIndexKHR",
13279                    .opcode = 6019,
13280                    .operands = &.{
13281                        .{ .kind = .id_result_type, .quantifier = .required },
13282                        .{ .kind = .id_result, .quantifier = .required },
13283                        .{ .kind = .id_ref, .quantifier = .required },
13284                        .{ .kind = .id_ref, .quantifier = .required },
13285                    },
13286                },
13287                .{
13288                    .name = "OpRayQueryGetIntersectionInstanceIdKHR",
13289                    .opcode = 6020,
13290                    .operands = &.{
13291                        .{ .kind = .id_result_type, .quantifier = .required },
13292                        .{ .kind = .id_result, .quantifier = .required },
13293                        .{ .kind = .id_ref, .quantifier = .required },
13294                        .{ .kind = .id_ref, .quantifier = .required },
13295                    },
13296                },
13297                .{
13298                    .name = "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR",
13299                    .opcode = 6021,
13300                    .operands = &.{
13301                        .{ .kind = .id_result_type, .quantifier = .required },
13302                        .{ .kind = .id_result, .quantifier = .required },
13303                        .{ .kind = .id_ref, .quantifier = .required },
13304                        .{ .kind = .id_ref, .quantifier = .required },
13305                    },
13306                },
13307                .{
13308                    .name = "OpRayQueryGetIntersectionGeometryIndexKHR",
13309                    .opcode = 6022,
13310                    .operands = &.{
13311                        .{ .kind = .id_result_type, .quantifier = .required },
13312                        .{ .kind = .id_result, .quantifier = .required },
13313                        .{ .kind = .id_ref, .quantifier = .required },
13314                        .{ .kind = .id_ref, .quantifier = .required },
13315                    },
13316                },
13317                .{
13318                    .name = "OpRayQueryGetIntersectionPrimitiveIndexKHR",
13319                    .opcode = 6023,
13320                    .operands = &.{
13321                        .{ .kind = .id_result_type, .quantifier = .required },
13322                        .{ .kind = .id_result, .quantifier = .required },
13323                        .{ .kind = .id_ref, .quantifier = .required },
13324                        .{ .kind = .id_ref, .quantifier = .required },
13325                    },
13326                },
13327                .{
13328                    .name = "OpRayQueryGetIntersectionBarycentricsKHR",
13329                    .opcode = 6024,
13330                    .operands = &.{
13331                        .{ .kind = .id_result_type, .quantifier = .required },
13332                        .{ .kind = .id_result, .quantifier = .required },
13333                        .{ .kind = .id_ref, .quantifier = .required },
13334                        .{ .kind = .id_ref, .quantifier = .required },
13335                    },
13336                },
13337                .{
13338                    .name = "OpRayQueryGetIntersectionFrontFaceKHR",
13339                    .opcode = 6025,
13340                    .operands = &.{
13341                        .{ .kind = .id_result_type, .quantifier = .required },
13342                        .{ .kind = .id_result, .quantifier = .required },
13343                        .{ .kind = .id_ref, .quantifier = .required },
13344                        .{ .kind = .id_ref, .quantifier = .required },
13345                    },
13346                },
13347                .{
13348                    .name = "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR",
13349                    .opcode = 6026,
13350                    .operands = &.{
13351                        .{ .kind = .id_result_type, .quantifier = .required },
13352                        .{ .kind = .id_result, .quantifier = .required },
13353                        .{ .kind = .id_ref, .quantifier = .required },
13354                    },
13355                },
13356                .{
13357                    .name = "OpRayQueryGetIntersectionObjectRayDirectionKHR",
13358                    .opcode = 6027,
13359                    .operands = &.{
13360                        .{ .kind = .id_result_type, .quantifier = .required },
13361                        .{ .kind = .id_result, .quantifier = .required },
13362                        .{ .kind = .id_ref, .quantifier = .required },
13363                        .{ .kind = .id_ref, .quantifier = .required },
13364                    },
13365                },
13366                .{
13367                    .name = "OpRayQueryGetIntersectionObjectRayOriginKHR",
13368                    .opcode = 6028,
13369                    .operands = &.{
13370                        .{ .kind = .id_result_type, .quantifier = .required },
13371                        .{ .kind = .id_result, .quantifier = .required },
13372                        .{ .kind = .id_ref, .quantifier = .required },
13373                        .{ .kind = .id_ref, .quantifier = .required },
13374                    },
13375                },
13376                .{
13377                    .name = "OpRayQueryGetWorldRayDirectionKHR",
13378                    .opcode = 6029,
13379                    .operands = &.{
13380                        .{ .kind = .id_result_type, .quantifier = .required },
13381                        .{ .kind = .id_result, .quantifier = .required },
13382                        .{ .kind = .id_ref, .quantifier = .required },
13383                    },
13384                },
13385                .{
13386                    .name = "OpRayQueryGetWorldRayOriginKHR",
13387                    .opcode = 6030,
13388                    .operands = &.{
13389                        .{ .kind = .id_result_type, .quantifier = .required },
13390                        .{ .kind = .id_result, .quantifier = .required },
13391                        .{ .kind = .id_ref, .quantifier = .required },
13392                    },
13393                },
13394                .{
13395                    .name = "OpRayQueryGetIntersectionObjectToWorldKHR",
13396                    .opcode = 6031,
13397                    .operands = &.{
13398                        .{ .kind = .id_result_type, .quantifier = .required },
13399                        .{ .kind = .id_result, .quantifier = .required },
13400                        .{ .kind = .id_ref, .quantifier = .required },
13401                        .{ .kind = .id_ref, .quantifier = .required },
13402                    },
13403                },
13404                .{
13405                    .name = "OpRayQueryGetIntersectionWorldToObjectKHR",
13406                    .opcode = 6032,
13407                    .operands = &.{
13408                        .{ .kind = .id_result_type, .quantifier = .required },
13409                        .{ .kind = .id_result, .quantifier = .required },
13410                        .{ .kind = .id_ref, .quantifier = .required },
13411                        .{ .kind = .id_ref, .quantifier = .required },
13412                    },
13413                },
13414                .{
13415                    .name = "OpAtomicFAddEXT",
13416                    .opcode = 6035,
13417                    .operands = &.{
13418                        .{ .kind = .id_result_type, .quantifier = .required },
13419                        .{ .kind = .id_result, .quantifier = .required },
13420                        .{ .kind = .id_ref, .quantifier = .required },
13421                        .{ .kind = .id_scope, .quantifier = .required },
13422                        .{ .kind = .id_memory_semantics, .quantifier = .required },
13423                        .{ .kind = .id_ref, .quantifier = .required },
13424                    },
13425                },
13426                .{
13427                    .name = "OpTypeBufferSurfaceINTEL",
13428                    .opcode = 6086,
13429                    .operands = &.{
13430                        .{ .kind = .id_result, .quantifier = .required },
13431                        .{ .kind = .access_qualifier, .quantifier = .required },
13432                    },
13433                },
13434                .{
13435                    .name = "OpTypeStructContinuedINTEL",
13436                    .opcode = 6090,
13437                    .operands = &.{
13438                        .{ .kind = .id_ref, .quantifier = .variadic },
13439                    },
13440                },
13441                .{
13442                    .name = "OpConstantCompositeContinuedINTEL",
13443                    .opcode = 6091,
13444                    .operands = &.{
13445                        .{ .kind = .id_ref, .quantifier = .variadic },
13446                    },
13447                },
13448                .{
13449                    .name = "OpSpecConstantCompositeContinuedINTEL",
13450                    .opcode = 6092,
13451                    .operands = &.{
13452                        .{ .kind = .id_ref, .quantifier = .variadic },
13453                    },
13454                },
13455                .{
13456                    .name = "OpCompositeConstructContinuedINTEL",
13457                    .opcode = 6096,
13458                    .operands = &.{
13459                        .{ .kind = .id_result_type, .quantifier = .required },
13460                        .{ .kind = .id_result, .quantifier = .required },
13461                        .{ .kind = .id_ref, .quantifier = .variadic },
13462                    },
13463                },
13464                .{
13465                    .name = "OpConvertFToBF16INTEL",
13466                    .opcode = 6116,
13467                    .operands = &.{
13468                        .{ .kind = .id_result_type, .quantifier = .required },
13469                        .{ .kind = .id_result, .quantifier = .required },
13470                        .{ .kind = .id_ref, .quantifier = .required },
13471                    },
13472                },
13473                .{
13474                    .name = "OpConvertBF16ToFINTEL",
13475                    .opcode = 6117,
13476                    .operands = &.{
13477                        .{ .kind = .id_result_type, .quantifier = .required },
13478                        .{ .kind = .id_result, .quantifier = .required },
13479                        .{ .kind = .id_ref, .quantifier = .required },
13480                    },
13481                },
13482                .{
13483                    .name = "OpControlBarrierArriveINTEL",
13484                    .opcode = 6142,
13485                    .operands = &.{
13486                        .{ .kind = .id_scope, .quantifier = .required },
13487                        .{ .kind = .id_scope, .quantifier = .required },
13488                        .{ .kind = .id_memory_semantics, .quantifier = .required },
13489                    },
13490                },
13491                .{
13492                    .name = "OpControlBarrierWaitINTEL",
13493                    .opcode = 6143,
13494                    .operands = &.{
13495                        .{ .kind = .id_scope, .quantifier = .required },
13496                        .{ .kind = .id_scope, .quantifier = .required },
13497                        .{ .kind = .id_memory_semantics, .quantifier = .required },
13498                    },
13499                },
13500                .{
13501                    .name = "OpArithmeticFenceEXT",
13502                    .opcode = 6145,
13503                    .operands = &.{
13504                        .{ .kind = .id_result_type, .quantifier = .required },
13505                        .{ .kind = .id_result, .quantifier = .required },
13506                        .{ .kind = .id_ref, .quantifier = .required },
13507                    },
13508                },
13509                .{
13510                    .name = "OpTaskSequenceCreateINTEL",
13511                    .opcode = 6163,
13512                    .operands = &.{
13513                        .{ .kind = .id_result_type, .quantifier = .required },
13514                        .{ .kind = .id_result, .quantifier = .required },
13515                        .{ .kind = .id_ref, .quantifier = .required },
13516                        .{ .kind = .literal_integer, .quantifier = .required },
13517                        .{ .kind = .literal_integer, .quantifier = .required },
13518                        .{ .kind = .literal_integer, .quantifier = .required },
13519                        .{ .kind = .literal_integer, .quantifier = .required },
13520                    },
13521                },
13522                .{
13523                    .name = "OpTaskSequenceAsyncINTEL",
13524                    .opcode = 6164,
13525                    .operands = &.{
13526                        .{ .kind = .id_ref, .quantifier = .required },
13527                        .{ .kind = .id_ref, .quantifier = .variadic },
13528                    },
13529                },
13530                .{
13531                    .name = "OpTaskSequenceGetINTEL",
13532                    .opcode = 6165,
13533                    .operands = &.{
13534                        .{ .kind = .id_result_type, .quantifier = .required },
13535                        .{ .kind = .id_result, .quantifier = .required },
13536                        .{ .kind = .id_ref, .quantifier = .required },
13537                    },
13538                },
13539                .{
13540                    .name = "OpTaskSequenceReleaseINTEL",
13541                    .opcode = 6166,
13542                    .operands = &.{
13543                        .{ .kind = .id_ref, .quantifier = .required },
13544                    },
13545                },
13546                .{
13547                    .name = "OpTypeTaskSequenceINTEL",
13548                    .opcode = 6199,
13549                    .operands = &.{
13550                        .{ .kind = .id_result, .quantifier = .required },
13551                    },
13552                },
13553                .{
13554                    .name = "OpSubgroupBlockPrefetchINTEL",
13555                    .opcode = 6221,
13556                    .operands = &.{
13557                        .{ .kind = .id_ref, .quantifier = .required },
13558                        .{ .kind = .id_ref, .quantifier = .required },
13559                        .{ .kind = .memory_access, .quantifier = .optional },
13560                    },
13561                },
13562                .{
13563                    .name = "OpSubgroup2DBlockLoadINTEL",
13564                    .opcode = 6231,
13565                    .operands = &.{
13566                        .{ .kind = .id_ref, .quantifier = .required },
13567                        .{ .kind = .id_ref, .quantifier = .required },
13568                        .{ .kind = .id_ref, .quantifier = .required },
13569                        .{ .kind = .id_ref, .quantifier = .required },
13570                        .{ .kind = .id_ref, .quantifier = .required },
13571                        .{ .kind = .id_ref, .quantifier = .required },
13572                        .{ .kind = .id_ref, .quantifier = .required },
13573                        .{ .kind = .id_ref, .quantifier = .required },
13574                        .{ .kind = .id_ref, .quantifier = .required },
13575                        .{ .kind = .id_ref, .quantifier = .required },
13576                    },
13577                },
13578                .{
13579                    .name = "OpSubgroup2DBlockLoadTransformINTEL",
13580                    .opcode = 6232,
13581                    .operands = &.{
13582                        .{ .kind = .id_ref, .quantifier = .required },
13583                        .{ .kind = .id_ref, .quantifier = .required },
13584                        .{ .kind = .id_ref, .quantifier = .required },
13585                        .{ .kind = .id_ref, .quantifier = .required },
13586                        .{ .kind = .id_ref, .quantifier = .required },
13587                        .{ .kind = .id_ref, .quantifier = .required },
13588                        .{ .kind = .id_ref, .quantifier = .required },
13589                        .{ .kind = .id_ref, .quantifier = .required },
13590                        .{ .kind = .id_ref, .quantifier = .required },
13591                        .{ .kind = .id_ref, .quantifier = .required },
13592                    },
13593                },
13594                .{
13595                    .name = "OpSubgroup2DBlockLoadTransposeINTEL",
13596                    .opcode = 6233,
13597                    .operands = &.{
13598                        .{ .kind = .id_ref, .quantifier = .required },
13599                        .{ .kind = .id_ref, .quantifier = .required },
13600                        .{ .kind = .id_ref, .quantifier = .required },
13601                        .{ .kind = .id_ref, .quantifier = .required },
13602                        .{ .kind = .id_ref, .quantifier = .required },
13603                        .{ .kind = .id_ref, .quantifier = .required },
13604                        .{ .kind = .id_ref, .quantifier = .required },
13605                        .{ .kind = .id_ref, .quantifier = .required },
13606                        .{ .kind = .id_ref, .quantifier = .required },
13607                        .{ .kind = .id_ref, .quantifier = .required },
13608                    },
13609                },
13610                .{
13611                    .name = "OpSubgroup2DBlockPrefetchINTEL",
13612                    .opcode = 6234,
13613                    .operands = &.{
13614                        .{ .kind = .id_ref, .quantifier = .required },
13615                        .{ .kind = .id_ref, .quantifier = .required },
13616                        .{ .kind = .id_ref, .quantifier = .required },
13617                        .{ .kind = .id_ref, .quantifier = .required },
13618                        .{ .kind = .id_ref, .quantifier = .required },
13619                        .{ .kind = .id_ref, .quantifier = .required },
13620                        .{ .kind = .id_ref, .quantifier = .required },
13621                        .{ .kind = .id_ref, .quantifier = .required },
13622                        .{ .kind = .id_ref, .quantifier = .required },
13623                    },
13624                },
13625                .{
13626                    .name = "OpSubgroup2DBlockStoreINTEL",
13627                    .opcode = 6235,
13628                    .operands = &.{
13629                        .{ .kind = .id_ref, .quantifier = .required },
13630                        .{ .kind = .id_ref, .quantifier = .required },
13631                        .{ .kind = .id_ref, .quantifier = .required },
13632                        .{ .kind = .id_ref, .quantifier = .required },
13633                        .{ .kind = .id_ref, .quantifier = .required },
13634                        .{ .kind = .id_ref, .quantifier = .required },
13635                        .{ .kind = .id_ref, .quantifier = .required },
13636                        .{ .kind = .id_ref, .quantifier = .required },
13637                        .{ .kind = .id_ref, .quantifier = .required },
13638                        .{ .kind = .id_ref, .quantifier = .required },
13639                    },
13640                },
13641                .{
13642                    .name = "OpSubgroupMatrixMultiplyAccumulateINTEL",
13643                    .opcode = 6237,
13644                    .operands = &.{
13645                        .{ .kind = .id_result_type, .quantifier = .required },
13646                        .{ .kind = .id_result, .quantifier = .required },
13647                        .{ .kind = .id_ref, .quantifier = .required },
13648                        .{ .kind = .id_ref, .quantifier = .required },
13649                        .{ .kind = .id_ref, .quantifier = .required },
13650                        .{ .kind = .id_ref, .quantifier = .required },
13651                        .{ .kind = .matrix_multiply_accumulate_operands, .quantifier = .optional },
13652                    },
13653                },
13654                .{
13655                    .name = "OpBitwiseFunctionINTEL",
13656                    .opcode = 6242,
13657                    .operands = &.{
13658                        .{ .kind = .id_result_type, .quantifier = .required },
13659                        .{ .kind = .id_result, .quantifier = .required },
13660                        .{ .kind = .id_ref, .quantifier = .required },
13661                        .{ .kind = .id_ref, .quantifier = .required },
13662                        .{ .kind = .id_ref, .quantifier = .required },
13663                        .{ .kind = .id_ref, .quantifier = .required },
13664                    },
13665                },
13666                .{
13667                    .name = "OpGroupIMulKHR",
13668                    .opcode = 6401,
13669                    .operands = &.{
13670                        .{ .kind = .id_result_type, .quantifier = .required },
13671                        .{ .kind = .id_result, .quantifier = .required },
13672                        .{ .kind = .id_scope, .quantifier = .required },
13673                        .{ .kind = .group_operation, .quantifier = .required },
13674                        .{ .kind = .id_ref, .quantifier = .required },
13675                    },
13676                },
13677                .{
13678                    .name = "OpGroupFMulKHR",
13679                    .opcode = 6402,
13680                    .operands = &.{
13681                        .{ .kind = .id_result_type, .quantifier = .required },
13682                        .{ .kind = .id_result, .quantifier = .required },
13683                        .{ .kind = .id_scope, .quantifier = .required },
13684                        .{ .kind = .group_operation, .quantifier = .required },
13685                        .{ .kind = .id_ref, .quantifier = .required },
13686                    },
13687                },
13688                .{
13689                    .name = "OpGroupBitwiseAndKHR",
13690                    .opcode = 6403,
13691                    .operands = &.{
13692                        .{ .kind = .id_result_type, .quantifier = .required },
13693                        .{ .kind = .id_result, .quantifier = .required },
13694                        .{ .kind = .id_scope, .quantifier = .required },
13695                        .{ .kind = .group_operation, .quantifier = .required },
13696                        .{ .kind = .id_ref, .quantifier = .required },
13697                    },
13698                },
13699                .{
13700                    .name = "OpGroupBitwiseOrKHR",
13701                    .opcode = 6404,
13702                    .operands = &.{
13703                        .{ .kind = .id_result_type, .quantifier = .required },
13704                        .{ .kind = .id_result, .quantifier = .required },
13705                        .{ .kind = .id_scope, .quantifier = .required },
13706                        .{ .kind = .group_operation, .quantifier = .required },
13707                        .{ .kind = .id_ref, .quantifier = .required },
13708                    },
13709                },
13710                .{
13711                    .name = "OpGroupBitwiseXorKHR",
13712                    .opcode = 6405,
13713                    .operands = &.{
13714                        .{ .kind = .id_result_type, .quantifier = .required },
13715                        .{ .kind = .id_result, .quantifier = .required },
13716                        .{ .kind = .id_scope, .quantifier = .required },
13717                        .{ .kind = .group_operation, .quantifier = .required },
13718                        .{ .kind = .id_ref, .quantifier = .required },
13719                    },
13720                },
13721                .{
13722                    .name = "OpGroupLogicalAndKHR",
13723                    .opcode = 6406,
13724                    .operands = &.{
13725                        .{ .kind = .id_result_type, .quantifier = .required },
13726                        .{ .kind = .id_result, .quantifier = .required },
13727                        .{ .kind = .id_scope, .quantifier = .required },
13728                        .{ .kind = .group_operation, .quantifier = .required },
13729                        .{ .kind = .id_ref, .quantifier = .required },
13730                    },
13731                },
13732                .{
13733                    .name = "OpGroupLogicalOrKHR",
13734                    .opcode = 6407,
13735                    .operands = &.{
13736                        .{ .kind = .id_result_type, .quantifier = .required },
13737                        .{ .kind = .id_result, .quantifier = .required },
13738                        .{ .kind = .id_scope, .quantifier = .required },
13739                        .{ .kind = .group_operation, .quantifier = .required },
13740                        .{ .kind = .id_ref, .quantifier = .required },
13741                    },
13742                },
13743                .{
13744                    .name = "OpGroupLogicalXorKHR",
13745                    .opcode = 6408,
13746                    .operands = &.{
13747                        .{ .kind = .id_result_type, .quantifier = .required },
13748                        .{ .kind = .id_result, .quantifier = .required },
13749                        .{ .kind = .id_scope, .quantifier = .required },
13750                        .{ .kind = .group_operation, .quantifier = .required },
13751                        .{ .kind = .id_ref, .quantifier = .required },
13752                    },
13753                },
13754                .{
13755                    .name = "OpRoundFToTF32INTEL",
13756                    .opcode = 6426,
13757                    .operands = &.{
13758                        .{ .kind = .id_result_type, .quantifier = .required },
13759                        .{ .kind = .id_result, .quantifier = .required },
13760                        .{ .kind = .id_ref, .quantifier = .required },
13761                    },
13762                },
13763                .{
13764                    .name = "OpMaskedGatherINTEL",
13765                    .opcode = 6428,
13766                    .operands = &.{
13767                        .{ .kind = .id_result_type, .quantifier = .required },
13768                        .{ .kind = .id_result, .quantifier = .required },
13769                        .{ .kind = .id_ref, .quantifier = .required },
13770                        .{ .kind = .literal_integer, .quantifier = .required },
13771                        .{ .kind = .id_ref, .quantifier = .required },
13772                        .{ .kind = .id_ref, .quantifier = .required },
13773                    },
13774                },
13775                .{
13776                    .name = "OpMaskedScatterINTEL",
13777                    .opcode = 6429,
13778                    .operands = &.{
13779                        .{ .kind = .id_ref, .quantifier = .required },
13780                        .{ .kind = .id_ref, .quantifier = .required },
13781                        .{ .kind = .literal_integer, .quantifier = .required },
13782                        .{ .kind = .id_ref, .quantifier = .required },
13783                    },
13784                },
13785                .{
13786                    .name = "OpConvertHandleToImageINTEL",
13787                    .opcode = 6529,
13788                    .operands = &.{
13789                        .{ .kind = .id_result_type, .quantifier = .required },
13790                        .{ .kind = .id_result, .quantifier = .required },
13791                        .{ .kind = .id_ref, .quantifier = .required },
13792                    },
13793                },
13794                .{
13795                    .name = "OpConvertHandleToSamplerINTEL",
13796                    .opcode = 6530,
13797                    .operands = &.{
13798                        .{ .kind = .id_result_type, .quantifier = .required },
13799                        .{ .kind = .id_result, .quantifier = .required },
13800                        .{ .kind = .id_ref, .quantifier = .required },
13801                    },
13802                },
13803                .{
13804                    .name = "OpConvertHandleToSampledImageINTEL",
13805                    .opcode = 6531,
13806                    .operands = &.{
13807                        .{ .kind = .id_result_type, .quantifier = .required },
13808                        .{ .kind = .id_result, .quantifier = .required },
13809                        .{ .kind = .id_ref, .quantifier = .required },
13810                    },
13811                },
13812            },
13813            .@"GLSL.std.450" => &.{
13814                .{
13815                    .name = "Round",
13816                    .opcode = 1,
13817                    .operands = &.{
13818                        .{ .kind = .id_ref, .quantifier = .required },
13819                    },
13820                },
13821                .{
13822                    .name = "RoundEven",
13823                    .opcode = 2,
13824                    .operands = &.{
13825                        .{ .kind = .id_ref, .quantifier = .required },
13826                    },
13827                },
13828                .{
13829                    .name = "Trunc",
13830                    .opcode = 3,
13831                    .operands = &.{
13832                        .{ .kind = .id_ref, .quantifier = .required },
13833                    },
13834                },
13835                .{
13836                    .name = "FAbs",
13837                    .opcode = 4,
13838                    .operands = &.{
13839                        .{ .kind = .id_ref, .quantifier = .required },
13840                    },
13841                },
13842                .{
13843                    .name = "SAbs",
13844                    .opcode = 5,
13845                    .operands = &.{
13846                        .{ .kind = .id_ref, .quantifier = .required },
13847                    },
13848                },
13849                .{
13850                    .name = "FSign",
13851                    .opcode = 6,
13852                    .operands = &.{
13853                        .{ .kind = .id_ref, .quantifier = .required },
13854                    },
13855                },
13856                .{
13857                    .name = "SSign",
13858                    .opcode = 7,
13859                    .operands = &.{
13860                        .{ .kind = .id_ref, .quantifier = .required },
13861                    },
13862                },
13863                .{
13864                    .name = "Floor",
13865                    .opcode = 8,
13866                    .operands = &.{
13867                        .{ .kind = .id_ref, .quantifier = .required },
13868                    },
13869                },
13870                .{
13871                    .name = "Ceil",
13872                    .opcode = 9,
13873                    .operands = &.{
13874                        .{ .kind = .id_ref, .quantifier = .required },
13875                    },
13876                },
13877                .{
13878                    .name = "Fract",
13879                    .opcode = 10,
13880                    .operands = &.{
13881                        .{ .kind = .id_ref, .quantifier = .required },
13882                    },
13883                },
13884                .{
13885                    .name = "Radians",
13886                    .opcode = 11,
13887                    .operands = &.{
13888                        .{ .kind = .id_ref, .quantifier = .required },
13889                    },
13890                },
13891                .{
13892                    .name = "Degrees",
13893                    .opcode = 12,
13894                    .operands = &.{
13895                        .{ .kind = .id_ref, .quantifier = .required },
13896                    },
13897                },
13898                .{
13899                    .name = "Sin",
13900                    .opcode = 13,
13901                    .operands = &.{
13902                        .{ .kind = .id_ref, .quantifier = .required },
13903                    },
13904                },
13905                .{
13906                    .name = "Cos",
13907                    .opcode = 14,
13908                    .operands = &.{
13909                        .{ .kind = .id_ref, .quantifier = .required },
13910                    },
13911                },
13912                .{
13913                    .name = "Tan",
13914                    .opcode = 15,
13915                    .operands = &.{
13916                        .{ .kind = .id_ref, .quantifier = .required },
13917                    },
13918                },
13919                .{
13920                    .name = "Asin",
13921                    .opcode = 16,
13922                    .operands = &.{
13923                        .{ .kind = .id_ref, .quantifier = .required },
13924                    },
13925                },
13926                .{
13927                    .name = "Acos",
13928                    .opcode = 17,
13929                    .operands = &.{
13930                        .{ .kind = .id_ref, .quantifier = .required },
13931                    },
13932                },
13933                .{
13934                    .name = "Atan",
13935                    .opcode = 18,
13936                    .operands = &.{
13937                        .{ .kind = .id_ref, .quantifier = .required },
13938                    },
13939                },
13940                .{
13941                    .name = "Sinh",
13942                    .opcode = 19,
13943                    .operands = &.{
13944                        .{ .kind = .id_ref, .quantifier = .required },
13945                    },
13946                },
13947                .{
13948                    .name = "Cosh",
13949                    .opcode = 20,
13950                    .operands = &.{
13951                        .{ .kind = .id_ref, .quantifier = .required },
13952                    },
13953                },
13954                .{
13955                    .name = "Tanh",
13956                    .opcode = 21,
13957                    .operands = &.{
13958                        .{ .kind = .id_ref, .quantifier = .required },
13959                    },
13960                },
13961                .{
13962                    .name = "Asinh",
13963                    .opcode = 22,
13964                    .operands = &.{
13965                        .{ .kind = .id_ref, .quantifier = .required },
13966                    },
13967                },
13968                .{
13969                    .name = "Acosh",
13970                    .opcode = 23,
13971                    .operands = &.{
13972                        .{ .kind = .id_ref, .quantifier = .required },
13973                    },
13974                },
13975                .{
13976                    .name = "Atanh",
13977                    .opcode = 24,
13978                    .operands = &.{
13979                        .{ .kind = .id_ref, .quantifier = .required },
13980                    },
13981                },
13982                .{
13983                    .name = "Atan2",
13984                    .opcode = 25,
13985                    .operands = &.{
13986                        .{ .kind = .id_ref, .quantifier = .required },
13987                        .{ .kind = .id_ref, .quantifier = .required },
13988                    },
13989                },
13990                .{
13991                    .name = "Pow",
13992                    .opcode = 26,
13993                    .operands = &.{
13994                        .{ .kind = .id_ref, .quantifier = .required },
13995                        .{ .kind = .id_ref, .quantifier = .required },
13996                    },
13997                },
13998                .{
13999                    .name = "Exp",
14000                    .opcode = 27,
14001                    .operands = &.{
14002                        .{ .kind = .id_ref, .quantifier = .required },
14003                    },
14004                },
14005                .{
14006                    .name = "Log",
14007                    .opcode = 28,
14008                    .operands = &.{
14009                        .{ .kind = .id_ref, .quantifier = .required },
14010                    },
14011                },
14012                .{
14013                    .name = "Exp2",
14014                    .opcode = 29,
14015                    .operands = &.{
14016                        .{ .kind = .id_ref, .quantifier = .required },
14017                    },
14018                },
14019                .{
14020                    .name = "Log2",
14021                    .opcode = 30,
14022                    .operands = &.{
14023                        .{ .kind = .id_ref, .quantifier = .required },
14024                    },
14025                },
14026                .{
14027                    .name = "Sqrt",
14028                    .opcode = 31,
14029                    .operands = &.{
14030                        .{ .kind = .id_ref, .quantifier = .required },
14031                    },
14032                },
14033                .{
14034                    .name = "InverseSqrt",
14035                    .opcode = 32,
14036                    .operands = &.{
14037                        .{ .kind = .id_ref, .quantifier = .required },
14038                    },
14039                },
14040                .{
14041                    .name = "Determinant",
14042                    .opcode = 33,
14043                    .operands = &.{
14044                        .{ .kind = .id_ref, .quantifier = .required },
14045                    },
14046                },
14047                .{
14048                    .name = "MatrixInverse",
14049                    .opcode = 34,
14050                    .operands = &.{
14051                        .{ .kind = .id_ref, .quantifier = .required },
14052                    },
14053                },
14054                .{
14055                    .name = "Modf",
14056                    .opcode = 35,
14057                    .operands = &.{
14058                        .{ .kind = .id_ref, .quantifier = .required },
14059                        .{ .kind = .id_ref, .quantifier = .required },
14060                    },
14061                },
14062                .{
14063                    .name = "ModfStruct",
14064                    .opcode = 36,
14065                    .operands = &.{
14066                        .{ .kind = .id_ref, .quantifier = .required },
14067                    },
14068                },
14069                .{
14070                    .name = "FMin",
14071                    .opcode = 37,
14072                    .operands = &.{
14073                        .{ .kind = .id_ref, .quantifier = .required },
14074                        .{ .kind = .id_ref, .quantifier = .required },
14075                    },
14076                },
14077                .{
14078                    .name = "UMin",
14079                    .opcode = 38,
14080                    .operands = &.{
14081                        .{ .kind = .id_ref, .quantifier = .required },
14082                        .{ .kind = .id_ref, .quantifier = .required },
14083                    },
14084                },
14085                .{
14086                    .name = "SMin",
14087                    .opcode = 39,
14088                    .operands = &.{
14089                        .{ .kind = .id_ref, .quantifier = .required },
14090                        .{ .kind = .id_ref, .quantifier = .required },
14091                    },
14092                },
14093                .{
14094                    .name = "FMax",
14095                    .opcode = 40,
14096                    .operands = &.{
14097                        .{ .kind = .id_ref, .quantifier = .required },
14098                        .{ .kind = .id_ref, .quantifier = .required },
14099                    },
14100                },
14101                .{
14102                    .name = "UMax",
14103                    .opcode = 41,
14104                    .operands = &.{
14105                        .{ .kind = .id_ref, .quantifier = .required },
14106                        .{ .kind = .id_ref, .quantifier = .required },
14107                    },
14108                },
14109                .{
14110                    .name = "SMax",
14111                    .opcode = 42,
14112                    .operands = &.{
14113                        .{ .kind = .id_ref, .quantifier = .required },
14114                        .{ .kind = .id_ref, .quantifier = .required },
14115                    },
14116                },
14117                .{
14118                    .name = "FClamp",
14119                    .opcode = 43,
14120                    .operands = &.{
14121                        .{ .kind = .id_ref, .quantifier = .required },
14122                        .{ .kind = .id_ref, .quantifier = .required },
14123                        .{ .kind = .id_ref, .quantifier = .required },
14124                    },
14125                },
14126                .{
14127                    .name = "UClamp",
14128                    .opcode = 44,
14129                    .operands = &.{
14130                        .{ .kind = .id_ref, .quantifier = .required },
14131                        .{ .kind = .id_ref, .quantifier = .required },
14132                        .{ .kind = .id_ref, .quantifier = .required },
14133                    },
14134                },
14135                .{
14136                    .name = "SClamp",
14137                    .opcode = 45,
14138                    .operands = &.{
14139                        .{ .kind = .id_ref, .quantifier = .required },
14140                        .{ .kind = .id_ref, .quantifier = .required },
14141                        .{ .kind = .id_ref, .quantifier = .required },
14142                    },
14143                },
14144                .{
14145                    .name = "FMix",
14146                    .opcode = 46,
14147                    .operands = &.{
14148                        .{ .kind = .id_ref, .quantifier = .required },
14149                        .{ .kind = .id_ref, .quantifier = .required },
14150                        .{ .kind = .id_ref, .quantifier = .required },
14151                    },
14152                },
14153                .{
14154                    .name = "IMix",
14155                    .opcode = 47,
14156                    .operands = &.{
14157                        .{ .kind = .id_ref, .quantifier = .required },
14158                        .{ .kind = .id_ref, .quantifier = .required },
14159                        .{ .kind = .id_ref, .quantifier = .required },
14160                    },
14161                },
14162                .{
14163                    .name = "Step",
14164                    .opcode = 48,
14165                    .operands = &.{
14166                        .{ .kind = .id_ref, .quantifier = .required },
14167                        .{ .kind = .id_ref, .quantifier = .required },
14168                    },
14169                },
14170                .{
14171                    .name = "SmoothStep",
14172                    .opcode = 49,
14173                    .operands = &.{
14174                        .{ .kind = .id_ref, .quantifier = .required },
14175                        .{ .kind = .id_ref, .quantifier = .required },
14176                        .{ .kind = .id_ref, .quantifier = .required },
14177                    },
14178                },
14179                .{
14180                    .name = "Fma",
14181                    .opcode = 50,
14182                    .operands = &.{
14183                        .{ .kind = .id_ref, .quantifier = .required },
14184                        .{ .kind = .id_ref, .quantifier = .required },
14185                        .{ .kind = .id_ref, .quantifier = .required },
14186                    },
14187                },
14188                .{
14189                    .name = "Frexp",
14190                    .opcode = 51,
14191                    .operands = &.{
14192                        .{ .kind = .id_ref, .quantifier = .required },
14193                        .{ .kind = .id_ref, .quantifier = .required },
14194                    },
14195                },
14196                .{
14197                    .name = "FrexpStruct",
14198                    .opcode = 52,
14199                    .operands = &.{
14200                        .{ .kind = .id_ref, .quantifier = .required },
14201                    },
14202                },
14203                .{
14204                    .name = "Ldexp",
14205                    .opcode = 53,
14206                    .operands = &.{
14207                        .{ .kind = .id_ref, .quantifier = .required },
14208                        .{ .kind = .id_ref, .quantifier = .required },
14209                    },
14210                },
14211                .{
14212                    .name = "PackSnorm4x8",
14213                    .opcode = 54,
14214                    .operands = &.{
14215                        .{ .kind = .id_ref, .quantifier = .required },
14216                    },
14217                },
14218                .{
14219                    .name = "PackUnorm4x8",
14220                    .opcode = 55,
14221                    .operands = &.{
14222                        .{ .kind = .id_ref, .quantifier = .required },
14223                    },
14224                },
14225                .{
14226                    .name = "PackSnorm2x16",
14227                    .opcode = 56,
14228                    .operands = &.{
14229                        .{ .kind = .id_ref, .quantifier = .required },
14230                    },
14231                },
14232                .{
14233                    .name = "PackUnorm2x16",
14234                    .opcode = 57,
14235                    .operands = &.{
14236                        .{ .kind = .id_ref, .quantifier = .required },
14237                    },
14238                },
14239                .{
14240                    .name = "PackHalf2x16",
14241                    .opcode = 58,
14242                    .operands = &.{
14243                        .{ .kind = .id_ref, .quantifier = .required },
14244                    },
14245                },
14246                .{
14247                    .name = "PackDouble2x32",
14248                    .opcode = 59,
14249                    .operands = &.{
14250                        .{ .kind = .id_ref, .quantifier = .required },
14251                    },
14252                },
14253                .{
14254                    .name = "UnpackSnorm2x16",
14255                    .opcode = 60,
14256                    .operands = &.{
14257                        .{ .kind = .id_ref, .quantifier = .required },
14258                    },
14259                },
14260                .{
14261                    .name = "UnpackUnorm2x16",
14262                    .opcode = 61,
14263                    .operands = &.{
14264                        .{ .kind = .id_ref, .quantifier = .required },
14265                    },
14266                },
14267                .{
14268                    .name = "UnpackHalf2x16",
14269                    .opcode = 62,
14270                    .operands = &.{
14271                        .{ .kind = .id_ref, .quantifier = .required },
14272                    },
14273                },
14274                .{
14275                    .name = "UnpackSnorm4x8",
14276                    .opcode = 63,
14277                    .operands = &.{
14278                        .{ .kind = .id_ref, .quantifier = .required },
14279                    },
14280                },
14281                .{
14282                    .name = "UnpackUnorm4x8",
14283                    .opcode = 64,
14284                    .operands = &.{
14285                        .{ .kind = .id_ref, .quantifier = .required },
14286                    },
14287                },
14288                .{
14289                    .name = "UnpackDouble2x32",
14290                    .opcode = 65,
14291                    .operands = &.{
14292                        .{ .kind = .id_ref, .quantifier = .required },
14293                    },
14294                },
14295                .{
14296                    .name = "Length",
14297                    .opcode = 66,
14298                    .operands = &.{
14299                        .{ .kind = .id_ref, .quantifier = .required },
14300                    },
14301                },
14302                .{
14303                    .name = "Distance",
14304                    .opcode = 67,
14305                    .operands = &.{
14306                        .{ .kind = .id_ref, .quantifier = .required },
14307                        .{ .kind = .id_ref, .quantifier = .required },
14308                    },
14309                },
14310                .{
14311                    .name = "Cross",
14312                    .opcode = 68,
14313                    .operands = &.{
14314                        .{ .kind = .id_ref, .quantifier = .required },
14315                        .{ .kind = .id_ref, .quantifier = .required },
14316                    },
14317                },
14318                .{
14319                    .name = "Normalize",
14320                    .opcode = 69,
14321                    .operands = &.{
14322                        .{ .kind = .id_ref, .quantifier = .required },
14323                    },
14324                },
14325                .{
14326                    .name = "FaceForward",
14327                    .opcode = 70,
14328                    .operands = &.{
14329                        .{ .kind = .id_ref, .quantifier = .required },
14330                        .{ .kind = .id_ref, .quantifier = .required },
14331                        .{ .kind = .id_ref, .quantifier = .required },
14332                    },
14333                },
14334                .{
14335                    .name = "Reflect",
14336                    .opcode = 71,
14337                    .operands = &.{
14338                        .{ .kind = .id_ref, .quantifier = .required },
14339                        .{ .kind = .id_ref, .quantifier = .required },
14340                    },
14341                },
14342                .{
14343                    .name = "Refract",
14344                    .opcode = 72,
14345                    .operands = &.{
14346                        .{ .kind = .id_ref, .quantifier = .required },
14347                        .{ .kind = .id_ref, .quantifier = .required },
14348                        .{ .kind = .id_ref, .quantifier = .required },
14349                    },
14350                },
14351                .{
14352                    .name = "FindILsb",
14353                    .opcode = 73,
14354                    .operands = &.{
14355                        .{ .kind = .id_ref, .quantifier = .required },
14356                    },
14357                },
14358                .{
14359                    .name = "FindSMsb",
14360                    .opcode = 74,
14361                    .operands = &.{
14362                        .{ .kind = .id_ref, .quantifier = .required },
14363                    },
14364                },
14365                .{
14366                    .name = "FindUMsb",
14367                    .opcode = 75,
14368                    .operands = &.{
14369                        .{ .kind = .id_ref, .quantifier = .required },
14370                    },
14371                },
14372                .{
14373                    .name = "InterpolateAtCentroid",
14374                    .opcode = 76,
14375                    .operands = &.{
14376                        .{ .kind = .id_ref, .quantifier = .required },
14377                    },
14378                },
14379                .{
14380                    .name = "InterpolateAtSample",
14381                    .opcode = 77,
14382                    .operands = &.{
14383                        .{ .kind = .id_ref, .quantifier = .required },
14384                        .{ .kind = .id_ref, .quantifier = .required },
14385                    },
14386                },
14387                .{
14388                    .name = "InterpolateAtOffset",
14389                    .opcode = 78,
14390                    .operands = &.{
14391                        .{ .kind = .id_ref, .quantifier = .required },
14392                        .{ .kind = .id_ref, .quantifier = .required },
14393                    },
14394                },
14395                .{
14396                    .name = "NMin",
14397                    .opcode = 79,
14398                    .operands = &.{
14399                        .{ .kind = .id_ref, .quantifier = .required },
14400                        .{ .kind = .id_ref, .quantifier = .required },
14401                    },
14402                },
14403                .{
14404                    .name = "NMax",
14405                    .opcode = 80,
14406                    .operands = &.{
14407                        .{ .kind = .id_ref, .quantifier = .required },
14408                        .{ .kind = .id_ref, .quantifier = .required },
14409                    },
14410                },
14411                .{
14412                    .name = "NClamp",
14413                    .opcode = 81,
14414                    .operands = &.{
14415                        .{ .kind = .id_ref, .quantifier = .required },
14416                        .{ .kind = .id_ref, .quantifier = .required },
14417                        .{ .kind = .id_ref, .quantifier = .required },
14418                    },
14419                },
14420            },
14421            .@"OpenCL.std" => &.{
14422                .{
14423                    .name = "acos",
14424                    .opcode = 0,
14425                    .operands = &.{
14426                        .{ .kind = .id_ref, .quantifier = .required },
14427                    },
14428                },
14429                .{
14430                    .name = "acosh",
14431                    .opcode = 1,
14432                    .operands = &.{
14433                        .{ .kind = .id_ref, .quantifier = .required },
14434                    },
14435                },
14436                .{
14437                    .name = "acospi",
14438                    .opcode = 2,
14439                    .operands = &.{
14440                        .{ .kind = .id_ref, .quantifier = .required },
14441                    },
14442                },
14443                .{
14444                    .name = "asin",
14445                    .opcode = 3,
14446                    .operands = &.{
14447                        .{ .kind = .id_ref, .quantifier = .required },
14448                    },
14449                },
14450                .{
14451                    .name = "asinh",
14452                    .opcode = 4,
14453                    .operands = &.{
14454                        .{ .kind = .id_ref, .quantifier = .required },
14455                    },
14456                },
14457                .{
14458                    .name = "asinpi",
14459                    .opcode = 5,
14460                    .operands = &.{
14461                        .{ .kind = .id_ref, .quantifier = .required },
14462                    },
14463                },
14464                .{
14465                    .name = "atan",
14466                    .opcode = 6,
14467                    .operands = &.{
14468                        .{ .kind = .id_ref, .quantifier = .required },
14469                    },
14470                },
14471                .{
14472                    .name = "atan2",
14473                    .opcode = 7,
14474                    .operands = &.{
14475                        .{ .kind = .id_ref, .quantifier = .required },
14476                        .{ .kind = .id_ref, .quantifier = .required },
14477                    },
14478                },
14479                .{
14480                    .name = "atanh",
14481                    .opcode = 8,
14482                    .operands = &.{
14483                        .{ .kind = .id_ref, .quantifier = .required },
14484                    },
14485                },
14486                .{
14487                    .name = "atanpi",
14488                    .opcode = 9,
14489                    .operands = &.{
14490                        .{ .kind = .id_ref, .quantifier = .required },
14491                    },
14492                },
14493                .{
14494                    .name = "atan2pi",
14495                    .opcode = 10,
14496                    .operands = &.{
14497                        .{ .kind = .id_ref, .quantifier = .required },
14498                        .{ .kind = .id_ref, .quantifier = .required },
14499                    },
14500                },
14501                .{
14502                    .name = "cbrt",
14503                    .opcode = 11,
14504                    .operands = &.{
14505                        .{ .kind = .id_ref, .quantifier = .required },
14506                    },
14507                },
14508                .{
14509                    .name = "ceil",
14510                    .opcode = 12,
14511                    .operands = &.{
14512                        .{ .kind = .id_ref, .quantifier = .required },
14513                    },
14514                },
14515                .{
14516                    .name = "copysign",
14517                    .opcode = 13,
14518                    .operands = &.{
14519                        .{ .kind = .id_ref, .quantifier = .required },
14520                        .{ .kind = .id_ref, .quantifier = .required },
14521                    },
14522                },
14523                .{
14524                    .name = "cos",
14525                    .opcode = 14,
14526                    .operands = &.{
14527                        .{ .kind = .id_ref, .quantifier = .required },
14528                    },
14529                },
14530                .{
14531                    .name = "cosh",
14532                    .opcode = 15,
14533                    .operands = &.{
14534                        .{ .kind = .id_ref, .quantifier = .required },
14535                    },
14536                },
14537                .{
14538                    .name = "cospi",
14539                    .opcode = 16,
14540                    .operands = &.{
14541                        .{ .kind = .id_ref, .quantifier = .required },
14542                    },
14543                },
14544                .{
14545                    .name = "erfc",
14546                    .opcode = 17,
14547                    .operands = &.{
14548                        .{ .kind = .id_ref, .quantifier = .required },
14549                    },
14550                },
14551                .{
14552                    .name = "erf",
14553                    .opcode = 18,
14554                    .operands = &.{
14555                        .{ .kind = .id_ref, .quantifier = .required },
14556                    },
14557                },
14558                .{
14559                    .name = "exp",
14560                    .opcode = 19,
14561                    .operands = &.{
14562                        .{ .kind = .id_ref, .quantifier = .required },
14563                    },
14564                },
14565                .{
14566                    .name = "exp2",
14567                    .opcode = 20,
14568                    .operands = &.{
14569                        .{ .kind = .id_ref, .quantifier = .required },
14570                    },
14571                },
14572                .{
14573                    .name = "exp10",
14574                    .opcode = 21,
14575                    .operands = &.{
14576                        .{ .kind = .id_ref, .quantifier = .required },
14577                    },
14578                },
14579                .{
14580                    .name = "expm1",
14581                    .opcode = 22,
14582                    .operands = &.{
14583                        .{ .kind = .id_ref, .quantifier = .required },
14584                    },
14585                },
14586                .{
14587                    .name = "fabs",
14588                    .opcode = 23,
14589                    .operands = &.{
14590                        .{ .kind = .id_ref, .quantifier = .required },
14591                    },
14592                },
14593                .{
14594                    .name = "fdim",
14595                    .opcode = 24,
14596                    .operands = &.{
14597                        .{ .kind = .id_ref, .quantifier = .required },
14598                        .{ .kind = .id_ref, .quantifier = .required },
14599                    },
14600                },
14601                .{
14602                    .name = "floor",
14603                    .opcode = 25,
14604                    .operands = &.{
14605                        .{ .kind = .id_ref, .quantifier = .required },
14606                    },
14607                },
14608                .{
14609                    .name = "fma",
14610                    .opcode = 26,
14611                    .operands = &.{
14612                        .{ .kind = .id_ref, .quantifier = .required },
14613                        .{ .kind = .id_ref, .quantifier = .required },
14614                        .{ .kind = .id_ref, .quantifier = .required },
14615                    },
14616                },
14617                .{
14618                    .name = "fmax",
14619                    .opcode = 27,
14620                    .operands = &.{
14621                        .{ .kind = .id_ref, .quantifier = .required },
14622                        .{ .kind = .id_ref, .quantifier = .required },
14623                    },
14624                },
14625                .{
14626                    .name = "fmin",
14627                    .opcode = 28,
14628                    .operands = &.{
14629                        .{ .kind = .id_ref, .quantifier = .required },
14630                        .{ .kind = .id_ref, .quantifier = .required },
14631                    },
14632                },
14633                .{
14634                    .name = "fmod",
14635                    .opcode = 29,
14636                    .operands = &.{
14637                        .{ .kind = .id_ref, .quantifier = .required },
14638                        .{ .kind = .id_ref, .quantifier = .required },
14639                    },
14640                },
14641                .{
14642                    .name = "fract",
14643                    .opcode = 30,
14644                    .operands = &.{
14645                        .{ .kind = .id_ref, .quantifier = .required },
14646                        .{ .kind = .id_ref, .quantifier = .required },
14647                    },
14648                },
14649                .{
14650                    .name = "frexp",
14651                    .opcode = 31,
14652                    .operands = &.{
14653                        .{ .kind = .id_ref, .quantifier = .required },
14654                        .{ .kind = .id_ref, .quantifier = .required },
14655                    },
14656                },
14657                .{
14658                    .name = "hypot",
14659                    .opcode = 32,
14660                    .operands = &.{
14661                        .{ .kind = .id_ref, .quantifier = .required },
14662                        .{ .kind = .id_ref, .quantifier = .required },
14663                    },
14664                },
14665                .{
14666                    .name = "ilogb",
14667                    .opcode = 33,
14668                    .operands = &.{
14669                        .{ .kind = .id_ref, .quantifier = .required },
14670                    },
14671                },
14672                .{
14673                    .name = "ldexp",
14674                    .opcode = 34,
14675                    .operands = &.{
14676                        .{ .kind = .id_ref, .quantifier = .required },
14677                        .{ .kind = .id_ref, .quantifier = .required },
14678                    },
14679                },
14680                .{
14681                    .name = "lgamma",
14682                    .opcode = 35,
14683                    .operands = &.{
14684                        .{ .kind = .id_ref, .quantifier = .required },
14685                    },
14686                },
14687                .{
14688                    .name = "lgamma_r",
14689                    .opcode = 36,
14690                    .operands = &.{
14691                        .{ .kind = .id_ref, .quantifier = .required },
14692                        .{ .kind = .id_ref, .quantifier = .required },
14693                    },
14694                },
14695                .{
14696                    .name = "log",
14697                    .opcode = 37,
14698                    .operands = &.{
14699                        .{ .kind = .id_ref, .quantifier = .required },
14700                    },
14701                },
14702                .{
14703                    .name = "log2",
14704                    .opcode = 38,
14705                    .operands = &.{
14706                        .{ .kind = .id_ref, .quantifier = .required },
14707                    },
14708                },
14709                .{
14710                    .name = "log10",
14711                    .opcode = 39,
14712                    .operands = &.{
14713                        .{ .kind = .id_ref, .quantifier = .required },
14714                    },
14715                },
14716                .{
14717                    .name = "log1p",
14718                    .opcode = 40,
14719                    .operands = &.{
14720                        .{ .kind = .id_ref, .quantifier = .required },
14721                    },
14722                },
14723                .{
14724                    .name = "logb",
14725                    .opcode = 41,
14726                    .operands = &.{
14727                        .{ .kind = .id_ref, .quantifier = .required },
14728                    },
14729                },
14730                .{
14731                    .name = "mad",
14732                    .opcode = 42,
14733                    .operands = &.{
14734                        .{ .kind = .id_ref, .quantifier = .required },
14735                        .{ .kind = .id_ref, .quantifier = .required },
14736                        .{ .kind = .id_ref, .quantifier = .required },
14737                    },
14738                },
14739                .{
14740                    .name = "maxmag",
14741                    .opcode = 43,
14742                    .operands = &.{
14743                        .{ .kind = .id_ref, .quantifier = .required },
14744                        .{ .kind = .id_ref, .quantifier = .required },
14745                    },
14746                },
14747                .{
14748                    .name = "minmag",
14749                    .opcode = 44,
14750                    .operands = &.{
14751                        .{ .kind = .id_ref, .quantifier = .required },
14752                        .{ .kind = .id_ref, .quantifier = .required },
14753                    },
14754                },
14755                .{
14756                    .name = "modf",
14757                    .opcode = 45,
14758                    .operands = &.{
14759                        .{ .kind = .id_ref, .quantifier = .required },
14760                        .{ .kind = .id_ref, .quantifier = .required },
14761                    },
14762                },
14763                .{
14764                    .name = "nan",
14765                    .opcode = 46,
14766                    .operands = &.{
14767                        .{ .kind = .id_ref, .quantifier = .required },
14768                    },
14769                },
14770                .{
14771                    .name = "nextafter",
14772                    .opcode = 47,
14773                    .operands = &.{
14774                        .{ .kind = .id_ref, .quantifier = .required },
14775                        .{ .kind = .id_ref, .quantifier = .required },
14776                    },
14777                },
14778                .{
14779                    .name = "pow",
14780                    .opcode = 48,
14781                    .operands = &.{
14782                        .{ .kind = .id_ref, .quantifier = .required },
14783                        .{ .kind = .id_ref, .quantifier = .required },
14784                    },
14785                },
14786                .{
14787                    .name = "pown",
14788                    .opcode = 49,
14789                    .operands = &.{
14790                        .{ .kind = .id_ref, .quantifier = .required },
14791                        .{ .kind = .id_ref, .quantifier = .required },
14792                    },
14793                },
14794                .{
14795                    .name = "powr",
14796                    .opcode = 50,
14797                    .operands = &.{
14798                        .{ .kind = .id_ref, .quantifier = .required },
14799                        .{ .kind = .id_ref, .quantifier = .required },
14800                    },
14801                },
14802                .{
14803                    .name = "remainder",
14804                    .opcode = 51,
14805                    .operands = &.{
14806                        .{ .kind = .id_ref, .quantifier = .required },
14807                        .{ .kind = .id_ref, .quantifier = .required },
14808                    },
14809                },
14810                .{
14811                    .name = "remquo",
14812                    .opcode = 52,
14813                    .operands = &.{
14814                        .{ .kind = .id_ref, .quantifier = .required },
14815                        .{ .kind = .id_ref, .quantifier = .required },
14816                        .{ .kind = .id_ref, .quantifier = .required },
14817                    },
14818                },
14819                .{
14820                    .name = "rint",
14821                    .opcode = 53,
14822                    .operands = &.{
14823                        .{ .kind = .id_ref, .quantifier = .required },
14824                    },
14825                },
14826                .{
14827                    .name = "rootn",
14828                    .opcode = 54,
14829                    .operands = &.{
14830                        .{ .kind = .id_ref, .quantifier = .required },
14831                        .{ .kind = .id_ref, .quantifier = .required },
14832                    },
14833                },
14834                .{
14835                    .name = "round",
14836                    .opcode = 55,
14837                    .operands = &.{
14838                        .{ .kind = .id_ref, .quantifier = .required },
14839                    },
14840                },
14841                .{
14842                    .name = "rsqrt",
14843                    .opcode = 56,
14844                    .operands = &.{
14845                        .{ .kind = .id_ref, .quantifier = .required },
14846                    },
14847                },
14848                .{
14849                    .name = "sin",
14850                    .opcode = 57,
14851                    .operands = &.{
14852                        .{ .kind = .id_ref, .quantifier = .required },
14853                    },
14854                },
14855                .{
14856                    .name = "sincos",
14857                    .opcode = 58,
14858                    .operands = &.{
14859                        .{ .kind = .id_ref, .quantifier = .required },
14860                        .{ .kind = .id_ref, .quantifier = .required },
14861                    },
14862                },
14863                .{
14864                    .name = "sinh",
14865                    .opcode = 59,
14866                    .operands = &.{
14867                        .{ .kind = .id_ref, .quantifier = .required },
14868                    },
14869                },
14870                .{
14871                    .name = "sinpi",
14872                    .opcode = 60,
14873                    .operands = &.{
14874                        .{ .kind = .id_ref, .quantifier = .required },
14875                    },
14876                },
14877                .{
14878                    .name = "sqrt",
14879                    .opcode = 61,
14880                    .operands = &.{
14881                        .{ .kind = .id_ref, .quantifier = .required },
14882                    },
14883                },
14884                .{
14885                    .name = "tan",
14886                    .opcode = 62,
14887                    .operands = &.{
14888                        .{ .kind = .id_ref, .quantifier = .required },
14889                    },
14890                },
14891                .{
14892                    .name = "tanh",
14893                    .opcode = 63,
14894                    .operands = &.{
14895                        .{ .kind = .id_ref, .quantifier = .required },
14896                    },
14897                },
14898                .{
14899                    .name = "tanpi",
14900                    .opcode = 64,
14901                    .operands = &.{
14902                        .{ .kind = .id_ref, .quantifier = .required },
14903                    },
14904                },
14905                .{
14906                    .name = "tgamma",
14907                    .opcode = 65,
14908                    .operands = &.{
14909                        .{ .kind = .id_ref, .quantifier = .required },
14910                    },
14911                },
14912                .{
14913                    .name = "trunc",
14914                    .opcode = 66,
14915                    .operands = &.{
14916                        .{ .kind = .id_ref, .quantifier = .required },
14917                    },
14918                },
14919                .{
14920                    .name = "half_cos",
14921                    .opcode = 67,
14922                    .operands = &.{
14923                        .{ .kind = .id_ref, .quantifier = .required },
14924                    },
14925                },
14926                .{
14927                    .name = "half_divide",
14928                    .opcode = 68,
14929                    .operands = &.{
14930                        .{ .kind = .id_ref, .quantifier = .required },
14931                        .{ .kind = .id_ref, .quantifier = .required },
14932                    },
14933                },
14934                .{
14935                    .name = "half_exp",
14936                    .opcode = 69,
14937                    .operands = &.{
14938                        .{ .kind = .id_ref, .quantifier = .required },
14939                    },
14940                },
14941                .{
14942                    .name = "half_exp2",
14943                    .opcode = 70,
14944                    .operands = &.{
14945                        .{ .kind = .id_ref, .quantifier = .required },
14946                    },
14947                },
14948                .{
14949                    .name = "half_exp10",
14950                    .opcode = 71,
14951                    .operands = &.{
14952                        .{ .kind = .id_ref, .quantifier = .required },
14953                    },
14954                },
14955                .{
14956                    .name = "half_log",
14957                    .opcode = 72,
14958                    .operands = &.{
14959                        .{ .kind = .id_ref, .quantifier = .required },
14960                    },
14961                },
14962                .{
14963                    .name = "half_log2",
14964                    .opcode = 73,
14965                    .operands = &.{
14966                        .{ .kind = .id_ref, .quantifier = .required },
14967                    },
14968                },
14969                .{
14970                    .name = "half_log10",
14971                    .opcode = 74,
14972                    .operands = &.{
14973                        .{ .kind = .id_ref, .quantifier = .required },
14974                    },
14975                },
14976                .{
14977                    .name = "half_powr",
14978                    .opcode = 75,
14979                    .operands = &.{
14980                        .{ .kind = .id_ref, .quantifier = .required },
14981                        .{ .kind = .id_ref, .quantifier = .required },
14982                    },
14983                },
14984                .{
14985                    .name = "half_recip",
14986                    .opcode = 76,
14987                    .operands = &.{
14988                        .{ .kind = .id_ref, .quantifier = .required },
14989                    },
14990                },
14991                .{
14992                    .name = "half_rsqrt",
14993                    .opcode = 77,
14994                    .operands = &.{
14995                        .{ .kind = .id_ref, .quantifier = .required },
14996                    },
14997                },
14998                .{
14999                    .name = "half_sin",
15000                    .opcode = 78,
15001                    .operands = &.{
15002                        .{ .kind = .id_ref, .quantifier = .required },
15003                    },
15004                },
15005                .{
15006                    .name = "half_sqrt",
15007                    .opcode = 79,
15008                    .operands = &.{
15009                        .{ .kind = .id_ref, .quantifier = .required },
15010                    },
15011                },
15012                .{
15013                    .name = "half_tan",
15014                    .opcode = 80,
15015                    .operands = &.{
15016                        .{ .kind = .id_ref, .quantifier = .required },
15017                    },
15018                },
15019                .{
15020                    .name = "native_cos",
15021                    .opcode = 81,
15022                    .operands = &.{
15023                        .{ .kind = .id_ref, .quantifier = .required },
15024                    },
15025                },
15026                .{
15027                    .name = "native_divide",
15028                    .opcode = 82,
15029                    .operands = &.{
15030                        .{ .kind = .id_ref, .quantifier = .required },
15031                        .{ .kind = .id_ref, .quantifier = .required },
15032                    },
15033                },
15034                .{
15035                    .name = "native_exp",
15036                    .opcode = 83,
15037                    .operands = &.{
15038                        .{ .kind = .id_ref, .quantifier = .required },
15039                    },
15040                },
15041                .{
15042                    .name = "native_exp2",
15043                    .opcode = 84,
15044                    .operands = &.{
15045                        .{ .kind = .id_ref, .quantifier = .required },
15046                    },
15047                },
15048                .{
15049                    .name = "native_exp10",
15050                    .opcode = 85,
15051                    .operands = &.{
15052                        .{ .kind = .id_ref, .quantifier = .required },
15053                    },
15054                },
15055                .{
15056                    .name = "native_log",
15057                    .opcode = 86,
15058                    .operands = &.{
15059                        .{ .kind = .id_ref, .quantifier = .required },
15060                    },
15061                },
15062                .{
15063                    .name = "native_log2",
15064                    .opcode = 87,
15065                    .operands = &.{
15066                        .{ .kind = .id_ref, .quantifier = .required },
15067                    },
15068                },
15069                .{
15070                    .name = "native_log10",
15071                    .opcode = 88,
15072                    .operands = &.{
15073                        .{ .kind = .id_ref, .quantifier = .required },
15074                    },
15075                },
15076                .{
15077                    .name = "native_powr",
15078                    .opcode = 89,
15079                    .operands = &.{
15080                        .{ .kind = .id_ref, .quantifier = .required },
15081                        .{ .kind = .id_ref, .quantifier = .required },
15082                    },
15083                },
15084                .{
15085                    .name = "native_recip",
15086                    .opcode = 90,
15087                    .operands = &.{
15088                        .{ .kind = .id_ref, .quantifier = .required },
15089                    },
15090                },
15091                .{
15092                    .name = "native_rsqrt",
15093                    .opcode = 91,
15094                    .operands = &.{
15095                        .{ .kind = .id_ref, .quantifier = .required },
15096                    },
15097                },
15098                .{
15099                    .name = "native_sin",
15100                    .opcode = 92,
15101                    .operands = &.{
15102                        .{ .kind = .id_ref, .quantifier = .required },
15103                    },
15104                },
15105                .{
15106                    .name = "native_sqrt",
15107                    .opcode = 93,
15108                    .operands = &.{
15109                        .{ .kind = .id_ref, .quantifier = .required },
15110                    },
15111                },
15112                .{
15113                    .name = "native_tan",
15114                    .opcode = 94,
15115                    .operands = &.{
15116                        .{ .kind = .id_ref, .quantifier = .required },
15117                    },
15118                },
15119                .{
15120                    .name = "fclamp",
15121                    .opcode = 95,
15122                    .operands = &.{
15123                        .{ .kind = .id_ref, .quantifier = .required },
15124                        .{ .kind = .id_ref, .quantifier = .required },
15125                        .{ .kind = .id_ref, .quantifier = .required },
15126                    },
15127                },
15128                .{
15129                    .name = "degrees",
15130                    .opcode = 96,
15131                    .operands = &.{
15132                        .{ .kind = .id_ref, .quantifier = .required },
15133                    },
15134                },
15135                .{
15136                    .name = "fmax_common",
15137                    .opcode = 97,
15138                    .operands = &.{
15139                        .{ .kind = .id_ref, .quantifier = .required },
15140                        .{ .kind = .id_ref, .quantifier = .required },
15141                    },
15142                },
15143                .{
15144                    .name = "fmin_common",
15145                    .opcode = 98,
15146                    .operands = &.{
15147                        .{ .kind = .id_ref, .quantifier = .required },
15148                        .{ .kind = .id_ref, .quantifier = .required },
15149                    },
15150                },
15151                .{
15152                    .name = "mix",
15153                    .opcode = 99,
15154                    .operands = &.{
15155                        .{ .kind = .id_ref, .quantifier = .required },
15156                        .{ .kind = .id_ref, .quantifier = .required },
15157                        .{ .kind = .id_ref, .quantifier = .required },
15158                    },
15159                },
15160                .{
15161                    .name = "radians",
15162                    .opcode = 100,
15163                    .operands = &.{
15164                        .{ .kind = .id_ref, .quantifier = .required },
15165                    },
15166                },
15167                .{
15168                    .name = "step",
15169                    .opcode = 101,
15170                    .operands = &.{
15171                        .{ .kind = .id_ref, .quantifier = .required },
15172                        .{ .kind = .id_ref, .quantifier = .required },
15173                    },
15174                },
15175                .{
15176                    .name = "smoothstep",
15177                    .opcode = 102,
15178                    .operands = &.{
15179                        .{ .kind = .id_ref, .quantifier = .required },
15180                        .{ .kind = .id_ref, .quantifier = .required },
15181                        .{ .kind = .id_ref, .quantifier = .required },
15182                    },
15183                },
15184                .{
15185                    .name = "sign",
15186                    .opcode = 103,
15187                    .operands = &.{
15188                        .{ .kind = .id_ref, .quantifier = .required },
15189                    },
15190                },
15191                .{
15192                    .name = "cross",
15193                    .opcode = 104,
15194                    .operands = &.{
15195                        .{ .kind = .id_ref, .quantifier = .required },
15196                        .{ .kind = .id_ref, .quantifier = .required },
15197                    },
15198                },
15199                .{
15200                    .name = "distance",
15201                    .opcode = 105,
15202                    .operands = &.{
15203                        .{ .kind = .id_ref, .quantifier = .required },
15204                        .{ .kind = .id_ref, .quantifier = .required },
15205                    },
15206                },
15207                .{
15208                    .name = "length",
15209                    .opcode = 106,
15210                    .operands = &.{
15211                        .{ .kind = .id_ref, .quantifier = .required },
15212                    },
15213                },
15214                .{
15215                    .name = "normalize",
15216                    .opcode = 107,
15217                    .operands = &.{
15218                        .{ .kind = .id_ref, .quantifier = .required },
15219                    },
15220                },
15221                .{
15222                    .name = "fast_distance",
15223                    .opcode = 108,
15224                    .operands = &.{
15225                        .{ .kind = .id_ref, .quantifier = .required },
15226                        .{ .kind = .id_ref, .quantifier = .required },
15227                    },
15228                },
15229                .{
15230                    .name = "fast_length",
15231                    .opcode = 109,
15232                    .operands = &.{
15233                        .{ .kind = .id_ref, .quantifier = .required },
15234                    },
15235                },
15236                .{
15237                    .name = "fast_normalize",
15238                    .opcode = 110,
15239                    .operands = &.{
15240                        .{ .kind = .id_ref, .quantifier = .required },
15241                    },
15242                },
15243                .{
15244                    .name = "s_abs",
15245                    .opcode = 141,
15246                    .operands = &.{
15247                        .{ .kind = .id_ref, .quantifier = .required },
15248                    },
15249                },
15250                .{
15251                    .name = "s_abs_diff",
15252                    .opcode = 142,
15253                    .operands = &.{
15254                        .{ .kind = .id_ref, .quantifier = .required },
15255                        .{ .kind = .id_ref, .quantifier = .required },
15256                    },
15257                },
15258                .{
15259                    .name = "s_add_sat",
15260                    .opcode = 143,
15261                    .operands = &.{
15262                        .{ .kind = .id_ref, .quantifier = .required },
15263                        .{ .kind = .id_ref, .quantifier = .required },
15264                    },
15265                },
15266                .{
15267                    .name = "u_add_sat",
15268                    .opcode = 144,
15269                    .operands = &.{
15270                        .{ .kind = .id_ref, .quantifier = .required },
15271                        .{ .kind = .id_ref, .quantifier = .required },
15272                    },
15273                },
15274                .{
15275                    .name = "s_hadd",
15276                    .opcode = 145,
15277                    .operands = &.{
15278                        .{ .kind = .id_ref, .quantifier = .required },
15279                        .{ .kind = .id_ref, .quantifier = .required },
15280                    },
15281                },
15282                .{
15283                    .name = "u_hadd",
15284                    .opcode = 146,
15285                    .operands = &.{
15286                        .{ .kind = .id_ref, .quantifier = .required },
15287                        .{ .kind = .id_ref, .quantifier = .required },
15288                    },
15289                },
15290                .{
15291                    .name = "s_rhadd",
15292                    .opcode = 147,
15293                    .operands = &.{
15294                        .{ .kind = .id_ref, .quantifier = .required },
15295                        .{ .kind = .id_ref, .quantifier = .required },
15296                    },
15297                },
15298                .{
15299                    .name = "u_rhadd",
15300                    .opcode = 148,
15301                    .operands = &.{
15302                        .{ .kind = .id_ref, .quantifier = .required },
15303                        .{ .kind = .id_ref, .quantifier = .required },
15304                    },
15305                },
15306                .{
15307                    .name = "s_clamp",
15308                    .opcode = 149,
15309                    .operands = &.{
15310                        .{ .kind = .id_ref, .quantifier = .required },
15311                        .{ .kind = .id_ref, .quantifier = .required },
15312                        .{ .kind = .id_ref, .quantifier = .required },
15313                    },
15314                },
15315                .{
15316                    .name = "u_clamp",
15317                    .opcode = 150,
15318                    .operands = &.{
15319                        .{ .kind = .id_ref, .quantifier = .required },
15320                        .{ .kind = .id_ref, .quantifier = .required },
15321                        .{ .kind = .id_ref, .quantifier = .required },
15322                    },
15323                },
15324                .{
15325                    .name = "clz",
15326                    .opcode = 151,
15327                    .operands = &.{
15328                        .{ .kind = .id_ref, .quantifier = .required },
15329                    },
15330                },
15331                .{
15332                    .name = "ctz",
15333                    .opcode = 152,
15334                    .operands = &.{
15335                        .{ .kind = .id_ref, .quantifier = .required },
15336                    },
15337                },
15338                .{
15339                    .name = "s_mad_hi",
15340                    .opcode = 153,
15341                    .operands = &.{
15342                        .{ .kind = .id_ref, .quantifier = .required },
15343                        .{ .kind = .id_ref, .quantifier = .required },
15344                        .{ .kind = .id_ref, .quantifier = .required },
15345                    },
15346                },
15347                .{
15348                    .name = "u_mad_sat",
15349                    .opcode = 154,
15350                    .operands = &.{
15351                        .{ .kind = .id_ref, .quantifier = .required },
15352                        .{ .kind = .id_ref, .quantifier = .required },
15353                        .{ .kind = .id_ref, .quantifier = .required },
15354                    },
15355                },
15356                .{
15357                    .name = "s_mad_sat",
15358                    .opcode = 155,
15359                    .operands = &.{
15360                        .{ .kind = .id_ref, .quantifier = .required },
15361                        .{ .kind = .id_ref, .quantifier = .required },
15362                        .{ .kind = .id_ref, .quantifier = .required },
15363                    },
15364                },
15365                .{
15366                    .name = "s_max",
15367                    .opcode = 156,
15368                    .operands = &.{
15369                        .{ .kind = .id_ref, .quantifier = .required },
15370                        .{ .kind = .id_ref, .quantifier = .required },
15371                    },
15372                },
15373                .{
15374                    .name = "u_max",
15375                    .opcode = 157,
15376                    .operands = &.{
15377                        .{ .kind = .id_ref, .quantifier = .required },
15378                        .{ .kind = .id_ref, .quantifier = .required },
15379                    },
15380                },
15381                .{
15382                    .name = "s_min",
15383                    .opcode = 158,
15384                    .operands = &.{
15385                        .{ .kind = .id_ref, .quantifier = .required },
15386                        .{ .kind = .id_ref, .quantifier = .required },
15387                    },
15388                },
15389                .{
15390                    .name = "u_min",
15391                    .opcode = 159,
15392                    .operands = &.{
15393                        .{ .kind = .id_ref, .quantifier = .required },
15394                        .{ .kind = .id_ref, .quantifier = .required },
15395                    },
15396                },
15397                .{
15398                    .name = "s_mul_hi",
15399                    .opcode = 160,
15400                    .operands = &.{
15401                        .{ .kind = .id_ref, .quantifier = .required },
15402                        .{ .kind = .id_ref, .quantifier = .required },
15403                    },
15404                },
15405                .{
15406                    .name = "rotate",
15407                    .opcode = 161,
15408                    .operands = &.{
15409                        .{ .kind = .id_ref, .quantifier = .required },
15410                        .{ .kind = .id_ref, .quantifier = .required },
15411                    },
15412                },
15413                .{
15414                    .name = "s_sub_sat",
15415                    .opcode = 162,
15416                    .operands = &.{
15417                        .{ .kind = .id_ref, .quantifier = .required },
15418                        .{ .kind = .id_ref, .quantifier = .required },
15419                    },
15420                },
15421                .{
15422                    .name = "u_sub_sat",
15423                    .opcode = 163,
15424                    .operands = &.{
15425                        .{ .kind = .id_ref, .quantifier = .required },
15426                        .{ .kind = .id_ref, .quantifier = .required },
15427                    },
15428                },
15429                .{
15430                    .name = "u_upsample",
15431                    .opcode = 164,
15432                    .operands = &.{
15433                        .{ .kind = .id_ref, .quantifier = .required },
15434                        .{ .kind = .id_ref, .quantifier = .required },
15435                    },
15436                },
15437                .{
15438                    .name = "s_upsample",
15439                    .opcode = 165,
15440                    .operands = &.{
15441                        .{ .kind = .id_ref, .quantifier = .required },
15442                        .{ .kind = .id_ref, .quantifier = .required },
15443                    },
15444                },
15445                .{
15446                    .name = "popcount",
15447                    .opcode = 166,
15448                    .operands = &.{
15449                        .{ .kind = .id_ref, .quantifier = .required },
15450                    },
15451                },
15452                .{
15453                    .name = "s_mad24",
15454                    .opcode = 167,
15455                    .operands = &.{
15456                        .{ .kind = .id_ref, .quantifier = .required },
15457                        .{ .kind = .id_ref, .quantifier = .required },
15458                        .{ .kind = .id_ref, .quantifier = .required },
15459                    },
15460                },
15461                .{
15462                    .name = "u_mad24",
15463                    .opcode = 168,
15464                    .operands = &.{
15465                        .{ .kind = .id_ref, .quantifier = .required },
15466                        .{ .kind = .id_ref, .quantifier = .required },
15467                        .{ .kind = .id_ref, .quantifier = .required },
15468                    },
15469                },
15470                .{
15471                    .name = "s_mul24",
15472                    .opcode = 169,
15473                    .operands = &.{
15474                        .{ .kind = .id_ref, .quantifier = .required },
15475                        .{ .kind = .id_ref, .quantifier = .required },
15476                    },
15477                },
15478                .{
15479                    .name = "u_mul24",
15480                    .opcode = 170,
15481                    .operands = &.{
15482                        .{ .kind = .id_ref, .quantifier = .required },
15483                        .{ .kind = .id_ref, .quantifier = .required },
15484                    },
15485                },
15486                .{
15487                    .name = "vloadn",
15488                    .opcode = 171,
15489                    .operands = &.{
15490                        .{ .kind = .id_ref, .quantifier = .required },
15491                        .{ .kind = .id_ref, .quantifier = .required },
15492                        .{ .kind = .literal_integer, .quantifier = .required },
15493                    },
15494                },
15495                .{
15496                    .name = "vstoren",
15497                    .opcode = 172,
15498                    .operands = &.{
15499                        .{ .kind = .id_ref, .quantifier = .required },
15500                        .{ .kind = .id_ref, .quantifier = .required },
15501                        .{ .kind = .id_ref, .quantifier = .required },
15502                    },
15503                },
15504                .{
15505                    .name = "vload_half",
15506                    .opcode = 173,
15507                    .operands = &.{
15508                        .{ .kind = .id_ref, .quantifier = .required },
15509                        .{ .kind = .id_ref, .quantifier = .required },
15510                    },
15511                },
15512                .{
15513                    .name = "vload_halfn",
15514                    .opcode = 174,
15515                    .operands = &.{
15516                        .{ .kind = .id_ref, .quantifier = .required },
15517                        .{ .kind = .id_ref, .quantifier = .required },
15518                        .{ .kind = .literal_integer, .quantifier = .required },
15519                    },
15520                },
15521                .{
15522                    .name = "vstore_half",
15523                    .opcode = 175,
15524                    .operands = &.{
15525                        .{ .kind = .id_ref, .quantifier = .required },
15526                        .{ .kind = .id_ref, .quantifier = .required },
15527                        .{ .kind = .id_ref, .quantifier = .required },
15528                    },
15529                },
15530                .{
15531                    .name = "vstore_half_r",
15532                    .opcode = 176,
15533                    .operands = &.{
15534                        .{ .kind = .id_ref, .quantifier = .required },
15535                        .{ .kind = .id_ref, .quantifier = .required },
15536                        .{ .kind = .id_ref, .quantifier = .required },
15537                        .{ .kind = .fp_rounding_mode, .quantifier = .required },
15538                    },
15539                },
15540                .{
15541                    .name = "vstore_halfn",
15542                    .opcode = 177,
15543                    .operands = &.{
15544                        .{ .kind = .id_ref, .quantifier = .required },
15545                        .{ .kind = .id_ref, .quantifier = .required },
15546                        .{ .kind = .id_ref, .quantifier = .required },
15547                    },
15548                },
15549                .{
15550                    .name = "vstore_halfn_r",
15551                    .opcode = 178,
15552                    .operands = &.{
15553                        .{ .kind = .id_ref, .quantifier = .required },
15554                        .{ .kind = .id_ref, .quantifier = .required },
15555                        .{ .kind = .id_ref, .quantifier = .required },
15556                        .{ .kind = .fp_rounding_mode, .quantifier = .required },
15557                    },
15558                },
15559                .{
15560                    .name = "vloada_halfn",
15561                    .opcode = 179,
15562                    .operands = &.{
15563                        .{ .kind = .id_ref, .quantifier = .required },
15564                        .{ .kind = .id_ref, .quantifier = .required },
15565                        .{ .kind = .literal_integer, .quantifier = .required },
15566                    },
15567                },
15568                .{
15569                    .name = "vstorea_halfn",
15570                    .opcode = 180,
15571                    .operands = &.{
15572                        .{ .kind = .id_ref, .quantifier = .required },
15573                        .{ .kind = .id_ref, .quantifier = .required },
15574                        .{ .kind = .id_ref, .quantifier = .required },
15575                    },
15576                },
15577                .{
15578                    .name = "vstorea_halfn_r",
15579                    .opcode = 181,
15580                    .operands = &.{
15581                        .{ .kind = .id_ref, .quantifier = .required },
15582                        .{ .kind = .id_ref, .quantifier = .required },
15583                        .{ .kind = .id_ref, .quantifier = .required },
15584                        .{ .kind = .fp_rounding_mode, .quantifier = .required },
15585                    },
15586                },
15587                .{
15588                    .name = "shuffle",
15589                    .opcode = 182,
15590                    .operands = &.{
15591                        .{ .kind = .id_ref, .quantifier = .required },
15592                        .{ .kind = .id_ref, .quantifier = .required },
15593                    },
15594                },
15595                .{
15596                    .name = "shuffle2",
15597                    .opcode = 183,
15598                    .operands = &.{
15599                        .{ .kind = .id_ref, .quantifier = .required },
15600                        .{ .kind = .id_ref, .quantifier = .required },
15601                        .{ .kind = .id_ref, .quantifier = .required },
15602                    },
15603                },
15604                .{
15605                    .name = "printf",
15606                    .opcode = 184,
15607                    .operands = &.{
15608                        .{ .kind = .id_ref, .quantifier = .required },
15609                        .{ .kind = .id_ref, .quantifier = .variadic },
15610                    },
15611                },
15612                .{
15613                    .name = "prefetch",
15614                    .opcode = 185,
15615                    .operands = &.{
15616                        .{ .kind = .id_ref, .quantifier = .required },
15617                        .{ .kind = .id_ref, .quantifier = .required },
15618                    },
15619                },
15620                .{
15621                    .name = "bitselect",
15622                    .opcode = 186,
15623                    .operands = &.{
15624                        .{ .kind = .id_ref, .quantifier = .required },
15625                        .{ .kind = .id_ref, .quantifier = .required },
15626                        .{ .kind = .id_ref, .quantifier = .required },
15627                    },
15628                },
15629                .{
15630                    .name = "select",
15631                    .opcode = 187,
15632                    .operands = &.{
15633                        .{ .kind = .id_ref, .quantifier = .required },
15634                        .{ .kind = .id_ref, .quantifier = .required },
15635                        .{ .kind = .id_ref, .quantifier = .required },
15636                    },
15637                },
15638                .{
15639                    .name = "u_abs",
15640                    .opcode = 201,
15641                    .operands = &.{
15642                        .{ .kind = .id_ref, .quantifier = .required },
15643                    },
15644                },
15645                .{
15646                    .name = "u_abs_diff",
15647                    .opcode = 202,
15648                    .operands = &.{
15649                        .{ .kind = .id_ref, .quantifier = .required },
15650                        .{ .kind = .id_ref, .quantifier = .required },
15651                    },
15652                },
15653                .{
15654                    .name = "u_mul_hi",
15655                    .opcode = 203,
15656                    .operands = &.{
15657                        .{ .kind = .id_ref, .quantifier = .required },
15658                        .{ .kind = .id_ref, .quantifier = .required },
15659                    },
15660                },
15661                .{
15662                    .name = "u_mad_hi",
15663                    .opcode = 204,
15664                    .operands = &.{
15665                        .{ .kind = .id_ref, .quantifier = .required },
15666                        .{ .kind = .id_ref, .quantifier = .required },
15667                        .{ .kind = .id_ref, .quantifier = .required },
15668                    },
15669                },
15670            },
15671            .zig => &.{
15672                .{
15673                    .name = "InvocationGlobal",
15674                    .opcode = 0,
15675                    .operands = &.{
15676                        .{ .kind = .id_ref, .quantifier = .required },
15677                    },
15678                },
15679            },
15680        };
15681    }
15682};