1cb93a386Sopenharmony_ciOpCapability Shader
2cb93a386Sopenharmony_ci%1 = OpExtInstImport "GLSL.std.450"
3cb93a386Sopenharmony_ciOpMemoryModel Logical GLSL450
4cb93a386Sopenharmony_ciOpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor %sk_Clockwise
5cb93a386Sopenharmony_ciOpExecutionMode %_entrypoint_v OriginUpperLeft
6cb93a386Sopenharmony_ciOpName %sk_FragColor "sk_FragColor"
7cb93a386Sopenharmony_ciOpName %sk_Clockwise "sk_Clockwise"
8cb93a386Sopenharmony_ciOpName %_UniformBuffer "_UniformBuffer"
9cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 0 "colorGreen"
10cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 1 "colorRed"
11cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 2 "colorBlack"
12cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 3 "colorWhite"
13cb93a386Sopenharmony_ciOpMemberName %_UniformBuffer 4 "testInputs"
14cb93a386Sopenharmony_ciOpName %_entrypoint_v "_entrypoint_v"
15cb93a386Sopenharmony_ciOpName %main "main"
16cb93a386Sopenharmony_ciOpName %intGreen "intGreen"
17cb93a386Sopenharmony_ciOpName %intRed "intRed"
18cb93a386Sopenharmony_ciOpDecorate %sk_FragColor RelaxedPrecision
19cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Location 0
20cb93a386Sopenharmony_ciOpDecorate %sk_FragColor Index 0
21cb93a386Sopenharmony_ciOpDecorate %sk_Clockwise BuiltIn FrontFacing
22cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 Offset 0
23cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
24cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 Offset 16
25cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
26cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 Offset 32
27cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 2 RelaxedPrecision
28cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 3 Offset 48
29cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 3 RelaxedPrecision
30cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 4 Offset 64
31cb93a386Sopenharmony_ciOpMemberDecorate %_UniformBuffer 4 RelaxedPrecision
32cb93a386Sopenharmony_ciOpDecorate %_UniformBuffer Block
33cb93a386Sopenharmony_ciOpDecorate %10 Binding 0
34cb93a386Sopenharmony_ciOpDecorate %10 DescriptorSet 0
35cb93a386Sopenharmony_ciOpDecorate %33 RelaxedPrecision
36cb93a386Sopenharmony_ciOpDecorate %35 RelaxedPrecision
37cb93a386Sopenharmony_ciOpDecorate %36 RelaxedPrecision
38cb93a386Sopenharmony_ciOpDecorate %38 RelaxedPrecision
39cb93a386Sopenharmony_ciOpDecorate %40 RelaxedPrecision
40cb93a386Sopenharmony_ciOpDecorate %42 RelaxedPrecision
41cb93a386Sopenharmony_ciOpDecorate %48 RelaxedPrecision
42cb93a386Sopenharmony_ciOpDecorate %49 RelaxedPrecision
43cb93a386Sopenharmony_ciOpDecorate %50 RelaxedPrecision
44cb93a386Sopenharmony_ciOpDecorate %52 RelaxedPrecision
45cb93a386Sopenharmony_ciOpDecorate %54 RelaxedPrecision
46cb93a386Sopenharmony_ciOpDecorate %56 RelaxedPrecision
47cb93a386Sopenharmony_ciOpDecorate %248 RelaxedPrecision
48cb93a386Sopenharmony_ciOpDecorate %249 RelaxedPrecision
49cb93a386Sopenharmony_ciOpDecorate %251 RelaxedPrecision
50cb93a386Sopenharmony_ciOpDecorate %252 RelaxedPrecision
51cb93a386Sopenharmony_ciOpDecorate %254 RelaxedPrecision
52cb93a386Sopenharmony_ciOpDecorate %255 RelaxedPrecision
53cb93a386Sopenharmony_ciOpDecorate %257 RelaxedPrecision
54cb93a386Sopenharmony_ciOpDecorate %258 RelaxedPrecision
55cb93a386Sopenharmony_ciOpDecorate %260 RelaxedPrecision
56cb93a386Sopenharmony_ciOpDecorate %261 RelaxedPrecision
57cb93a386Sopenharmony_ciOpDecorate %268 RelaxedPrecision
58cb93a386Sopenharmony_ciOpDecorate %269 RelaxedPrecision
59cb93a386Sopenharmony_ciOpDecorate %271 RelaxedPrecision
60cb93a386Sopenharmony_ciOpDecorate %272 RelaxedPrecision
61cb93a386Sopenharmony_ciOpDecorate %274 RelaxedPrecision
62cb93a386Sopenharmony_ciOpDecorate %275 RelaxedPrecision
63cb93a386Sopenharmony_ciOpDecorate %277 RelaxedPrecision
64cb93a386Sopenharmony_ciOpDecorate %278 RelaxedPrecision
65cb93a386Sopenharmony_ciOpDecorate %280 RelaxedPrecision
66cb93a386Sopenharmony_ciOpDecorate %281 RelaxedPrecision
67cb93a386Sopenharmony_ciOpDecorate %289 RelaxedPrecision
68cb93a386Sopenharmony_ciOpDecorate %290 RelaxedPrecision
69cb93a386Sopenharmony_ciOpDecorate %293 RelaxedPrecision
70cb93a386Sopenharmony_ciOpDecorate %294 RelaxedPrecision
71cb93a386Sopenharmony_ciOpDecorate %296 RelaxedPrecision
72cb93a386Sopenharmony_ciOpDecorate %297 RelaxedPrecision
73cb93a386Sopenharmony_ciOpDecorate %299 RelaxedPrecision
74cb93a386Sopenharmony_ciOpDecorate %300 RelaxedPrecision
75cb93a386Sopenharmony_ciOpDecorate %302 RelaxedPrecision
76cb93a386Sopenharmony_ciOpDecorate %303 RelaxedPrecision
77cb93a386Sopenharmony_ciOpDecorate %311 RelaxedPrecision
78cb93a386Sopenharmony_ciOpDecorate %313 RelaxedPrecision
79cb93a386Sopenharmony_ciOpDecorate %315 RelaxedPrecision
80cb93a386Sopenharmony_ciOpDecorate %317 RelaxedPrecision
81cb93a386Sopenharmony_ciOpDecorate %319 RelaxedPrecision
82cb93a386Sopenharmony_ciOpDecorate %327 RelaxedPrecision
83cb93a386Sopenharmony_ciOpDecorate %328 RelaxedPrecision
84cb93a386Sopenharmony_ciOpDecorate %330 RelaxedPrecision
85cb93a386Sopenharmony_ciOpDecorate %331 RelaxedPrecision
86cb93a386Sopenharmony_ciOpDecorate %333 RelaxedPrecision
87cb93a386Sopenharmony_ciOpDecorate %334 RelaxedPrecision
88cb93a386Sopenharmony_ciOpDecorate %336 RelaxedPrecision
89cb93a386Sopenharmony_ciOpDecorate %337 RelaxedPrecision
90cb93a386Sopenharmony_ciOpDecorate %339 RelaxedPrecision
91cb93a386Sopenharmony_ciOpDecorate %340 RelaxedPrecision
92cb93a386Sopenharmony_ciOpDecorate %347 RelaxedPrecision
93cb93a386Sopenharmony_ciOpDecorate %348 RelaxedPrecision
94cb93a386Sopenharmony_ciOpDecorate %350 RelaxedPrecision
95cb93a386Sopenharmony_ciOpDecorate %351 RelaxedPrecision
96cb93a386Sopenharmony_ciOpDecorate %353 RelaxedPrecision
97cb93a386Sopenharmony_ciOpDecorate %354 RelaxedPrecision
98cb93a386Sopenharmony_ciOpDecorate %356 RelaxedPrecision
99cb93a386Sopenharmony_ciOpDecorate %357 RelaxedPrecision
100cb93a386Sopenharmony_ciOpDecorate %359 RelaxedPrecision
101cb93a386Sopenharmony_ciOpDecorate %360 RelaxedPrecision
102cb93a386Sopenharmony_ciOpDecorate %368 RelaxedPrecision
103cb93a386Sopenharmony_ciOpDecorate %369 RelaxedPrecision
104cb93a386Sopenharmony_ciOpDecorate %371 RelaxedPrecision
105cb93a386Sopenharmony_ciOpDecorate %372 RelaxedPrecision
106cb93a386Sopenharmony_ciOpDecorate %374 RelaxedPrecision
107cb93a386Sopenharmony_ciOpDecorate %375 RelaxedPrecision
108cb93a386Sopenharmony_ciOpDecorate %377 RelaxedPrecision
109cb93a386Sopenharmony_ciOpDecorate %378 RelaxedPrecision
110cb93a386Sopenharmony_ciOpDecorate %380 RelaxedPrecision
111cb93a386Sopenharmony_ciOpDecorate %381 RelaxedPrecision
112cb93a386Sopenharmony_ciOpDecorate %389 RelaxedPrecision
113cb93a386Sopenharmony_ciOpDecorate %391 RelaxedPrecision
114cb93a386Sopenharmony_ciOpDecorate %393 RelaxedPrecision
115cb93a386Sopenharmony_ciOpDecorate %395 RelaxedPrecision
116cb93a386Sopenharmony_ciOpDecorate %397 RelaxedPrecision
117cb93a386Sopenharmony_ciOpDecorate %404 RelaxedPrecision
118cb93a386Sopenharmony_ciOpDecorate %405 RelaxedPrecision
119cb93a386Sopenharmony_ciOpDecorate %411 RelaxedPrecision
120cb93a386Sopenharmony_ciOpDecorate %413 RelaxedPrecision
121cb93a386Sopenharmony_ciOpDecorate %414 RelaxedPrecision
122cb93a386Sopenharmony_ciOpDecorate %420 RelaxedPrecision
123cb93a386Sopenharmony_ciOpDecorate %422 RelaxedPrecision
124cb93a386Sopenharmony_ciOpDecorate %423 RelaxedPrecision
125cb93a386Sopenharmony_ciOpDecorate %429 RelaxedPrecision
126cb93a386Sopenharmony_ciOpDecorate %431 RelaxedPrecision
127cb93a386Sopenharmony_ciOpDecorate %438 RelaxedPrecision
128cb93a386Sopenharmony_ciOpDecorate %439 RelaxedPrecision
129cb93a386Sopenharmony_ciOpDecorate %444 RelaxedPrecision
130cb93a386Sopenharmony_ciOpDecorate %446 RelaxedPrecision
131cb93a386Sopenharmony_ciOpDecorate %447 RelaxedPrecision
132cb93a386Sopenharmony_ciOpDecorate %453 RelaxedPrecision
133cb93a386Sopenharmony_ciOpDecorate %455 RelaxedPrecision
134cb93a386Sopenharmony_ciOpDecorate %456 RelaxedPrecision
135cb93a386Sopenharmony_ciOpDecorate %462 RelaxedPrecision
136cb93a386Sopenharmony_ciOpDecorate %464 RelaxedPrecision
137cb93a386Sopenharmony_ciOpDecorate %474 RelaxedPrecision
138cb93a386Sopenharmony_ciOpDecorate %476 RelaxedPrecision
139cb93a386Sopenharmony_ciOpDecorate %477 RelaxedPrecision
140cb93a386Sopenharmony_ci%float = OpTypeFloat 32
141cb93a386Sopenharmony_ci%v4float = OpTypeVector %float 4
142cb93a386Sopenharmony_ci%_ptr_Output_v4float = OpTypePointer Output %v4float
143cb93a386Sopenharmony_ci%sk_FragColor = OpVariable %_ptr_Output_v4float Output
144cb93a386Sopenharmony_ci%bool = OpTypeBool
145cb93a386Sopenharmony_ci%_ptr_Input_bool = OpTypePointer Input %bool
146cb93a386Sopenharmony_ci%sk_Clockwise = OpVariable %_ptr_Input_bool Input
147cb93a386Sopenharmony_ci%_UniformBuffer = OpTypeStruct %v4float %v4float %v4float %v4float %v4float
148cb93a386Sopenharmony_ci%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
149cb93a386Sopenharmony_ci%10 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
150cb93a386Sopenharmony_ci%void = OpTypeVoid
151cb93a386Sopenharmony_ci%15 = OpTypeFunction %void
152cb93a386Sopenharmony_ci%v2float = OpTypeVector %float 2
153cb93a386Sopenharmony_ci%float_0 = OpConstant %float 0
154cb93a386Sopenharmony_ci%19 = OpConstantComposite %v2float %float_0 %float_0
155cb93a386Sopenharmony_ci%_ptr_Function_v2float = OpTypePointer Function %v2float
156cb93a386Sopenharmony_ci%23 = OpTypeFunction %v4float %_ptr_Function_v2float
157cb93a386Sopenharmony_ci%int = OpTypeInt 32 1
158cb93a386Sopenharmony_ci%v4int = OpTypeVector %int 4
159cb93a386Sopenharmony_ci%_ptr_Function_v4int = OpTypePointer Function %v4int
160cb93a386Sopenharmony_ci%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
161cb93a386Sopenharmony_ci%int_0 = OpConstant %int 0
162cb93a386Sopenharmony_ci%float_100 = OpConstant %float 100
163cb93a386Sopenharmony_ci%int_1 = OpConstant %int 1
164cb93a386Sopenharmony_ci%false = OpConstantFalse %bool
165cb93a386Sopenharmony_ci%v2int = OpTypeVector %int 2
166cb93a386Sopenharmony_ci%v2bool = OpTypeVector %bool 2
167cb93a386Sopenharmony_ci%81 = OpConstantComposite %v2bool %false %false
168cb93a386Sopenharmony_ci%v3int = OpTypeVector %int 3
169cb93a386Sopenharmony_ci%v3bool = OpTypeVector %bool 3
170cb93a386Sopenharmony_ci%100 = OpConstantComposite %v3bool %false %false %false
171cb93a386Sopenharmony_ci%v4bool = OpTypeVector %bool 4
172cb93a386Sopenharmony_ci%116 = OpConstantComposite %v4bool %false %false %false %false
173cb93a386Sopenharmony_ci%true = OpConstantTrue %bool
174cb93a386Sopenharmony_ci%146 = OpConstantComposite %v2bool %true %true
175cb93a386Sopenharmony_ci%163 = OpConstantComposite %v3bool %true %true %true
176cb93a386Sopenharmony_ci%178 = OpConstantComposite %v4bool %true %true %true %true
177cb93a386Sopenharmony_ci%int_100 = OpConstant %int 100
178cb93a386Sopenharmony_ci%194 = OpConstantComposite %v2int %int_0 %int_100
179cb93a386Sopenharmony_ci%202 = OpConstantComposite %v3int %int_0 %int_100 %int_0
180cb93a386Sopenharmony_ci%210 = OpConstantComposite %v4int %int_0 %int_100 %int_0 %int_100
181cb93a386Sopenharmony_ci%223 = OpConstantComposite %v2int %int_100 %int_0
182cb93a386Sopenharmony_ci%231 = OpConstantComposite %v3int %int_100 %int_0 %int_0
183cb93a386Sopenharmony_ci%239 = OpConstantComposite %v4int %int_100 %int_0 %int_0 %int_100
184cb93a386Sopenharmony_ci%v3float = OpTypeVector %float 3
185cb93a386Sopenharmony_ci%float_1 = OpConstant %float 1
186cb93a386Sopenharmony_ci%411 = OpConstantComposite %v2float %float_0 %float_1
187cb93a386Sopenharmony_ci%420 = OpConstantComposite %v3float %float_0 %float_1 %float_0
188cb93a386Sopenharmony_ci%429 = OpConstantComposite %v4float %float_0 %float_1 %float_0 %float_1
189cb93a386Sopenharmony_ci%444 = OpConstantComposite %v2float %float_1 %float_0
190cb93a386Sopenharmony_ci%453 = OpConstantComposite %v3float %float_1 %float_0 %float_0
191cb93a386Sopenharmony_ci%462 = OpConstantComposite %v4float %float_1 %float_0 %float_0 %float_1
192cb93a386Sopenharmony_ci%_ptr_Function_v4float = OpTypePointer Function %v4float
193cb93a386Sopenharmony_ci%_entrypoint_v = OpFunction %void None %15
194cb93a386Sopenharmony_ci%16 = OpLabel
195cb93a386Sopenharmony_ci%20 = OpVariable %_ptr_Function_v2float Function
196cb93a386Sopenharmony_ciOpStore %20 %19
197cb93a386Sopenharmony_ci%22 = OpFunctionCall %v4float %main %20
198cb93a386Sopenharmony_ciOpStore %sk_FragColor %22
199cb93a386Sopenharmony_ciOpReturn
200cb93a386Sopenharmony_ciOpFunctionEnd
201cb93a386Sopenharmony_ci%main = OpFunction %v4float None %23
202cb93a386Sopenharmony_ci%24 = OpFunctionParameter %_ptr_Function_v2float
203cb93a386Sopenharmony_ci%25 = OpLabel
204cb93a386Sopenharmony_ci%intGreen = OpVariable %_ptr_Function_v4int Function
205cb93a386Sopenharmony_ci%intRed = OpVariable %_ptr_Function_v4int Function
206cb93a386Sopenharmony_ci%468 = OpVariable %_ptr_Function_v4float Function
207cb93a386Sopenharmony_ci%30 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
208cb93a386Sopenharmony_ci%33 = OpLoad %v4float %30
209cb93a386Sopenharmony_ci%35 = OpVectorTimesScalar %v4float %33 %float_100
210cb93a386Sopenharmony_ci%36 = OpCompositeExtract %float %35 0
211cb93a386Sopenharmony_ci%37 = OpConvertFToS %int %36
212cb93a386Sopenharmony_ci%38 = OpCompositeExtract %float %35 1
213cb93a386Sopenharmony_ci%39 = OpConvertFToS %int %38
214cb93a386Sopenharmony_ci%40 = OpCompositeExtract %float %35 2
215cb93a386Sopenharmony_ci%41 = OpConvertFToS %int %40
216cb93a386Sopenharmony_ci%42 = OpCompositeExtract %float %35 3
217cb93a386Sopenharmony_ci%43 = OpConvertFToS %int %42
218cb93a386Sopenharmony_ci%44 = OpCompositeConstruct %v4int %37 %39 %41 %43
219cb93a386Sopenharmony_ciOpStore %intGreen %44
220cb93a386Sopenharmony_ci%46 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
221cb93a386Sopenharmony_ci%48 = OpLoad %v4float %46
222cb93a386Sopenharmony_ci%49 = OpVectorTimesScalar %v4float %48 %float_100
223cb93a386Sopenharmony_ci%50 = OpCompositeExtract %float %49 0
224cb93a386Sopenharmony_ci%51 = OpConvertFToS %int %50
225cb93a386Sopenharmony_ci%52 = OpCompositeExtract %float %49 1
226cb93a386Sopenharmony_ci%53 = OpConvertFToS %int %52
227cb93a386Sopenharmony_ci%54 = OpCompositeExtract %float %49 2
228cb93a386Sopenharmony_ci%55 = OpConvertFToS %int %54
229cb93a386Sopenharmony_ci%56 = OpCompositeExtract %float %49 3
230cb93a386Sopenharmony_ci%57 = OpConvertFToS %int %56
231cb93a386Sopenharmony_ci%58 = OpCompositeConstruct %v4int %51 %53 %55 %57
232cb93a386Sopenharmony_ciOpStore %intRed %58
233cb93a386Sopenharmony_ci%61 = OpLoad %v4int %intGreen
234cb93a386Sopenharmony_ci%62 = OpCompositeExtract %int %61 0
235cb93a386Sopenharmony_ci%63 = OpLoad %v4int %intRed
236cb93a386Sopenharmony_ci%64 = OpCompositeExtract %int %63 0
237cb93a386Sopenharmony_ci%65 = OpLoad %v4int %intGreen
238cb93a386Sopenharmony_ci%66 = OpCompositeExtract %int %65 0
239cb93a386Sopenharmony_ci%67 = OpLoad %v4int %intRed
240cb93a386Sopenharmony_ci%68 = OpCompositeExtract %int %67 0
241cb93a386Sopenharmony_ci%60 = OpSelect %int %false %68 %66
242cb93a386Sopenharmony_ci%69 = OpLoad %v4int %intGreen
243cb93a386Sopenharmony_ci%70 = OpCompositeExtract %int %69 0
244cb93a386Sopenharmony_ci%71 = OpIEqual %bool %60 %70
245cb93a386Sopenharmony_ciOpSelectionMerge %73 None
246cb93a386Sopenharmony_ciOpBranchConditional %71 %72 %73
247cb93a386Sopenharmony_ci%72 = OpLabel
248cb93a386Sopenharmony_ci%75 = OpLoad %v4int %intGreen
249cb93a386Sopenharmony_ci%76 = OpVectorShuffle %v2int %75 %75 0 1
250cb93a386Sopenharmony_ci%78 = OpLoad %v4int %intRed
251cb93a386Sopenharmony_ci%79 = OpVectorShuffle %v2int %78 %78 0 1
252cb93a386Sopenharmony_ci%82 = OpLoad %v4int %intGreen
253cb93a386Sopenharmony_ci%83 = OpVectorShuffle %v2int %82 %82 0 1
254cb93a386Sopenharmony_ci%84 = OpLoad %v4int %intRed
255cb93a386Sopenharmony_ci%85 = OpVectorShuffle %v2int %84 %84 0 1
256cb93a386Sopenharmony_ci%74 = OpSelect %v2int %81 %85 %83
257cb93a386Sopenharmony_ci%86 = OpLoad %v4int %intGreen
258cb93a386Sopenharmony_ci%87 = OpVectorShuffle %v2int %86 %86 0 1
259cb93a386Sopenharmony_ci%88 = OpIEqual %v2bool %74 %87
260cb93a386Sopenharmony_ci%89 = OpAll %bool %88
261cb93a386Sopenharmony_ciOpBranch %73
262cb93a386Sopenharmony_ci%73 = OpLabel
263cb93a386Sopenharmony_ci%90 = OpPhi %bool %false %25 %89 %72
264cb93a386Sopenharmony_ciOpSelectionMerge %92 None
265cb93a386Sopenharmony_ciOpBranchConditional %90 %91 %92
266cb93a386Sopenharmony_ci%91 = OpLabel
267cb93a386Sopenharmony_ci%94 = OpLoad %v4int %intGreen
268cb93a386Sopenharmony_ci%95 = OpVectorShuffle %v3int %94 %94 0 1 2
269cb93a386Sopenharmony_ci%97 = OpLoad %v4int %intRed
270cb93a386Sopenharmony_ci%98 = OpVectorShuffle %v3int %97 %97 0 1 2
271cb93a386Sopenharmony_ci%101 = OpLoad %v4int %intGreen
272cb93a386Sopenharmony_ci%102 = OpVectorShuffle %v3int %101 %101 0 1 2
273cb93a386Sopenharmony_ci%103 = OpLoad %v4int %intRed
274cb93a386Sopenharmony_ci%104 = OpVectorShuffle %v3int %103 %103 0 1 2
275cb93a386Sopenharmony_ci%93 = OpSelect %v3int %100 %104 %102
276cb93a386Sopenharmony_ci%105 = OpLoad %v4int %intGreen
277cb93a386Sopenharmony_ci%106 = OpVectorShuffle %v3int %105 %105 0 1 2
278cb93a386Sopenharmony_ci%107 = OpIEqual %v3bool %93 %106
279cb93a386Sopenharmony_ci%108 = OpAll %bool %107
280cb93a386Sopenharmony_ciOpBranch %92
281cb93a386Sopenharmony_ci%92 = OpLabel
282cb93a386Sopenharmony_ci%109 = OpPhi %bool %false %73 %108 %91
283cb93a386Sopenharmony_ciOpSelectionMerge %111 None
284cb93a386Sopenharmony_ciOpBranchConditional %109 %110 %111
285cb93a386Sopenharmony_ci%110 = OpLabel
286cb93a386Sopenharmony_ci%113 = OpLoad %v4int %intGreen
287cb93a386Sopenharmony_ci%114 = OpLoad %v4int %intRed
288cb93a386Sopenharmony_ci%117 = OpLoad %v4int %intGreen
289cb93a386Sopenharmony_ci%118 = OpLoad %v4int %intRed
290cb93a386Sopenharmony_ci%112 = OpSelect %v4int %116 %118 %117
291cb93a386Sopenharmony_ci%119 = OpLoad %v4int %intGreen
292cb93a386Sopenharmony_ci%120 = OpIEqual %v4bool %112 %119
293cb93a386Sopenharmony_ci%121 = OpAll %bool %120
294cb93a386Sopenharmony_ciOpBranch %111
295cb93a386Sopenharmony_ci%111 = OpLabel
296cb93a386Sopenharmony_ci%122 = OpPhi %bool %false %92 %121 %110
297cb93a386Sopenharmony_ciOpSelectionMerge %124 None
298cb93a386Sopenharmony_ciOpBranchConditional %122 %123 %124
299cb93a386Sopenharmony_ci%123 = OpLabel
300cb93a386Sopenharmony_ci%126 = OpLoad %v4int %intGreen
301cb93a386Sopenharmony_ci%127 = OpCompositeExtract %int %126 0
302cb93a386Sopenharmony_ci%128 = OpLoad %v4int %intRed
303cb93a386Sopenharmony_ci%129 = OpCompositeExtract %int %128 0
304cb93a386Sopenharmony_ci%131 = OpLoad %v4int %intGreen
305cb93a386Sopenharmony_ci%132 = OpCompositeExtract %int %131 0
306cb93a386Sopenharmony_ci%133 = OpLoad %v4int %intRed
307cb93a386Sopenharmony_ci%134 = OpCompositeExtract %int %133 0
308cb93a386Sopenharmony_ci%125 = OpSelect %int %true %134 %132
309cb93a386Sopenharmony_ci%135 = OpLoad %v4int %intRed
310cb93a386Sopenharmony_ci%136 = OpCompositeExtract %int %135 0
311cb93a386Sopenharmony_ci%137 = OpIEqual %bool %125 %136
312cb93a386Sopenharmony_ciOpBranch %124
313cb93a386Sopenharmony_ci%124 = OpLabel
314cb93a386Sopenharmony_ci%138 = OpPhi %bool %false %111 %137 %123
315cb93a386Sopenharmony_ciOpSelectionMerge %140 None
316cb93a386Sopenharmony_ciOpBranchConditional %138 %139 %140
317cb93a386Sopenharmony_ci%139 = OpLabel
318cb93a386Sopenharmony_ci%142 = OpLoad %v4int %intGreen
319cb93a386Sopenharmony_ci%143 = OpVectorShuffle %v2int %142 %142 0 1
320cb93a386Sopenharmony_ci%144 = OpLoad %v4int %intRed
321cb93a386Sopenharmony_ci%145 = OpVectorShuffle %v2int %144 %144 0 1
322cb93a386Sopenharmony_ci%147 = OpLoad %v4int %intGreen
323cb93a386Sopenharmony_ci%148 = OpVectorShuffle %v2int %147 %147 0 1
324cb93a386Sopenharmony_ci%149 = OpLoad %v4int %intRed
325cb93a386Sopenharmony_ci%150 = OpVectorShuffle %v2int %149 %149 0 1
326cb93a386Sopenharmony_ci%141 = OpSelect %v2int %146 %150 %148
327cb93a386Sopenharmony_ci%151 = OpLoad %v4int %intRed
328cb93a386Sopenharmony_ci%152 = OpVectorShuffle %v2int %151 %151 0 1
329cb93a386Sopenharmony_ci%153 = OpIEqual %v2bool %141 %152
330cb93a386Sopenharmony_ci%154 = OpAll %bool %153
331cb93a386Sopenharmony_ciOpBranch %140
332cb93a386Sopenharmony_ci%140 = OpLabel
333cb93a386Sopenharmony_ci%155 = OpPhi %bool %false %124 %154 %139
334cb93a386Sopenharmony_ciOpSelectionMerge %157 None
335cb93a386Sopenharmony_ciOpBranchConditional %155 %156 %157
336cb93a386Sopenharmony_ci%156 = OpLabel
337cb93a386Sopenharmony_ci%159 = OpLoad %v4int %intGreen
338cb93a386Sopenharmony_ci%160 = OpVectorShuffle %v3int %159 %159 0 1 2
339cb93a386Sopenharmony_ci%161 = OpLoad %v4int %intRed
340cb93a386Sopenharmony_ci%162 = OpVectorShuffle %v3int %161 %161 0 1 2
341cb93a386Sopenharmony_ci%164 = OpLoad %v4int %intGreen
342cb93a386Sopenharmony_ci%165 = OpVectorShuffle %v3int %164 %164 0 1 2
343cb93a386Sopenharmony_ci%166 = OpLoad %v4int %intRed
344cb93a386Sopenharmony_ci%167 = OpVectorShuffle %v3int %166 %166 0 1 2
345cb93a386Sopenharmony_ci%158 = OpSelect %v3int %163 %167 %165
346cb93a386Sopenharmony_ci%168 = OpLoad %v4int %intRed
347cb93a386Sopenharmony_ci%169 = OpVectorShuffle %v3int %168 %168 0 1 2
348cb93a386Sopenharmony_ci%170 = OpIEqual %v3bool %158 %169
349cb93a386Sopenharmony_ci%171 = OpAll %bool %170
350cb93a386Sopenharmony_ciOpBranch %157
351cb93a386Sopenharmony_ci%157 = OpLabel
352cb93a386Sopenharmony_ci%172 = OpPhi %bool %false %140 %171 %156
353cb93a386Sopenharmony_ciOpSelectionMerge %174 None
354cb93a386Sopenharmony_ciOpBranchConditional %172 %173 %174
355cb93a386Sopenharmony_ci%173 = OpLabel
356cb93a386Sopenharmony_ci%176 = OpLoad %v4int %intGreen
357cb93a386Sopenharmony_ci%177 = OpLoad %v4int %intRed
358cb93a386Sopenharmony_ci%179 = OpLoad %v4int %intGreen
359cb93a386Sopenharmony_ci%180 = OpLoad %v4int %intRed
360cb93a386Sopenharmony_ci%175 = OpSelect %v4int %178 %180 %179
361cb93a386Sopenharmony_ci%181 = OpLoad %v4int %intRed
362cb93a386Sopenharmony_ci%182 = OpIEqual %v4bool %175 %181
363cb93a386Sopenharmony_ci%183 = OpAll %bool %182
364cb93a386Sopenharmony_ciOpBranch %174
365cb93a386Sopenharmony_ci%174 = OpLabel
366cb93a386Sopenharmony_ci%184 = OpPhi %bool %false %157 %183 %173
367cb93a386Sopenharmony_ciOpSelectionMerge %186 None
368cb93a386Sopenharmony_ciOpBranchConditional %184 %185 %186
369cb93a386Sopenharmony_ci%185 = OpLabel
370cb93a386Sopenharmony_ci%187 = OpLoad %v4int %intGreen
371cb93a386Sopenharmony_ci%188 = OpCompositeExtract %int %187 0
372cb93a386Sopenharmony_ci%189 = OpIEqual %bool %int_0 %188
373cb93a386Sopenharmony_ciOpBranch %186
374cb93a386Sopenharmony_ci%186 = OpLabel
375cb93a386Sopenharmony_ci%190 = OpPhi %bool %false %174 %189 %185
376cb93a386Sopenharmony_ciOpSelectionMerge %192 None
377cb93a386Sopenharmony_ciOpBranchConditional %190 %191 %192
378cb93a386Sopenharmony_ci%191 = OpLabel
379cb93a386Sopenharmony_ci%195 = OpLoad %v4int %intGreen
380cb93a386Sopenharmony_ci%196 = OpVectorShuffle %v2int %195 %195 0 1
381cb93a386Sopenharmony_ci%197 = OpIEqual %v2bool %194 %196
382cb93a386Sopenharmony_ci%198 = OpAll %bool %197
383cb93a386Sopenharmony_ciOpBranch %192
384cb93a386Sopenharmony_ci%192 = OpLabel
385cb93a386Sopenharmony_ci%199 = OpPhi %bool %false %186 %198 %191
386cb93a386Sopenharmony_ciOpSelectionMerge %201 None
387cb93a386Sopenharmony_ciOpBranchConditional %199 %200 %201
388cb93a386Sopenharmony_ci%200 = OpLabel
389cb93a386Sopenharmony_ci%203 = OpLoad %v4int %intGreen
390cb93a386Sopenharmony_ci%204 = OpVectorShuffle %v3int %203 %203 0 1 2
391cb93a386Sopenharmony_ci%205 = OpIEqual %v3bool %202 %204
392cb93a386Sopenharmony_ci%206 = OpAll %bool %205
393cb93a386Sopenharmony_ciOpBranch %201
394cb93a386Sopenharmony_ci%201 = OpLabel
395cb93a386Sopenharmony_ci%207 = OpPhi %bool %false %192 %206 %200
396cb93a386Sopenharmony_ciOpSelectionMerge %209 None
397cb93a386Sopenharmony_ciOpBranchConditional %207 %208 %209
398cb93a386Sopenharmony_ci%208 = OpLabel
399cb93a386Sopenharmony_ci%211 = OpLoad %v4int %intGreen
400cb93a386Sopenharmony_ci%212 = OpIEqual %v4bool %210 %211
401cb93a386Sopenharmony_ci%213 = OpAll %bool %212
402cb93a386Sopenharmony_ciOpBranch %209
403cb93a386Sopenharmony_ci%209 = OpLabel
404cb93a386Sopenharmony_ci%214 = OpPhi %bool %false %201 %213 %208
405cb93a386Sopenharmony_ciOpSelectionMerge %216 None
406cb93a386Sopenharmony_ciOpBranchConditional %214 %215 %216
407cb93a386Sopenharmony_ci%215 = OpLabel
408cb93a386Sopenharmony_ci%217 = OpLoad %v4int %intRed
409cb93a386Sopenharmony_ci%218 = OpCompositeExtract %int %217 0
410cb93a386Sopenharmony_ci%219 = OpIEqual %bool %int_100 %218
411cb93a386Sopenharmony_ciOpBranch %216
412cb93a386Sopenharmony_ci%216 = OpLabel
413cb93a386Sopenharmony_ci%220 = OpPhi %bool %false %209 %219 %215
414cb93a386Sopenharmony_ciOpSelectionMerge %222 None
415cb93a386Sopenharmony_ciOpBranchConditional %220 %221 %222
416cb93a386Sopenharmony_ci%221 = OpLabel
417cb93a386Sopenharmony_ci%224 = OpLoad %v4int %intRed
418cb93a386Sopenharmony_ci%225 = OpVectorShuffle %v2int %224 %224 0 1
419cb93a386Sopenharmony_ci%226 = OpIEqual %v2bool %223 %225
420cb93a386Sopenharmony_ci%227 = OpAll %bool %226
421cb93a386Sopenharmony_ciOpBranch %222
422cb93a386Sopenharmony_ci%222 = OpLabel
423cb93a386Sopenharmony_ci%228 = OpPhi %bool %false %216 %227 %221
424cb93a386Sopenharmony_ciOpSelectionMerge %230 None
425cb93a386Sopenharmony_ciOpBranchConditional %228 %229 %230
426cb93a386Sopenharmony_ci%229 = OpLabel
427cb93a386Sopenharmony_ci%232 = OpLoad %v4int %intRed
428cb93a386Sopenharmony_ci%233 = OpVectorShuffle %v3int %232 %232 0 1 2
429cb93a386Sopenharmony_ci%234 = OpIEqual %v3bool %231 %233
430cb93a386Sopenharmony_ci%235 = OpAll %bool %234
431cb93a386Sopenharmony_ciOpBranch %230
432cb93a386Sopenharmony_ci%230 = OpLabel
433cb93a386Sopenharmony_ci%236 = OpPhi %bool %false %222 %235 %229
434cb93a386Sopenharmony_ciOpSelectionMerge %238 None
435cb93a386Sopenharmony_ciOpBranchConditional %236 %237 %238
436cb93a386Sopenharmony_ci%237 = OpLabel
437cb93a386Sopenharmony_ci%240 = OpLoad %v4int %intRed
438cb93a386Sopenharmony_ci%241 = OpIEqual %v4bool %239 %240
439cb93a386Sopenharmony_ci%242 = OpAll %bool %241
440cb93a386Sopenharmony_ciOpBranch %238
441cb93a386Sopenharmony_ci%238 = OpLabel
442cb93a386Sopenharmony_ci%243 = OpPhi %bool %false %230 %242 %237
443cb93a386Sopenharmony_ciOpSelectionMerge %245 None
444cb93a386Sopenharmony_ciOpBranchConditional %243 %244 %245
445cb93a386Sopenharmony_ci%244 = OpLabel
446cb93a386Sopenharmony_ci%247 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
447cb93a386Sopenharmony_ci%248 = OpLoad %v4float %247
448cb93a386Sopenharmony_ci%249 = OpCompositeExtract %float %248 0
449cb93a386Sopenharmony_ci%250 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
450cb93a386Sopenharmony_ci%251 = OpLoad %v4float %250
451cb93a386Sopenharmony_ci%252 = OpCompositeExtract %float %251 0
452cb93a386Sopenharmony_ci%253 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
453cb93a386Sopenharmony_ci%254 = OpLoad %v4float %253
454cb93a386Sopenharmony_ci%255 = OpCompositeExtract %float %254 0
455cb93a386Sopenharmony_ci%256 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
456cb93a386Sopenharmony_ci%257 = OpLoad %v4float %256
457cb93a386Sopenharmony_ci%258 = OpCompositeExtract %float %257 0
458cb93a386Sopenharmony_ci%246 = OpSelect %float %false %258 %255
459cb93a386Sopenharmony_ci%259 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
460cb93a386Sopenharmony_ci%260 = OpLoad %v4float %259
461cb93a386Sopenharmony_ci%261 = OpCompositeExtract %float %260 0
462cb93a386Sopenharmony_ci%262 = OpFOrdEqual %bool %246 %261
463cb93a386Sopenharmony_ciOpBranch %245
464cb93a386Sopenharmony_ci%245 = OpLabel
465cb93a386Sopenharmony_ci%263 = OpPhi %bool %false %238 %262 %244
466cb93a386Sopenharmony_ciOpSelectionMerge %265 None
467cb93a386Sopenharmony_ciOpBranchConditional %263 %264 %265
468cb93a386Sopenharmony_ci%264 = OpLabel
469cb93a386Sopenharmony_ci%267 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
470cb93a386Sopenharmony_ci%268 = OpLoad %v4float %267
471cb93a386Sopenharmony_ci%269 = OpVectorShuffle %v2float %268 %268 0 1
472cb93a386Sopenharmony_ci%270 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
473cb93a386Sopenharmony_ci%271 = OpLoad %v4float %270
474cb93a386Sopenharmony_ci%272 = OpVectorShuffle %v2float %271 %271 0 1
475cb93a386Sopenharmony_ci%273 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
476cb93a386Sopenharmony_ci%274 = OpLoad %v4float %273
477cb93a386Sopenharmony_ci%275 = OpVectorShuffle %v2float %274 %274 0 1
478cb93a386Sopenharmony_ci%276 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
479cb93a386Sopenharmony_ci%277 = OpLoad %v4float %276
480cb93a386Sopenharmony_ci%278 = OpVectorShuffle %v2float %277 %277 0 1
481cb93a386Sopenharmony_ci%266 = OpSelect %v2float %81 %278 %275
482cb93a386Sopenharmony_ci%279 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
483cb93a386Sopenharmony_ci%280 = OpLoad %v4float %279
484cb93a386Sopenharmony_ci%281 = OpVectorShuffle %v2float %280 %280 0 1
485cb93a386Sopenharmony_ci%282 = OpFOrdEqual %v2bool %266 %281
486cb93a386Sopenharmony_ci%283 = OpAll %bool %282
487cb93a386Sopenharmony_ciOpBranch %265
488cb93a386Sopenharmony_ci%265 = OpLabel
489cb93a386Sopenharmony_ci%284 = OpPhi %bool %false %245 %283 %264
490cb93a386Sopenharmony_ciOpSelectionMerge %286 None
491cb93a386Sopenharmony_ciOpBranchConditional %284 %285 %286
492cb93a386Sopenharmony_ci%285 = OpLabel
493cb93a386Sopenharmony_ci%288 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
494cb93a386Sopenharmony_ci%289 = OpLoad %v4float %288
495cb93a386Sopenharmony_ci%290 = OpVectorShuffle %v3float %289 %289 0 1 2
496cb93a386Sopenharmony_ci%292 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
497cb93a386Sopenharmony_ci%293 = OpLoad %v4float %292
498cb93a386Sopenharmony_ci%294 = OpVectorShuffle %v3float %293 %293 0 1 2
499cb93a386Sopenharmony_ci%295 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
500cb93a386Sopenharmony_ci%296 = OpLoad %v4float %295
501cb93a386Sopenharmony_ci%297 = OpVectorShuffle %v3float %296 %296 0 1 2
502cb93a386Sopenharmony_ci%298 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
503cb93a386Sopenharmony_ci%299 = OpLoad %v4float %298
504cb93a386Sopenharmony_ci%300 = OpVectorShuffle %v3float %299 %299 0 1 2
505cb93a386Sopenharmony_ci%287 = OpSelect %v3float %100 %300 %297
506cb93a386Sopenharmony_ci%301 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
507cb93a386Sopenharmony_ci%302 = OpLoad %v4float %301
508cb93a386Sopenharmony_ci%303 = OpVectorShuffle %v3float %302 %302 0 1 2
509cb93a386Sopenharmony_ci%304 = OpFOrdEqual %v3bool %287 %303
510cb93a386Sopenharmony_ci%305 = OpAll %bool %304
511cb93a386Sopenharmony_ciOpBranch %286
512cb93a386Sopenharmony_ci%286 = OpLabel
513cb93a386Sopenharmony_ci%306 = OpPhi %bool %false %265 %305 %285
514cb93a386Sopenharmony_ciOpSelectionMerge %308 None
515cb93a386Sopenharmony_ciOpBranchConditional %306 %307 %308
516cb93a386Sopenharmony_ci%307 = OpLabel
517cb93a386Sopenharmony_ci%310 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
518cb93a386Sopenharmony_ci%311 = OpLoad %v4float %310
519cb93a386Sopenharmony_ci%312 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
520cb93a386Sopenharmony_ci%313 = OpLoad %v4float %312
521cb93a386Sopenharmony_ci%314 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
522cb93a386Sopenharmony_ci%315 = OpLoad %v4float %314
523cb93a386Sopenharmony_ci%316 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
524cb93a386Sopenharmony_ci%317 = OpLoad %v4float %316
525cb93a386Sopenharmony_ci%309 = OpSelect %v4float %116 %317 %315
526cb93a386Sopenharmony_ci%318 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
527cb93a386Sopenharmony_ci%319 = OpLoad %v4float %318
528cb93a386Sopenharmony_ci%320 = OpFOrdEqual %v4bool %309 %319
529cb93a386Sopenharmony_ci%321 = OpAll %bool %320
530cb93a386Sopenharmony_ciOpBranch %308
531cb93a386Sopenharmony_ci%308 = OpLabel
532cb93a386Sopenharmony_ci%322 = OpPhi %bool %false %286 %321 %307
533cb93a386Sopenharmony_ciOpSelectionMerge %324 None
534cb93a386Sopenharmony_ciOpBranchConditional %322 %323 %324
535cb93a386Sopenharmony_ci%323 = OpLabel
536cb93a386Sopenharmony_ci%326 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
537cb93a386Sopenharmony_ci%327 = OpLoad %v4float %326
538cb93a386Sopenharmony_ci%328 = OpCompositeExtract %float %327 0
539cb93a386Sopenharmony_ci%329 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
540cb93a386Sopenharmony_ci%330 = OpLoad %v4float %329
541cb93a386Sopenharmony_ci%331 = OpCompositeExtract %float %330 0
542cb93a386Sopenharmony_ci%332 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
543cb93a386Sopenharmony_ci%333 = OpLoad %v4float %332
544cb93a386Sopenharmony_ci%334 = OpCompositeExtract %float %333 0
545cb93a386Sopenharmony_ci%335 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
546cb93a386Sopenharmony_ci%336 = OpLoad %v4float %335
547cb93a386Sopenharmony_ci%337 = OpCompositeExtract %float %336 0
548cb93a386Sopenharmony_ci%325 = OpSelect %float %true %337 %334
549cb93a386Sopenharmony_ci%338 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
550cb93a386Sopenharmony_ci%339 = OpLoad %v4float %338
551cb93a386Sopenharmony_ci%340 = OpCompositeExtract %float %339 0
552cb93a386Sopenharmony_ci%341 = OpFOrdEqual %bool %325 %340
553cb93a386Sopenharmony_ciOpBranch %324
554cb93a386Sopenharmony_ci%324 = OpLabel
555cb93a386Sopenharmony_ci%342 = OpPhi %bool %false %308 %341 %323
556cb93a386Sopenharmony_ciOpSelectionMerge %344 None
557cb93a386Sopenharmony_ciOpBranchConditional %342 %343 %344
558cb93a386Sopenharmony_ci%343 = OpLabel
559cb93a386Sopenharmony_ci%346 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
560cb93a386Sopenharmony_ci%347 = OpLoad %v4float %346
561cb93a386Sopenharmony_ci%348 = OpVectorShuffle %v2float %347 %347 0 1
562cb93a386Sopenharmony_ci%349 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
563cb93a386Sopenharmony_ci%350 = OpLoad %v4float %349
564cb93a386Sopenharmony_ci%351 = OpVectorShuffle %v2float %350 %350 0 1
565cb93a386Sopenharmony_ci%352 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
566cb93a386Sopenharmony_ci%353 = OpLoad %v4float %352
567cb93a386Sopenharmony_ci%354 = OpVectorShuffle %v2float %353 %353 0 1
568cb93a386Sopenharmony_ci%355 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
569cb93a386Sopenharmony_ci%356 = OpLoad %v4float %355
570cb93a386Sopenharmony_ci%357 = OpVectorShuffle %v2float %356 %356 0 1
571cb93a386Sopenharmony_ci%345 = OpSelect %v2float %146 %357 %354
572cb93a386Sopenharmony_ci%358 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
573cb93a386Sopenharmony_ci%359 = OpLoad %v4float %358
574cb93a386Sopenharmony_ci%360 = OpVectorShuffle %v2float %359 %359 0 1
575cb93a386Sopenharmony_ci%361 = OpFOrdEqual %v2bool %345 %360
576cb93a386Sopenharmony_ci%362 = OpAll %bool %361
577cb93a386Sopenharmony_ciOpBranch %344
578cb93a386Sopenharmony_ci%344 = OpLabel
579cb93a386Sopenharmony_ci%363 = OpPhi %bool %false %324 %362 %343
580cb93a386Sopenharmony_ciOpSelectionMerge %365 None
581cb93a386Sopenharmony_ciOpBranchConditional %363 %364 %365
582cb93a386Sopenharmony_ci%364 = OpLabel
583cb93a386Sopenharmony_ci%367 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
584cb93a386Sopenharmony_ci%368 = OpLoad %v4float %367
585cb93a386Sopenharmony_ci%369 = OpVectorShuffle %v3float %368 %368 0 1 2
586cb93a386Sopenharmony_ci%370 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
587cb93a386Sopenharmony_ci%371 = OpLoad %v4float %370
588cb93a386Sopenharmony_ci%372 = OpVectorShuffle %v3float %371 %371 0 1 2
589cb93a386Sopenharmony_ci%373 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
590cb93a386Sopenharmony_ci%374 = OpLoad %v4float %373
591cb93a386Sopenharmony_ci%375 = OpVectorShuffle %v3float %374 %374 0 1 2
592cb93a386Sopenharmony_ci%376 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
593cb93a386Sopenharmony_ci%377 = OpLoad %v4float %376
594cb93a386Sopenharmony_ci%378 = OpVectorShuffle %v3float %377 %377 0 1 2
595cb93a386Sopenharmony_ci%366 = OpSelect %v3float %163 %378 %375
596cb93a386Sopenharmony_ci%379 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
597cb93a386Sopenharmony_ci%380 = OpLoad %v4float %379
598cb93a386Sopenharmony_ci%381 = OpVectorShuffle %v3float %380 %380 0 1 2
599cb93a386Sopenharmony_ci%382 = OpFOrdEqual %v3bool %366 %381
600cb93a386Sopenharmony_ci%383 = OpAll %bool %382
601cb93a386Sopenharmony_ciOpBranch %365
602cb93a386Sopenharmony_ci%365 = OpLabel
603cb93a386Sopenharmony_ci%384 = OpPhi %bool %false %344 %383 %364
604cb93a386Sopenharmony_ciOpSelectionMerge %386 None
605cb93a386Sopenharmony_ciOpBranchConditional %384 %385 %386
606cb93a386Sopenharmony_ci%385 = OpLabel
607cb93a386Sopenharmony_ci%388 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
608cb93a386Sopenharmony_ci%389 = OpLoad %v4float %388
609cb93a386Sopenharmony_ci%390 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
610cb93a386Sopenharmony_ci%391 = OpLoad %v4float %390
611cb93a386Sopenharmony_ci%392 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
612cb93a386Sopenharmony_ci%393 = OpLoad %v4float %392
613cb93a386Sopenharmony_ci%394 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
614cb93a386Sopenharmony_ci%395 = OpLoad %v4float %394
615cb93a386Sopenharmony_ci%387 = OpSelect %v4float %178 %395 %393
616cb93a386Sopenharmony_ci%396 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
617cb93a386Sopenharmony_ci%397 = OpLoad %v4float %396
618cb93a386Sopenharmony_ci%398 = OpFOrdEqual %v4bool %387 %397
619cb93a386Sopenharmony_ci%399 = OpAll %bool %398
620cb93a386Sopenharmony_ciOpBranch %386
621cb93a386Sopenharmony_ci%386 = OpLabel
622cb93a386Sopenharmony_ci%400 = OpPhi %bool %false %365 %399 %385
623cb93a386Sopenharmony_ciOpSelectionMerge %402 None
624cb93a386Sopenharmony_ciOpBranchConditional %400 %401 %402
625cb93a386Sopenharmony_ci%401 = OpLabel
626cb93a386Sopenharmony_ci%403 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
627cb93a386Sopenharmony_ci%404 = OpLoad %v4float %403
628cb93a386Sopenharmony_ci%405 = OpCompositeExtract %float %404 0
629cb93a386Sopenharmony_ci%406 = OpFOrdEqual %bool %float_0 %405
630cb93a386Sopenharmony_ciOpBranch %402
631cb93a386Sopenharmony_ci%402 = OpLabel
632cb93a386Sopenharmony_ci%407 = OpPhi %bool %false %386 %406 %401
633cb93a386Sopenharmony_ciOpSelectionMerge %409 None
634cb93a386Sopenharmony_ciOpBranchConditional %407 %408 %409
635cb93a386Sopenharmony_ci%408 = OpLabel
636cb93a386Sopenharmony_ci%412 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
637cb93a386Sopenharmony_ci%413 = OpLoad %v4float %412
638cb93a386Sopenharmony_ci%414 = OpVectorShuffle %v2float %413 %413 0 1
639cb93a386Sopenharmony_ci%415 = OpFOrdEqual %v2bool %411 %414
640cb93a386Sopenharmony_ci%416 = OpAll %bool %415
641cb93a386Sopenharmony_ciOpBranch %409
642cb93a386Sopenharmony_ci%409 = OpLabel
643cb93a386Sopenharmony_ci%417 = OpPhi %bool %false %402 %416 %408
644cb93a386Sopenharmony_ciOpSelectionMerge %419 None
645cb93a386Sopenharmony_ciOpBranchConditional %417 %418 %419
646cb93a386Sopenharmony_ci%418 = OpLabel
647cb93a386Sopenharmony_ci%421 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
648cb93a386Sopenharmony_ci%422 = OpLoad %v4float %421
649cb93a386Sopenharmony_ci%423 = OpVectorShuffle %v3float %422 %422 0 1 2
650cb93a386Sopenharmony_ci%424 = OpFOrdEqual %v3bool %420 %423
651cb93a386Sopenharmony_ci%425 = OpAll %bool %424
652cb93a386Sopenharmony_ciOpBranch %419
653cb93a386Sopenharmony_ci%419 = OpLabel
654cb93a386Sopenharmony_ci%426 = OpPhi %bool %false %409 %425 %418
655cb93a386Sopenharmony_ciOpSelectionMerge %428 None
656cb93a386Sopenharmony_ciOpBranchConditional %426 %427 %428
657cb93a386Sopenharmony_ci%427 = OpLabel
658cb93a386Sopenharmony_ci%430 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
659cb93a386Sopenharmony_ci%431 = OpLoad %v4float %430
660cb93a386Sopenharmony_ci%432 = OpFOrdEqual %v4bool %429 %431
661cb93a386Sopenharmony_ci%433 = OpAll %bool %432
662cb93a386Sopenharmony_ciOpBranch %428
663cb93a386Sopenharmony_ci%428 = OpLabel
664cb93a386Sopenharmony_ci%434 = OpPhi %bool %false %419 %433 %427
665cb93a386Sopenharmony_ciOpSelectionMerge %436 None
666cb93a386Sopenharmony_ciOpBranchConditional %434 %435 %436
667cb93a386Sopenharmony_ci%435 = OpLabel
668cb93a386Sopenharmony_ci%437 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
669cb93a386Sopenharmony_ci%438 = OpLoad %v4float %437
670cb93a386Sopenharmony_ci%439 = OpCompositeExtract %float %438 0
671cb93a386Sopenharmony_ci%440 = OpFOrdEqual %bool %float_1 %439
672cb93a386Sopenharmony_ciOpBranch %436
673cb93a386Sopenharmony_ci%436 = OpLabel
674cb93a386Sopenharmony_ci%441 = OpPhi %bool %false %428 %440 %435
675cb93a386Sopenharmony_ciOpSelectionMerge %443 None
676cb93a386Sopenharmony_ciOpBranchConditional %441 %442 %443
677cb93a386Sopenharmony_ci%442 = OpLabel
678cb93a386Sopenharmony_ci%445 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
679cb93a386Sopenharmony_ci%446 = OpLoad %v4float %445
680cb93a386Sopenharmony_ci%447 = OpVectorShuffle %v2float %446 %446 0 1
681cb93a386Sopenharmony_ci%448 = OpFOrdEqual %v2bool %444 %447
682cb93a386Sopenharmony_ci%449 = OpAll %bool %448
683cb93a386Sopenharmony_ciOpBranch %443
684cb93a386Sopenharmony_ci%443 = OpLabel
685cb93a386Sopenharmony_ci%450 = OpPhi %bool %false %436 %449 %442
686cb93a386Sopenharmony_ciOpSelectionMerge %452 None
687cb93a386Sopenharmony_ciOpBranchConditional %450 %451 %452
688cb93a386Sopenharmony_ci%451 = OpLabel
689cb93a386Sopenharmony_ci%454 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
690cb93a386Sopenharmony_ci%455 = OpLoad %v4float %454
691cb93a386Sopenharmony_ci%456 = OpVectorShuffle %v3float %455 %455 0 1 2
692cb93a386Sopenharmony_ci%457 = OpFOrdEqual %v3bool %453 %456
693cb93a386Sopenharmony_ci%458 = OpAll %bool %457
694cb93a386Sopenharmony_ciOpBranch %452
695cb93a386Sopenharmony_ci%452 = OpLabel
696cb93a386Sopenharmony_ci%459 = OpPhi %bool %false %443 %458 %451
697cb93a386Sopenharmony_ciOpSelectionMerge %461 None
698cb93a386Sopenharmony_ciOpBranchConditional %459 %460 %461
699cb93a386Sopenharmony_ci%460 = OpLabel
700cb93a386Sopenharmony_ci%463 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
701cb93a386Sopenharmony_ci%464 = OpLoad %v4float %463
702cb93a386Sopenharmony_ci%465 = OpFOrdEqual %v4bool %462 %464
703cb93a386Sopenharmony_ci%466 = OpAll %bool %465
704cb93a386Sopenharmony_ciOpBranch %461
705cb93a386Sopenharmony_ci%461 = OpLabel
706cb93a386Sopenharmony_ci%467 = OpPhi %bool %false %452 %466 %460
707cb93a386Sopenharmony_ciOpSelectionMerge %472 None
708cb93a386Sopenharmony_ciOpBranchConditional %467 %470 %471
709cb93a386Sopenharmony_ci%470 = OpLabel
710cb93a386Sopenharmony_ci%473 = OpAccessChain %_ptr_Uniform_v4float %10 %int_0
711cb93a386Sopenharmony_ci%474 = OpLoad %v4float %473
712cb93a386Sopenharmony_ciOpStore %468 %474
713cb93a386Sopenharmony_ciOpBranch %472
714cb93a386Sopenharmony_ci%471 = OpLabel
715cb93a386Sopenharmony_ci%475 = OpAccessChain %_ptr_Uniform_v4float %10 %int_1
716cb93a386Sopenharmony_ci%476 = OpLoad %v4float %475
717cb93a386Sopenharmony_ciOpStore %468 %476
718cb93a386Sopenharmony_ciOpBranch %472
719cb93a386Sopenharmony_ci%472 = OpLabel
720cb93a386Sopenharmony_ci%477 = OpLoad %v4float %468
721cb93a386Sopenharmony_ciOpReturnValue %477
722cb93a386Sopenharmony_ciOpFunctionEnd
723