; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 110
; 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 "m_2"
               OpMemberName %S_std140 4 "m_3"
               OpMemberName %S_std140 5 "after"
               OpName %u "u"
               OpName %S "S"
               OpMemberName %S 0 "before"
               OpMemberName %S 1 "m"
               OpMemberName %S 2 "after"
               OpName %p "p"
               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 24
               OpMemberDecorate %S_std140 4 Offset 32
               OpMemberDecorate %S_std140 5 Offset 64
               OpDecorate %_arr_S_std140_uint_4 ArrayStride 128
               OpDecorate %u NonWritable
               OpDecorate %u DescriptorSet 0
               OpDecorate %u Binding 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
        %int = OpTypeInt 32 1
       %half = OpTypeFloat 16
     %v4half = OpTypeVector %half 4
   %S_std140 = OpTypeStruct %int %v4half %v4half %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
 %mat4v4half = OpTypeMatrix %v4half 4
          %S = OpTypeStruct %int %mat4v4half %int
%_arr_S_uint_4 = OpTypeArray %S %uint_4
%_ptr_Private__arr_S_uint_4 = OpTypePointer Private %_arr_S_uint_4
         %16 = OpConstantNull %_arr_S_uint_4
          %p = OpVariable %_ptr_Private__arr_S_uint_4 Private %16
         %17 = OpTypeFunction %S %S_std140
         %29 = OpTypeFunction %_arr_S_uint_4 %_arr_S_std140_uint_4
%_ptr_Function__arr_S_uint_4 = OpTypePointer Function %_arr_S_uint_4
%_ptr_Function_uint = OpTypePointer Function %uint
         %37 = OpConstantNull %uint
       %bool = OpTypeBool
%_ptr_Function__arr_S_std140_uint_4 = OpTypePointer Function %_arr_S_std140_uint_4
         %50 = 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
         %63 = OpTypeFunction %mat4v4half
     %uint_0 = OpConstant %uint 0
     %uint_2 = OpConstant %uint 2
%_ptr_Uniform_S_std140 = OpTypePointer Uniform %S_std140
%_ptr_Uniform_v4half = OpTypePointer Uniform %v4half
     %uint_3 = OpConstant %uint 3
       %void = OpTypeVoid
         %86 = OpTypeFunction %void
%_ptr_Uniform__arr_S_std140_uint_4 = OpTypePointer Uniform %_arr_S_std140_uint_4
      %int_1 = OpConstant %int 1
%_ptr_Private_S = OpTypePointer Private %S
      %int_3 = OpConstant %int 3
%_ptr_Private_mat4v4half = OpTypePointer Private %mat4v4half
        %104 = OpConstantNull %int
%_ptr_Private_v4half = OpTypePointer Private %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 = OpCompositeExtract %v4half %val 3
         %25 = OpCompositeExtract %v4half %val 4
         %26 = OpCompositeConstruct %mat4v4half %22 %23 %24 %25
         %27 = OpCompositeExtract %int %val 5
         %28 = OpCompositeConstruct %S %21 %26 %27
               OpReturnValue %28
               OpFunctionEnd
%conv_arr4_S = OpFunction %_arr_S_uint_4 None %29
      %val_0 = OpFunctionParameter %_arr_S_std140_uint_4
         %32 = OpLabel
        %arr = OpVariable %_ptr_Function__arr_S_uint_4 Function %16
          %i = OpVariable %_ptr_Function_uint Function %37
%var_for_index = OpVariable %_ptr_Function__arr_S_std140_uint_4 Function %50
               OpBranch %38
         %38 = OpLabel
               OpLoopMerge %39 %40 None
               OpBranch %41
         %41 = OpLabel
         %43 = OpLoad %uint %i
         %44 = OpULessThan %bool %43 %uint_4
         %42 = OpLogicalNot %bool %44
               OpSelectionMerge %46 None
               OpBranchConditional %42 %47 %46
         %47 = OpLabel
               OpBranch %39
         %46 = OpLabel
               OpStore %var_for_index %val_0
         %51 = OpLoad %uint %i
         %53 = OpAccessChain %_ptr_Function_S %arr %51
         %55 = OpLoad %uint %i
         %57 = OpAccessChain %_ptr_Function_S_std140 %var_for_index %55
         %58 = OpLoad %S_std140 %57
         %54 = OpFunctionCall %S %conv_S %58
               OpStore %53 %54
               OpBranch %40
         %40 = OpLabel
         %59 = OpLoad %uint %i
         %61 = OpIAdd %uint %59 %uint_1
               OpStore %i %61
               OpBranch %38
         %39 = OpLabel
         %62 = OpLoad %_arr_S_uint_4 %arr
               OpReturnValue %62
               OpFunctionEnd
%load_u_inner_2_m = OpFunction %mat4v4half None %63
         %65 = OpLabel
         %70 = OpAccessChain %_ptr_Uniform_S_std140 %u %uint_0 %uint_2
         %73 = OpAccessChain %_ptr_Uniform_v4half %70 %uint_1
         %74 = OpLoad %v4half %73
         %76 = OpAccessChain %_ptr_Uniform_v4half %70 %uint_2
         %77 = OpLoad %v4half %76
         %80 = OpAccessChain %_ptr_Uniform_v4half %70 %uint_3
         %81 = OpLoad %v4half %80
         %83 = OpAccessChain %_ptr_Uniform_v4half %70 %uint_4
         %84 = OpLoad %v4half %83
         %85 = OpCompositeConstruct %mat4v4half %74 %77 %81 %84
               OpReturnValue %85
               OpFunctionEnd
          %f = OpFunction %void None %86
         %89 = OpLabel
         %92 = OpAccessChain %_ptr_Uniform__arr_S_std140_uint_4 %u %uint_0
         %93 = OpLoad %_arr_S_std140_uint_4 %92
         %90 = OpFunctionCall %_arr_S_uint_4 %conv_arr4_S %93
               OpStore %p %90
         %96 = OpAccessChain %_ptr_Private_S %p %int_1
         %98 = OpAccessChain %_ptr_Uniform_S_std140 %u %uint_0 %uint_2
         %99 = OpLoad %S_std140 %98
         %97 = OpFunctionCall %S %conv_S %99
               OpStore %96 %97
        %102 = OpAccessChain %_ptr_Private_mat4v4half %p %int_3 %uint_1
        %103 = OpFunctionCall %mat4v4half %load_u_inner_2_m
               OpStore %102 %103
        %106 = OpAccessChain %_ptr_Private_v4half %p %int_1 %uint_1 %104
        %107 = OpAccessChain %_ptr_Uniform_v4half %u %uint_0 %37 %uint_2
        %108 = OpLoad %v4half %107
        %109 = OpVectorShuffle %v4half %108 %108 1 3 0 2
               OpStore %106 %109
               OpReturn
               OpFunctionEnd
