; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 35
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
               OpExecutionMode %unused_entry_point LocalSize 1 1 1
               OpName %v_block "v_block"
               OpMemberName %v_block 0 "inner"
               OpName %S "S"
               OpMemberName %S 0 "a"
               OpName %v "v"
               OpName %unused_entry_point "unused_entry_point"
               OpName %foo "foo"
               OpDecorate %v_block Block
               OpMemberDecorate %v_block 0 Offset 0
               OpMemberDecorate %S 0 Offset 0
               OpMemberDecorate %S 0 ColMajor
               OpMemberDecorate %S 0 MatrixStride 16
               OpDecorate %v DescriptorSet 0
               OpDecorate %v Binding 0
      %float = OpTypeFloat 32
    %v4float = OpTypeVector %float 4
%mat4v4float = OpTypeMatrix %v4float 4
          %S = OpTypeStruct %mat4v4float
    %v_block = OpTypeStruct %S
%_ptr_StorageBuffer_v_block = OpTypePointer StorageBuffer %v_block
          %v = OpVariable %_ptr_StorageBuffer_v_block StorageBuffer
       %void = OpTypeVoid
          %8 = OpTypeFunction %void
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_mat4v4float = OpTypePointer StorageBuffer %mat4v4float
         %20 = OpConstantNull %mat4v4float
%unused_entry_point = OpFunction %void None %8
         %11 = OpLabel
               OpReturn
               OpFunctionEnd
        %foo = OpFunction %void None %8
         %13 = OpLabel
         %17 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %v %uint_0 %uint_0
         %18 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %v %uint_0 %uint_0
         %19 = OpLoad %mat4v4float %18
         %22 = OpCompositeExtract %v4float %19 0
         %23 = OpCompositeExtract %v4float %20 0
         %24 = OpFAdd %v4float %22 %23
         %25 = OpCompositeExtract %v4float %19 1
         %26 = OpCompositeExtract %v4float %20 1
         %27 = OpFAdd %v4float %25 %26
         %28 = OpCompositeExtract %v4float %19 2
         %29 = OpCompositeExtract %v4float %20 2
         %30 = OpFAdd %v4float %28 %29
         %31 = OpCompositeExtract %v4float %19 3
         %32 = OpCompositeExtract %v4float %20 3
         %33 = OpFAdd %v4float %31 %32
         %34 = OpCompositeConstruct %mat4v4float %24 %27 %30 %33
               OpStore %17 %34
               OpReturn
               OpFunctionEnd