; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 106
; 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 "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 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 %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
 %mat3v4half = OpTypeMatrix %v4half 3
          %S = OpTypeStruct %int %mat3v4half %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
         %28 = 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
         %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 %mat3v4half
     %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
         %82 = 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_mat3v4half = OpTypePointer Private %mat3v4half
        %100 = 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 = OpCompositeConstruct %mat3v4half %22 %23 %24
         %26 = OpCompositeExtract %int %val 4
         %27 = OpCompositeConstruct %S %21 %25 %26
               OpReturnValue %27
               OpFunctionEnd
%conv_arr4_S = OpFunction %_arr_S_uint_4 None %28
      %val_0 = OpFunctionParameter %_arr_S_std140_uint_4
         %31 = OpLabel
        %arr = OpVariable %_ptr_Function__arr_S_uint_4 Function %16
          %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 %mat3v4half 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
         %79 = OpAccessChain %_ptr_Uniform_v4half %69 %uint_3
         %80 = OpLoad %v4half %79
         %81 = OpCompositeConstruct %mat3v4half %73 %76 %80
               OpReturnValue %81
               OpFunctionEnd
          %f = OpFunction %void None %82
         %85 = OpLabel
         %88 = OpAccessChain %_ptr_Uniform__arr_S_std140_uint_4 %u %uint_0
         %89 = OpLoad %_arr_S_std140_uint_4 %88
         %86 = OpFunctionCall %_arr_S_uint_4 %conv_arr4_S %89
               OpStore %p %86
         %92 = OpAccessChain %_ptr_Private_S %p %int_1
         %94 = OpAccessChain %_ptr_Uniform_S_std140 %u %uint_0 %uint_2
         %95 = OpLoad %S_std140 %94
         %93 = OpFunctionCall %S %conv_S %95
               OpStore %92 %93
         %98 = OpAccessChain %_ptr_Private_mat3v4half %p %int_3 %uint_1
         %99 = OpFunctionCall %mat3v4half %load_u_inner_2_m
               OpStore %98 %99
        %102 = OpAccessChain %_ptr_Private_v4half %p %int_1 %uint_1 %100
        %103 = OpAccessChain %_ptr_Uniform_v4half %u %uint_0 %36 %uint_2
        %104 = OpLoad %v4half %103
        %105 = OpVectorShuffle %v4half %104 %104 1 3 0 2
               OpStore %102 %105
               OpReturn
               OpFunctionEnd
