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