blob: cb0ae3ac7bdf8a7e98f8ce6efac74b51f9a9693e [file] [log] [blame]
; SPIR-V
; Version: 1.3
; Generator: Google Tint Compiler; 1
; Bound: 214
; Schema: 0
OpCapability Shader
OpMemoryModel Logical GLSL450
OpEntryPoint GLCompute %unused_entry_point "unused_entry_point"
OpExecutionMode %unused_entry_point LocalSize 1 1 1
OpName %f "f"
OpName %tint_loop_idx "tint_loop_idx"
OpName %i0520 "i0520"
OpName %tint_low_inc "tint_low_inc"
OpName %tint_carry "tint_carry"
OpName %tint_loop_idx_0 "tint_loop_idx"
OpName %i62 "i62"
OpName %tint_low_inc_1 "tint_low_inc_1"
OpName %tint_carry_1 "tint_carry_1"
OpName %tint_loop_idx_1 "tint_loop_idx"
OpName %i0520_0 "i0520"
OpName %tint_low_inc_2 "tint_low_inc_2"
OpName %tint_carry_2 "tint_carry_2"
OpName %tint_loop_idx_2 "tint_loop_idx"
OpName %i62_0 "i62"
OpName %tint_low_inc_3 "tint_low_inc_3"
OpName %tint_carry_3 "tint_carry_3"
OpName %tint_loop_idx_3 "tint_loop_idx"
OpName %i62_1 "i62"
OpName %tint_low_inc_4 "tint_low_inc_4"
OpName %tint_carry_4 "tint_carry_4"
OpName %tint_loop_idx_4 "tint_loop_idx"
OpName %i60 "i60"
OpName %tint_low_inc_5 "tint_low_inc_5"
OpName %tint_carry_5 "tint_carry_5"
OpName %tint_loop_idx_5 "tint_loop_idx"
OpName %i62_2 "i62"
OpName %tint_low_inc_6 "tint_low_inc_6"
OpName %tint_carry_6 "tint_carry_6"
OpName %tint_loop_idx_6 "tint_loop_idx"
OpName %i60_0 "i60"
OpName %tint_low_inc_7 "tint_low_inc_7"
OpName %tint_carry_7 "tint_carry_7"
OpName %unused_entry_point "unused_entry_point"
%void = OpTypeVoid
%3 = OpTypeFunction %void
%uint = OpTypeInt 32 0
%v2uint = OpTypeVector %uint 2
%_ptr_Function_v2uint = OpTypePointer Function %v2uint
%uint_4294967295 = OpConstant %uint 4294967295
%49 = OpConstantComposite %v2uint %uint_4294967295 %uint_4294967295
%int = OpTypeInt 32 1
%_ptr_Function_int = OpTypePointer Function %int
%int_0 = OpConstant %int 0
%57 = OpConstantNull %v2uint
%bool = OpTypeBool
%v2bool = OpTypeVector %bool 2
%false = OpConstantFalse %bool
%_ptr_Function_uint = OpTypePointer Function %uint
%uint_0 = OpConstant %uint 0
%uint_1 = OpConstant %uint 1
%f = OpFunction %void None %3
%4 = OpLabel
%tint_loop_idx = OpVariable %_ptr_Function_v2uint Function
%i0520 = OpVariable %_ptr_Function_int Function
%tint_loop_idx_0 = OpVariable %_ptr_Function_v2uint Function
%i62 = OpVariable %_ptr_Function_int Function
%tint_loop_idx_1 = OpVariable %_ptr_Function_v2uint Function
%i0520_0 = OpVariable %_ptr_Function_int Function
%tint_loop_idx_2 = OpVariable %_ptr_Function_v2uint Function
%i62_0 = OpVariable %_ptr_Function_int Function
%tint_loop_idx_3 = OpVariable %_ptr_Function_v2uint Function
%i62_1 = OpVariable %_ptr_Function_int Function
%tint_loop_idx_4 = OpVariable %_ptr_Function_v2uint Function
%i60 = OpVariable %_ptr_Function_int Function
%tint_loop_idx_5 = OpVariable %_ptr_Function_v2uint Function
%i62_2 = OpVariable %_ptr_Function_int Function
%tint_loop_idx_6 = OpVariable %_ptr_Function_v2uint Function
%i60_0 = OpVariable %_ptr_Function_int Function
OpBranch %5
%5 = OpLabel
OpStore %tint_loop_idx %49
OpStore %i0520 %int_0
OpBranch %8
%8 = OpLabel
OpLoopMerge %9 %7 None
OpBranch %6
%6 = OpLabel
%55 = OpLoad %v2uint %tint_loop_idx None
%56 = OpIEqual %v2bool %55 %57
%60 = OpAll %bool %56
OpSelectionMerge %61 None
OpBranchConditional %60 %62 %61
%62 = OpLabel
OpBranch %9
%61 = OpLabel
OpSelectionMerge %63 None
OpBranchConditional %false %63 %64
%64 = OpLabel
OpBranch %9
%63 = OpLabel
OpBranch %7
%7 = OpLabel
%66 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0
%69 = OpLoad %uint %66 None
%tint_low_inc = OpISub %uint %69 %uint_1
%72 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_0
OpStore %72 %tint_low_inc None
%73 = OpIEqual %bool %tint_low_inc %uint_4294967295
%tint_carry = OpSelect %uint %73 %uint_1 %uint_0
%75 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1
%76 = OpLoad %uint %75 None
%77 = OpISub %uint %76 %tint_carry
%78 = OpAccessChain %_ptr_Function_uint %tint_loop_idx %uint_1
OpStore %78 %77 None
OpBranch %8
%9 = OpLabel
OpBranch %10
%10 = OpLabel
OpStore %tint_loop_idx_0 %49
OpStore %i62 %int_0
OpBranch %13
%13 = OpLabel
OpLoopMerge %14 %12 None
OpBranch %11
%11 = OpLabel
%81 = OpLoad %v2uint %tint_loop_idx_0 None
%82 = OpIEqual %v2bool %81 %57
%83 = OpAll %bool %82
OpSelectionMerge %84 None
OpBranchConditional %83 %85 %84
%85 = OpLabel
OpBranch %14
%84 = OpLabel
OpSelectionMerge %86 None
OpBranchConditional %false %86 %87
%87 = OpLabel
OpBranch %14
%86 = OpLabel
OpBranch %12
%12 = OpLabel
%88 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_0 %uint_0
%89 = OpLoad %uint %88 None
%tint_low_inc_1 = OpISub %uint %89 %uint_1
%91 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_0 %uint_0
OpStore %91 %tint_low_inc_1 None
%92 = OpIEqual %bool %tint_low_inc_1 %uint_4294967295
%tint_carry_1 = OpSelect %uint %92 %uint_1 %uint_0
%94 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_0 %uint_1
%95 = OpLoad %uint %94 None
%96 = OpISub %uint %95 %tint_carry_1
%97 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_0 %uint_1
OpStore %97 %96 None
OpBranch %13
%14 = OpLabel
OpBranch %15
%15 = OpLabel
OpStore %tint_loop_idx_1 %49
OpStore %i0520_0 %int_0
OpBranch %18
%18 = OpLabel
OpLoopMerge %19 %17 None
OpBranch %16
%16 = OpLabel
%100 = OpLoad %v2uint %tint_loop_idx_1 None
%101 = OpIEqual %v2bool %100 %57
%102 = OpAll %bool %101
OpSelectionMerge %103 None
OpBranchConditional %102 %104 %103
%104 = OpLabel
OpBranch %19
%103 = OpLabel
OpSelectionMerge %105 None
OpBranchConditional %false %105 %106
%106 = OpLabel
OpBranch %19
%105 = OpLabel
OpBranch %17
%17 = OpLabel
%107 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_1 %uint_0
%108 = OpLoad %uint %107 None
%tint_low_inc_2 = OpISub %uint %108 %uint_1
%110 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_1 %uint_0
OpStore %110 %tint_low_inc_2 None
%111 = OpIEqual %bool %tint_low_inc_2 %uint_4294967295
%tint_carry_2 = OpSelect %uint %111 %uint_1 %uint_0
%113 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_1 %uint_1
%114 = OpLoad %uint %113 None
%115 = OpISub %uint %114 %tint_carry_2
%116 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_1 %uint_1
OpStore %116 %115 None
OpBranch %18
%19 = OpLabel
OpBranch %20
%20 = OpLabel
OpStore %tint_loop_idx_2 %49
OpStore %i62_0 %int_0
OpBranch %23
%23 = OpLabel
OpLoopMerge %24 %22 None
OpBranch %21
%21 = OpLabel
%119 = OpLoad %v2uint %tint_loop_idx_2 None
%120 = OpIEqual %v2bool %119 %57
%121 = OpAll %bool %120
OpSelectionMerge %122 None
OpBranchConditional %121 %123 %122
%123 = OpLabel
OpBranch %24
%122 = OpLabel
OpSelectionMerge %124 None
OpBranchConditional %false %124 %125
%125 = OpLabel
OpBranch %24
%124 = OpLabel
OpBranch %22
%22 = OpLabel
%126 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_2 %uint_0
%127 = OpLoad %uint %126 None
%tint_low_inc_3 = OpISub %uint %127 %uint_1
%129 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_2 %uint_0
OpStore %129 %tint_low_inc_3 None
%130 = OpIEqual %bool %tint_low_inc_3 %uint_4294967295
%tint_carry_3 = OpSelect %uint %130 %uint_1 %uint_0
%132 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_2 %uint_1
%133 = OpLoad %uint %132 None
%134 = OpISub %uint %133 %tint_carry_3
%135 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_2 %uint_1
OpStore %135 %134 None
OpBranch %23
%24 = OpLabel
OpBranch %25
%25 = OpLabel
OpStore %tint_loop_idx_3 %49
OpStore %i62_1 %int_0
OpBranch %28
%28 = OpLabel
OpLoopMerge %29 %27 None
OpBranch %26
%26 = OpLabel
%138 = OpLoad %v2uint %tint_loop_idx_3 None
%139 = OpIEqual %v2bool %138 %57
%140 = OpAll %bool %139
OpSelectionMerge %141 None
OpBranchConditional %140 %142 %141
%142 = OpLabel
OpBranch %29
%141 = OpLabel
OpSelectionMerge %143 None
OpBranchConditional %false %143 %144
%144 = OpLabel
OpBranch %29
%143 = OpLabel
OpBranch %27
%27 = OpLabel
%145 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_3 %uint_0
%146 = OpLoad %uint %145 None
%tint_low_inc_4 = OpISub %uint %146 %uint_1
%148 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_3 %uint_0
OpStore %148 %tint_low_inc_4 None
%149 = OpIEqual %bool %tint_low_inc_4 %uint_4294967295
%tint_carry_4 = OpSelect %uint %149 %uint_1 %uint_0
%151 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_3 %uint_1
%152 = OpLoad %uint %151 None
%153 = OpISub %uint %152 %tint_carry_4
%154 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_3 %uint_1
OpStore %154 %153 None
OpBranch %28
%29 = OpLabel
OpBranch %30
%30 = OpLabel
OpStore %tint_loop_idx_4 %49
OpStore %i60 %int_0
OpBranch %33
%33 = OpLabel
OpLoopMerge %34 %32 None
OpBranch %31
%31 = OpLabel
%157 = OpLoad %v2uint %tint_loop_idx_4 None
%158 = OpIEqual %v2bool %157 %57
%159 = OpAll %bool %158
OpSelectionMerge %160 None
OpBranchConditional %159 %161 %160
%161 = OpLabel
OpBranch %34
%160 = OpLabel
OpSelectionMerge %162 None
OpBranchConditional %false %162 %163
%163 = OpLabel
OpBranch %34
%162 = OpLabel
OpBranch %32
%32 = OpLabel
%164 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_4 %uint_0
%165 = OpLoad %uint %164 None
%tint_low_inc_5 = OpISub %uint %165 %uint_1
%167 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_4 %uint_0
OpStore %167 %tint_low_inc_5 None
%168 = OpIEqual %bool %tint_low_inc_5 %uint_4294967295
%tint_carry_5 = OpSelect %uint %168 %uint_1 %uint_0
%170 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_4 %uint_1
%171 = OpLoad %uint %170 None
%172 = OpISub %uint %171 %tint_carry_5
%173 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_4 %uint_1
OpStore %173 %172 None
OpBranch %33
%34 = OpLabel
OpBranch %35
%35 = OpLabel
OpStore %tint_loop_idx_5 %49
OpStore %i62_2 %int_0
OpBranch %38
%38 = OpLabel
OpLoopMerge %39 %37 None
OpBranch %36
%36 = OpLabel
%176 = OpLoad %v2uint %tint_loop_idx_5 None
%177 = OpIEqual %v2bool %176 %57
%178 = OpAll %bool %177
OpSelectionMerge %179 None
OpBranchConditional %178 %180 %179
%180 = OpLabel
OpBranch %39
%179 = OpLabel
OpSelectionMerge %181 None
OpBranchConditional %false %181 %182
%182 = OpLabel
OpBranch %39
%181 = OpLabel
OpBranch %37
%37 = OpLabel
%183 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_5 %uint_0
%184 = OpLoad %uint %183 None
%tint_low_inc_6 = OpISub %uint %184 %uint_1
%186 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_5 %uint_0
OpStore %186 %tint_low_inc_6 None
%187 = OpIEqual %bool %tint_low_inc_6 %uint_4294967295
%tint_carry_6 = OpSelect %uint %187 %uint_1 %uint_0
%189 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_5 %uint_1
%190 = OpLoad %uint %189 None
%191 = OpISub %uint %190 %tint_carry_6
%192 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_5 %uint_1
OpStore %192 %191 None
OpBranch %38
%39 = OpLabel
OpBranch %40
%40 = OpLabel
OpStore %tint_loop_idx_6 %49
OpStore %i60_0 %int_0
OpBranch %43
%43 = OpLabel
OpLoopMerge %44 %42 None
OpBranch %41
%41 = OpLabel
%195 = OpLoad %v2uint %tint_loop_idx_6 None
%196 = OpIEqual %v2bool %195 %57
%197 = OpAll %bool %196
OpSelectionMerge %198 None
OpBranchConditional %197 %199 %198
%199 = OpLabel
OpBranch %44
%198 = OpLabel
OpSelectionMerge %200 None
OpBranchConditional %false %200 %201
%201 = OpLabel
OpBranch %44
%200 = OpLabel
OpBranch %42
%42 = OpLabel
%202 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_6 %uint_0
%203 = OpLoad %uint %202 None
%tint_low_inc_7 = OpISub %uint %203 %uint_1
%205 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_6 %uint_0
OpStore %205 %tint_low_inc_7 None
%206 = OpIEqual %bool %tint_low_inc_7 %uint_4294967295
%tint_carry_7 = OpSelect %uint %206 %uint_1 %uint_0
%208 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_6 %uint_1
%209 = OpLoad %uint %208 None
%210 = OpISub %uint %209 %tint_carry_7
%211 = OpAccessChain %_ptr_Function_uint %tint_loop_idx_6 %uint_1
OpStore %211 %210 None
OpBranch %43
%44 = OpLabel
OpReturn
OpFunctionEnd
%unused_entry_point = OpFunction %void None %3
%213 = OpLabel
OpReturn
OpFunctionEnd