; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 39
; Schema: 0
               OpCapability Shader
               OpCapability VulkanMemoryModel
               OpCapability VulkanMemoryModelDeviceScope
               OpCapability Float16
               OpCapability StorageBuffer16BitAccess
               OpCapability CooperativeMatrixKHR
               OpExtension "SPV_KHR_vulkan_memory_model"
               OpExtension "SPV_KHR_cooperative_matrix"
               OpMemoryModel Logical Vulkan
               OpEntryPoint GLCompute %compute_main "compute_main"
               OpExecutionMode %compute_main LocalSize 1 1 1
               OpMemberName %prevent_dce_block_tint_explicit_layout 0 "inner"
               OpName %prevent_dce_block_tint_explicit_layout "prevent_dce_block_tint_explicit_layout"
               OpName %subgroupMatrixScalarAdd_38dfbe "subgroupMatrixScalarAdd_38dfbe"
               OpName %arg_0 "arg_0"
               OpName %arg_1 "arg_1"
               OpName %res "res"
               OpName %compute_main "compute_main"
               OpDecorate %_arr_half_uint_1024 ArrayStride 2
               OpMemberDecorate %prevent_dce_block_tint_explicit_layout 0 Offset 0
               OpDecorate %prevent_dce_block_tint_explicit_layout Block
               OpDecorate %1 DescriptorSet 0
               OpDecorate %1 Binding 0
       %half = OpTypeFloat 16
       %uint = OpTypeInt 32 0
  %uint_1024 = OpConstant %uint 1024
%_arr_half_uint_1024 = OpTypeArray %half %uint_1024
%prevent_dce_block_tint_explicit_layout = OpTypeStruct %_arr_half_uint_1024
%_ptr_StorageBuffer_prevent_dce_block_tint_explicit_layout = OpTypePointer StorageBuffer %prevent_dce_block_tint_explicit_layout
          %1 = OpVariable %_ptr_StorageBuffer_prevent_dce_block_tint_explicit_layout StorageBuffer
     %uint_3 = OpConstant %uint 3
     %uint_8 = OpConstant %uint 8
     %uint_0 = OpConstant %uint 0
          %9 = OpTypeCooperativeMatrixKHR %half %uint_3 %uint_8 %uint_8 %uint_0
         %13 = OpTypeFunction %9
         %15 = OpConstantNull %9
%_ptr_Function_9 = OpTypePointer Function %9
%_ptr_Function_half = OpTypePointer Function %half
%half_0x1p_3 = OpConstant %half 0x1p+3
       %void = OpTypeVoid
         %29 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_half_uint_1024 = OpTypePointer StorageBuffer %_arr_half_uint_1024
%_ptr_StorageBuffer_half = OpTypePointer StorageBuffer %half
        %int = OpTypeInt 32 1
     %int_16 = OpConstant %int 16
%subgroupMatrixScalarAdd_38dfbe = OpFunction %9 None %13
         %14 = OpLabel
      %arg_0 = OpVariable %_ptr_Function_9 Function
      %arg_1 = OpVariable %_ptr_Function_half Function
        %res = OpVariable %_ptr_Function_9 Function
               OpStore %arg_0 %15
               OpStore %arg_1 %half_0x1p_3
         %21 = OpLoad %9 %arg_0 None
         %22 = OpLoad %half %arg_1 None
         %23 = OpCompositeConstruct %9 %22
         %24 = OpFAdd %9 %21 %23
               OpStore %res %24
         %26 = OpLoad %9 %res None
               OpReturnValue %26
               OpFunctionEnd
%compute_main = OpFunction %void None %29
         %30 = OpLabel
         %31 = OpFunctionCall %9 %subgroupMatrixScalarAdd_38dfbe
         %32 = OpAccessChain %_ptr_StorageBuffer__arr_half_uint_1024 %1 %uint_0
         %34 = OpAccessChain %_ptr_StorageBuffer_half %32 %uint_0
               OpCooperativeMatrixStoreKHR %34 %31 %uint_0 %int_16 NonPrivatePointer
               OpReturn
               OpFunctionEnd
