; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 110
; Schema: 0
               OpCapability Shader
               OpCapability VulkanMemoryModel
               OpCapability VulkanMemoryModelDeviceScope
               OpCapability CooperativeMatrixKHR
               OpExtension "SPV_KHR_vulkan_memory_model"
               OpExtension "SPV_KHR_cooperative_matrix"
               OpMemoryModel Logical Vulkan
               OpEntryPoint GLCompute %main "main"
               OpExecutionMode %main LocalSize 64 1 1
               OpMemberName %buffer_block_tint_explicit_layout 0 "inner"
               OpName %buffer_block_tint_explicit_layout "buffer_block_tint_explicit_layout"
               OpName %main "main"
               OpName %m "m"
               OpName %m_array "m_array"
               OpName %m_nested_array "m_nested_array"
               OpMemberName %S 0 "l"
               OpMemberName %S 1 "r"
               OpName %S "S"
               OpName %m_struct "m_struct"
               OpMemberName %S_Nested 0 "s"
               OpName %S_Nested "S_Nested"
               OpName %m_nested_struct "m_nested_struct"
               OpDecorate %_runtimearr_float ArrayStride 4
               OpMemberDecorate %buffer_block_tint_explicit_layout 0 Offset 0
               OpDecorate %buffer_block_tint_explicit_layout Block
               OpDecorate %1 DescriptorSet 0
               OpDecorate %1 Binding 0
      %float = OpTypeFloat 32
%_runtimearr_float = OpTypeRuntimeArray %float
%buffer_block_tint_explicit_layout = OpTypeStruct %_runtimearr_float
%_ptr_StorageBuffer_buffer_block_tint_explicit_layout = OpTypePointer StorageBuffer %buffer_block_tint_explicit_layout
          %1 = OpVariable %_ptr_StorageBuffer_buffer_block_tint_explicit_layout StorageBuffer
       %void = OpTypeVoid
          %8 = OpTypeFunction %void
       %uint = OpTypeInt 32 0
     %uint_3 = OpConstant %uint 3
     %uint_8 = OpConstant %uint 8
     %uint_0 = OpConstant %uint 0
         %12 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_0
%_ptr_Function_12 = OpTypePointer Function %12
    %float_0 = OpConstant %float 0
         %17 = OpConstantComposite %12 %float_0
     %uint_4 = OpConstant %uint 4
%_arr_12_uint_4 = OpTypeArray %12 %uint_4
%_ptr_Function__arr_12_uint_4 = OpTypePointer Function %_arr_12_uint_4
         %23 = OpConstantComposite %_arr_12_uint_4 %17 %17 %17 %17
%_arr__arr_12_uint_4_uint_4 = OpTypeArray %_arr_12_uint_4 %uint_4
%_ptr_Function__arr__arr_12_uint_4_uint_4 = OpTypePointer Function %_arr__arr_12_uint_4_uint_4
         %27 = OpConstantComposite %_arr__arr_12_uint_4_uint_4 %23 %23 %23 %23
     %uint_1 = OpConstant %uint 1
         %31 = OpTypeCooperativeMatrixKHR %float %uint_3 %uint_8 %uint_8 %uint_1
          %S = OpTypeStruct %12 %31
%_ptr_Function_S = OpTypePointer Function %S
         %34 = OpConstantComposite %31 %float_0
         %33 = OpConstantComposite %S %17 %34
   %S_Nested = OpTypeStruct %S
%_ptr_Function_S_Nested = OpTypePointer Function %S_Nested
         %38 = OpConstantComposite %S_Nested %33
%_ptr_StorageBuffer__runtimearr_float = OpTypePointer StorageBuffer %_runtimearr_float
    %uint_64 = OpConstant %uint 64
     %uint_7 = OpConstant %uint 7
       %bool = OpTypeBool
     %uint_2 = OpConstant %uint 2
%_ptr_Function_31 = OpTypePointer Function %31
%_ptr_StorageBuffer_float = OpTypePointer StorageBuffer %float
       %main = OpFunction %void None %8
          %9 = OpLabel
          %m = OpVariable %_ptr_Function_12 Function %17
    %m_array = OpVariable %_ptr_Function__arr_12_uint_4 Function %23
%m_nested_array = OpVariable %_ptr_Function__arr__arr_12_uint_4_uint_4 Function %27
   %m_struct = OpVariable %_ptr_Function_S Function %33
%m_nested_struct = OpVariable %_ptr_Function_S_Nested Function %38
         %39 = OpLoad %12 %m None
         %40 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %1 %uint_0
         %42 = OpArrayLength %uint %1 0
         %43 = OpIMul %uint %uint_64 %uint_7
         %46 = OpIAdd %uint %uint_0 %43
         %47 = OpIAdd %uint %46 %uint_8
         %48 = OpULessThanEqual %bool %47 %42
               OpSelectionMerge %50 None
               OpBranchConditional %48 %51 %50
         %51 = OpLabel
         %94 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %1 %uint_0
         %95 = OpAccessChain %_ptr_StorageBuffer_float %94 %uint_0
               OpCooperativeMatrixStoreKHR %95 %39 %uint_0 %uint_64 NonPrivatePointer
               OpBranch %50
         %50 = OpLabel
         %52 = OpAccessChain %_ptr_Function_12 %m_array %uint_0
         %53 = OpLoad %12 %52 None
         %54 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %1 %uint_0
         %55 = OpArrayLength %uint %1 0
         %56 = OpIMul %uint %uint_64 %uint_7
         %57 = OpIAdd %uint %uint_0 %56
         %58 = OpIAdd %uint %57 %uint_8
         %59 = OpULessThanEqual %bool %58 %55
               OpSelectionMerge %60 None
               OpBranchConditional %59 %61 %60
         %61 = OpLabel
         %98 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %1 %uint_0
         %99 = OpAccessChain %_ptr_StorageBuffer_float %98 %uint_0
               OpCooperativeMatrixStoreKHR %99 %53 %uint_0 %uint_64 NonPrivatePointer
               OpBranch %60
         %60 = OpLabel
         %62 = OpAccessChain %_ptr_Function_12 %m_nested_array %uint_1 %uint_2
         %64 = OpLoad %12 %62 None
         %65 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %1 %uint_0
         %66 = OpArrayLength %uint %1 0
         %67 = OpIMul %uint %uint_64 %uint_7
         %68 = OpIAdd %uint %uint_0 %67
         %69 = OpIAdd %uint %68 %uint_8
         %70 = OpULessThanEqual %bool %69 %66
               OpSelectionMerge %71 None
               OpBranchConditional %70 %72 %71
         %72 = OpLabel
        %101 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %1 %uint_0
        %102 = OpAccessChain %_ptr_StorageBuffer_float %101 %uint_0
               OpCooperativeMatrixStoreKHR %102 %64 %uint_0 %uint_64 NonPrivatePointer
               OpBranch %71
         %71 = OpLabel
         %73 = OpAccessChain %_ptr_Function_12 %m_struct %uint_0
         %74 = OpLoad %12 %73 None
         %75 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %1 %uint_0
         %76 = OpArrayLength %uint %1 0
         %77 = OpIMul %uint %uint_64 %uint_7
         %78 = OpIAdd %uint %uint_0 %77
         %79 = OpIAdd %uint %78 %uint_8
         %80 = OpULessThanEqual %bool %79 %76
               OpSelectionMerge %81 None
               OpBranchConditional %80 %82 %81
         %82 = OpLabel
        %104 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %1 %uint_0
        %105 = OpAccessChain %_ptr_StorageBuffer_float %104 %uint_0
               OpCooperativeMatrixStoreKHR %105 %74 %uint_0 %uint_64 NonPrivatePointer
               OpBranch %81
         %81 = OpLabel
         %83 = OpAccessChain %_ptr_Function_31 %m_nested_struct %uint_0 %uint_1
         %85 = OpLoad %31 %83 None
         %86 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %1 %uint_0
         %87 = OpArrayLength %uint %1 0
         %88 = OpIMul %uint %uint_64 %uint_7
         %89 = OpIAdd %uint %uint_0 %88
         %90 = OpIAdd %uint %89 %uint_8
         %91 = OpULessThanEqual %bool %90 %87
               OpSelectionMerge %92 None
               OpBranchConditional %91 %93 %92
         %93 = OpLabel
        %107 = OpAccessChain %_ptr_StorageBuffer__runtimearr_float %1 %uint_0
        %108 = OpAccessChain %_ptr_StorageBuffer_float %107 %uint_0
               OpCooperativeMatrixStoreKHR %108 %85 %uint_0 %uint_64 NonPrivatePointer
               OpBranch %92
         %92 = OpLabel
               OpReturn
               OpFunctionEnd
