; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 104
; Schema: 0
               OpCapability Shader
               OpCapability Float16
               OpCapability UniformAndStorageBuffer16BitAccess
               OpCapability StorageBuffer16BitAccess
               OpCapability StorageInputOutput16
               OpMemoryModel Logical GLSL450
               OpEntryPoint GLCompute %f "f"
               OpExecutionMode %f LocalSize 1 1 1
               OpName %u_block_std140 "u_block_std140"
               OpMemberName %u_block_std140 0 "inner"
               OpName %S_std140 "S_std140"
               OpMemberName %S_std140 0 "before"
               OpMemberName %S_std140 1 "m_0"
               OpMemberName %S_std140 2 "m_1"
               OpMemberName %S_std140 3 "after"
               OpName %u "u"
               OpName %u_block "u_block"
               OpMemberName %u_block 0 "inner"
               OpName %S "S"
               OpMemberName %S 0 "before"
               OpMemberName %S 1 "m"
               OpMemberName %S 2 "after"
               OpName %s "s"
               OpName %conv_S "conv_S"
               OpName %val "val"
               OpName %conv_arr4_S "conv_arr4_S"
               OpName %val_0 "val"
               OpName %arr "arr"
               OpName %i "i"
               OpName %var_for_index "var_for_index"
               OpName %load_u_inner_2_m "load_u_inner_2_m"
               OpName %f "f"
               OpDecorate %u_block_std140 Block
               OpMemberDecorate %u_block_std140 0 Offset 0
               OpMemberDecorate %S_std140 0 Offset 0
               OpMemberDecorate %S_std140 1 Offset 8
               OpMemberDecorate %S_std140 2 Offset 16
               OpMemberDecorate %S_std140 3 Offset 64
               OpDecorate %_arr_S_std140_uint_4 ArrayStride 128
               OpDecorate %u NonWritable
               OpDecorate %u DescriptorSet 0
               OpDecorate %u Binding 0
               OpDecorate %u_block Block
               OpMemberDecorate %u_block 0 Offset 0
               OpMemberDecorate %S 0 Offset 0
               OpMemberDecorate %S 1 Offset 8
               OpMemberDecorate %S 1 ColMajor
               OpMemberDecorate %S 1 MatrixStride 8
               OpMemberDecorate %S 2 Offset 64
               OpDecorate %_arr_S_uint_4 ArrayStride 128
               OpDecorate %s DescriptorSet 0
               OpDecorate %s Binding 1
        %int = OpTypeInt 32 1
       %half = OpTypeFloat 16
     %v4half = OpTypeVector %half 4
   %S_std140 = OpTypeStruct %int %v4half %v4half %int
       %uint = OpTypeInt 32 0
     %uint_4 = OpConstant %uint 4
%_arr_S_std140_uint_4 = OpTypeArray %S_std140 %uint_4
%u_block_std140 = OpTypeStruct %_arr_S_std140_uint_4
%_ptr_Uniform_u_block_std140 = OpTypePointer Uniform %u_block_std140
          %u = OpVariable %_ptr_Uniform_u_block_std140 Uniform
 %mat2v4half = OpTypeMatrix %v4half 2
          %S = OpTypeStruct %int %mat2v4half %int
%_arr_S_uint_4 = OpTypeArray %S %uint_4
    %u_block = OpTypeStruct %_arr_S_uint_4
%_ptr_StorageBuffer_u_block = OpTypePointer StorageBuffer %u_block
          %s = OpVariable %_ptr_StorageBuffer_u_block StorageBuffer
         %17 = OpTypeFunction %S %S_std140
         %27 = OpTypeFunction %_arr_S_uint_4 %_arr_S_std140_uint_4
%_ptr_Function__arr_S_uint_4 = OpTypePointer Function %_arr_S_uint_4
         %33 = OpConstantNull %_arr_S_uint_4
%_ptr_Function_uint = OpTypePointer Function %uint
         %36 = OpConstantNull %uint
       %bool = OpTypeBool
%_ptr_Function__arr_S_std140_uint_4 = OpTypePointer Function %_arr_S_std140_uint_4
         %49 = OpConstantNull %_arr_S_std140_uint_4
%_ptr_Function_S = OpTypePointer Function %S
%_ptr_Function_S_std140 = OpTypePointer Function %S_std140
     %uint_1 = OpConstant %uint 1
         %62 = OpTypeFunction %mat2v4half
     %uint_0 = OpConstant %uint 0
     %uint_2 = OpConstant %uint 2
%_ptr_Uniform_S_std140 = OpTypePointer Uniform %S_std140
%_ptr_Uniform_v4half = OpTypePointer Uniform %v4half
       %void = OpTypeVoid
         %78 = OpTypeFunction %void
%_ptr_StorageBuffer__arr_S_uint_4 = OpTypePointer StorageBuffer %_arr_S_uint_4
%_ptr_Uniform__arr_S_std140_uint_4 = OpTypePointer Uniform %_arr_S_std140_uint_4
      %int_1 = OpConstant %int 1
%_ptr_StorageBuffer_S = OpTypePointer StorageBuffer %S
      %int_3 = OpConstant %int 3
%_ptr_StorageBuffer_mat2v4half = OpTypePointer StorageBuffer %mat2v4half
         %98 = OpConstantNull %int
%_ptr_StorageBuffer_v4half = OpTypePointer StorageBuffer %v4half
     %conv_S = OpFunction %S None %17
        %val = OpFunctionParameter %S_std140
         %20 = OpLabel
         %21 = OpCompositeExtract %int %val 0
         %22 = OpCompositeExtract %v4half %val 1
         %23 = OpCompositeExtract %v4half %val 2
         %24 = OpCompositeConstruct %mat2v4half %22 %23
         %25 = OpCompositeExtract %int %val 3
         %26 = OpCompositeConstruct %S %21 %24 %25
               OpReturnValue %26
               OpFunctionEnd
%conv_arr4_S = OpFunction %_arr_S_uint_4 None %27
      %val_0 = OpFunctionParameter %_arr_S_std140_uint_4
         %30 = OpLabel
        %arr = OpVariable %_ptr_Function__arr_S_uint_4 Function %33
          %i = OpVariable %_ptr_Function_uint Function %36
%var_for_index = OpVariable %_ptr_Function__arr_S_std140_uint_4 Function %49
               OpBranch %37
         %37 = OpLabel
               OpLoopMerge %38 %39 None
               OpBranch %40
         %40 = OpLabel
         %42 = OpLoad %uint %i
         %43 = OpULessThan %bool %42 %uint_4
         %41 = OpLogicalNot %bool %43
               OpSelectionMerge %45 None
               OpBranchConditional %41 %46 %45
         %46 = OpLabel
               OpBranch %38
         %45 = OpLabel
               OpStore %var_for_index %val_0
         %50 = OpLoad %uint %i
         %52 = OpAccessChain %_ptr_Function_S %arr %50
         %54 = OpLoad %uint %i
         %56 = OpAccessChain %_ptr_Function_S_std140 %var_for_index %54
         %57 = OpLoad %S_std140 %56
         %53 = OpFunctionCall %S %conv_S %57
               OpStore %52 %53
               OpBranch %39
         %39 = OpLabel
         %58 = OpLoad %uint %i
         %60 = OpIAdd %uint %58 %uint_1
               OpStore %i %60
               OpBranch %37
         %38 = OpLabel
         %61 = OpLoad %_arr_S_uint_4 %arr
               OpReturnValue %61
               OpFunctionEnd
%load_u_inner_2_m = OpFunction %mat2v4half None %62
         %64 = OpLabel
         %69 = OpAccessChain %_ptr_Uniform_S_std140 %u %uint_0 %uint_2
         %72 = OpAccessChain %_ptr_Uniform_v4half %69 %uint_1
         %73 = OpLoad %v4half %72
         %75 = OpAccessChain %_ptr_Uniform_v4half %69 %uint_2
         %76 = OpLoad %v4half %75
         %77 = OpCompositeConstruct %mat2v4half %73 %76
               OpReturnValue %77
               OpFunctionEnd
          %f = OpFunction %void None %78
         %81 = OpLabel
         %83 = OpAccessChain %_ptr_StorageBuffer__arr_S_uint_4 %s %uint_0
         %86 = OpAccessChain %_ptr_Uniform__arr_S_std140_uint_4 %u %uint_0
         %87 = OpLoad %_arr_S_std140_uint_4 %86
         %84 = OpFunctionCall %_arr_S_uint_4 %conv_arr4_S %87
               OpStore %83 %84
         %90 = OpAccessChain %_ptr_StorageBuffer_S %s %uint_0 %int_1
         %92 = OpAccessChain %_ptr_Uniform_S_std140 %u %uint_0 %uint_2
         %93 = OpLoad %S_std140 %92
         %91 = OpFunctionCall %S %conv_S %93
               OpStore %90 %91
         %96 = OpAccessChain %_ptr_StorageBuffer_mat2v4half %s %uint_0 %int_3 %uint_1
         %97 = OpFunctionCall %mat2v4half %load_u_inner_2_m
               OpStore %96 %97
        %100 = OpAccessChain %_ptr_StorageBuffer_v4half %s %uint_0 %int_1 %uint_1 %98
        %101 = OpAccessChain %_ptr_Uniform_v4half %u %uint_0 %36 %uint_2
        %102 = OpLoad %v4half %101
        %103 = OpVectorShuffle %v4half %102 %102 1 3 0 2
               OpStore %100 %103
               OpReturn
               OpFunctionEnd
