; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 0
; Bound: 106
; Schema: 0
               OpCapability Shader
               OpCapability Float16
               OpCapability UniformAndStorageBuffer16BitAccess
               OpCapability StorageBuffer16BitAccess
               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
     %v3half = OpTypeVector %half 3
   %S_std140 = OpTypeStruct %int %v3half %v3half %v3half %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
 %mat3v3half = OpTypeMatrix %v3half 3
          %S = OpTypeStruct %int %mat3v3half %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 %mat3v3half
     %uint_0 = OpConstant %uint 0
     %uint_2 = OpConstant %uint 2
%_ptr_Uniform_S_std140 = OpTypePointer Uniform %S_std140
%_ptr_Uniform_v3half = OpTypePointer Uniform %v3half
     %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_mat3v3half = OpTypePointer Private %mat3v3half
        %100 = OpConstantNull %int
%_ptr_Private_v3half = OpTypePointer Private %v3half
     %conv_S = OpFunction %S None %17
        %val = OpFunctionParameter %S_std140
         %20 = OpLabel
         %21 = OpCompositeExtract %int %val 0
         %22 = OpCompositeExtract %v3half %val 1
         %23 = OpCompositeExtract %v3half %val 2
         %24 = OpCompositeExtract %v3half %val 3
         %25 = OpCompositeConstruct %mat3v3half %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 %mat3v3half None %62
         %64 = OpLabel
         %69 = OpAccessChain %_ptr_Uniform_S_std140 %u %uint_0 %uint_2
         %72 = OpAccessChain %_ptr_Uniform_v3half %69 %uint_1
         %73 = OpLoad %v3half %72
         %75 = OpAccessChain %_ptr_Uniform_v3half %69 %uint_2
         %76 = OpLoad %v3half %75
         %79 = OpAccessChain %_ptr_Uniform_v3half %69 %uint_3
         %80 = OpLoad %v3half %79
         %81 = OpCompositeConstruct %mat3v3half %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_mat3v3half %p %int_3 %uint_1
         %99 = OpFunctionCall %mat3v3half %load_u_inner_2_m
               OpStore %98 %99
        %102 = OpAccessChain %_ptr_Private_v3half %p %int_1 %uint_1 %100
        %103 = OpAccessChain %_ptr_Uniform_v3half %u %uint_0 %36 %uint_2
        %104 = OpLoad %v3half %103
        %105 = OpVectorShuffle %v3half %104 %104 2 0 1
               OpStore %102 %105
               OpReturn
               OpFunctionEnd
