; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 21
; Schema: 0
               OpCapability Shader
               OpMemoryModel Logical GLSL450
               OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
               OpExecutionMode %unused_entry_point LocalSize 1 1 1
               OpName %S "S"
               OpMemberName %S 0 "a"
               OpName %v "v"
               OpName %unused_entry_point "unused_entry_point"
               OpName %foo "foo"
               OpDecorate %S Block
               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
%_ptr_StorageBuffer_S = OpTypePointer StorageBuffer %S
          %v = OpVariable %_ptr_StorageBuffer_S StorageBuffer
       %void = OpTypeVoid
          %7 = OpTypeFunction %void
       %uint = OpTypeInt 32 0
     %uint_0 = OpConstant %uint 0
%_ptr_StorageBuffer_mat4v4float = OpTypePointer StorageBuffer %mat4v4float
         %19 = OpConstantNull %mat4v4float
%unused_entry_point = OpFunction %void None %7
         %10 = OpLabel
               OpReturn
               OpFunctionEnd
        %foo = OpFunction %void None %7
         %12 = OpLabel
         %16 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %v %uint_0
         %17 = OpAccessChain %_ptr_StorageBuffer_mat4v4float %v %uint_0
         %18 = OpLoad %mat4v4float %17
         %20 = OpMatrixTimesMatrix %mat4v4float %18 %19
               OpStore %16 %20
               OpReturn
               OpFunctionEnd