1e5c31af7Sopenharmony_ci#!amber
2e5c31af7Sopenharmony_ci
3e5c31af7Sopenharmony_ci# Copyright 2020 Google LLC
4e5c31af7Sopenharmony_ci#
5e5c31af7Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
6e5c31af7Sopenharmony_ci# you may not use this file except in compliance with the License.
7e5c31af7Sopenharmony_ci# You may obtain a copy of the License at
8e5c31af7Sopenharmony_ci#
9e5c31af7Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
10e5c31af7Sopenharmony_ci#
11e5c31af7Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
12e5c31af7Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
13e5c31af7Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14e5c31af7Sopenharmony_ci# See the License for the specific language governing permissions and
15e5c31af7Sopenharmony_ci# limitations under the License.
16e5c31af7Sopenharmony_ci
17e5c31af7Sopenharmony_ci
18e5c31af7Sopenharmony_ci# A test for a bug found by GraphicsFuzz.
19e5c31af7Sopenharmony_ci
20e5c31af7Sopenharmony_ci# Short description: A fragment shader with always false if with discard loop
21e5c31af7Sopenharmony_ci
22e5c31af7Sopenharmony_ci# The test passes because both shaders render the same image.
23e5c31af7Sopenharmony_ci
24e5c31af7Sopenharmony_ci# Optimized using spirv-opt with the following arguments:
25e5c31af7Sopenharmony_ci# '-O'
26e5c31af7Sopenharmony_ci# spirv-opt commit hash: 230f363e6da32791f640b02205e0645cc67c3f1d
27e5c31af7Sopenharmony_ci
28e5c31af7Sopenharmony_ci
29e5c31af7Sopenharmony_ci
30e5c31af7Sopenharmony_ciSHADER vertex reference_vertex_shader PASSTHROUGH
31e5c31af7Sopenharmony_ci
32e5c31af7Sopenharmony_ci# reference_fragment_shader is derived from the following GLSL:
33e5c31af7Sopenharmony_ci# #version 320 es
34e5c31af7Sopenharmony_ci# precision highp float;
35e5c31af7Sopenharmony_ci#
36e5c31af7Sopenharmony_ci# precision highp int;
37e5c31af7Sopenharmony_ci#
38e5c31af7Sopenharmony_ci# layout(location = 0) out vec4 _GLF_color;
39e5c31af7Sopenharmony_ci#
40e5c31af7Sopenharmony_ci# struct BST
41e5c31af7Sopenharmony_ci# {
42e5c31af7Sopenharmony_ci#     int data;
43e5c31af7Sopenharmony_ci#     int leftIndex;
44e5c31af7Sopenharmony_ci#     int rightIndex;
45e5c31af7Sopenharmony_ci# };
46e5c31af7Sopenharmony_ci#
47e5c31af7Sopenharmony_ci# BST tree[10];
48e5c31af7Sopenharmony_ci#
49e5c31af7Sopenharmony_ci# void makeTreeNode(inout BST tree, int data)
50e5c31af7Sopenharmony_ci# {
51e5c31af7Sopenharmony_ci#     tree.data = data;
52e5c31af7Sopenharmony_ci#     tree.leftIndex = -1;
53e5c31af7Sopenharmony_ci#     tree.rightIndex = -1;
54e5c31af7Sopenharmony_ci# }
55e5c31af7Sopenharmony_ci# void insert(int treeIndex, int data)
56e5c31af7Sopenharmony_ci# {
57e5c31af7Sopenharmony_ci#     int baseIndex = 0;
58e5c31af7Sopenharmony_ci#     while (baseIndex <= treeIndex)
59e5c31af7Sopenharmony_ci#     {
60e5c31af7Sopenharmony_ci#         if (data <= tree[baseIndex].data)
61e5c31af7Sopenharmony_ci#         {
62e5c31af7Sopenharmony_ci#             if (tree[baseIndex].leftIndex == -1)
63e5c31af7Sopenharmony_ci#             {
64e5c31af7Sopenharmony_ci#                 tree[baseIndex].leftIndex = treeIndex;
65e5c31af7Sopenharmony_ci#                 makeTreeNode(tree[treeIndex], data);
66e5c31af7Sopenharmony_ci#                 return;
67e5c31af7Sopenharmony_ci#             }
68e5c31af7Sopenharmony_ci#             else
69e5c31af7Sopenharmony_ci#             {
70e5c31af7Sopenharmony_ci#                 baseIndex = tree[baseIndex].leftIndex;
71e5c31af7Sopenharmony_ci#                 continue;
72e5c31af7Sopenharmony_ci#             }
73e5c31af7Sopenharmony_ci#         }
74e5c31af7Sopenharmony_ci#         else
75e5c31af7Sopenharmony_ci#         {
76e5c31af7Sopenharmony_ci#             if (tree[baseIndex].rightIndex == -1)
77e5c31af7Sopenharmony_ci#             {
78e5c31af7Sopenharmony_ci#                 tree[baseIndex].rightIndex = treeIndex;
79e5c31af7Sopenharmony_ci#                 makeTreeNode(tree[treeIndex], data);
80e5c31af7Sopenharmony_ci#                 return;
81e5c31af7Sopenharmony_ci#             }
82e5c31af7Sopenharmony_ci#             else
83e5c31af7Sopenharmony_ci#             {
84e5c31af7Sopenharmony_ci#                 baseIndex = tree[baseIndex].rightIndex;
85e5c31af7Sopenharmony_ci#                 continue;
86e5c31af7Sopenharmony_ci#             }
87e5c31af7Sopenharmony_ci#         }
88e5c31af7Sopenharmony_ci#     }
89e5c31af7Sopenharmony_ci# }
90e5c31af7Sopenharmony_ci# int search(int target)
91e5c31af7Sopenharmony_ci# {
92e5c31af7Sopenharmony_ci#     BST currentNode;
93e5c31af7Sopenharmony_ci#     int index = 0;
94e5c31af7Sopenharmony_ci#     while (index != -1)
95e5c31af7Sopenharmony_ci#     {
96e5c31af7Sopenharmony_ci#         currentNode = tree[index];
97e5c31af7Sopenharmony_ci#         if (currentNode.data == target)
98e5c31af7Sopenharmony_ci#         {
99e5c31af7Sopenharmony_ci#             return target;
100e5c31af7Sopenharmony_ci#         }
101e5c31af7Sopenharmony_ci#         index = target > currentNode.data ? currentNode.rightIndex : currentNode.leftIndex;
102e5c31af7Sopenharmony_ci#     }
103e5c31af7Sopenharmony_ci#     return -1;
104e5c31af7Sopenharmony_ci# }
105e5c31af7Sopenharmony_ci# void main()
106e5c31af7Sopenharmony_ci# {
107e5c31af7Sopenharmony_ci#     int treeIndex = 0;
108e5c31af7Sopenharmony_ci#     makeTreeNode(tree[0], 9);
109e5c31af7Sopenharmony_ci#     treeIndex++;
110e5c31af7Sopenharmony_ci#     insert(treeIndex, 5);
111e5c31af7Sopenharmony_ci#     treeIndex++;
112e5c31af7Sopenharmony_ci#     insert(treeIndex, 12);
113e5c31af7Sopenharmony_ci#     treeIndex++;
114e5c31af7Sopenharmony_ci#     insert(treeIndex, 15);
115e5c31af7Sopenharmony_ci#     treeIndex++;
116e5c31af7Sopenharmony_ci#     insert(treeIndex, 7);
117e5c31af7Sopenharmony_ci#     treeIndex++;
118e5c31af7Sopenharmony_ci#     insert(treeIndex, 8);
119e5c31af7Sopenharmony_ci#     treeIndex++;
120e5c31af7Sopenharmony_ci#     insert(treeIndex, 2);
121e5c31af7Sopenharmony_ci#     treeIndex++;
122e5c31af7Sopenharmony_ci#     insert(treeIndex, 6);
123e5c31af7Sopenharmony_ci#     treeIndex++;
124e5c31af7Sopenharmony_ci#     insert(treeIndex, 17);
125e5c31af7Sopenharmony_ci#     treeIndex++;
126e5c31af7Sopenharmony_ci#     insert(treeIndex, 13);
127e5c31af7Sopenharmony_ci#     int count = 0;
128e5c31af7Sopenharmony_ci#     for (int i = 0; i < 20; i++)
129e5c31af7Sopenharmony_ci#     {
130e5c31af7Sopenharmony_ci#         int result = search(i);
131e5c31af7Sopenharmony_ci#         switch (i)
132e5c31af7Sopenharmony_ci#         {
133e5c31af7Sopenharmony_ci#         case 9:
134e5c31af7Sopenharmony_ci#         case 5:
135e5c31af7Sopenharmony_ci#         case 12:
136e5c31af7Sopenharmony_ci#         case 15:
137e5c31af7Sopenharmony_ci#         case 7:
138e5c31af7Sopenharmony_ci#         case 8:
139e5c31af7Sopenharmony_ci#         case 2:
140e5c31af7Sopenharmony_ci#         case 6:
141e5c31af7Sopenharmony_ci#         case 17:
142e5c31af7Sopenharmony_ci#         case 13:
143e5c31af7Sopenharmony_ci#             if (result == i)
144e5c31af7Sopenharmony_ci#             {
145e5c31af7Sopenharmony_ci#                 count++;
146e5c31af7Sopenharmony_ci#             }
147e5c31af7Sopenharmony_ci#             break;
148e5c31af7Sopenharmony_ci#         default:
149e5c31af7Sopenharmony_ci#             if (result == -1)
150e5c31af7Sopenharmony_ci#             {
151e5c31af7Sopenharmony_ci#                 count++;
152e5c31af7Sopenharmony_ci#             }
153e5c31af7Sopenharmony_ci#             break;
154e5c31af7Sopenharmony_ci#         }
155e5c31af7Sopenharmony_ci#     }
156e5c31af7Sopenharmony_ci#     if (count == 20)
157e5c31af7Sopenharmony_ci#     {
158e5c31af7Sopenharmony_ci#         _GLF_color = vec4(1.0, 0.0, 0.0, 1.0);
159e5c31af7Sopenharmony_ci#     }
160e5c31af7Sopenharmony_ci#     else
161e5c31af7Sopenharmony_ci#     {
162e5c31af7Sopenharmony_ci#         _GLF_color = vec4(0.0, 0.0, 1.0, 1.0);
163e5c31af7Sopenharmony_ci#     }
164e5c31af7Sopenharmony_ci# }
165e5c31af7Sopenharmony_ciSHADER fragment reference_fragment_shader SPIRV-ASM TARGET_ENV spv1.0
166e5c31af7Sopenharmony_ci; SPIR-V
167e5c31af7Sopenharmony_ci; Version: 1.0
168e5c31af7Sopenharmony_ci; Generator: Khronos Glslang Reference Front End; 10
169e5c31af7Sopenharmony_ci; Bound: 1372
170e5c31af7Sopenharmony_ci; Schema: 0
171e5c31af7Sopenharmony_ci               OpCapability Shader
172e5c31af7Sopenharmony_ci          %1 = OpExtInstImport "GLSL.std.450"
173e5c31af7Sopenharmony_ci               OpMemoryModel Logical GLSL450
174e5c31af7Sopenharmony_ci               OpEntryPoint Fragment %4 "main" %254
175e5c31af7Sopenharmony_ci               OpExecutionMode %4 OriginUpperLeft
176e5c31af7Sopenharmony_ci               OpSource ESSL 320
177e5c31af7Sopenharmony_ci               OpName %4 "main"
178e5c31af7Sopenharmony_ci               OpName %7 "BST"
179e5c31af7Sopenharmony_ci               OpMemberName %7 0 "data"
180e5c31af7Sopenharmony_ci               OpMemberName %7 1 "leftIndex"
181e5c31af7Sopenharmony_ci               OpMemberName %7 2 "rightIndex"
182e5c31af7Sopenharmony_ci               OpName %47 "tree"
183e5c31af7Sopenharmony_ci               OpName %254 "_GLF_color"
184e5c31af7Sopenharmony_ci               OpDecorate %254 Location 0
185e5c31af7Sopenharmony_ci          %2 = OpTypeVoid
186e5c31af7Sopenharmony_ci          %3 = OpTypeFunction %2
187e5c31af7Sopenharmony_ci          %6 = OpTypeInt 32 1
188e5c31af7Sopenharmony_ci          %7 = OpTypeStruct %6 %6 %6
189e5c31af7Sopenharmony_ci          %8 = OpTypePointer Function %7
190e5c31af7Sopenharmony_ci          %9 = OpTypePointer Function %6
191e5c31af7Sopenharmony_ci         %24 = OpConstant %6 0
192e5c31af7Sopenharmony_ci         %27 = OpConstant %6 1
193e5c31af7Sopenharmony_ci         %28 = OpConstant %6 -1
194e5c31af7Sopenharmony_ci         %30 = OpConstant %6 2
195e5c31af7Sopenharmony_ci         %40 = OpTypeBool
196e5c31af7Sopenharmony_ci         %43 = OpTypeInt 32 0
197e5c31af7Sopenharmony_ci         %44 = OpConstant %43 10
198e5c31af7Sopenharmony_ci         %45 = OpTypeArray %7 %44
199e5c31af7Sopenharmony_ci        %141 = OpConstant %6 9
200e5c31af7Sopenharmony_ci        %151 = OpConstant %6 5
201e5c31af7Sopenharmony_ci        %158 = OpConstant %6 12
202e5c31af7Sopenharmony_ci        %165 = OpConstant %6 15
203e5c31af7Sopenharmony_ci        %172 = OpConstant %6 7
204e5c31af7Sopenharmony_ci        %179 = OpConstant %6 8
205e5c31af7Sopenharmony_ci        %192 = OpConstant %6 6
206e5c31af7Sopenharmony_ci        %199 = OpConstant %6 17
207e5c31af7Sopenharmony_ci        %206 = OpConstant %6 13
208e5c31af7Sopenharmony_ci        %219 = OpConstant %6 20
209e5c31af7Sopenharmony_ci        %251 = OpTypeFloat 32
210e5c31af7Sopenharmony_ci        %252 = OpTypeVector %251 4
211e5c31af7Sopenharmony_ci        %253 = OpTypePointer Output %252
212e5c31af7Sopenharmony_ci        %254 = OpVariable %253 Output
213e5c31af7Sopenharmony_ci        %255 = OpConstant %251 1
214e5c31af7Sopenharmony_ci        %256 = OpConstant %251 0
215e5c31af7Sopenharmony_ci        %257 = OpConstantComposite %252 %255 %256 %256 %255
216e5c31af7Sopenharmony_ci        %259 = OpConstantComposite %252 %256 %256 %255 %255
217e5c31af7Sopenharmony_ci        %262 = OpConstant %43 0
218e5c31af7Sopenharmony_ci        %263 = OpConstantFalse %40
219e5c31af7Sopenharmony_ci        %266 = OpConstantTrue %40
220e5c31af7Sopenharmony_ci       %1015 = OpTypePointer Function %45
221e5c31af7Sopenharmony_ci       %1318 = OpUndef %6
222e5c31af7Sopenharmony_ci       %1359 = OpConstantComposite %7 %141 %28 %28
223e5c31af7Sopenharmony_ci       %1360 = OpConstantComposite %7 %151 %28 %28
224e5c31af7Sopenharmony_ci       %1361 = OpConstantComposite %7 %158 %28 %28
225e5c31af7Sopenharmony_ci       %1362 = OpConstant %6 3
226e5c31af7Sopenharmony_ci       %1363 = OpConstantComposite %7 %165 %28 %28
227e5c31af7Sopenharmony_ci       %1364 = OpConstant %6 4
228e5c31af7Sopenharmony_ci       %1365 = OpConstantComposite %7 %172 %28 %28
229e5c31af7Sopenharmony_ci       %1366 = OpConstantComposite %7 %179 %28 %28
230e5c31af7Sopenharmony_ci       %1367 = OpConstantComposite %7 %30 %28 %28
231e5c31af7Sopenharmony_ci       %1368 = OpConstantComposite %7 %192 %28 %28
232e5c31af7Sopenharmony_ci       %1369 = OpConstantComposite %7 %199 %28 %28
233e5c31af7Sopenharmony_ci       %1370 = OpConstantComposite %7 %206 %28 %28
234e5c31af7Sopenharmony_ci          %4 = OpFunction %2 None %3
235e5c31af7Sopenharmony_ci          %5 = OpLabel
236e5c31af7Sopenharmony_ci         %47 = OpVariable %1015 Function
237e5c31af7Sopenharmony_ci        %148 = OpAccessChain %8 %47 %24
238e5c31af7Sopenharmony_ci               OpStore %148 %1359
239e5c31af7Sopenharmony_ci               OpSelectionMerge %347 None
240e5c31af7Sopenharmony_ci               OpSwitch %262 %288
241e5c31af7Sopenharmony_ci        %288 = OpLabel
242e5c31af7Sopenharmony_ci               OpBranch %289
243e5c31af7Sopenharmony_ci        %289 = OpLabel
244e5c31af7Sopenharmony_ci       %1212 = OpPhi %6 %24 %288 %1342 %343
245e5c31af7Sopenharmony_ci        %293 = OpSLessThanEqual %40 %1212 %27
246e5c31af7Sopenharmony_ci               OpLoopMerge %344 %343 None
247e5c31af7Sopenharmony_ci               OpBranchConditional %293 %294 %344
248e5c31af7Sopenharmony_ci        %294 = OpLabel
249e5c31af7Sopenharmony_ci        %297 = OpAccessChain %9 %47 %1212 %24
250e5c31af7Sopenharmony_ci        %298 = OpLoad %6 %297
251e5c31af7Sopenharmony_ci        %299 = OpSLessThanEqual %40 %151 %298
252e5c31af7Sopenharmony_ci               OpSelectionMerge %342 None
253e5c31af7Sopenharmony_ci               OpBranchConditional %299 %300 %321
254e5c31af7Sopenharmony_ci        %321 = OpLabel
255e5c31af7Sopenharmony_ci        %323 = OpAccessChain %9 %47 %1212 %30
256e5c31af7Sopenharmony_ci        %324 = OpLoad %6 %323
257e5c31af7Sopenharmony_ci        %325 = OpIEqual %40 %324 %28
258e5c31af7Sopenharmony_ci               OpSelectionMerge %341 None
259e5c31af7Sopenharmony_ci               OpBranchConditional %325 %326 %337
260e5c31af7Sopenharmony_ci        %337 = OpLabel
261e5c31af7Sopenharmony_ci        %340 = OpLoad %6 %323
262e5c31af7Sopenharmony_ci               OpBranch %343
263e5c31af7Sopenharmony_ci        %326 = OpLabel
264e5c31af7Sopenharmony_ci               OpStore %323 %27
265e5c31af7Sopenharmony_ci        %336 = OpAccessChain %8 %47 %27
266e5c31af7Sopenharmony_ci               OpStore %336 %1360
267e5c31af7Sopenharmony_ci               OpBranch %344
268e5c31af7Sopenharmony_ci        %341 = OpLabel
269e5c31af7Sopenharmony_ci               OpUnreachable
270e5c31af7Sopenharmony_ci        %300 = OpLabel
271e5c31af7Sopenharmony_ci        %302 = OpAccessChain %9 %47 %1212 %27
272e5c31af7Sopenharmony_ci        %303 = OpLoad %6 %302
273e5c31af7Sopenharmony_ci        %304 = OpIEqual %40 %303 %28
274e5c31af7Sopenharmony_ci               OpSelectionMerge %320 None
275e5c31af7Sopenharmony_ci               OpBranchConditional %304 %305 %316
276e5c31af7Sopenharmony_ci        %316 = OpLabel
277e5c31af7Sopenharmony_ci        %319 = OpLoad %6 %302
278e5c31af7Sopenharmony_ci               OpBranch %343
279e5c31af7Sopenharmony_ci        %305 = OpLabel
280e5c31af7Sopenharmony_ci               OpStore %302 %27
281e5c31af7Sopenharmony_ci        %315 = OpAccessChain %8 %47 %27
282e5c31af7Sopenharmony_ci               OpStore %315 %1360
283e5c31af7Sopenharmony_ci               OpBranch %344
284e5c31af7Sopenharmony_ci        %320 = OpLabel
285e5c31af7Sopenharmony_ci               OpUnreachable
286e5c31af7Sopenharmony_ci        %342 = OpLabel
287e5c31af7Sopenharmony_ci               OpUnreachable
288e5c31af7Sopenharmony_ci        %343 = OpLabel
289e5c31af7Sopenharmony_ci       %1342 = OpPhi %6 %319 %316 %340 %337
290e5c31af7Sopenharmony_ci               OpBranch %289
291e5c31af7Sopenharmony_ci        %344 = OpLabel
292e5c31af7Sopenharmony_ci       %1213 = OpPhi %40 %263 %289 %266 %305 %266 %326
293e5c31af7Sopenharmony_ci               OpSelectionMerge %346 None
294e5c31af7Sopenharmony_ci               OpBranchConditional %1213 %347 %346
295e5c31af7Sopenharmony_ci        %346 = OpLabel
296e5c31af7Sopenharmony_ci               OpBranch %347
297e5c31af7Sopenharmony_ci        %347 = OpLabel
298e5c31af7Sopenharmony_ci               OpSelectionMerge %424 None
299e5c31af7Sopenharmony_ci               OpSwitch %262 %365
300e5c31af7Sopenharmony_ci        %365 = OpLabel
301e5c31af7Sopenharmony_ci               OpBranch %366
302e5c31af7Sopenharmony_ci        %366 = OpLabel
303e5c31af7Sopenharmony_ci       %1220 = OpPhi %6 %24 %365 %1344 %420
304e5c31af7Sopenharmony_ci        %370 = OpSLessThanEqual %40 %1220 %30
305e5c31af7Sopenharmony_ci               OpLoopMerge %421 %420 None
306e5c31af7Sopenharmony_ci               OpBranchConditional %370 %371 %421
307e5c31af7Sopenharmony_ci        %371 = OpLabel
308e5c31af7Sopenharmony_ci        %374 = OpAccessChain %9 %47 %1220 %24
309e5c31af7Sopenharmony_ci        %375 = OpLoad %6 %374
310e5c31af7Sopenharmony_ci        %376 = OpSLessThanEqual %40 %158 %375
311e5c31af7Sopenharmony_ci               OpSelectionMerge %419 None
312e5c31af7Sopenharmony_ci               OpBranchConditional %376 %377 %398
313e5c31af7Sopenharmony_ci        %398 = OpLabel
314e5c31af7Sopenharmony_ci        %400 = OpAccessChain %9 %47 %1220 %30
315e5c31af7Sopenharmony_ci        %401 = OpLoad %6 %400
316e5c31af7Sopenharmony_ci        %402 = OpIEqual %40 %401 %28
317e5c31af7Sopenharmony_ci               OpSelectionMerge %418 None
318e5c31af7Sopenharmony_ci               OpBranchConditional %402 %403 %414
319e5c31af7Sopenharmony_ci        %414 = OpLabel
320e5c31af7Sopenharmony_ci        %417 = OpLoad %6 %400
321e5c31af7Sopenharmony_ci               OpBranch %420
322e5c31af7Sopenharmony_ci        %403 = OpLabel
323e5c31af7Sopenharmony_ci               OpStore %400 %30
324e5c31af7Sopenharmony_ci        %413 = OpAccessChain %8 %47 %30
325e5c31af7Sopenharmony_ci               OpStore %413 %1361
326e5c31af7Sopenharmony_ci               OpBranch %421
327e5c31af7Sopenharmony_ci        %418 = OpLabel
328e5c31af7Sopenharmony_ci               OpUnreachable
329e5c31af7Sopenharmony_ci        %377 = OpLabel
330e5c31af7Sopenharmony_ci        %379 = OpAccessChain %9 %47 %1220 %27
331e5c31af7Sopenharmony_ci        %380 = OpLoad %6 %379
332e5c31af7Sopenharmony_ci        %381 = OpIEqual %40 %380 %28
333e5c31af7Sopenharmony_ci               OpSelectionMerge %397 None
334e5c31af7Sopenharmony_ci               OpBranchConditional %381 %382 %393
335e5c31af7Sopenharmony_ci        %393 = OpLabel
336e5c31af7Sopenharmony_ci        %396 = OpLoad %6 %379
337e5c31af7Sopenharmony_ci               OpBranch %420
338e5c31af7Sopenharmony_ci        %382 = OpLabel
339e5c31af7Sopenharmony_ci               OpStore %379 %30
340e5c31af7Sopenharmony_ci        %392 = OpAccessChain %8 %47 %30
341e5c31af7Sopenharmony_ci               OpStore %392 %1361
342e5c31af7Sopenharmony_ci               OpBranch %421
343e5c31af7Sopenharmony_ci        %397 = OpLabel
344e5c31af7Sopenharmony_ci               OpUnreachable
345e5c31af7Sopenharmony_ci        %419 = OpLabel
346e5c31af7Sopenharmony_ci               OpUnreachable
347e5c31af7Sopenharmony_ci        %420 = OpLabel
348e5c31af7Sopenharmony_ci       %1344 = OpPhi %6 %396 %393 %417 %414
349e5c31af7Sopenharmony_ci               OpBranch %366
350e5c31af7Sopenharmony_ci        %421 = OpLabel
351e5c31af7Sopenharmony_ci       %1221 = OpPhi %40 %263 %366 %266 %382 %266 %403
352e5c31af7Sopenharmony_ci               OpSelectionMerge %423 None
353e5c31af7Sopenharmony_ci               OpBranchConditional %1221 %424 %423
354e5c31af7Sopenharmony_ci        %423 = OpLabel
355e5c31af7Sopenharmony_ci               OpBranch %424
356e5c31af7Sopenharmony_ci        %424 = OpLabel
357e5c31af7Sopenharmony_ci               OpSelectionMerge %501 None
358e5c31af7Sopenharmony_ci               OpSwitch %262 %442
359e5c31af7Sopenharmony_ci        %442 = OpLabel
360e5c31af7Sopenharmony_ci               OpBranch %443
361e5c31af7Sopenharmony_ci        %443 = OpLabel
362e5c31af7Sopenharmony_ci       %1228 = OpPhi %6 %24 %442 %1345 %497
363e5c31af7Sopenharmony_ci        %447 = OpSLessThanEqual %40 %1228 %1362
364e5c31af7Sopenharmony_ci               OpLoopMerge %498 %497 None
365e5c31af7Sopenharmony_ci               OpBranchConditional %447 %448 %498
366e5c31af7Sopenharmony_ci        %448 = OpLabel
367e5c31af7Sopenharmony_ci        %451 = OpAccessChain %9 %47 %1228 %24
368e5c31af7Sopenharmony_ci        %452 = OpLoad %6 %451
369e5c31af7Sopenharmony_ci        %453 = OpSLessThanEqual %40 %165 %452
370e5c31af7Sopenharmony_ci               OpSelectionMerge %496 None
371e5c31af7Sopenharmony_ci               OpBranchConditional %453 %454 %475
372e5c31af7Sopenharmony_ci        %475 = OpLabel
373e5c31af7Sopenharmony_ci        %477 = OpAccessChain %9 %47 %1228 %30
374e5c31af7Sopenharmony_ci        %478 = OpLoad %6 %477
375e5c31af7Sopenharmony_ci        %479 = OpIEqual %40 %478 %28
376e5c31af7Sopenharmony_ci               OpSelectionMerge %495 None
377e5c31af7Sopenharmony_ci               OpBranchConditional %479 %480 %491
378e5c31af7Sopenharmony_ci        %491 = OpLabel
379e5c31af7Sopenharmony_ci        %494 = OpLoad %6 %477
380e5c31af7Sopenharmony_ci               OpBranch %497
381e5c31af7Sopenharmony_ci        %480 = OpLabel
382e5c31af7Sopenharmony_ci               OpStore %477 %1362
383e5c31af7Sopenharmony_ci        %490 = OpAccessChain %8 %47 %1362
384e5c31af7Sopenharmony_ci               OpStore %490 %1363
385e5c31af7Sopenharmony_ci               OpBranch %498
386e5c31af7Sopenharmony_ci        %495 = OpLabel
387e5c31af7Sopenharmony_ci               OpUnreachable
388e5c31af7Sopenharmony_ci        %454 = OpLabel
389e5c31af7Sopenharmony_ci        %456 = OpAccessChain %9 %47 %1228 %27
390e5c31af7Sopenharmony_ci        %457 = OpLoad %6 %456
391e5c31af7Sopenharmony_ci        %458 = OpIEqual %40 %457 %28
392e5c31af7Sopenharmony_ci               OpSelectionMerge %474 None
393e5c31af7Sopenharmony_ci               OpBranchConditional %458 %459 %470
394e5c31af7Sopenharmony_ci        %470 = OpLabel
395e5c31af7Sopenharmony_ci        %473 = OpLoad %6 %456
396e5c31af7Sopenharmony_ci               OpBranch %497
397e5c31af7Sopenharmony_ci        %459 = OpLabel
398e5c31af7Sopenharmony_ci               OpStore %456 %1362
399e5c31af7Sopenharmony_ci        %469 = OpAccessChain %8 %47 %1362
400e5c31af7Sopenharmony_ci               OpStore %469 %1363
401e5c31af7Sopenharmony_ci               OpBranch %498
402e5c31af7Sopenharmony_ci        %474 = OpLabel
403e5c31af7Sopenharmony_ci               OpUnreachable
404e5c31af7Sopenharmony_ci        %496 = OpLabel
405e5c31af7Sopenharmony_ci               OpUnreachable
406e5c31af7Sopenharmony_ci        %497 = OpLabel
407e5c31af7Sopenharmony_ci       %1345 = OpPhi %6 %473 %470 %494 %491
408e5c31af7Sopenharmony_ci               OpBranch %443
409e5c31af7Sopenharmony_ci        %498 = OpLabel
410e5c31af7Sopenharmony_ci       %1229 = OpPhi %40 %263 %443 %266 %459 %266 %480
411e5c31af7Sopenharmony_ci               OpSelectionMerge %500 None
412e5c31af7Sopenharmony_ci               OpBranchConditional %1229 %501 %500
413e5c31af7Sopenharmony_ci        %500 = OpLabel
414e5c31af7Sopenharmony_ci               OpBranch %501
415e5c31af7Sopenharmony_ci        %501 = OpLabel
416e5c31af7Sopenharmony_ci               OpSelectionMerge %578 None
417e5c31af7Sopenharmony_ci               OpSwitch %262 %519
418e5c31af7Sopenharmony_ci        %519 = OpLabel
419e5c31af7Sopenharmony_ci               OpBranch %520
420e5c31af7Sopenharmony_ci        %520 = OpLabel
421e5c31af7Sopenharmony_ci       %1236 = OpPhi %6 %24 %519 %1346 %574
422e5c31af7Sopenharmony_ci        %524 = OpSLessThanEqual %40 %1236 %1364
423e5c31af7Sopenharmony_ci               OpLoopMerge %575 %574 None
424e5c31af7Sopenharmony_ci               OpBranchConditional %524 %525 %575
425e5c31af7Sopenharmony_ci        %525 = OpLabel
426e5c31af7Sopenharmony_ci        %528 = OpAccessChain %9 %47 %1236 %24
427e5c31af7Sopenharmony_ci        %529 = OpLoad %6 %528
428e5c31af7Sopenharmony_ci        %530 = OpSLessThanEqual %40 %172 %529
429e5c31af7Sopenharmony_ci               OpSelectionMerge %573 None
430e5c31af7Sopenharmony_ci               OpBranchConditional %530 %531 %552
431e5c31af7Sopenharmony_ci        %552 = OpLabel
432e5c31af7Sopenharmony_ci        %554 = OpAccessChain %9 %47 %1236 %30
433e5c31af7Sopenharmony_ci        %555 = OpLoad %6 %554
434e5c31af7Sopenharmony_ci        %556 = OpIEqual %40 %555 %28
435e5c31af7Sopenharmony_ci               OpSelectionMerge %572 None
436e5c31af7Sopenharmony_ci               OpBranchConditional %556 %557 %568
437e5c31af7Sopenharmony_ci        %568 = OpLabel
438e5c31af7Sopenharmony_ci        %571 = OpLoad %6 %554
439e5c31af7Sopenharmony_ci               OpBranch %574
440e5c31af7Sopenharmony_ci        %557 = OpLabel
441e5c31af7Sopenharmony_ci               OpStore %554 %1364
442e5c31af7Sopenharmony_ci        %567 = OpAccessChain %8 %47 %1364
443e5c31af7Sopenharmony_ci               OpStore %567 %1365
444e5c31af7Sopenharmony_ci               OpBranch %575
445e5c31af7Sopenharmony_ci        %572 = OpLabel
446e5c31af7Sopenharmony_ci               OpUnreachable
447e5c31af7Sopenharmony_ci        %531 = OpLabel
448e5c31af7Sopenharmony_ci        %533 = OpAccessChain %9 %47 %1236 %27
449e5c31af7Sopenharmony_ci        %534 = OpLoad %6 %533
450e5c31af7Sopenharmony_ci        %535 = OpIEqual %40 %534 %28
451e5c31af7Sopenharmony_ci               OpSelectionMerge %551 None
452e5c31af7Sopenharmony_ci               OpBranchConditional %535 %536 %547
453e5c31af7Sopenharmony_ci        %547 = OpLabel
454e5c31af7Sopenharmony_ci        %550 = OpLoad %6 %533
455e5c31af7Sopenharmony_ci               OpBranch %574
456e5c31af7Sopenharmony_ci        %536 = OpLabel
457e5c31af7Sopenharmony_ci               OpStore %533 %1364
458e5c31af7Sopenharmony_ci        %546 = OpAccessChain %8 %47 %1364
459e5c31af7Sopenharmony_ci               OpStore %546 %1365
460e5c31af7Sopenharmony_ci               OpBranch %575
461e5c31af7Sopenharmony_ci        %551 = OpLabel
462e5c31af7Sopenharmony_ci               OpUnreachable
463e5c31af7Sopenharmony_ci        %573 = OpLabel
464e5c31af7Sopenharmony_ci               OpUnreachable
465e5c31af7Sopenharmony_ci        %574 = OpLabel
466e5c31af7Sopenharmony_ci       %1346 = OpPhi %6 %550 %547 %571 %568
467e5c31af7Sopenharmony_ci               OpBranch %520
468e5c31af7Sopenharmony_ci        %575 = OpLabel
469e5c31af7Sopenharmony_ci       %1237 = OpPhi %40 %263 %520 %266 %536 %266 %557
470e5c31af7Sopenharmony_ci               OpSelectionMerge %577 None
471e5c31af7Sopenharmony_ci               OpBranchConditional %1237 %578 %577
472e5c31af7Sopenharmony_ci        %577 = OpLabel
473e5c31af7Sopenharmony_ci               OpBranch %578
474e5c31af7Sopenharmony_ci        %578 = OpLabel
475e5c31af7Sopenharmony_ci               OpSelectionMerge %655 None
476e5c31af7Sopenharmony_ci               OpSwitch %262 %596
477e5c31af7Sopenharmony_ci        %596 = OpLabel
478e5c31af7Sopenharmony_ci               OpBranch %597
479e5c31af7Sopenharmony_ci        %597 = OpLabel
480e5c31af7Sopenharmony_ci       %1244 = OpPhi %6 %24 %596 %1347 %651
481e5c31af7Sopenharmony_ci        %601 = OpSLessThanEqual %40 %1244 %151
482e5c31af7Sopenharmony_ci               OpLoopMerge %652 %651 None
483e5c31af7Sopenharmony_ci               OpBranchConditional %601 %602 %652
484e5c31af7Sopenharmony_ci        %602 = OpLabel
485e5c31af7Sopenharmony_ci        %605 = OpAccessChain %9 %47 %1244 %24
486e5c31af7Sopenharmony_ci        %606 = OpLoad %6 %605
487e5c31af7Sopenharmony_ci        %607 = OpSLessThanEqual %40 %179 %606
488e5c31af7Sopenharmony_ci               OpSelectionMerge %650 None
489e5c31af7Sopenharmony_ci               OpBranchConditional %607 %608 %629
490e5c31af7Sopenharmony_ci        %629 = OpLabel
491e5c31af7Sopenharmony_ci        %631 = OpAccessChain %9 %47 %1244 %30
492e5c31af7Sopenharmony_ci        %632 = OpLoad %6 %631
493e5c31af7Sopenharmony_ci        %633 = OpIEqual %40 %632 %28
494e5c31af7Sopenharmony_ci               OpSelectionMerge %649 None
495e5c31af7Sopenharmony_ci               OpBranchConditional %633 %634 %645
496e5c31af7Sopenharmony_ci        %645 = OpLabel
497e5c31af7Sopenharmony_ci        %648 = OpLoad %6 %631
498e5c31af7Sopenharmony_ci               OpBranch %651
499e5c31af7Sopenharmony_ci        %634 = OpLabel
500e5c31af7Sopenharmony_ci               OpStore %631 %151
501e5c31af7Sopenharmony_ci        %644 = OpAccessChain %8 %47 %151
502e5c31af7Sopenharmony_ci               OpStore %644 %1366
503e5c31af7Sopenharmony_ci               OpBranch %652
504e5c31af7Sopenharmony_ci        %649 = OpLabel
505e5c31af7Sopenharmony_ci               OpUnreachable
506e5c31af7Sopenharmony_ci        %608 = OpLabel
507e5c31af7Sopenharmony_ci        %610 = OpAccessChain %9 %47 %1244 %27
508e5c31af7Sopenharmony_ci        %611 = OpLoad %6 %610
509e5c31af7Sopenharmony_ci        %612 = OpIEqual %40 %611 %28
510e5c31af7Sopenharmony_ci               OpSelectionMerge %628 None
511e5c31af7Sopenharmony_ci               OpBranchConditional %612 %613 %624
512e5c31af7Sopenharmony_ci        %624 = OpLabel
513e5c31af7Sopenharmony_ci        %627 = OpLoad %6 %610
514e5c31af7Sopenharmony_ci               OpBranch %651
515e5c31af7Sopenharmony_ci        %613 = OpLabel
516e5c31af7Sopenharmony_ci               OpStore %610 %151
517e5c31af7Sopenharmony_ci        %623 = OpAccessChain %8 %47 %151
518e5c31af7Sopenharmony_ci               OpStore %623 %1366
519e5c31af7Sopenharmony_ci               OpBranch %652
520e5c31af7Sopenharmony_ci        %628 = OpLabel
521e5c31af7Sopenharmony_ci               OpUnreachable
522e5c31af7Sopenharmony_ci        %650 = OpLabel
523e5c31af7Sopenharmony_ci               OpUnreachable
524e5c31af7Sopenharmony_ci        %651 = OpLabel
525e5c31af7Sopenharmony_ci       %1347 = OpPhi %6 %627 %624 %648 %645
526e5c31af7Sopenharmony_ci               OpBranch %597
527e5c31af7Sopenharmony_ci        %652 = OpLabel
528e5c31af7Sopenharmony_ci       %1245 = OpPhi %40 %263 %597 %266 %613 %266 %634
529e5c31af7Sopenharmony_ci               OpSelectionMerge %654 None
530e5c31af7Sopenharmony_ci               OpBranchConditional %1245 %655 %654
531e5c31af7Sopenharmony_ci        %654 = OpLabel
532e5c31af7Sopenharmony_ci               OpBranch %655
533e5c31af7Sopenharmony_ci        %655 = OpLabel
534e5c31af7Sopenharmony_ci               OpSelectionMerge %732 None
535e5c31af7Sopenharmony_ci               OpSwitch %262 %673
536e5c31af7Sopenharmony_ci        %673 = OpLabel
537e5c31af7Sopenharmony_ci               OpBranch %674
538e5c31af7Sopenharmony_ci        %674 = OpLabel
539e5c31af7Sopenharmony_ci       %1252 = OpPhi %6 %24 %673 %1348 %728
540e5c31af7Sopenharmony_ci        %678 = OpSLessThanEqual %40 %1252 %192
541e5c31af7Sopenharmony_ci               OpLoopMerge %729 %728 None
542e5c31af7Sopenharmony_ci               OpBranchConditional %678 %679 %729
543e5c31af7Sopenharmony_ci        %679 = OpLabel
544e5c31af7Sopenharmony_ci        %682 = OpAccessChain %9 %47 %1252 %24
545e5c31af7Sopenharmony_ci        %683 = OpLoad %6 %682
546e5c31af7Sopenharmony_ci        %684 = OpSLessThanEqual %40 %30 %683
547e5c31af7Sopenharmony_ci               OpSelectionMerge %727 None
548e5c31af7Sopenharmony_ci               OpBranchConditional %684 %685 %706
549e5c31af7Sopenharmony_ci        %706 = OpLabel
550e5c31af7Sopenharmony_ci        %708 = OpAccessChain %9 %47 %1252 %30
551e5c31af7Sopenharmony_ci        %709 = OpLoad %6 %708
552e5c31af7Sopenharmony_ci        %710 = OpIEqual %40 %709 %28
553e5c31af7Sopenharmony_ci               OpSelectionMerge %726 None
554e5c31af7Sopenharmony_ci               OpBranchConditional %710 %711 %722
555e5c31af7Sopenharmony_ci        %722 = OpLabel
556e5c31af7Sopenharmony_ci        %725 = OpLoad %6 %708
557e5c31af7Sopenharmony_ci               OpBranch %728
558e5c31af7Sopenharmony_ci        %711 = OpLabel
559e5c31af7Sopenharmony_ci               OpStore %708 %192
560e5c31af7Sopenharmony_ci        %721 = OpAccessChain %8 %47 %192
561e5c31af7Sopenharmony_ci               OpStore %721 %1367
562e5c31af7Sopenharmony_ci               OpBranch %729
563e5c31af7Sopenharmony_ci        %726 = OpLabel
564e5c31af7Sopenharmony_ci               OpUnreachable
565e5c31af7Sopenharmony_ci        %685 = OpLabel
566e5c31af7Sopenharmony_ci        %687 = OpAccessChain %9 %47 %1252 %27
567e5c31af7Sopenharmony_ci        %688 = OpLoad %6 %687
568e5c31af7Sopenharmony_ci        %689 = OpIEqual %40 %688 %28
569e5c31af7Sopenharmony_ci               OpSelectionMerge %705 None
570e5c31af7Sopenharmony_ci               OpBranchConditional %689 %690 %701
571e5c31af7Sopenharmony_ci        %701 = OpLabel
572e5c31af7Sopenharmony_ci        %704 = OpLoad %6 %687
573e5c31af7Sopenharmony_ci               OpBranch %728
574e5c31af7Sopenharmony_ci        %690 = OpLabel
575e5c31af7Sopenharmony_ci               OpStore %687 %192
576e5c31af7Sopenharmony_ci        %700 = OpAccessChain %8 %47 %192
577e5c31af7Sopenharmony_ci               OpStore %700 %1367
578e5c31af7Sopenharmony_ci               OpBranch %729
579e5c31af7Sopenharmony_ci        %705 = OpLabel
580e5c31af7Sopenharmony_ci               OpUnreachable
581e5c31af7Sopenharmony_ci        %727 = OpLabel
582e5c31af7Sopenharmony_ci               OpUnreachable
583e5c31af7Sopenharmony_ci        %728 = OpLabel
584e5c31af7Sopenharmony_ci       %1348 = OpPhi %6 %704 %701 %725 %722
585e5c31af7Sopenharmony_ci               OpBranch %674
586e5c31af7Sopenharmony_ci        %729 = OpLabel
587e5c31af7Sopenharmony_ci       %1253 = OpPhi %40 %263 %674 %266 %690 %266 %711
588e5c31af7Sopenharmony_ci               OpSelectionMerge %731 None
589e5c31af7Sopenharmony_ci               OpBranchConditional %1253 %732 %731
590e5c31af7Sopenharmony_ci        %731 = OpLabel
591e5c31af7Sopenharmony_ci               OpBranch %732
592e5c31af7Sopenharmony_ci        %732 = OpLabel
593e5c31af7Sopenharmony_ci               OpSelectionMerge %809 None
594e5c31af7Sopenharmony_ci               OpSwitch %262 %750
595e5c31af7Sopenharmony_ci        %750 = OpLabel
596e5c31af7Sopenharmony_ci               OpBranch %751
597e5c31af7Sopenharmony_ci        %751 = OpLabel
598e5c31af7Sopenharmony_ci       %1260 = OpPhi %6 %24 %750 %1349 %805
599e5c31af7Sopenharmony_ci        %755 = OpSLessThanEqual %40 %1260 %172
600e5c31af7Sopenharmony_ci               OpLoopMerge %806 %805 None
601e5c31af7Sopenharmony_ci               OpBranchConditional %755 %756 %806
602e5c31af7Sopenharmony_ci        %756 = OpLabel
603e5c31af7Sopenharmony_ci        %759 = OpAccessChain %9 %47 %1260 %24
604e5c31af7Sopenharmony_ci        %760 = OpLoad %6 %759
605e5c31af7Sopenharmony_ci        %761 = OpSLessThanEqual %40 %192 %760
606e5c31af7Sopenharmony_ci               OpSelectionMerge %804 None
607e5c31af7Sopenharmony_ci               OpBranchConditional %761 %762 %783
608e5c31af7Sopenharmony_ci        %783 = OpLabel
609e5c31af7Sopenharmony_ci        %785 = OpAccessChain %9 %47 %1260 %30
610e5c31af7Sopenharmony_ci        %786 = OpLoad %6 %785
611e5c31af7Sopenharmony_ci        %787 = OpIEqual %40 %786 %28
612e5c31af7Sopenharmony_ci               OpSelectionMerge %803 None
613e5c31af7Sopenharmony_ci               OpBranchConditional %787 %788 %799
614e5c31af7Sopenharmony_ci        %799 = OpLabel
615e5c31af7Sopenharmony_ci        %802 = OpLoad %6 %785
616e5c31af7Sopenharmony_ci               OpBranch %805
617e5c31af7Sopenharmony_ci        %788 = OpLabel
618e5c31af7Sopenharmony_ci               OpStore %785 %172
619e5c31af7Sopenharmony_ci        %798 = OpAccessChain %8 %47 %172
620e5c31af7Sopenharmony_ci               OpStore %798 %1368
621e5c31af7Sopenharmony_ci               OpBranch %806
622e5c31af7Sopenharmony_ci        %803 = OpLabel
623e5c31af7Sopenharmony_ci               OpUnreachable
624e5c31af7Sopenharmony_ci        %762 = OpLabel
625e5c31af7Sopenharmony_ci        %764 = OpAccessChain %9 %47 %1260 %27
626e5c31af7Sopenharmony_ci        %765 = OpLoad %6 %764
627e5c31af7Sopenharmony_ci        %766 = OpIEqual %40 %765 %28
628e5c31af7Sopenharmony_ci               OpSelectionMerge %782 None
629e5c31af7Sopenharmony_ci               OpBranchConditional %766 %767 %778
630e5c31af7Sopenharmony_ci        %778 = OpLabel
631e5c31af7Sopenharmony_ci        %781 = OpLoad %6 %764
632e5c31af7Sopenharmony_ci               OpBranch %805
633e5c31af7Sopenharmony_ci        %767 = OpLabel
634e5c31af7Sopenharmony_ci               OpStore %764 %172
635e5c31af7Sopenharmony_ci        %777 = OpAccessChain %8 %47 %172
636e5c31af7Sopenharmony_ci               OpStore %777 %1368
637e5c31af7Sopenharmony_ci               OpBranch %806
638e5c31af7Sopenharmony_ci        %782 = OpLabel
639e5c31af7Sopenharmony_ci               OpUnreachable
640e5c31af7Sopenharmony_ci        %804 = OpLabel
641e5c31af7Sopenharmony_ci               OpUnreachable
642e5c31af7Sopenharmony_ci        %805 = OpLabel
643e5c31af7Sopenharmony_ci       %1349 = OpPhi %6 %781 %778 %802 %799
644e5c31af7Sopenharmony_ci               OpBranch %751
645e5c31af7Sopenharmony_ci        %806 = OpLabel
646e5c31af7Sopenharmony_ci       %1261 = OpPhi %40 %263 %751 %266 %767 %266 %788
647e5c31af7Sopenharmony_ci               OpSelectionMerge %808 None
648e5c31af7Sopenharmony_ci               OpBranchConditional %1261 %809 %808
649e5c31af7Sopenharmony_ci        %808 = OpLabel
650e5c31af7Sopenharmony_ci               OpBranch %809
651e5c31af7Sopenharmony_ci        %809 = OpLabel
652e5c31af7Sopenharmony_ci               OpSelectionMerge %886 None
653e5c31af7Sopenharmony_ci               OpSwitch %262 %827
654e5c31af7Sopenharmony_ci        %827 = OpLabel
655e5c31af7Sopenharmony_ci               OpBranch %828
656e5c31af7Sopenharmony_ci        %828 = OpLabel
657e5c31af7Sopenharmony_ci       %1268 = OpPhi %6 %24 %827 %1350 %882
658e5c31af7Sopenharmony_ci        %832 = OpSLessThanEqual %40 %1268 %179
659e5c31af7Sopenharmony_ci               OpLoopMerge %883 %882 None
660e5c31af7Sopenharmony_ci               OpBranchConditional %832 %833 %883
661e5c31af7Sopenharmony_ci        %833 = OpLabel
662e5c31af7Sopenharmony_ci        %836 = OpAccessChain %9 %47 %1268 %24
663e5c31af7Sopenharmony_ci        %837 = OpLoad %6 %836
664e5c31af7Sopenharmony_ci        %838 = OpSLessThanEqual %40 %199 %837
665e5c31af7Sopenharmony_ci               OpSelectionMerge %881 None
666e5c31af7Sopenharmony_ci               OpBranchConditional %838 %839 %860
667e5c31af7Sopenharmony_ci        %860 = OpLabel
668e5c31af7Sopenharmony_ci        %862 = OpAccessChain %9 %47 %1268 %30
669e5c31af7Sopenharmony_ci        %863 = OpLoad %6 %862
670e5c31af7Sopenharmony_ci        %864 = OpIEqual %40 %863 %28
671e5c31af7Sopenharmony_ci               OpSelectionMerge %880 None
672e5c31af7Sopenharmony_ci               OpBranchConditional %864 %865 %876
673e5c31af7Sopenharmony_ci        %876 = OpLabel
674e5c31af7Sopenharmony_ci        %879 = OpLoad %6 %862
675e5c31af7Sopenharmony_ci               OpBranch %882
676e5c31af7Sopenharmony_ci        %865 = OpLabel
677e5c31af7Sopenharmony_ci               OpStore %862 %179
678e5c31af7Sopenharmony_ci        %875 = OpAccessChain %8 %47 %179
679e5c31af7Sopenharmony_ci               OpStore %875 %1369
680e5c31af7Sopenharmony_ci               OpBranch %883
681e5c31af7Sopenharmony_ci        %880 = OpLabel
682e5c31af7Sopenharmony_ci               OpUnreachable
683e5c31af7Sopenharmony_ci        %839 = OpLabel
684e5c31af7Sopenharmony_ci        %841 = OpAccessChain %9 %47 %1268 %27
685e5c31af7Sopenharmony_ci        %842 = OpLoad %6 %841
686e5c31af7Sopenharmony_ci        %843 = OpIEqual %40 %842 %28
687e5c31af7Sopenharmony_ci               OpSelectionMerge %859 None
688e5c31af7Sopenharmony_ci               OpBranchConditional %843 %844 %855
689e5c31af7Sopenharmony_ci        %855 = OpLabel
690e5c31af7Sopenharmony_ci        %858 = OpLoad %6 %841
691e5c31af7Sopenharmony_ci               OpBranch %882
692e5c31af7Sopenharmony_ci        %844 = OpLabel
693e5c31af7Sopenharmony_ci               OpStore %841 %179
694e5c31af7Sopenharmony_ci        %854 = OpAccessChain %8 %47 %179
695e5c31af7Sopenharmony_ci               OpStore %854 %1369
696e5c31af7Sopenharmony_ci               OpBranch %883
697e5c31af7Sopenharmony_ci        %859 = OpLabel
698e5c31af7Sopenharmony_ci               OpUnreachable
699e5c31af7Sopenharmony_ci        %881 = OpLabel
700e5c31af7Sopenharmony_ci               OpUnreachable
701e5c31af7Sopenharmony_ci        %882 = OpLabel
702e5c31af7Sopenharmony_ci       %1350 = OpPhi %6 %858 %855 %879 %876
703e5c31af7Sopenharmony_ci               OpBranch %828
704e5c31af7Sopenharmony_ci        %883 = OpLabel
705e5c31af7Sopenharmony_ci       %1269 = OpPhi %40 %263 %828 %266 %844 %266 %865
706e5c31af7Sopenharmony_ci               OpSelectionMerge %885 None
707e5c31af7Sopenharmony_ci               OpBranchConditional %1269 %886 %885
708e5c31af7Sopenharmony_ci        %885 = OpLabel
709e5c31af7Sopenharmony_ci               OpBranch %886
710e5c31af7Sopenharmony_ci        %886 = OpLabel
711e5c31af7Sopenharmony_ci               OpSelectionMerge %963 None
712e5c31af7Sopenharmony_ci               OpSwitch %262 %904
713e5c31af7Sopenharmony_ci        %904 = OpLabel
714e5c31af7Sopenharmony_ci               OpBranch %905
715e5c31af7Sopenharmony_ci        %905 = OpLabel
716e5c31af7Sopenharmony_ci       %1276 = OpPhi %6 %24 %904 %1351 %959
717e5c31af7Sopenharmony_ci        %909 = OpSLessThanEqual %40 %1276 %141
718e5c31af7Sopenharmony_ci               OpLoopMerge %960 %959 None
719e5c31af7Sopenharmony_ci               OpBranchConditional %909 %910 %960
720e5c31af7Sopenharmony_ci        %910 = OpLabel
721e5c31af7Sopenharmony_ci        %913 = OpAccessChain %9 %47 %1276 %24
722e5c31af7Sopenharmony_ci        %914 = OpLoad %6 %913
723e5c31af7Sopenharmony_ci        %915 = OpSLessThanEqual %40 %206 %914
724e5c31af7Sopenharmony_ci               OpSelectionMerge %958 None
725e5c31af7Sopenharmony_ci               OpBranchConditional %915 %916 %937
726e5c31af7Sopenharmony_ci        %937 = OpLabel
727e5c31af7Sopenharmony_ci        %939 = OpAccessChain %9 %47 %1276 %30
728e5c31af7Sopenharmony_ci        %940 = OpLoad %6 %939
729e5c31af7Sopenharmony_ci        %941 = OpIEqual %40 %940 %28
730e5c31af7Sopenharmony_ci               OpSelectionMerge %957 None
731e5c31af7Sopenharmony_ci               OpBranchConditional %941 %942 %953
732e5c31af7Sopenharmony_ci        %953 = OpLabel
733e5c31af7Sopenharmony_ci        %956 = OpLoad %6 %939
734e5c31af7Sopenharmony_ci               OpBranch %959
735e5c31af7Sopenharmony_ci        %942 = OpLabel
736e5c31af7Sopenharmony_ci               OpStore %939 %141
737e5c31af7Sopenharmony_ci        %952 = OpAccessChain %8 %47 %141
738e5c31af7Sopenharmony_ci               OpStore %952 %1370
739e5c31af7Sopenharmony_ci               OpBranch %960
740e5c31af7Sopenharmony_ci        %957 = OpLabel
741e5c31af7Sopenharmony_ci               OpUnreachable
742e5c31af7Sopenharmony_ci        %916 = OpLabel
743e5c31af7Sopenharmony_ci        %918 = OpAccessChain %9 %47 %1276 %27
744e5c31af7Sopenharmony_ci        %919 = OpLoad %6 %918
745e5c31af7Sopenharmony_ci        %920 = OpIEqual %40 %919 %28
746e5c31af7Sopenharmony_ci               OpSelectionMerge %936 None
747e5c31af7Sopenharmony_ci               OpBranchConditional %920 %921 %932
748e5c31af7Sopenharmony_ci        %932 = OpLabel
749e5c31af7Sopenharmony_ci        %935 = OpLoad %6 %918
750e5c31af7Sopenharmony_ci               OpBranch %959
751e5c31af7Sopenharmony_ci        %921 = OpLabel
752e5c31af7Sopenharmony_ci               OpStore %918 %141
753e5c31af7Sopenharmony_ci        %931 = OpAccessChain %8 %47 %141
754e5c31af7Sopenharmony_ci               OpStore %931 %1370
755e5c31af7Sopenharmony_ci               OpBranch %960
756e5c31af7Sopenharmony_ci        %936 = OpLabel
757e5c31af7Sopenharmony_ci               OpUnreachable
758e5c31af7Sopenharmony_ci        %958 = OpLabel
759e5c31af7Sopenharmony_ci               OpUnreachable
760e5c31af7Sopenharmony_ci        %959 = OpLabel
761e5c31af7Sopenharmony_ci       %1351 = OpPhi %6 %935 %932 %956 %953
762e5c31af7Sopenharmony_ci               OpBranch %905
763e5c31af7Sopenharmony_ci        %960 = OpLabel
764e5c31af7Sopenharmony_ci       %1277 = OpPhi %40 %263 %905 %266 %921 %266 %942
765e5c31af7Sopenharmony_ci               OpSelectionMerge %962 None
766e5c31af7Sopenharmony_ci               OpBranchConditional %1277 %963 %962
767e5c31af7Sopenharmony_ci        %962 = OpLabel
768e5c31af7Sopenharmony_ci               OpBranch %963
769e5c31af7Sopenharmony_ci        %963 = OpLabel
770e5c31af7Sopenharmony_ci               OpBranch %213
771e5c31af7Sopenharmony_ci        %213 = OpLabel
772e5c31af7Sopenharmony_ci       %1290 = OpPhi %6 %1318 %963 %1287 %216
773e5c31af7Sopenharmony_ci       %1281 = OpPhi %6 %24 %963 %1352 %216
774e5c31af7Sopenharmony_ci       %1280 = OpPhi %6 %24 %963 %246 %216
775e5c31af7Sopenharmony_ci        %220 = OpSLessThan %40 %1280 %219
776e5c31af7Sopenharmony_ci               OpLoopMerge %215 %216 None
777e5c31af7Sopenharmony_ci               OpBranchConditional %220 %214 %215
778e5c31af7Sopenharmony_ci        %214 = OpLabel
779e5c31af7Sopenharmony_ci               OpSelectionMerge %1013 None
780e5c31af7Sopenharmony_ci               OpSwitch %262 %981
781e5c31af7Sopenharmony_ci        %981 = OpLabel
782e5c31af7Sopenharmony_ci               OpBranch %982
783e5c31af7Sopenharmony_ci        %982 = OpLabel
784e5c31af7Sopenharmony_ci       %1282 = OpPhi %6 %24 %981 %1371 %1009
785e5c31af7Sopenharmony_ci        %985 = OpINotEqual %40 %1282 %28
786e5c31af7Sopenharmony_ci               OpLoopMerge %1010 %1009 None
787e5c31af7Sopenharmony_ci               OpBranchConditional %985 %986 %1010
788e5c31af7Sopenharmony_ci        %986 = OpLabel
789e5c31af7Sopenharmony_ci        %988 = OpAccessChain %8 %47 %1282
790e5c31af7Sopenharmony_ci        %989 = OpLoad %7 %988
791e5c31af7Sopenharmony_ci       %1019 = OpCompositeExtract %6 %989 0
792e5c31af7Sopenharmony_ci       %1020 = OpCompositeExtract %6 %989 1
793e5c31af7Sopenharmony_ci       %1021 = OpCompositeExtract %6 %989 2
794e5c31af7Sopenharmony_ci        %993 = OpIEqual %40 %1019 %1280
795e5c31af7Sopenharmony_ci               OpSelectionMerge %996 None
796e5c31af7Sopenharmony_ci               OpBranchConditional %993 %994 %996
797e5c31af7Sopenharmony_ci        %994 = OpLabel
798e5c31af7Sopenharmony_ci               OpBranch %1010
799e5c31af7Sopenharmony_ci        %996 = OpLabel
800e5c31af7Sopenharmony_ci       %1000 = OpSGreaterThan %40 %1280 %1019
801e5c31af7Sopenharmony_ci       %1371 = OpSelect %6 %1000 %1021 %1020
802e5c31af7Sopenharmony_ci               OpBranch %1009
803e5c31af7Sopenharmony_ci       %1009 = OpLabel
804e5c31af7Sopenharmony_ci               OpBranch %982
805e5c31af7Sopenharmony_ci       %1010 = OpLabel
806e5c31af7Sopenharmony_ci       %1288 = OpPhi %6 %1290 %982 %1280 %994
807e5c31af7Sopenharmony_ci       %1284 = OpPhi %40 %263 %982 %266 %994
808e5c31af7Sopenharmony_ci               OpSelectionMerge %1012 None
809e5c31af7Sopenharmony_ci               OpBranchConditional %1284 %1013 %1012
810e5c31af7Sopenharmony_ci       %1012 = OpLabel
811e5c31af7Sopenharmony_ci               OpBranch %1013
812e5c31af7Sopenharmony_ci       %1013 = OpLabel
813e5c31af7Sopenharmony_ci       %1287 = OpPhi %6 %1288 %1010 %28 %1012
814e5c31af7Sopenharmony_ci               OpSelectionMerge %228 None
815e5c31af7Sopenharmony_ci               OpSwitch %1280 %227 9 %226 5 %226 12 %226 15 %226 7 %226 8 %226 2 %226 6 %226 17 %226 13 %226
816e5c31af7Sopenharmony_ci        %226 = OpLabel
817e5c31af7Sopenharmony_ci        %231 = OpIEqual %40 %1287 %1280
818e5c31af7Sopenharmony_ci               OpSelectionMerge %233 None
819e5c31af7Sopenharmony_ci               OpBranchConditional %231 %232 %233
820e5c31af7Sopenharmony_ci        %232 = OpLabel
821e5c31af7Sopenharmony_ci        %235 = OpIAdd %6 %1281 %27
822e5c31af7Sopenharmony_ci               OpBranch %233
823e5c31af7Sopenharmony_ci        %233 = OpLabel
824e5c31af7Sopenharmony_ci       %1354 = OpPhi %6 %1281 %226 %235 %232
825e5c31af7Sopenharmony_ci               OpBranch %228
826e5c31af7Sopenharmony_ci        %227 = OpLabel
827e5c31af7Sopenharmony_ci        %238 = OpIEqual %40 %1287 %28
828e5c31af7Sopenharmony_ci               OpSelectionMerge %240 None
829e5c31af7Sopenharmony_ci               OpBranchConditional %238 %239 %240
830e5c31af7Sopenharmony_ci        %239 = OpLabel
831e5c31af7Sopenharmony_ci        %242 = OpIAdd %6 %1281 %27
832e5c31af7Sopenharmony_ci               OpBranch %240
833e5c31af7Sopenharmony_ci        %240 = OpLabel
834e5c31af7Sopenharmony_ci       %1353 = OpPhi %6 %1281 %227 %242 %239
835e5c31af7Sopenharmony_ci               OpBranch %228
836e5c31af7Sopenharmony_ci        %228 = OpLabel
837e5c31af7Sopenharmony_ci       %1352 = OpPhi %6 %1353 %240 %1354 %233
838e5c31af7Sopenharmony_ci               OpBranch %216
839e5c31af7Sopenharmony_ci        %216 = OpLabel
840e5c31af7Sopenharmony_ci        %246 = OpIAdd %6 %1280 %27
841e5c31af7Sopenharmony_ci               OpBranch %213
842e5c31af7Sopenharmony_ci        %215 = OpLabel
843e5c31af7Sopenharmony_ci        %248 = OpIEqual %40 %1281 %219
844e5c31af7Sopenharmony_ci               OpSelectionMerge %250 None
845e5c31af7Sopenharmony_ci               OpBranchConditional %248 %249 %258
846e5c31af7Sopenharmony_ci        %258 = OpLabel
847e5c31af7Sopenharmony_ci               OpStore %254 %259
848e5c31af7Sopenharmony_ci               OpBranch %250
849e5c31af7Sopenharmony_ci        %249 = OpLabel
850e5c31af7Sopenharmony_ci               OpStore %254 %257
851e5c31af7Sopenharmony_ci               OpBranch %250
852e5c31af7Sopenharmony_ci        %250 = OpLabel
853e5c31af7Sopenharmony_ci               OpReturn
854e5c31af7Sopenharmony_ci               OpFunctionEnd
855e5c31af7Sopenharmony_ciEND
856e5c31af7Sopenharmony_ci
857e5c31af7Sopenharmony_ci
858e5c31af7Sopenharmony_ciBUFFER reference_framebuffer FORMAT B8G8R8A8_UNORM
859e5c31af7Sopenharmony_ci
860e5c31af7Sopenharmony_ciPIPELINE graphics reference_pipeline
861e5c31af7Sopenharmony_ci  ATTACH reference_vertex_shader
862e5c31af7Sopenharmony_ci  ATTACH reference_fragment_shader
863e5c31af7Sopenharmony_ci  FRAMEBUFFER_SIZE 256 256
864e5c31af7Sopenharmony_ci  BIND BUFFER reference_framebuffer AS color LOCATION 0
865e5c31af7Sopenharmony_ciEND
866e5c31af7Sopenharmony_ciCLEAR_COLOR reference_pipeline 0 0 0 255
867e5c31af7Sopenharmony_ci
868e5c31af7Sopenharmony_ciCLEAR reference_pipeline
869e5c31af7Sopenharmony_ciRUN reference_pipeline DRAW_RECT POS 0 0 SIZE 256 256
870e5c31af7Sopenharmony_ci
871e5c31af7Sopenharmony_ci
872e5c31af7Sopenharmony_ciSHADER vertex variant_vertex_shader PASSTHROUGH
873e5c31af7Sopenharmony_ci
874e5c31af7Sopenharmony_ci# variant_fragment_shader is derived from the following GLSL:
875e5c31af7Sopenharmony_ci# #version 320 es
876e5c31af7Sopenharmony_ci# precision highp float;
877e5c31af7Sopenharmony_ci#
878e5c31af7Sopenharmony_ci# precision highp int;
879e5c31af7Sopenharmony_ci#
880e5c31af7Sopenharmony_ci# layout(set = 0, binding = 0) uniform buf0
881e5c31af7Sopenharmony_ci# {
882e5c31af7Sopenharmony_ci#     vec2 injectionSwitch;
883e5c31af7Sopenharmony_ci# };
884e5c31af7Sopenharmony_ci# layout(location = 0) out vec4 _GLF_color;
885e5c31af7Sopenharmony_ci#
886e5c31af7Sopenharmony_ci# struct BST
887e5c31af7Sopenharmony_ci# {
888e5c31af7Sopenharmony_ci#     int data;
889e5c31af7Sopenharmony_ci#     int leftIndex;
890e5c31af7Sopenharmony_ci#     int rightIndex;
891e5c31af7Sopenharmony_ci# };
892e5c31af7Sopenharmony_ci#
893e5c31af7Sopenharmony_ci# BST tree[10];
894e5c31af7Sopenharmony_ci#
895e5c31af7Sopenharmony_ci# void makeTreeNode(inout BST tree, int data)
896e5c31af7Sopenharmony_ci# {
897e5c31af7Sopenharmony_ci#     tree.data = data;
898e5c31af7Sopenharmony_ci#     tree.leftIndex = -1;
899e5c31af7Sopenharmony_ci#     tree.rightIndex = -1;
900e5c31af7Sopenharmony_ci# }
901e5c31af7Sopenharmony_ci# void insert(int treeIndex, int data)
902e5c31af7Sopenharmony_ci# {
903e5c31af7Sopenharmony_ci#     int baseIndex = 0;
904e5c31af7Sopenharmony_ci#     while (baseIndex <= treeIndex)
905e5c31af7Sopenharmony_ci#     {
906e5c31af7Sopenharmony_ci#         if (data <= tree[baseIndex].data)
907e5c31af7Sopenharmony_ci#         {
908e5c31af7Sopenharmony_ci#             if (tree[baseIndex].leftIndex == -1)
909e5c31af7Sopenharmony_ci#             {
910e5c31af7Sopenharmony_ci#                 // Always false.
911e5c31af7Sopenharmony_ci#                 if ((injectionSwitch.y < injectionSwitch.x))
912e5c31af7Sopenharmony_ci#                 {
913e5c31af7Sopenharmony_ci#                     do
914e5c31af7Sopenharmony_ci#                     {
915e5c31af7Sopenharmony_ci#                         // This is never reached.
916e5c31af7Sopenharmony_ci#                         discard;
917e5c31af7Sopenharmony_ci#                     }
918e5c31af7Sopenharmony_ci#                     // Always false.
919e5c31af7Sopenharmony_ci#                     while (injectionSwitch.y < injectionSwitch.x);
920e5c31af7Sopenharmony_ci#                 }
921e5c31af7Sopenharmony_ci#                 tree[baseIndex].leftIndex = treeIndex;
922e5c31af7Sopenharmony_ci#                 makeTreeNode(tree[treeIndex], data);
923e5c31af7Sopenharmony_ci#                 // Iterates once.
924e5c31af7Sopenharmony_ci#                 for (int int_i = 0; int_i < int((injectionSwitch.y)); int_i++)
925e5c31af7Sopenharmony_ci#                 {
926e5c31af7Sopenharmony_ci#                     return;
927e5c31af7Sopenharmony_ci#                 }
928e5c31af7Sopenharmony_ci#             }
929e5c31af7Sopenharmony_ci#             else
930e5c31af7Sopenharmony_ci#             {
931e5c31af7Sopenharmony_ci#                 baseIndex = tree[baseIndex].leftIndex;
932e5c31af7Sopenharmony_ci#                 continue;
933e5c31af7Sopenharmony_ci#             }
934e5c31af7Sopenharmony_ci#         }
935e5c31af7Sopenharmony_ci#         else
936e5c31af7Sopenharmony_ci#         {
937e5c31af7Sopenharmony_ci#             if (tree[baseIndex].rightIndex == -1)
938e5c31af7Sopenharmony_ci#             {
939e5c31af7Sopenharmony_ci#                 tree[baseIndex].rightIndex = treeIndex;
940e5c31af7Sopenharmony_ci#                 makeTreeNode(tree[treeIndex], data);
941e5c31af7Sopenharmony_ci#                 return;
942e5c31af7Sopenharmony_ci#             }
943e5c31af7Sopenharmony_ci#             else
944e5c31af7Sopenharmony_ci#             {
945e5c31af7Sopenharmony_ci#                 baseIndex = tree[baseIndex].rightIndex;
946e5c31af7Sopenharmony_ci#                 continue;
947e5c31af7Sopenharmony_ci#             }
948e5c31af7Sopenharmony_ci#         }
949e5c31af7Sopenharmony_ci#     }
950e5c31af7Sopenharmony_ci# }
951e5c31af7Sopenharmony_ci# int search(int target)
952e5c31af7Sopenharmony_ci# {
953e5c31af7Sopenharmony_ci#     BST currentNode;
954e5c31af7Sopenharmony_ci#     int index = 0;
955e5c31af7Sopenharmony_ci#     while (index != -1)
956e5c31af7Sopenharmony_ci#     {
957e5c31af7Sopenharmony_ci#         currentNode = tree[index];
958e5c31af7Sopenharmony_ci#         if (currentNode.data == target)
959e5c31af7Sopenharmony_ci#         {
960e5c31af7Sopenharmony_ci#             return target;
961e5c31af7Sopenharmony_ci#         }
962e5c31af7Sopenharmony_ci#         index = target > currentNode.data ? currentNode.rightIndex : currentNode.leftIndex;
963e5c31af7Sopenharmony_ci#     }
964e5c31af7Sopenharmony_ci#     return -1;
965e5c31af7Sopenharmony_ci# }
966e5c31af7Sopenharmony_ci# void main()
967e5c31af7Sopenharmony_ci# {
968e5c31af7Sopenharmony_ci#     int treeIndex = 0;
969e5c31af7Sopenharmony_ci#     makeTreeNode(tree[0], 9);
970e5c31af7Sopenharmony_ci#     treeIndex++;
971e5c31af7Sopenharmony_ci#     insert(treeIndex, 5);
972e5c31af7Sopenharmony_ci#     treeIndex++;
973e5c31af7Sopenharmony_ci#     // gl_FragCoord.y < 0.0 == false
974e5c31af7Sopenharmony_ci#     // Iterates once,
975e5c31af7Sopenharmony_ci#     for (int int_i = 0; (gl_FragCoord.y < 0.0) || (int_i != int(injectionSwitch.y)); int_i++)
976e5c31af7Sopenharmony_ci#     {
977e5c31af7Sopenharmony_ci#         insert(treeIndex, 12);
978e5c31af7Sopenharmony_ci#     }
979e5c31af7Sopenharmony_ci#     treeIndex++;
980e5c31af7Sopenharmony_ci#     insert(treeIndex, 15);
981e5c31af7Sopenharmony_ci#     treeIndex++;
982e5c31af7Sopenharmony_ci#     insert(treeIndex, 7);
983e5c31af7Sopenharmony_ci#     treeIndex++;
984e5c31af7Sopenharmony_ci#     insert(treeIndex, 8);
985e5c31af7Sopenharmony_ci#     treeIndex++;
986e5c31af7Sopenharmony_ci#     insert(treeIndex, 2);
987e5c31af7Sopenharmony_ci#     treeIndex++;
988e5c31af7Sopenharmony_ci#     insert(treeIndex, 6);
989e5c31af7Sopenharmony_ci#     treeIndex++;
990e5c31af7Sopenharmony_ci#     insert(treeIndex, 17);
991e5c31af7Sopenharmony_ci#     treeIndex++;
992e5c31af7Sopenharmony_ci#     insert(treeIndex, 13);
993e5c31af7Sopenharmony_ci#     int count = 0;
994e5c31af7Sopenharmony_ci#     for (int i = 0; i < 20; i++)
995e5c31af7Sopenharmony_ci#     {
996e5c31af7Sopenharmony_ci#         int result = search(i);
997e5c31af7Sopenharmony_ci#         switch (i)
998e5c31af7Sopenharmony_ci#         {
999e5c31af7Sopenharmony_ci#         case 9:
1000e5c31af7Sopenharmony_ci#         case 5:
1001e5c31af7Sopenharmony_ci#         case 12:
1002e5c31af7Sopenharmony_ci#         case 15:
1003e5c31af7Sopenharmony_ci#         case 7:
1004e5c31af7Sopenharmony_ci#         case 8:
1005e5c31af7Sopenharmony_ci#         case 2:
1006e5c31af7Sopenharmony_ci#         case 6:
1007e5c31af7Sopenharmony_ci#         case 17:
1008e5c31af7Sopenharmony_ci#         case 13:
1009e5c31af7Sopenharmony_ci#             if (result == i)
1010e5c31af7Sopenharmony_ci#             {
1011e5c31af7Sopenharmony_ci#                 count++;
1012e5c31af7Sopenharmony_ci#             }
1013e5c31af7Sopenharmony_ci#             break;
1014e5c31af7Sopenharmony_ci#         default:
1015e5c31af7Sopenharmony_ci#             if (result == -1)
1016e5c31af7Sopenharmony_ci#             {
1017e5c31af7Sopenharmony_ci#                 count++;
1018e5c31af7Sopenharmony_ci#             }
1019e5c31af7Sopenharmony_ci#             break;
1020e5c31af7Sopenharmony_ci#         }
1021e5c31af7Sopenharmony_ci#     }
1022e5c31af7Sopenharmony_ci#     if (count == 20)
1023e5c31af7Sopenharmony_ci#     {
1024e5c31af7Sopenharmony_ci#         _GLF_color = vec4(1.0, 0.0, 0.0, 1.0);
1025e5c31af7Sopenharmony_ci#     }
1026e5c31af7Sopenharmony_ci#     else
1027e5c31af7Sopenharmony_ci#     {
1028e5c31af7Sopenharmony_ci#         _GLF_color = vec4(0.0, 0.0, 1.0, 1.0);
1029e5c31af7Sopenharmony_ci#     }
1030e5c31af7Sopenharmony_ci# }
1031e5c31af7Sopenharmony_ciSHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0
1032e5c31af7Sopenharmony_ci; SPIR-V
1033e5c31af7Sopenharmony_ci; Version: 1.0
1034e5c31af7Sopenharmony_ci; Generator: Khronos Glslang Reference Front End; 10
1035e5c31af7Sopenharmony_ci; Bound: 1740
1036e5c31af7Sopenharmony_ci; Schema: 0
1037e5c31af7Sopenharmony_ci               OpCapability Shader
1038e5c31af7Sopenharmony_ci          %1 = OpExtInstImport "GLSL.std.450"
1039e5c31af7Sopenharmony_ci               OpMemoryModel Logical GLSL450
1040e5c31af7Sopenharmony_ci               OpEntryPoint Fragment %4 "main" %204 %315
1041e5c31af7Sopenharmony_ci               OpExecutionMode %4 OriginUpperLeft
1042e5c31af7Sopenharmony_ci               OpSource ESSL 320
1043e5c31af7Sopenharmony_ci               OpName %4 "main"
1044e5c31af7Sopenharmony_ci               OpName %7 "BST"
1045e5c31af7Sopenharmony_ci               OpMemberName %7 0 "data"
1046e5c31af7Sopenharmony_ci               OpMemberName %7 1 "leftIndex"
1047e5c31af7Sopenharmony_ci               OpMemberName %7 2 "rightIndex"
1048e5c31af7Sopenharmony_ci               OpName %47 "tree"
1049e5c31af7Sopenharmony_ci               OpName %63 "buf0"
1050e5c31af7Sopenharmony_ci               OpMemberName %63 0 "injectionSwitch"
1051e5c31af7Sopenharmony_ci               OpName %65 ""
1052e5c31af7Sopenharmony_ci               OpName %204 "gl_FragCoord"
1053e5c31af7Sopenharmony_ci               OpName %315 "_GLF_color"
1054e5c31af7Sopenharmony_ci               OpMemberDecorate %63 0 Offset 0
1055e5c31af7Sopenharmony_ci               OpDecorate %63 Block
1056e5c31af7Sopenharmony_ci               OpDecorate %65 DescriptorSet 0
1057e5c31af7Sopenharmony_ci               OpDecorate %65 Binding 0
1058e5c31af7Sopenharmony_ci               OpDecorate %204 BuiltIn FragCoord
1059e5c31af7Sopenharmony_ci               OpDecorate %315 Location 0
1060e5c31af7Sopenharmony_ci          %2 = OpTypeVoid
1061e5c31af7Sopenharmony_ci          %3 = OpTypeFunction %2
1062e5c31af7Sopenharmony_ci          %6 = OpTypeInt 32 1
1063e5c31af7Sopenharmony_ci          %7 = OpTypeStruct %6 %6 %6
1064e5c31af7Sopenharmony_ci          %8 = OpTypePointer Function %7
1065e5c31af7Sopenharmony_ci          %9 = OpTypePointer Function %6
1066e5c31af7Sopenharmony_ci         %24 = OpConstant %6 0
1067e5c31af7Sopenharmony_ci         %27 = OpConstant %6 1
1068e5c31af7Sopenharmony_ci         %28 = OpConstant %6 -1
1069e5c31af7Sopenharmony_ci         %30 = OpConstant %6 2
1070e5c31af7Sopenharmony_ci         %40 = OpTypeBool
1071e5c31af7Sopenharmony_ci         %43 = OpTypeInt 32 0
1072e5c31af7Sopenharmony_ci         %44 = OpConstant %43 10
1073e5c31af7Sopenharmony_ci         %45 = OpTypeArray %7 %44
1074e5c31af7Sopenharmony_ci         %61 = OpTypeFloat 32
1075e5c31af7Sopenharmony_ci         %62 = OpTypeVector %61 2
1076e5c31af7Sopenharmony_ci         %63 = OpTypeStruct %62
1077e5c31af7Sopenharmony_ci         %64 = OpTypePointer Uniform %63
1078e5c31af7Sopenharmony_ci         %65 = OpVariable %64 Uniform
1079e5c31af7Sopenharmony_ci         %66 = OpConstant %43 1
1080e5c31af7Sopenharmony_ci         %67 = OpTypePointer Uniform %61
1081e5c31af7Sopenharmony_ci         %70 = OpConstant %43 0
1082e5c31af7Sopenharmony_ci        %179 = OpConstant %6 9
1083e5c31af7Sopenharmony_ci        %189 = OpConstant %6 5
1084e5c31af7Sopenharmony_ci        %202 = OpTypeVector %61 4
1085e5c31af7Sopenharmony_ci        %203 = OpTypePointer Input %202
1086e5c31af7Sopenharmony_ci        %204 = OpVariable %203 Input
1087e5c31af7Sopenharmony_ci        %205 = OpTypePointer Input %61
1088e5c31af7Sopenharmony_ci        %208 = OpConstant %61 0
1089e5c31af7Sopenharmony_ci        %219 = OpConstant %6 12
1090e5c31af7Sopenharmony_ci        %228 = OpConstant %6 15
1091e5c31af7Sopenharmony_ci        %235 = OpConstant %6 7
1092e5c31af7Sopenharmony_ci        %242 = OpConstant %6 8
1093e5c31af7Sopenharmony_ci        %255 = OpConstant %6 6
1094e5c31af7Sopenharmony_ci        %262 = OpConstant %6 17
1095e5c31af7Sopenharmony_ci        %269 = OpConstant %6 13
1096e5c31af7Sopenharmony_ci        %282 = OpConstant %6 20
1097e5c31af7Sopenharmony_ci        %314 = OpTypePointer Output %202
1098e5c31af7Sopenharmony_ci        %315 = OpVariable %314 Output
1099e5c31af7Sopenharmony_ci        %316 = OpConstant %61 1
1100e5c31af7Sopenharmony_ci        %317 = OpConstantComposite %202 %316 %208 %208 %316
1101e5c31af7Sopenharmony_ci        %319 = OpConstantComposite %202 %208 %208 %316 %316
1102e5c31af7Sopenharmony_ci        %322 = OpConstantFalse %40
1103e5c31af7Sopenharmony_ci        %325 = OpConstantTrue %40
1104e5c31af7Sopenharmony_ci       %1301 = OpTypePointer Function %45
1105e5c31af7Sopenharmony_ci       %1620 = OpUndef %6
1106e5c31af7Sopenharmony_ci       %1727 = OpConstantComposite %7 %179 %28 %28
1107e5c31af7Sopenharmony_ci       %1728 = OpConstantComposite %7 %189 %28 %28
1108e5c31af7Sopenharmony_ci       %1729 = OpConstant %6 3
1109e5c31af7Sopenharmony_ci       %1730 = OpConstantComposite %7 %219 %28 %28
1110e5c31af7Sopenharmony_ci       %1731 = OpConstantComposite %7 %228 %28 %28
1111e5c31af7Sopenharmony_ci       %1732 = OpConstant %6 4
1112e5c31af7Sopenharmony_ci       %1733 = OpConstantComposite %7 %235 %28 %28
1113e5c31af7Sopenharmony_ci       %1734 = OpConstantComposite %7 %242 %28 %28
1114e5c31af7Sopenharmony_ci       %1735 = OpConstantComposite %7 %30 %28 %28
1115e5c31af7Sopenharmony_ci       %1736 = OpConstantComposite %7 %255 %28 %28
1116e5c31af7Sopenharmony_ci       %1737 = OpConstantComposite %7 %262 %28 %28
1117e5c31af7Sopenharmony_ci       %1738 = OpConstantComposite %7 %269 %28 %28
1118e5c31af7Sopenharmony_ci          %4 = OpFunction %2 None %3
1119e5c31af7Sopenharmony_ci          %5 = OpLabel
1120e5c31af7Sopenharmony_ci         %47 = OpVariable %1301 Function
1121e5c31af7Sopenharmony_ci        %186 = OpAccessChain %8 %47 %24
1122e5c31af7Sopenharmony_ci               OpStore %186 %1727
1123e5c31af7Sopenharmony_ci               OpSelectionMerge %432 None
1124e5c31af7Sopenharmony_ci               OpSwitch %70 %350
1125e5c31af7Sopenharmony_ci        %350 = OpLabel
1126e5c31af7Sopenharmony_ci               OpBranch %351
1127e5c31af7Sopenharmony_ci        %351 = OpLabel
1128e5c31af7Sopenharmony_ci       %1501 = OpPhi %40 %322 %350 %1674 %428
1129e5c31af7Sopenharmony_ci       %1498 = OpPhi %6 %24 %350 %1671 %428
1130e5c31af7Sopenharmony_ci        %355 = OpSLessThanEqual %40 %1498 %27
1131e5c31af7Sopenharmony_ci               OpLoopMerge %429 %428 None
1132e5c31af7Sopenharmony_ci               OpBranchConditional %355 %356 %429
1133e5c31af7Sopenharmony_ci        %356 = OpLabel
1134e5c31af7Sopenharmony_ci        %359 = OpAccessChain %9 %47 %1498 %24
1135e5c31af7Sopenharmony_ci        %360 = OpLoad %6 %359
1136e5c31af7Sopenharmony_ci        %361 = OpSLessThanEqual %40 %189 %360
1137e5c31af7Sopenharmony_ci               OpSelectionMerge %427 None
1138e5c31af7Sopenharmony_ci               OpBranchConditional %361 %362 %406
1139e5c31af7Sopenharmony_ci        %406 = OpLabel
1140e5c31af7Sopenharmony_ci        %408 = OpAccessChain %9 %47 %1498 %30
1141e5c31af7Sopenharmony_ci        %409 = OpLoad %6 %408
1142e5c31af7Sopenharmony_ci        %410 = OpIEqual %40 %409 %28
1143e5c31af7Sopenharmony_ci               OpSelectionMerge %426 None
1144e5c31af7Sopenharmony_ci               OpBranchConditional %410 %411 %422
1145e5c31af7Sopenharmony_ci        %422 = OpLabel
1146e5c31af7Sopenharmony_ci        %425 = OpLoad %6 %408
1147e5c31af7Sopenharmony_ci               OpBranch %428
1148e5c31af7Sopenharmony_ci        %411 = OpLabel
1149e5c31af7Sopenharmony_ci               OpStore %408 %27
1150e5c31af7Sopenharmony_ci        %421 = OpAccessChain %8 %47 %27
1151e5c31af7Sopenharmony_ci               OpStore %421 %1728
1152e5c31af7Sopenharmony_ci               OpBranch %429
1153e5c31af7Sopenharmony_ci        %426 = OpLabel
1154e5c31af7Sopenharmony_ci               OpUnreachable
1155e5c31af7Sopenharmony_ci        %362 = OpLabel
1156e5c31af7Sopenharmony_ci        %364 = OpAccessChain %9 %47 %1498 %27
1157e5c31af7Sopenharmony_ci        %365 = OpLoad %6 %364
1158e5c31af7Sopenharmony_ci        %366 = OpIEqual %40 %365 %28
1159e5c31af7Sopenharmony_ci               OpSelectionMerge %405 None
1160e5c31af7Sopenharmony_ci               OpBranchConditional %366 %367 %401
1161e5c31af7Sopenharmony_ci        %401 = OpLabel
1162e5c31af7Sopenharmony_ci        %404 = OpLoad %6 %364
1163e5c31af7Sopenharmony_ci               OpBranch %428
1164e5c31af7Sopenharmony_ci        %367 = OpLabel
1165e5c31af7Sopenharmony_ci        %368 = OpAccessChain %67 %65 %24 %66
1166e5c31af7Sopenharmony_ci        %369 = OpLoad %61 %368
1167e5c31af7Sopenharmony_ci        %370 = OpAccessChain %67 %65 %24 %70
1168e5c31af7Sopenharmony_ci        %371 = OpLoad %61 %370
1169e5c31af7Sopenharmony_ci        %372 = OpFOrdLessThan %40 %369 %371
1170e5c31af7Sopenharmony_ci               OpSelectionMerge %378 None
1171e5c31af7Sopenharmony_ci               OpBranchConditional %372 %373 %378
1172e5c31af7Sopenharmony_ci        %373 = OpLabel
1173e5c31af7Sopenharmony_ci               OpBranch %374
1174e5c31af7Sopenharmony_ci        %374 = OpLabel
1175e5c31af7Sopenharmony_ci               OpLoopMerge %377 %376 None
1176e5c31af7Sopenharmony_ci               OpBranch %375
1177e5c31af7Sopenharmony_ci        %375 = OpLabel
1178e5c31af7Sopenharmony_ci               OpKill
1179e5c31af7Sopenharmony_ci        %376 = OpLabel
1180e5c31af7Sopenharmony_ci               OpBranch %374
1181e5c31af7Sopenharmony_ci        %377 = OpLabel
1182e5c31af7Sopenharmony_ci               OpUnreachable
1183e5c31af7Sopenharmony_ci        %378 = OpLabel
1184e5c31af7Sopenharmony_ci               OpStore %364 %27
1185e5c31af7Sopenharmony_ci        %388 = OpAccessChain %8 %47 %27
1186e5c31af7Sopenharmony_ci               OpStore %388 %1728
1187e5c31af7Sopenharmony_ci               OpBranch %389
1188e5c31af7Sopenharmony_ci        %389 = OpLabel
1189e5c31af7Sopenharmony_ci        %394 = OpConvertFToS %6 %369
1190e5c31af7Sopenharmony_ci        %395 = OpSLessThan %40 %24 %394
1191e5c31af7Sopenharmony_ci               OpLoopMerge %398 %397 None
1192e5c31af7Sopenharmony_ci               OpBranchConditional %395 %396 %398
1193e5c31af7Sopenharmony_ci        %396 = OpLabel
1194e5c31af7Sopenharmony_ci               OpBranch %398
1195e5c31af7Sopenharmony_ci        %397 = OpLabel
1196e5c31af7Sopenharmony_ci               OpBranch %389
1197e5c31af7Sopenharmony_ci        %398 = OpLabel
1198e5c31af7Sopenharmony_ci       %1499 = OpPhi %40 %1501 %389 %325 %396
1199e5c31af7Sopenharmony_ci               OpSelectionMerge %400 None
1200e5c31af7Sopenharmony_ci               OpBranchConditional %1499 %429 %400
1201e5c31af7Sopenharmony_ci        %400 = OpLabel
1202e5c31af7Sopenharmony_ci               OpBranch %405
1203e5c31af7Sopenharmony_ci        %405 = OpLabel
1204e5c31af7Sopenharmony_ci               OpBranch %427
1205e5c31af7Sopenharmony_ci        %427 = OpLabel
1206e5c31af7Sopenharmony_ci               OpBranch %428
1207e5c31af7Sopenharmony_ci        %428 = OpLabel
1208e5c31af7Sopenharmony_ci       %1674 = OpPhi %40 %1501 %401 %1501 %422 %1499 %427
1209e5c31af7Sopenharmony_ci       %1671 = OpPhi %6 %404 %401 %425 %422 %1498 %427
1210e5c31af7Sopenharmony_ci               OpBranch %351
1211e5c31af7Sopenharmony_ci        %429 = OpLabel
1212e5c31af7Sopenharmony_ci       %1502 = OpPhi %40 %1501 %351 %1499 %398 %325 %411
1213e5c31af7Sopenharmony_ci               OpSelectionMerge %431 None
1214e5c31af7Sopenharmony_ci               OpBranchConditional %1502 %432 %431
1215e5c31af7Sopenharmony_ci        %431 = OpLabel
1216e5c31af7Sopenharmony_ci               OpBranch %432
1217e5c31af7Sopenharmony_ci        %432 = OpLabel
1218e5c31af7Sopenharmony_ci               OpBranch %197
1219e5c31af7Sopenharmony_ci        %197 = OpLabel
1220e5c31af7Sopenharmony_ci       %1509 = OpPhi %6 %24 %432 %225 %200
1221e5c31af7Sopenharmony_ci               OpLoopMerge %199 %200 None
1222e5c31af7Sopenharmony_ci               OpBranch %201
1223e5c31af7Sopenharmony_ci        %201 = OpLabel
1224e5c31af7Sopenharmony_ci        %206 = OpAccessChain %205 %204 %66
1225e5c31af7Sopenharmony_ci        %207 = OpLoad %61 %206
1226e5c31af7Sopenharmony_ci        %209 = OpFOrdLessThan %40 %207 %208
1227e5c31af7Sopenharmony_ci        %210 = OpLogicalNot %40 %209
1228e5c31af7Sopenharmony_ci               OpSelectionMerge %212 None
1229e5c31af7Sopenharmony_ci               OpBranchConditional %210 %211 %212
1230e5c31af7Sopenharmony_ci        %211 = OpLabel
1231e5c31af7Sopenharmony_ci        %214 = OpAccessChain %67 %65 %24 %66
1232e5c31af7Sopenharmony_ci        %215 = OpLoad %61 %214
1233e5c31af7Sopenharmony_ci        %216 = OpConvertFToS %6 %215
1234e5c31af7Sopenharmony_ci        %217 = OpINotEqual %40 %1509 %216
1235e5c31af7Sopenharmony_ci               OpBranch %212
1236e5c31af7Sopenharmony_ci        %212 = OpLabel
1237e5c31af7Sopenharmony_ci        %218 = OpPhi %40 %209 %201 %217 %211
1238e5c31af7Sopenharmony_ci               OpBranchConditional %218 %198 %199
1239e5c31af7Sopenharmony_ci        %198 = OpLabel
1240e5c31af7Sopenharmony_ci               OpSelectionMerge %534 None
1241e5c31af7Sopenharmony_ci               OpSwitch %70 %452
1242e5c31af7Sopenharmony_ci        %452 = OpLabel
1243e5c31af7Sopenharmony_ci               OpBranch %453
1244e5c31af7Sopenharmony_ci        %453 = OpLabel
1245e5c31af7Sopenharmony_ci       %1662 = OpPhi %40 %322 %452 %1726 %530
1246e5c31af7Sopenharmony_ci       %1659 = OpPhi %6 %24 %452 %1723 %530
1247e5c31af7Sopenharmony_ci        %457 = OpSLessThanEqual %40 %1659 %30
1248e5c31af7Sopenharmony_ci               OpLoopMerge %531 %530 None
1249e5c31af7Sopenharmony_ci               OpBranchConditional %457 %458 %531
1250e5c31af7Sopenharmony_ci        %458 = OpLabel
1251e5c31af7Sopenharmony_ci        %461 = OpAccessChain %9 %47 %1659 %24
1252e5c31af7Sopenharmony_ci        %462 = OpLoad %6 %461
1253e5c31af7Sopenharmony_ci        %463 = OpSLessThanEqual %40 %219 %462
1254e5c31af7Sopenharmony_ci               OpSelectionMerge %529 None
1255e5c31af7Sopenharmony_ci               OpBranchConditional %463 %464 %508
1256e5c31af7Sopenharmony_ci        %508 = OpLabel
1257e5c31af7Sopenharmony_ci        %510 = OpAccessChain %9 %47 %1659 %30
1258e5c31af7Sopenharmony_ci        %511 = OpLoad %6 %510
1259e5c31af7Sopenharmony_ci        %512 = OpIEqual %40 %511 %28
1260e5c31af7Sopenharmony_ci               OpSelectionMerge %528 None
1261e5c31af7Sopenharmony_ci               OpBranchConditional %512 %513 %524
1262e5c31af7Sopenharmony_ci        %524 = OpLabel
1263e5c31af7Sopenharmony_ci        %527 = OpLoad %6 %510
1264e5c31af7Sopenharmony_ci               OpBranch %530
1265e5c31af7Sopenharmony_ci        %513 = OpLabel
1266e5c31af7Sopenharmony_ci               OpStore %510 %30
1267e5c31af7Sopenharmony_ci        %523 = OpAccessChain %8 %47 %30
1268e5c31af7Sopenharmony_ci               OpStore %523 %1730
1269e5c31af7Sopenharmony_ci               OpBranch %531
1270e5c31af7Sopenharmony_ci        %528 = OpLabel
1271e5c31af7Sopenharmony_ci               OpUnreachable
1272e5c31af7Sopenharmony_ci        %464 = OpLabel
1273e5c31af7Sopenharmony_ci        %466 = OpAccessChain %9 %47 %1659 %27
1274e5c31af7Sopenharmony_ci        %467 = OpLoad %6 %466
1275e5c31af7Sopenharmony_ci        %468 = OpIEqual %40 %467 %28
1276e5c31af7Sopenharmony_ci               OpSelectionMerge %507 None
1277e5c31af7Sopenharmony_ci               OpBranchConditional %468 %469 %503
1278e5c31af7Sopenharmony_ci        %503 = OpLabel
1279e5c31af7Sopenharmony_ci        %506 = OpLoad %6 %466
1280e5c31af7Sopenharmony_ci               OpBranch %530
1281e5c31af7Sopenharmony_ci        %469 = OpLabel
1282e5c31af7Sopenharmony_ci        %470 = OpAccessChain %67 %65 %24 %66
1283e5c31af7Sopenharmony_ci        %471 = OpLoad %61 %470
1284e5c31af7Sopenharmony_ci        %472 = OpAccessChain %67 %65 %24 %70
1285e5c31af7Sopenharmony_ci        %473 = OpLoad %61 %472
1286e5c31af7Sopenharmony_ci        %474 = OpFOrdLessThan %40 %471 %473
1287e5c31af7Sopenharmony_ci               OpSelectionMerge %480 None
1288e5c31af7Sopenharmony_ci               OpBranchConditional %474 %475 %480
1289e5c31af7Sopenharmony_ci        %475 = OpLabel
1290e5c31af7Sopenharmony_ci               OpBranch %476
1291e5c31af7Sopenharmony_ci        %476 = OpLabel
1292e5c31af7Sopenharmony_ci               OpLoopMerge %479 %478 None
1293e5c31af7Sopenharmony_ci               OpBranch %477
1294e5c31af7Sopenharmony_ci        %477 = OpLabel
1295e5c31af7Sopenharmony_ci               OpKill
1296e5c31af7Sopenharmony_ci        %478 = OpLabel
1297e5c31af7Sopenharmony_ci               OpBranch %476
1298e5c31af7Sopenharmony_ci        %479 = OpLabel
1299e5c31af7Sopenharmony_ci               OpUnreachable
1300e5c31af7Sopenharmony_ci        %480 = OpLabel
1301e5c31af7Sopenharmony_ci               OpStore %466 %30
1302e5c31af7Sopenharmony_ci        %490 = OpAccessChain %8 %47 %30
1303e5c31af7Sopenharmony_ci               OpStore %490 %1730
1304e5c31af7Sopenharmony_ci               OpBranch %491
1305e5c31af7Sopenharmony_ci        %491 = OpLabel
1306e5c31af7Sopenharmony_ci        %496 = OpConvertFToS %6 %471
1307e5c31af7Sopenharmony_ci        %497 = OpSLessThan %40 %24 %496
1308e5c31af7Sopenharmony_ci               OpLoopMerge %500 %499 None
1309e5c31af7Sopenharmony_ci               OpBranchConditional %497 %498 %500
1310e5c31af7Sopenharmony_ci        %498 = OpLabel
1311e5c31af7Sopenharmony_ci               OpBranch %500
1312e5c31af7Sopenharmony_ci        %499 = OpLabel
1313e5c31af7Sopenharmony_ci               OpBranch %491
1314e5c31af7Sopenharmony_ci        %500 = OpLabel
1315e5c31af7Sopenharmony_ci       %1660 = OpPhi %40 %1662 %491 %325 %498
1316e5c31af7Sopenharmony_ci               OpSelectionMerge %502 None
1317e5c31af7Sopenharmony_ci               OpBranchConditional %1660 %531 %502
1318e5c31af7Sopenharmony_ci        %502 = OpLabel
1319e5c31af7Sopenharmony_ci               OpBranch %507
1320e5c31af7Sopenharmony_ci        %507 = OpLabel
1321e5c31af7Sopenharmony_ci               OpBranch %529
1322e5c31af7Sopenharmony_ci        %529 = OpLabel
1323e5c31af7Sopenharmony_ci               OpBranch %530
1324e5c31af7Sopenharmony_ci        %530 = OpLabel
1325e5c31af7Sopenharmony_ci       %1726 = OpPhi %40 %1662 %503 %1662 %524 %1660 %529
1326e5c31af7Sopenharmony_ci       %1723 = OpPhi %6 %506 %503 %527 %524 %1659 %529
1327e5c31af7Sopenharmony_ci               OpBranch %453
1328e5c31af7Sopenharmony_ci        %531 = OpLabel
1329e5c31af7Sopenharmony_ci       %1663 = OpPhi %40 %1662 %453 %1660 %500 %325 %513
1330e5c31af7Sopenharmony_ci               OpSelectionMerge %533 None
1331e5c31af7Sopenharmony_ci               OpBranchConditional %1663 %534 %533
1332e5c31af7Sopenharmony_ci        %533 = OpLabel
1333e5c31af7Sopenharmony_ci               OpBranch %534
1334e5c31af7Sopenharmony_ci        %534 = OpLabel
1335e5c31af7Sopenharmony_ci               OpBranch %200
1336e5c31af7Sopenharmony_ci        %200 = OpLabel
1337e5c31af7Sopenharmony_ci        %225 = OpIAdd %6 %1509 %27
1338e5c31af7Sopenharmony_ci               OpBranch %197
1339e5c31af7Sopenharmony_ci        %199 = OpLabel
1340e5c31af7Sopenharmony_ci               OpSelectionMerge %636 None
1341e5c31af7Sopenharmony_ci               OpSwitch %70 %554
1342e5c31af7Sopenharmony_ci        %554 = OpLabel
1343e5c31af7Sopenharmony_ci               OpBranch %555
1344e5c31af7Sopenharmony_ci        %555 = OpLabel
1345e5c31af7Sopenharmony_ci       %1515 = OpPhi %40 %322 %554 %1685 %632
1346e5c31af7Sopenharmony_ci       %1512 = OpPhi %6 %24 %554 %1682 %632
1347e5c31af7Sopenharmony_ci        %559 = OpSLessThanEqual %40 %1512 %1729
1348e5c31af7Sopenharmony_ci               OpLoopMerge %633 %632 None
1349e5c31af7Sopenharmony_ci               OpBranchConditional %559 %560 %633
1350e5c31af7Sopenharmony_ci        %560 = OpLabel
1351e5c31af7Sopenharmony_ci        %563 = OpAccessChain %9 %47 %1512 %24
1352e5c31af7Sopenharmony_ci        %564 = OpLoad %6 %563
1353e5c31af7Sopenharmony_ci        %565 = OpSLessThanEqual %40 %228 %564
1354e5c31af7Sopenharmony_ci               OpSelectionMerge %631 None
1355e5c31af7Sopenharmony_ci               OpBranchConditional %565 %566 %610
1356e5c31af7Sopenharmony_ci        %610 = OpLabel
1357e5c31af7Sopenharmony_ci        %612 = OpAccessChain %9 %47 %1512 %30
1358e5c31af7Sopenharmony_ci        %613 = OpLoad %6 %612
1359e5c31af7Sopenharmony_ci        %614 = OpIEqual %40 %613 %28
1360e5c31af7Sopenharmony_ci               OpSelectionMerge %630 None
1361e5c31af7Sopenharmony_ci               OpBranchConditional %614 %615 %626
1362e5c31af7Sopenharmony_ci        %626 = OpLabel
1363e5c31af7Sopenharmony_ci        %629 = OpLoad %6 %612
1364e5c31af7Sopenharmony_ci               OpBranch %632
1365e5c31af7Sopenharmony_ci        %615 = OpLabel
1366e5c31af7Sopenharmony_ci               OpStore %612 %1729
1367e5c31af7Sopenharmony_ci        %625 = OpAccessChain %8 %47 %1729
1368e5c31af7Sopenharmony_ci               OpStore %625 %1731
1369e5c31af7Sopenharmony_ci               OpBranch %633
1370e5c31af7Sopenharmony_ci        %630 = OpLabel
1371e5c31af7Sopenharmony_ci               OpUnreachable
1372e5c31af7Sopenharmony_ci        %566 = OpLabel
1373e5c31af7Sopenharmony_ci        %568 = OpAccessChain %9 %47 %1512 %27
1374e5c31af7Sopenharmony_ci        %569 = OpLoad %6 %568
1375e5c31af7Sopenharmony_ci        %570 = OpIEqual %40 %569 %28
1376e5c31af7Sopenharmony_ci               OpSelectionMerge %609 None
1377e5c31af7Sopenharmony_ci               OpBranchConditional %570 %571 %605
1378e5c31af7Sopenharmony_ci        %605 = OpLabel
1379e5c31af7Sopenharmony_ci        %608 = OpLoad %6 %568
1380e5c31af7Sopenharmony_ci               OpBranch %632
1381e5c31af7Sopenharmony_ci        %571 = OpLabel
1382e5c31af7Sopenharmony_ci        %572 = OpAccessChain %67 %65 %24 %66
1383e5c31af7Sopenharmony_ci        %573 = OpLoad %61 %572
1384e5c31af7Sopenharmony_ci        %574 = OpAccessChain %67 %65 %24 %70
1385e5c31af7Sopenharmony_ci        %575 = OpLoad %61 %574
1386e5c31af7Sopenharmony_ci        %576 = OpFOrdLessThan %40 %573 %575
1387e5c31af7Sopenharmony_ci               OpSelectionMerge %582 None
1388e5c31af7Sopenharmony_ci               OpBranchConditional %576 %577 %582
1389e5c31af7Sopenharmony_ci        %577 = OpLabel
1390e5c31af7Sopenharmony_ci               OpBranch %578
1391e5c31af7Sopenharmony_ci        %578 = OpLabel
1392e5c31af7Sopenharmony_ci               OpLoopMerge %581 %580 None
1393e5c31af7Sopenharmony_ci               OpBranch %579
1394e5c31af7Sopenharmony_ci        %579 = OpLabel
1395e5c31af7Sopenharmony_ci               OpKill
1396e5c31af7Sopenharmony_ci        %580 = OpLabel
1397e5c31af7Sopenharmony_ci               OpBranch %578
1398e5c31af7Sopenharmony_ci        %581 = OpLabel
1399e5c31af7Sopenharmony_ci               OpUnreachable
1400e5c31af7Sopenharmony_ci        %582 = OpLabel
1401e5c31af7Sopenharmony_ci               OpStore %568 %1729
1402e5c31af7Sopenharmony_ci        %592 = OpAccessChain %8 %47 %1729
1403e5c31af7Sopenharmony_ci               OpStore %592 %1731
1404e5c31af7Sopenharmony_ci               OpBranch %593
1405e5c31af7Sopenharmony_ci        %593 = OpLabel
1406e5c31af7Sopenharmony_ci        %598 = OpConvertFToS %6 %573
1407e5c31af7Sopenharmony_ci        %599 = OpSLessThan %40 %24 %598
1408e5c31af7Sopenharmony_ci               OpLoopMerge %602 %601 None
1409e5c31af7Sopenharmony_ci               OpBranchConditional %599 %600 %602
1410e5c31af7Sopenharmony_ci        %600 = OpLabel
1411e5c31af7Sopenharmony_ci               OpBranch %602
1412e5c31af7Sopenharmony_ci        %601 = OpLabel
1413e5c31af7Sopenharmony_ci               OpBranch %593
1414e5c31af7Sopenharmony_ci        %602 = OpLabel
1415e5c31af7Sopenharmony_ci       %1513 = OpPhi %40 %1515 %593 %325 %600
1416e5c31af7Sopenharmony_ci               OpSelectionMerge %604 None
1417e5c31af7Sopenharmony_ci               OpBranchConditional %1513 %633 %604
1418e5c31af7Sopenharmony_ci        %604 = OpLabel
1419e5c31af7Sopenharmony_ci               OpBranch %609
1420e5c31af7Sopenharmony_ci        %609 = OpLabel
1421e5c31af7Sopenharmony_ci               OpBranch %631
1422e5c31af7Sopenharmony_ci        %631 = OpLabel
1423e5c31af7Sopenharmony_ci               OpBranch %632
1424e5c31af7Sopenharmony_ci        %632 = OpLabel
1425e5c31af7Sopenharmony_ci       %1685 = OpPhi %40 %1515 %605 %1515 %626 %1513 %631
1426e5c31af7Sopenharmony_ci       %1682 = OpPhi %6 %608 %605 %629 %626 %1512 %631
1427e5c31af7Sopenharmony_ci               OpBranch %555
1428e5c31af7Sopenharmony_ci        %633 = OpLabel
1429e5c31af7Sopenharmony_ci       %1516 = OpPhi %40 %1515 %555 %1513 %602 %325 %615
1430e5c31af7Sopenharmony_ci               OpSelectionMerge %635 None
1431e5c31af7Sopenharmony_ci               OpBranchConditional %1516 %636 %635
1432e5c31af7Sopenharmony_ci        %635 = OpLabel
1433e5c31af7Sopenharmony_ci               OpBranch %636
1434e5c31af7Sopenharmony_ci        %636 = OpLabel
1435e5c31af7Sopenharmony_ci               OpSelectionMerge %738 None
1436e5c31af7Sopenharmony_ci               OpSwitch %70 %656
1437e5c31af7Sopenharmony_ci        %656 = OpLabel
1438e5c31af7Sopenharmony_ci               OpBranch %657
1439e5c31af7Sopenharmony_ci        %657 = OpLabel
1440e5c31af7Sopenharmony_ci       %1526 = OpPhi %40 %322 %656 %1689 %734
1441e5c31af7Sopenharmony_ci       %1523 = OpPhi %6 %24 %656 %1686 %734
1442e5c31af7Sopenharmony_ci        %661 = OpSLessThanEqual %40 %1523 %1732
1443e5c31af7Sopenharmony_ci               OpLoopMerge %735 %734 None
1444e5c31af7Sopenharmony_ci               OpBranchConditional %661 %662 %735
1445e5c31af7Sopenharmony_ci        %662 = OpLabel
1446e5c31af7Sopenharmony_ci        %665 = OpAccessChain %9 %47 %1523 %24
1447e5c31af7Sopenharmony_ci        %666 = OpLoad %6 %665
1448e5c31af7Sopenharmony_ci        %667 = OpSLessThanEqual %40 %235 %666
1449e5c31af7Sopenharmony_ci               OpSelectionMerge %733 None
1450e5c31af7Sopenharmony_ci               OpBranchConditional %667 %668 %712
1451e5c31af7Sopenharmony_ci        %712 = OpLabel
1452e5c31af7Sopenharmony_ci        %714 = OpAccessChain %9 %47 %1523 %30
1453e5c31af7Sopenharmony_ci        %715 = OpLoad %6 %714
1454e5c31af7Sopenharmony_ci        %716 = OpIEqual %40 %715 %28
1455e5c31af7Sopenharmony_ci               OpSelectionMerge %732 None
1456e5c31af7Sopenharmony_ci               OpBranchConditional %716 %717 %728
1457e5c31af7Sopenharmony_ci        %728 = OpLabel
1458e5c31af7Sopenharmony_ci        %731 = OpLoad %6 %714
1459e5c31af7Sopenharmony_ci               OpBranch %734
1460e5c31af7Sopenharmony_ci        %717 = OpLabel
1461e5c31af7Sopenharmony_ci               OpStore %714 %1732
1462e5c31af7Sopenharmony_ci        %727 = OpAccessChain %8 %47 %1732
1463e5c31af7Sopenharmony_ci               OpStore %727 %1733
1464e5c31af7Sopenharmony_ci               OpBranch %735
1465e5c31af7Sopenharmony_ci        %732 = OpLabel
1466e5c31af7Sopenharmony_ci               OpUnreachable
1467e5c31af7Sopenharmony_ci        %668 = OpLabel
1468e5c31af7Sopenharmony_ci        %670 = OpAccessChain %9 %47 %1523 %27
1469e5c31af7Sopenharmony_ci        %671 = OpLoad %6 %670
1470e5c31af7Sopenharmony_ci        %672 = OpIEqual %40 %671 %28
1471e5c31af7Sopenharmony_ci               OpSelectionMerge %711 None
1472e5c31af7Sopenharmony_ci               OpBranchConditional %672 %673 %707
1473e5c31af7Sopenharmony_ci        %707 = OpLabel
1474e5c31af7Sopenharmony_ci        %710 = OpLoad %6 %670
1475e5c31af7Sopenharmony_ci               OpBranch %734
1476e5c31af7Sopenharmony_ci        %673 = OpLabel
1477e5c31af7Sopenharmony_ci        %674 = OpAccessChain %67 %65 %24 %66
1478e5c31af7Sopenharmony_ci        %675 = OpLoad %61 %674
1479e5c31af7Sopenharmony_ci        %676 = OpAccessChain %67 %65 %24 %70
1480e5c31af7Sopenharmony_ci        %677 = OpLoad %61 %676
1481e5c31af7Sopenharmony_ci        %678 = OpFOrdLessThan %40 %675 %677
1482e5c31af7Sopenharmony_ci               OpSelectionMerge %684 None
1483e5c31af7Sopenharmony_ci               OpBranchConditional %678 %679 %684
1484e5c31af7Sopenharmony_ci        %679 = OpLabel
1485e5c31af7Sopenharmony_ci               OpBranch %680
1486e5c31af7Sopenharmony_ci        %680 = OpLabel
1487e5c31af7Sopenharmony_ci               OpLoopMerge %683 %682 None
1488e5c31af7Sopenharmony_ci               OpBranch %681
1489e5c31af7Sopenharmony_ci        %681 = OpLabel
1490e5c31af7Sopenharmony_ci               OpKill
1491e5c31af7Sopenharmony_ci        %682 = OpLabel
1492e5c31af7Sopenharmony_ci               OpBranch %680
1493e5c31af7Sopenharmony_ci        %683 = OpLabel
1494e5c31af7Sopenharmony_ci               OpUnreachable
1495e5c31af7Sopenharmony_ci        %684 = OpLabel
1496e5c31af7Sopenharmony_ci               OpStore %670 %1732
1497e5c31af7Sopenharmony_ci        %694 = OpAccessChain %8 %47 %1732
1498e5c31af7Sopenharmony_ci               OpStore %694 %1733
1499e5c31af7Sopenharmony_ci               OpBranch %695
1500e5c31af7Sopenharmony_ci        %695 = OpLabel
1501e5c31af7Sopenharmony_ci        %700 = OpConvertFToS %6 %675
1502e5c31af7Sopenharmony_ci        %701 = OpSLessThan %40 %24 %700
1503e5c31af7Sopenharmony_ci               OpLoopMerge %704 %703 None
1504e5c31af7Sopenharmony_ci               OpBranchConditional %701 %702 %704
1505e5c31af7Sopenharmony_ci        %702 = OpLabel
1506e5c31af7Sopenharmony_ci               OpBranch %704
1507e5c31af7Sopenharmony_ci        %703 = OpLabel
1508e5c31af7Sopenharmony_ci               OpBranch %695
1509e5c31af7Sopenharmony_ci        %704 = OpLabel
1510e5c31af7Sopenharmony_ci       %1524 = OpPhi %40 %1526 %695 %325 %702
1511e5c31af7Sopenharmony_ci               OpSelectionMerge %706 None
1512e5c31af7Sopenharmony_ci               OpBranchConditional %1524 %735 %706
1513e5c31af7Sopenharmony_ci        %706 = OpLabel
1514e5c31af7Sopenharmony_ci               OpBranch %711
1515e5c31af7Sopenharmony_ci        %711 = OpLabel
1516e5c31af7Sopenharmony_ci               OpBranch %733
1517e5c31af7Sopenharmony_ci        %733 = OpLabel
1518e5c31af7Sopenharmony_ci               OpBranch %734
1519e5c31af7Sopenharmony_ci        %734 = OpLabel
1520e5c31af7Sopenharmony_ci       %1689 = OpPhi %40 %1526 %707 %1526 %728 %1524 %733
1521e5c31af7Sopenharmony_ci       %1686 = OpPhi %6 %710 %707 %731 %728 %1523 %733
1522e5c31af7Sopenharmony_ci               OpBranch %657
1523e5c31af7Sopenharmony_ci        %735 = OpLabel
1524e5c31af7Sopenharmony_ci       %1527 = OpPhi %40 %1526 %657 %1524 %704 %325 %717
1525e5c31af7Sopenharmony_ci               OpSelectionMerge %737 None
1526e5c31af7Sopenharmony_ci               OpBranchConditional %1527 %738 %737
1527e5c31af7Sopenharmony_ci        %737 = OpLabel
1528e5c31af7Sopenharmony_ci               OpBranch %738
1529e5c31af7Sopenharmony_ci        %738 = OpLabel
1530e5c31af7Sopenharmony_ci               OpSelectionMerge %840 None
1531e5c31af7Sopenharmony_ci               OpSwitch %70 %758
1532e5c31af7Sopenharmony_ci        %758 = OpLabel
1533e5c31af7Sopenharmony_ci               OpBranch %759
1534e5c31af7Sopenharmony_ci        %759 = OpLabel
1535e5c31af7Sopenharmony_ci       %1537 = OpPhi %40 %322 %758 %1693 %836
1536e5c31af7Sopenharmony_ci       %1534 = OpPhi %6 %24 %758 %1690 %836
1537e5c31af7Sopenharmony_ci        %763 = OpSLessThanEqual %40 %1534 %189
1538e5c31af7Sopenharmony_ci               OpLoopMerge %837 %836 None
1539e5c31af7Sopenharmony_ci               OpBranchConditional %763 %764 %837
1540e5c31af7Sopenharmony_ci        %764 = OpLabel
1541e5c31af7Sopenharmony_ci        %767 = OpAccessChain %9 %47 %1534 %24
1542e5c31af7Sopenharmony_ci        %768 = OpLoad %6 %767
1543e5c31af7Sopenharmony_ci        %769 = OpSLessThanEqual %40 %242 %768
1544e5c31af7Sopenharmony_ci               OpSelectionMerge %835 None
1545e5c31af7Sopenharmony_ci               OpBranchConditional %769 %770 %814
1546e5c31af7Sopenharmony_ci        %814 = OpLabel
1547e5c31af7Sopenharmony_ci        %816 = OpAccessChain %9 %47 %1534 %30
1548e5c31af7Sopenharmony_ci        %817 = OpLoad %6 %816
1549e5c31af7Sopenharmony_ci        %818 = OpIEqual %40 %817 %28
1550e5c31af7Sopenharmony_ci               OpSelectionMerge %834 None
1551e5c31af7Sopenharmony_ci               OpBranchConditional %818 %819 %830
1552e5c31af7Sopenharmony_ci        %830 = OpLabel
1553e5c31af7Sopenharmony_ci        %833 = OpLoad %6 %816
1554e5c31af7Sopenharmony_ci               OpBranch %836
1555e5c31af7Sopenharmony_ci        %819 = OpLabel
1556e5c31af7Sopenharmony_ci               OpStore %816 %189
1557e5c31af7Sopenharmony_ci        %829 = OpAccessChain %8 %47 %189
1558e5c31af7Sopenharmony_ci               OpStore %829 %1734
1559e5c31af7Sopenharmony_ci               OpBranch %837
1560e5c31af7Sopenharmony_ci        %834 = OpLabel
1561e5c31af7Sopenharmony_ci               OpUnreachable
1562e5c31af7Sopenharmony_ci        %770 = OpLabel
1563e5c31af7Sopenharmony_ci        %772 = OpAccessChain %9 %47 %1534 %27
1564e5c31af7Sopenharmony_ci        %773 = OpLoad %6 %772
1565e5c31af7Sopenharmony_ci        %774 = OpIEqual %40 %773 %28
1566e5c31af7Sopenharmony_ci               OpSelectionMerge %813 None
1567e5c31af7Sopenharmony_ci               OpBranchConditional %774 %775 %809
1568e5c31af7Sopenharmony_ci        %809 = OpLabel
1569e5c31af7Sopenharmony_ci        %812 = OpLoad %6 %772
1570e5c31af7Sopenharmony_ci               OpBranch %836
1571e5c31af7Sopenharmony_ci        %775 = OpLabel
1572e5c31af7Sopenharmony_ci        %776 = OpAccessChain %67 %65 %24 %66
1573e5c31af7Sopenharmony_ci        %777 = OpLoad %61 %776
1574e5c31af7Sopenharmony_ci        %778 = OpAccessChain %67 %65 %24 %70
1575e5c31af7Sopenharmony_ci        %779 = OpLoad %61 %778
1576e5c31af7Sopenharmony_ci        %780 = OpFOrdLessThan %40 %777 %779
1577e5c31af7Sopenharmony_ci               OpSelectionMerge %786 None
1578e5c31af7Sopenharmony_ci               OpBranchConditional %780 %781 %786
1579e5c31af7Sopenharmony_ci        %781 = OpLabel
1580e5c31af7Sopenharmony_ci               OpBranch %782
1581e5c31af7Sopenharmony_ci        %782 = OpLabel
1582e5c31af7Sopenharmony_ci               OpLoopMerge %785 %784 None
1583e5c31af7Sopenharmony_ci               OpBranch %783
1584e5c31af7Sopenharmony_ci        %783 = OpLabel
1585e5c31af7Sopenharmony_ci               OpKill
1586e5c31af7Sopenharmony_ci        %784 = OpLabel
1587e5c31af7Sopenharmony_ci               OpBranch %782
1588e5c31af7Sopenharmony_ci        %785 = OpLabel
1589e5c31af7Sopenharmony_ci               OpUnreachable
1590e5c31af7Sopenharmony_ci        %786 = OpLabel
1591e5c31af7Sopenharmony_ci               OpStore %772 %189
1592e5c31af7Sopenharmony_ci        %796 = OpAccessChain %8 %47 %189
1593e5c31af7Sopenharmony_ci               OpStore %796 %1734
1594e5c31af7Sopenharmony_ci               OpBranch %797
1595e5c31af7Sopenharmony_ci        %797 = OpLabel
1596e5c31af7Sopenharmony_ci        %802 = OpConvertFToS %6 %777
1597e5c31af7Sopenharmony_ci        %803 = OpSLessThan %40 %24 %802
1598e5c31af7Sopenharmony_ci               OpLoopMerge %806 %805 None
1599e5c31af7Sopenharmony_ci               OpBranchConditional %803 %804 %806
1600e5c31af7Sopenharmony_ci        %804 = OpLabel
1601e5c31af7Sopenharmony_ci               OpBranch %806
1602e5c31af7Sopenharmony_ci        %805 = OpLabel
1603e5c31af7Sopenharmony_ci               OpBranch %797
1604e5c31af7Sopenharmony_ci        %806 = OpLabel
1605e5c31af7Sopenharmony_ci       %1535 = OpPhi %40 %1537 %797 %325 %804
1606e5c31af7Sopenharmony_ci               OpSelectionMerge %808 None
1607e5c31af7Sopenharmony_ci               OpBranchConditional %1535 %837 %808
1608e5c31af7Sopenharmony_ci        %808 = OpLabel
1609e5c31af7Sopenharmony_ci               OpBranch %813
1610e5c31af7Sopenharmony_ci        %813 = OpLabel
1611e5c31af7Sopenharmony_ci               OpBranch %835
1612e5c31af7Sopenharmony_ci        %835 = OpLabel
1613e5c31af7Sopenharmony_ci               OpBranch %836
1614e5c31af7Sopenharmony_ci        %836 = OpLabel
1615e5c31af7Sopenharmony_ci       %1693 = OpPhi %40 %1537 %809 %1537 %830 %1535 %835
1616e5c31af7Sopenharmony_ci       %1690 = OpPhi %6 %812 %809 %833 %830 %1534 %835
1617e5c31af7Sopenharmony_ci               OpBranch %759
1618e5c31af7Sopenharmony_ci        %837 = OpLabel
1619e5c31af7Sopenharmony_ci       %1538 = OpPhi %40 %1537 %759 %1535 %806 %325 %819
1620e5c31af7Sopenharmony_ci               OpSelectionMerge %839 None
1621e5c31af7Sopenharmony_ci               OpBranchConditional %1538 %840 %839
1622e5c31af7Sopenharmony_ci        %839 = OpLabel
1623e5c31af7Sopenharmony_ci               OpBranch %840
1624e5c31af7Sopenharmony_ci        %840 = OpLabel
1625e5c31af7Sopenharmony_ci               OpSelectionMerge %942 None
1626e5c31af7Sopenharmony_ci               OpSwitch %70 %860
1627e5c31af7Sopenharmony_ci        %860 = OpLabel
1628e5c31af7Sopenharmony_ci               OpBranch %861
1629e5c31af7Sopenharmony_ci        %861 = OpLabel
1630e5c31af7Sopenharmony_ci       %1548 = OpPhi %40 %322 %860 %1697 %938
1631e5c31af7Sopenharmony_ci       %1545 = OpPhi %6 %24 %860 %1694 %938
1632e5c31af7Sopenharmony_ci        %865 = OpSLessThanEqual %40 %1545 %255
1633e5c31af7Sopenharmony_ci               OpLoopMerge %939 %938 None
1634e5c31af7Sopenharmony_ci               OpBranchConditional %865 %866 %939
1635e5c31af7Sopenharmony_ci        %866 = OpLabel
1636e5c31af7Sopenharmony_ci        %869 = OpAccessChain %9 %47 %1545 %24
1637e5c31af7Sopenharmony_ci        %870 = OpLoad %6 %869
1638e5c31af7Sopenharmony_ci        %871 = OpSLessThanEqual %40 %30 %870
1639e5c31af7Sopenharmony_ci               OpSelectionMerge %937 None
1640e5c31af7Sopenharmony_ci               OpBranchConditional %871 %872 %916
1641e5c31af7Sopenharmony_ci        %916 = OpLabel
1642e5c31af7Sopenharmony_ci        %918 = OpAccessChain %9 %47 %1545 %30
1643e5c31af7Sopenharmony_ci        %919 = OpLoad %6 %918
1644e5c31af7Sopenharmony_ci        %920 = OpIEqual %40 %919 %28
1645e5c31af7Sopenharmony_ci               OpSelectionMerge %936 None
1646e5c31af7Sopenharmony_ci               OpBranchConditional %920 %921 %932
1647e5c31af7Sopenharmony_ci        %932 = OpLabel
1648e5c31af7Sopenharmony_ci        %935 = OpLoad %6 %918
1649e5c31af7Sopenharmony_ci               OpBranch %938
1650e5c31af7Sopenharmony_ci        %921 = OpLabel
1651e5c31af7Sopenharmony_ci               OpStore %918 %255
1652e5c31af7Sopenharmony_ci        %931 = OpAccessChain %8 %47 %255
1653e5c31af7Sopenharmony_ci               OpStore %931 %1735
1654e5c31af7Sopenharmony_ci               OpBranch %939
1655e5c31af7Sopenharmony_ci        %936 = OpLabel
1656e5c31af7Sopenharmony_ci               OpUnreachable
1657e5c31af7Sopenharmony_ci        %872 = OpLabel
1658e5c31af7Sopenharmony_ci        %874 = OpAccessChain %9 %47 %1545 %27
1659e5c31af7Sopenharmony_ci        %875 = OpLoad %6 %874
1660e5c31af7Sopenharmony_ci        %876 = OpIEqual %40 %875 %28
1661e5c31af7Sopenharmony_ci               OpSelectionMerge %915 None
1662e5c31af7Sopenharmony_ci               OpBranchConditional %876 %877 %911
1663e5c31af7Sopenharmony_ci        %911 = OpLabel
1664e5c31af7Sopenharmony_ci        %914 = OpLoad %6 %874
1665e5c31af7Sopenharmony_ci               OpBranch %938
1666e5c31af7Sopenharmony_ci        %877 = OpLabel
1667e5c31af7Sopenharmony_ci        %878 = OpAccessChain %67 %65 %24 %66
1668e5c31af7Sopenharmony_ci        %879 = OpLoad %61 %878
1669e5c31af7Sopenharmony_ci        %880 = OpAccessChain %67 %65 %24 %70
1670e5c31af7Sopenharmony_ci        %881 = OpLoad %61 %880
1671e5c31af7Sopenharmony_ci        %882 = OpFOrdLessThan %40 %879 %881
1672e5c31af7Sopenharmony_ci               OpSelectionMerge %888 None
1673e5c31af7Sopenharmony_ci               OpBranchConditional %882 %883 %888
1674e5c31af7Sopenharmony_ci        %883 = OpLabel
1675e5c31af7Sopenharmony_ci               OpBranch %884
1676e5c31af7Sopenharmony_ci        %884 = OpLabel
1677e5c31af7Sopenharmony_ci               OpLoopMerge %887 %886 None
1678e5c31af7Sopenharmony_ci               OpBranch %885
1679e5c31af7Sopenharmony_ci        %885 = OpLabel
1680e5c31af7Sopenharmony_ci               OpKill
1681e5c31af7Sopenharmony_ci        %886 = OpLabel
1682e5c31af7Sopenharmony_ci               OpBranch %884
1683e5c31af7Sopenharmony_ci        %887 = OpLabel
1684e5c31af7Sopenharmony_ci               OpUnreachable
1685e5c31af7Sopenharmony_ci        %888 = OpLabel
1686e5c31af7Sopenharmony_ci               OpStore %874 %255
1687e5c31af7Sopenharmony_ci        %898 = OpAccessChain %8 %47 %255
1688e5c31af7Sopenharmony_ci               OpStore %898 %1735
1689e5c31af7Sopenharmony_ci               OpBranch %899
1690e5c31af7Sopenharmony_ci        %899 = OpLabel
1691e5c31af7Sopenharmony_ci        %904 = OpConvertFToS %6 %879
1692e5c31af7Sopenharmony_ci        %905 = OpSLessThan %40 %24 %904
1693e5c31af7Sopenharmony_ci               OpLoopMerge %908 %907 None
1694e5c31af7Sopenharmony_ci               OpBranchConditional %905 %906 %908
1695e5c31af7Sopenharmony_ci        %906 = OpLabel
1696e5c31af7Sopenharmony_ci               OpBranch %908
1697e5c31af7Sopenharmony_ci        %907 = OpLabel
1698e5c31af7Sopenharmony_ci               OpBranch %899
1699e5c31af7Sopenharmony_ci        %908 = OpLabel
1700e5c31af7Sopenharmony_ci       %1546 = OpPhi %40 %1548 %899 %325 %906
1701e5c31af7Sopenharmony_ci               OpSelectionMerge %910 None
1702e5c31af7Sopenharmony_ci               OpBranchConditional %1546 %939 %910
1703e5c31af7Sopenharmony_ci        %910 = OpLabel
1704e5c31af7Sopenharmony_ci               OpBranch %915
1705e5c31af7Sopenharmony_ci        %915 = OpLabel
1706e5c31af7Sopenharmony_ci               OpBranch %937
1707e5c31af7Sopenharmony_ci        %937 = OpLabel
1708e5c31af7Sopenharmony_ci               OpBranch %938
1709e5c31af7Sopenharmony_ci        %938 = OpLabel
1710e5c31af7Sopenharmony_ci       %1697 = OpPhi %40 %1548 %911 %1548 %932 %1546 %937
1711e5c31af7Sopenharmony_ci       %1694 = OpPhi %6 %914 %911 %935 %932 %1545 %937
1712e5c31af7Sopenharmony_ci               OpBranch %861
1713e5c31af7Sopenharmony_ci        %939 = OpLabel
1714e5c31af7Sopenharmony_ci       %1549 = OpPhi %40 %1548 %861 %1546 %908 %325 %921
1715e5c31af7Sopenharmony_ci               OpSelectionMerge %941 None
1716e5c31af7Sopenharmony_ci               OpBranchConditional %1549 %942 %941
1717e5c31af7Sopenharmony_ci        %941 = OpLabel
1718e5c31af7Sopenharmony_ci               OpBranch %942
1719e5c31af7Sopenharmony_ci        %942 = OpLabel
1720e5c31af7Sopenharmony_ci               OpSelectionMerge %1044 None
1721e5c31af7Sopenharmony_ci               OpSwitch %70 %962
1722e5c31af7Sopenharmony_ci        %962 = OpLabel
1723e5c31af7Sopenharmony_ci               OpBranch %963
1724e5c31af7Sopenharmony_ci        %963 = OpLabel
1725e5c31af7Sopenharmony_ci       %1559 = OpPhi %40 %322 %962 %1701 %1040
1726e5c31af7Sopenharmony_ci       %1556 = OpPhi %6 %24 %962 %1698 %1040
1727e5c31af7Sopenharmony_ci        %967 = OpSLessThanEqual %40 %1556 %235
1728e5c31af7Sopenharmony_ci               OpLoopMerge %1041 %1040 None
1729e5c31af7Sopenharmony_ci               OpBranchConditional %967 %968 %1041
1730e5c31af7Sopenharmony_ci        %968 = OpLabel
1731e5c31af7Sopenharmony_ci        %971 = OpAccessChain %9 %47 %1556 %24
1732e5c31af7Sopenharmony_ci        %972 = OpLoad %6 %971
1733e5c31af7Sopenharmony_ci        %973 = OpSLessThanEqual %40 %255 %972
1734e5c31af7Sopenharmony_ci               OpSelectionMerge %1039 None
1735e5c31af7Sopenharmony_ci               OpBranchConditional %973 %974 %1018
1736e5c31af7Sopenharmony_ci       %1018 = OpLabel
1737e5c31af7Sopenharmony_ci       %1020 = OpAccessChain %9 %47 %1556 %30
1738e5c31af7Sopenharmony_ci       %1021 = OpLoad %6 %1020
1739e5c31af7Sopenharmony_ci       %1022 = OpIEqual %40 %1021 %28
1740e5c31af7Sopenharmony_ci               OpSelectionMerge %1038 None
1741e5c31af7Sopenharmony_ci               OpBranchConditional %1022 %1023 %1034
1742e5c31af7Sopenharmony_ci       %1034 = OpLabel
1743e5c31af7Sopenharmony_ci       %1037 = OpLoad %6 %1020
1744e5c31af7Sopenharmony_ci               OpBranch %1040
1745e5c31af7Sopenharmony_ci       %1023 = OpLabel
1746e5c31af7Sopenharmony_ci               OpStore %1020 %235
1747e5c31af7Sopenharmony_ci       %1033 = OpAccessChain %8 %47 %235
1748e5c31af7Sopenharmony_ci               OpStore %1033 %1736
1749e5c31af7Sopenharmony_ci               OpBranch %1041
1750e5c31af7Sopenharmony_ci       %1038 = OpLabel
1751e5c31af7Sopenharmony_ci               OpUnreachable
1752e5c31af7Sopenharmony_ci        %974 = OpLabel
1753e5c31af7Sopenharmony_ci        %976 = OpAccessChain %9 %47 %1556 %27
1754e5c31af7Sopenharmony_ci        %977 = OpLoad %6 %976
1755e5c31af7Sopenharmony_ci        %978 = OpIEqual %40 %977 %28
1756e5c31af7Sopenharmony_ci               OpSelectionMerge %1017 None
1757e5c31af7Sopenharmony_ci               OpBranchConditional %978 %979 %1013
1758e5c31af7Sopenharmony_ci       %1013 = OpLabel
1759e5c31af7Sopenharmony_ci       %1016 = OpLoad %6 %976
1760e5c31af7Sopenharmony_ci               OpBranch %1040
1761e5c31af7Sopenharmony_ci        %979 = OpLabel
1762e5c31af7Sopenharmony_ci        %980 = OpAccessChain %67 %65 %24 %66
1763e5c31af7Sopenharmony_ci        %981 = OpLoad %61 %980
1764e5c31af7Sopenharmony_ci        %982 = OpAccessChain %67 %65 %24 %70
1765e5c31af7Sopenharmony_ci        %983 = OpLoad %61 %982
1766e5c31af7Sopenharmony_ci        %984 = OpFOrdLessThan %40 %981 %983
1767e5c31af7Sopenharmony_ci               OpSelectionMerge %990 None
1768e5c31af7Sopenharmony_ci               OpBranchConditional %984 %985 %990
1769e5c31af7Sopenharmony_ci        %985 = OpLabel
1770e5c31af7Sopenharmony_ci               OpBranch %986
1771e5c31af7Sopenharmony_ci        %986 = OpLabel
1772e5c31af7Sopenharmony_ci               OpLoopMerge %989 %988 None
1773e5c31af7Sopenharmony_ci               OpBranch %987
1774e5c31af7Sopenharmony_ci        %987 = OpLabel
1775e5c31af7Sopenharmony_ci               OpKill
1776e5c31af7Sopenharmony_ci        %988 = OpLabel
1777e5c31af7Sopenharmony_ci               OpBranch %986
1778e5c31af7Sopenharmony_ci        %989 = OpLabel
1779e5c31af7Sopenharmony_ci               OpUnreachable
1780e5c31af7Sopenharmony_ci        %990 = OpLabel
1781e5c31af7Sopenharmony_ci               OpStore %976 %235
1782e5c31af7Sopenharmony_ci       %1000 = OpAccessChain %8 %47 %235
1783e5c31af7Sopenharmony_ci               OpStore %1000 %1736
1784e5c31af7Sopenharmony_ci               OpBranch %1001
1785e5c31af7Sopenharmony_ci       %1001 = OpLabel
1786e5c31af7Sopenharmony_ci       %1006 = OpConvertFToS %6 %981
1787e5c31af7Sopenharmony_ci       %1007 = OpSLessThan %40 %24 %1006
1788e5c31af7Sopenharmony_ci               OpLoopMerge %1010 %1009 None
1789e5c31af7Sopenharmony_ci               OpBranchConditional %1007 %1008 %1010
1790e5c31af7Sopenharmony_ci       %1008 = OpLabel
1791e5c31af7Sopenharmony_ci               OpBranch %1010
1792e5c31af7Sopenharmony_ci       %1009 = OpLabel
1793e5c31af7Sopenharmony_ci               OpBranch %1001
1794e5c31af7Sopenharmony_ci       %1010 = OpLabel
1795e5c31af7Sopenharmony_ci       %1557 = OpPhi %40 %1559 %1001 %325 %1008
1796e5c31af7Sopenharmony_ci               OpSelectionMerge %1012 None
1797e5c31af7Sopenharmony_ci               OpBranchConditional %1557 %1041 %1012
1798e5c31af7Sopenharmony_ci       %1012 = OpLabel
1799e5c31af7Sopenharmony_ci               OpBranch %1017
1800e5c31af7Sopenharmony_ci       %1017 = OpLabel
1801e5c31af7Sopenharmony_ci               OpBranch %1039
1802e5c31af7Sopenharmony_ci       %1039 = OpLabel
1803e5c31af7Sopenharmony_ci               OpBranch %1040
1804e5c31af7Sopenharmony_ci       %1040 = OpLabel
1805e5c31af7Sopenharmony_ci       %1701 = OpPhi %40 %1559 %1013 %1559 %1034 %1557 %1039
1806e5c31af7Sopenharmony_ci       %1698 = OpPhi %6 %1016 %1013 %1037 %1034 %1556 %1039
1807e5c31af7Sopenharmony_ci               OpBranch %963
1808e5c31af7Sopenharmony_ci       %1041 = OpLabel
1809e5c31af7Sopenharmony_ci       %1560 = OpPhi %40 %1559 %963 %1557 %1010 %325 %1023
1810e5c31af7Sopenharmony_ci               OpSelectionMerge %1043 None
1811e5c31af7Sopenharmony_ci               OpBranchConditional %1560 %1044 %1043
1812e5c31af7Sopenharmony_ci       %1043 = OpLabel
1813e5c31af7Sopenharmony_ci               OpBranch %1044
1814e5c31af7Sopenharmony_ci       %1044 = OpLabel
1815e5c31af7Sopenharmony_ci               OpSelectionMerge %1146 None
1816e5c31af7Sopenharmony_ci               OpSwitch %70 %1064
1817e5c31af7Sopenharmony_ci       %1064 = OpLabel
1818e5c31af7Sopenharmony_ci               OpBranch %1065
1819e5c31af7Sopenharmony_ci       %1065 = OpLabel
1820e5c31af7Sopenharmony_ci       %1570 = OpPhi %40 %322 %1064 %1705 %1142
1821e5c31af7Sopenharmony_ci       %1567 = OpPhi %6 %24 %1064 %1702 %1142
1822e5c31af7Sopenharmony_ci       %1069 = OpSLessThanEqual %40 %1567 %242
1823e5c31af7Sopenharmony_ci               OpLoopMerge %1143 %1142 None
1824e5c31af7Sopenharmony_ci               OpBranchConditional %1069 %1070 %1143
1825e5c31af7Sopenharmony_ci       %1070 = OpLabel
1826e5c31af7Sopenharmony_ci       %1073 = OpAccessChain %9 %47 %1567 %24
1827e5c31af7Sopenharmony_ci       %1074 = OpLoad %6 %1073
1828e5c31af7Sopenharmony_ci       %1075 = OpSLessThanEqual %40 %262 %1074
1829e5c31af7Sopenharmony_ci               OpSelectionMerge %1141 None
1830e5c31af7Sopenharmony_ci               OpBranchConditional %1075 %1076 %1120
1831e5c31af7Sopenharmony_ci       %1120 = OpLabel
1832e5c31af7Sopenharmony_ci       %1122 = OpAccessChain %9 %47 %1567 %30
1833e5c31af7Sopenharmony_ci       %1123 = OpLoad %6 %1122
1834e5c31af7Sopenharmony_ci       %1124 = OpIEqual %40 %1123 %28
1835e5c31af7Sopenharmony_ci               OpSelectionMerge %1140 None
1836e5c31af7Sopenharmony_ci               OpBranchConditional %1124 %1125 %1136
1837e5c31af7Sopenharmony_ci       %1136 = OpLabel
1838e5c31af7Sopenharmony_ci       %1139 = OpLoad %6 %1122
1839e5c31af7Sopenharmony_ci               OpBranch %1142
1840e5c31af7Sopenharmony_ci       %1125 = OpLabel
1841e5c31af7Sopenharmony_ci               OpStore %1122 %242
1842e5c31af7Sopenharmony_ci       %1135 = OpAccessChain %8 %47 %242
1843e5c31af7Sopenharmony_ci               OpStore %1135 %1737
1844e5c31af7Sopenharmony_ci               OpBranch %1143
1845e5c31af7Sopenharmony_ci       %1140 = OpLabel
1846e5c31af7Sopenharmony_ci               OpUnreachable
1847e5c31af7Sopenharmony_ci       %1076 = OpLabel
1848e5c31af7Sopenharmony_ci       %1078 = OpAccessChain %9 %47 %1567 %27
1849e5c31af7Sopenharmony_ci       %1079 = OpLoad %6 %1078
1850e5c31af7Sopenharmony_ci       %1080 = OpIEqual %40 %1079 %28
1851e5c31af7Sopenharmony_ci               OpSelectionMerge %1119 None
1852e5c31af7Sopenharmony_ci               OpBranchConditional %1080 %1081 %1115
1853e5c31af7Sopenharmony_ci       %1115 = OpLabel
1854e5c31af7Sopenharmony_ci       %1118 = OpLoad %6 %1078
1855e5c31af7Sopenharmony_ci               OpBranch %1142
1856e5c31af7Sopenharmony_ci       %1081 = OpLabel
1857e5c31af7Sopenharmony_ci       %1082 = OpAccessChain %67 %65 %24 %66
1858e5c31af7Sopenharmony_ci       %1083 = OpLoad %61 %1082
1859e5c31af7Sopenharmony_ci       %1084 = OpAccessChain %67 %65 %24 %70
1860e5c31af7Sopenharmony_ci       %1085 = OpLoad %61 %1084
1861e5c31af7Sopenharmony_ci       %1086 = OpFOrdLessThan %40 %1083 %1085
1862e5c31af7Sopenharmony_ci               OpSelectionMerge %1092 None
1863e5c31af7Sopenharmony_ci               OpBranchConditional %1086 %1087 %1092
1864e5c31af7Sopenharmony_ci       %1087 = OpLabel
1865e5c31af7Sopenharmony_ci               OpBranch %1088
1866e5c31af7Sopenharmony_ci       %1088 = OpLabel
1867e5c31af7Sopenharmony_ci               OpLoopMerge %1091 %1090 None
1868e5c31af7Sopenharmony_ci               OpBranch %1089
1869e5c31af7Sopenharmony_ci       %1089 = OpLabel
1870e5c31af7Sopenharmony_ci               OpKill
1871e5c31af7Sopenharmony_ci       %1090 = OpLabel
1872e5c31af7Sopenharmony_ci               OpBranch %1088
1873e5c31af7Sopenharmony_ci       %1091 = OpLabel
1874e5c31af7Sopenharmony_ci               OpUnreachable
1875e5c31af7Sopenharmony_ci       %1092 = OpLabel
1876e5c31af7Sopenharmony_ci               OpStore %1078 %242
1877e5c31af7Sopenharmony_ci       %1102 = OpAccessChain %8 %47 %242
1878e5c31af7Sopenharmony_ci               OpStore %1102 %1737
1879e5c31af7Sopenharmony_ci               OpBranch %1103
1880e5c31af7Sopenharmony_ci       %1103 = OpLabel
1881e5c31af7Sopenharmony_ci       %1108 = OpConvertFToS %6 %1083
1882e5c31af7Sopenharmony_ci       %1109 = OpSLessThan %40 %24 %1108
1883e5c31af7Sopenharmony_ci               OpLoopMerge %1112 %1111 None
1884e5c31af7Sopenharmony_ci               OpBranchConditional %1109 %1110 %1112
1885e5c31af7Sopenharmony_ci       %1110 = OpLabel
1886e5c31af7Sopenharmony_ci               OpBranch %1112
1887e5c31af7Sopenharmony_ci       %1111 = OpLabel
1888e5c31af7Sopenharmony_ci               OpBranch %1103
1889e5c31af7Sopenharmony_ci       %1112 = OpLabel
1890e5c31af7Sopenharmony_ci       %1568 = OpPhi %40 %1570 %1103 %325 %1110
1891e5c31af7Sopenharmony_ci               OpSelectionMerge %1114 None
1892e5c31af7Sopenharmony_ci               OpBranchConditional %1568 %1143 %1114
1893e5c31af7Sopenharmony_ci       %1114 = OpLabel
1894e5c31af7Sopenharmony_ci               OpBranch %1119
1895e5c31af7Sopenharmony_ci       %1119 = OpLabel
1896e5c31af7Sopenharmony_ci               OpBranch %1141
1897e5c31af7Sopenharmony_ci       %1141 = OpLabel
1898e5c31af7Sopenharmony_ci               OpBranch %1142
1899e5c31af7Sopenharmony_ci       %1142 = OpLabel
1900e5c31af7Sopenharmony_ci       %1705 = OpPhi %40 %1570 %1115 %1570 %1136 %1568 %1141
1901e5c31af7Sopenharmony_ci       %1702 = OpPhi %6 %1118 %1115 %1139 %1136 %1567 %1141
1902e5c31af7Sopenharmony_ci               OpBranch %1065
1903e5c31af7Sopenharmony_ci       %1143 = OpLabel
1904e5c31af7Sopenharmony_ci       %1571 = OpPhi %40 %1570 %1065 %1568 %1112 %325 %1125
1905e5c31af7Sopenharmony_ci               OpSelectionMerge %1145 None
1906e5c31af7Sopenharmony_ci               OpBranchConditional %1571 %1146 %1145
1907e5c31af7Sopenharmony_ci       %1145 = OpLabel
1908e5c31af7Sopenharmony_ci               OpBranch %1146
1909e5c31af7Sopenharmony_ci       %1146 = OpLabel
1910e5c31af7Sopenharmony_ci               OpSelectionMerge %1248 None
1911e5c31af7Sopenharmony_ci               OpSwitch %70 %1166
1912e5c31af7Sopenharmony_ci       %1166 = OpLabel
1913e5c31af7Sopenharmony_ci               OpBranch %1167
1914e5c31af7Sopenharmony_ci       %1167 = OpLabel
1915e5c31af7Sopenharmony_ci       %1581 = OpPhi %40 %322 %1166 %1709 %1244
1916e5c31af7Sopenharmony_ci       %1578 = OpPhi %6 %24 %1166 %1706 %1244
1917e5c31af7Sopenharmony_ci       %1171 = OpSLessThanEqual %40 %1578 %179
1918e5c31af7Sopenharmony_ci               OpLoopMerge %1245 %1244 None
1919e5c31af7Sopenharmony_ci               OpBranchConditional %1171 %1172 %1245
1920e5c31af7Sopenharmony_ci       %1172 = OpLabel
1921e5c31af7Sopenharmony_ci       %1175 = OpAccessChain %9 %47 %1578 %24
1922e5c31af7Sopenharmony_ci       %1176 = OpLoad %6 %1175
1923e5c31af7Sopenharmony_ci       %1177 = OpSLessThanEqual %40 %269 %1176
1924e5c31af7Sopenharmony_ci               OpSelectionMerge %1243 None
1925e5c31af7Sopenharmony_ci               OpBranchConditional %1177 %1178 %1222
1926e5c31af7Sopenharmony_ci       %1222 = OpLabel
1927e5c31af7Sopenharmony_ci       %1224 = OpAccessChain %9 %47 %1578 %30
1928e5c31af7Sopenharmony_ci       %1225 = OpLoad %6 %1224
1929e5c31af7Sopenharmony_ci       %1226 = OpIEqual %40 %1225 %28
1930e5c31af7Sopenharmony_ci               OpSelectionMerge %1242 None
1931e5c31af7Sopenharmony_ci               OpBranchConditional %1226 %1227 %1238
1932e5c31af7Sopenharmony_ci       %1238 = OpLabel
1933e5c31af7Sopenharmony_ci       %1241 = OpLoad %6 %1224
1934e5c31af7Sopenharmony_ci               OpBranch %1244
1935e5c31af7Sopenharmony_ci       %1227 = OpLabel
1936e5c31af7Sopenharmony_ci               OpStore %1224 %179
1937e5c31af7Sopenharmony_ci       %1237 = OpAccessChain %8 %47 %179
1938e5c31af7Sopenharmony_ci               OpStore %1237 %1738
1939e5c31af7Sopenharmony_ci               OpBranch %1245
1940e5c31af7Sopenharmony_ci       %1242 = OpLabel
1941e5c31af7Sopenharmony_ci               OpUnreachable
1942e5c31af7Sopenharmony_ci       %1178 = OpLabel
1943e5c31af7Sopenharmony_ci       %1180 = OpAccessChain %9 %47 %1578 %27
1944e5c31af7Sopenharmony_ci       %1181 = OpLoad %6 %1180
1945e5c31af7Sopenharmony_ci       %1182 = OpIEqual %40 %1181 %28
1946e5c31af7Sopenharmony_ci               OpSelectionMerge %1221 None
1947e5c31af7Sopenharmony_ci               OpBranchConditional %1182 %1183 %1217
1948e5c31af7Sopenharmony_ci       %1217 = OpLabel
1949e5c31af7Sopenharmony_ci       %1220 = OpLoad %6 %1180
1950e5c31af7Sopenharmony_ci               OpBranch %1244
1951e5c31af7Sopenharmony_ci       %1183 = OpLabel
1952e5c31af7Sopenharmony_ci       %1184 = OpAccessChain %67 %65 %24 %66
1953e5c31af7Sopenharmony_ci       %1185 = OpLoad %61 %1184
1954e5c31af7Sopenharmony_ci       %1186 = OpAccessChain %67 %65 %24 %70
1955e5c31af7Sopenharmony_ci       %1187 = OpLoad %61 %1186
1956e5c31af7Sopenharmony_ci       %1188 = OpFOrdLessThan %40 %1185 %1187
1957e5c31af7Sopenharmony_ci               OpSelectionMerge %1194 None
1958e5c31af7Sopenharmony_ci               OpBranchConditional %1188 %1189 %1194
1959e5c31af7Sopenharmony_ci       %1189 = OpLabel
1960e5c31af7Sopenharmony_ci               OpBranch %1190
1961e5c31af7Sopenharmony_ci       %1190 = OpLabel
1962e5c31af7Sopenharmony_ci               OpLoopMerge %1193 %1192 None
1963e5c31af7Sopenharmony_ci               OpBranch %1191
1964e5c31af7Sopenharmony_ci       %1191 = OpLabel
1965e5c31af7Sopenharmony_ci               OpKill
1966e5c31af7Sopenharmony_ci       %1192 = OpLabel
1967e5c31af7Sopenharmony_ci               OpBranch %1190
1968e5c31af7Sopenharmony_ci       %1193 = OpLabel
1969e5c31af7Sopenharmony_ci               OpUnreachable
1970e5c31af7Sopenharmony_ci       %1194 = OpLabel
1971e5c31af7Sopenharmony_ci               OpStore %1180 %179
1972e5c31af7Sopenharmony_ci       %1204 = OpAccessChain %8 %47 %179
1973e5c31af7Sopenharmony_ci               OpStore %1204 %1738
1974e5c31af7Sopenharmony_ci               OpBranch %1205
1975e5c31af7Sopenharmony_ci       %1205 = OpLabel
1976e5c31af7Sopenharmony_ci       %1210 = OpConvertFToS %6 %1185
1977e5c31af7Sopenharmony_ci       %1211 = OpSLessThan %40 %24 %1210
1978e5c31af7Sopenharmony_ci               OpLoopMerge %1214 %1213 None
1979e5c31af7Sopenharmony_ci               OpBranchConditional %1211 %1212 %1214
1980e5c31af7Sopenharmony_ci       %1212 = OpLabel
1981e5c31af7Sopenharmony_ci               OpBranch %1214
1982e5c31af7Sopenharmony_ci       %1213 = OpLabel
1983e5c31af7Sopenharmony_ci               OpBranch %1205
1984e5c31af7Sopenharmony_ci       %1214 = OpLabel
1985e5c31af7Sopenharmony_ci       %1579 = OpPhi %40 %1581 %1205 %325 %1212
1986e5c31af7Sopenharmony_ci               OpSelectionMerge %1216 None
1987e5c31af7Sopenharmony_ci               OpBranchConditional %1579 %1245 %1216
1988e5c31af7Sopenharmony_ci       %1216 = OpLabel
1989e5c31af7Sopenharmony_ci               OpBranch %1221
1990e5c31af7Sopenharmony_ci       %1221 = OpLabel
1991e5c31af7Sopenharmony_ci               OpBranch %1243
1992e5c31af7Sopenharmony_ci       %1243 = OpLabel
1993e5c31af7Sopenharmony_ci               OpBranch %1244
1994e5c31af7Sopenharmony_ci       %1244 = OpLabel
1995e5c31af7Sopenharmony_ci       %1709 = OpPhi %40 %1581 %1217 %1581 %1238 %1579 %1243
1996e5c31af7Sopenharmony_ci       %1706 = OpPhi %6 %1220 %1217 %1241 %1238 %1578 %1243
1997e5c31af7Sopenharmony_ci               OpBranch %1167
1998e5c31af7Sopenharmony_ci       %1245 = OpLabel
1999e5c31af7Sopenharmony_ci       %1582 = OpPhi %40 %1581 %1167 %1579 %1214 %325 %1227
2000e5c31af7Sopenharmony_ci               OpSelectionMerge %1247 None
2001e5c31af7Sopenharmony_ci               OpBranchConditional %1582 %1248 %1247
2002e5c31af7Sopenharmony_ci       %1247 = OpLabel
2003e5c31af7Sopenharmony_ci               OpBranch %1248
2004e5c31af7Sopenharmony_ci       %1248 = OpLabel
2005e5c31af7Sopenharmony_ci               OpBranch %276
2006e5c31af7Sopenharmony_ci        %276 = OpLabel
2007e5c31af7Sopenharmony_ci       %1593 = OpPhi %6 %1620 %1248 %1590 %279
2008e5c31af7Sopenharmony_ci       %1584 = OpPhi %6 %24 %1248 %1710 %279
2009e5c31af7Sopenharmony_ci       %1583 = OpPhi %6 %24 %1248 %309 %279
2010e5c31af7Sopenharmony_ci        %283 = OpSLessThan %40 %1583 %282
2011e5c31af7Sopenharmony_ci               OpLoopMerge %278 %279 None
2012e5c31af7Sopenharmony_ci               OpBranchConditional %283 %277 %278
2013e5c31af7Sopenharmony_ci        %277 = OpLabel
2014e5c31af7Sopenharmony_ci               OpSelectionMerge %1299 None
2015e5c31af7Sopenharmony_ci               OpSwitch %70 %1267
2016e5c31af7Sopenharmony_ci       %1267 = OpLabel
2017e5c31af7Sopenharmony_ci               OpBranch %1268
2018e5c31af7Sopenharmony_ci       %1268 = OpLabel
2019e5c31af7Sopenharmony_ci       %1585 = OpPhi %6 %24 %1267 %1739 %1295
2020e5c31af7Sopenharmony_ci       %1271 = OpINotEqual %40 %1585 %28
2021e5c31af7Sopenharmony_ci               OpLoopMerge %1296 %1295 None
2022e5c31af7Sopenharmony_ci               OpBranchConditional %1271 %1272 %1296
2023e5c31af7Sopenharmony_ci       %1272 = OpLabel
2024e5c31af7Sopenharmony_ci       %1274 = OpAccessChain %8 %47 %1585
2025e5c31af7Sopenharmony_ci       %1275 = OpLoad %7 %1274
2026e5c31af7Sopenharmony_ci       %1305 = OpCompositeExtract %6 %1275 0
2027e5c31af7Sopenharmony_ci       %1306 = OpCompositeExtract %6 %1275 1
2028e5c31af7Sopenharmony_ci       %1307 = OpCompositeExtract %6 %1275 2
2029e5c31af7Sopenharmony_ci       %1279 = OpIEqual %40 %1305 %1583
2030e5c31af7Sopenharmony_ci               OpSelectionMerge %1282 None
2031e5c31af7Sopenharmony_ci               OpBranchConditional %1279 %1280 %1282
2032e5c31af7Sopenharmony_ci       %1280 = OpLabel
2033e5c31af7Sopenharmony_ci               OpBranch %1296
2034e5c31af7Sopenharmony_ci       %1282 = OpLabel
2035e5c31af7Sopenharmony_ci       %1286 = OpSGreaterThan %40 %1583 %1305
2036e5c31af7Sopenharmony_ci       %1739 = OpSelect %6 %1286 %1307 %1306
2037e5c31af7Sopenharmony_ci               OpBranch %1295
2038e5c31af7Sopenharmony_ci       %1295 = OpLabel
2039e5c31af7Sopenharmony_ci               OpBranch %1268
2040e5c31af7Sopenharmony_ci       %1296 = OpLabel
2041e5c31af7Sopenharmony_ci       %1591 = OpPhi %6 %1593 %1268 %1583 %1280
2042e5c31af7Sopenharmony_ci       %1587 = OpPhi %40 %322 %1268 %325 %1280
2043e5c31af7Sopenharmony_ci               OpSelectionMerge %1298 None
2044e5c31af7Sopenharmony_ci               OpBranchConditional %1587 %1299 %1298
2045e5c31af7Sopenharmony_ci       %1298 = OpLabel
2046e5c31af7Sopenharmony_ci               OpBranch %1299
2047e5c31af7Sopenharmony_ci       %1299 = OpLabel
2048e5c31af7Sopenharmony_ci       %1590 = OpPhi %6 %1591 %1296 %28 %1298
2049e5c31af7Sopenharmony_ci               OpSelectionMerge %291 None
2050e5c31af7Sopenharmony_ci               OpSwitch %1583 %290 9 %289 5 %289 12 %289 15 %289 7 %289 8 %289 2 %289 6 %289 17 %289 13 %289
2051e5c31af7Sopenharmony_ci        %289 = OpLabel
2052e5c31af7Sopenharmony_ci        %294 = OpIEqual %40 %1590 %1583
2053e5c31af7Sopenharmony_ci               OpSelectionMerge %296 None
2054e5c31af7Sopenharmony_ci               OpBranchConditional %294 %295 %296
2055e5c31af7Sopenharmony_ci        %295 = OpLabel
2056e5c31af7Sopenharmony_ci        %298 = OpIAdd %6 %1584 %27
2057e5c31af7Sopenharmony_ci               OpBranch %296
2058e5c31af7Sopenharmony_ci        %296 = OpLabel
2059e5c31af7Sopenharmony_ci       %1712 = OpPhi %6 %1584 %289 %298 %295
2060e5c31af7Sopenharmony_ci               OpBranch %291
2061e5c31af7Sopenharmony_ci        %290 = OpLabel
2062e5c31af7Sopenharmony_ci        %301 = OpIEqual %40 %1590 %28
2063e5c31af7Sopenharmony_ci               OpSelectionMerge %303 None
2064e5c31af7Sopenharmony_ci               OpBranchConditional %301 %302 %303
2065e5c31af7Sopenharmony_ci        %302 = OpLabel
2066e5c31af7Sopenharmony_ci        %305 = OpIAdd %6 %1584 %27
2067e5c31af7Sopenharmony_ci               OpBranch %303
2068e5c31af7Sopenharmony_ci        %303 = OpLabel
2069e5c31af7Sopenharmony_ci       %1711 = OpPhi %6 %1584 %290 %305 %302
2070e5c31af7Sopenharmony_ci               OpBranch %291
2071e5c31af7Sopenharmony_ci        %291 = OpLabel
2072e5c31af7Sopenharmony_ci       %1710 = OpPhi %6 %1711 %303 %1712 %296
2073e5c31af7Sopenharmony_ci               OpBranch %279
2074e5c31af7Sopenharmony_ci        %279 = OpLabel
2075e5c31af7Sopenharmony_ci        %309 = OpIAdd %6 %1583 %27
2076e5c31af7Sopenharmony_ci               OpBranch %276
2077e5c31af7Sopenharmony_ci        %278 = OpLabel
2078e5c31af7Sopenharmony_ci        %311 = OpIEqual %40 %1584 %282
2079e5c31af7Sopenharmony_ci               OpSelectionMerge %313 None
2080e5c31af7Sopenharmony_ci               OpBranchConditional %311 %312 %318
2081e5c31af7Sopenharmony_ci        %318 = OpLabel
2082e5c31af7Sopenharmony_ci               OpStore %315 %319
2083e5c31af7Sopenharmony_ci               OpBranch %313
2084e5c31af7Sopenharmony_ci        %312 = OpLabel
2085e5c31af7Sopenharmony_ci               OpStore %315 %317
2086e5c31af7Sopenharmony_ci               OpBranch %313
2087e5c31af7Sopenharmony_ci        %313 = OpLabel
2088e5c31af7Sopenharmony_ci               OpReturn
2089e5c31af7Sopenharmony_ci               OpFunctionEnd
2090e5c31af7Sopenharmony_ciEND
2091e5c31af7Sopenharmony_ci
2092e5c31af7Sopenharmony_ci# uniforms for variant
2093e5c31af7Sopenharmony_ci
2094e5c31af7Sopenharmony_ci# injectionSwitch
2095e5c31af7Sopenharmony_ciBUFFER variant_injectionSwitch DATA_TYPE vec2<float> DATA
2096e5c31af7Sopenharmony_ci 0.0 1.0
2097e5c31af7Sopenharmony_ciEND
2098e5c31af7Sopenharmony_ci
2099e5c31af7Sopenharmony_ciBUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM
2100e5c31af7Sopenharmony_ci
2101e5c31af7Sopenharmony_ciPIPELINE graphics variant_pipeline
2102e5c31af7Sopenharmony_ci  ATTACH variant_vertex_shader
2103e5c31af7Sopenharmony_ci  ATTACH variant_fragment_shader
2104e5c31af7Sopenharmony_ci  FRAMEBUFFER_SIZE 256 256
2105e5c31af7Sopenharmony_ci  BIND BUFFER variant_framebuffer AS color LOCATION 0
2106e5c31af7Sopenharmony_ci  BIND BUFFER variant_injectionSwitch AS uniform DESCRIPTOR_SET 0 BINDING 0
2107e5c31af7Sopenharmony_ciEND
2108e5c31af7Sopenharmony_ciCLEAR_COLOR variant_pipeline 0 0 0 255
2109e5c31af7Sopenharmony_ci
2110e5c31af7Sopenharmony_ciCLEAR variant_pipeline
2111e5c31af7Sopenharmony_ciRUN variant_pipeline DRAW_RECT POS 0 0 SIZE 256 256
2112e5c31af7Sopenharmony_ci
2113e5c31af7Sopenharmony_ciEXPECT reference_framebuffer EQ_HISTOGRAM_EMD_BUFFER variant_framebuffer TOLERANCE 0.005
2114