1e5c31af7Sopenharmony_ci#!amber
2e5c31af7Sopenharmony_ci
3e5c31af7Sopenharmony_ci# Copyright 2021 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 coverage-gap found by the GraphicsFuzz project.
19e5c31af7Sopenharmony_ci
20e5c31af7Sopenharmony_ci# Short description: A fragment shader that covers specific BRW code paths
21e5c31af7Sopenharmony_ci
22e5c31af7Sopenharmony_ci# The test passes because the shader always writes red.
23e5c31af7Sopenharmony_ci
24e5c31af7Sopenharmony_ciSHADER vertex variant_vertex_shader PASSTHROUGH
25e5c31af7Sopenharmony_ci
26e5c31af7Sopenharmony_ci# variant_fragment_shader is derived from the following GLSL:
27e5c31af7Sopenharmony_ci# #version 320 es
28e5c31af7Sopenharmony_ci#
29e5c31af7Sopenharmony_ci# #define LOOP for (int i = 0; i < 1; i++)
30e5c31af7Sopenharmony_ci#
31e5c31af7Sopenharmony_ci# precision highp int;
32e5c31af7Sopenharmony_ci# precision highp float;
33e5c31af7Sopenharmony_ci#
34e5c31af7Sopenharmony_ci# const int _GLF_global_loop_bound = 100;
35e5c31af7Sopenharmony_ci# int _GLF_global_loop_count = 0;
36e5c31af7Sopenharmony_ci#
37e5c31af7Sopenharmony_ci# layout(location = 0) out vec4 _GLF_color;
38e5c31af7Sopenharmony_ci#
39e5c31af7Sopenharmony_ci# void main()
40e5c31af7Sopenharmony_ci# {
41e5c31af7Sopenharmony_ci#     mat2x3 m23 = mat2x3(0);
42e5c31af7Sopenharmony_ci#     mat2x4 m24 = mat2x4(0);
43e5c31af7Sopenharmony_ci#     mat3x2 m32 = mat3x2(0);
44e5c31af7Sopenharmony_ci#     mat3 m33 = mat3(0);
45e5c31af7Sopenharmony_ci#     mat3x4 m34 = mat3x4(0);
46e5c31af7Sopenharmony_ci#     mat4x2 m42 = mat4x2(0);
47e5c31af7Sopenharmony_ci#     mat4x3 m43 = mat4x3(0);
48e5c31af7Sopenharmony_ci#     mat4 m44 = mat4(0);
49e5c31af7Sopenharmony_ci#
50e5c31af7Sopenharmony_ci#     // Each loop iterates just once.
51e5c31af7Sopenharmony_ci#     LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP {
52e5c31af7Sopenharmony_ci#     LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP {
53e5c31af7Sopenharmony_ci#     LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP { LOOP {
54e5c31af7Sopenharmony_ci#     LOOP { LOOP { LOOP { LOOP { LOOP {
55e5c31af7Sopenharmony_ci#         // Run until _GLF_global_loop_bound is 98.
56e5c31af7Sopenharmony_ci#         do
57e5c31af7Sopenharmony_ci#         {
58e5c31af7Sopenharmony_ci#             _GLF_global_loop_count++;
59e5c31af7Sopenharmony_ci#         }
60e5c31af7Sopenharmony_ci#         while(_GLF_global_loop_count < _GLF_global_loop_bound - 2);
61e5c31af7Sopenharmony_ci#
62e5c31af7Sopenharmony_ci#         // Write one to the first matrix element.
63e5c31af7Sopenharmony_ci#         m23[i][i] = 1.0;
64e5c31af7Sopenharmony_ci#         m24[i][i] = 1.0;
65e5c31af7Sopenharmony_ci#         m32[i][i] = 1.0;
66e5c31af7Sopenharmony_ci#         m33[i][i] = 1.0;
67e5c31af7Sopenharmony_ci#         m34[i][i] = 1.0;
68e5c31af7Sopenharmony_ci#         m42[i][i] = 1.0;
69e5c31af7Sopenharmony_ci#         m43[i][i] = 1.0;
70e5c31af7Sopenharmony_ci#         m44[i][i] = 1.0;
71e5c31af7Sopenharmony_ci#     } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } }
72e5c31af7Sopenharmony_ci#
73e5c31af7Sopenharmony_ci#     float sum = 0.0;
74e5c31af7Sopenharmony_ci#     // Iterate twice. The first iteration reads one and the second zero.
75e5c31af7Sopenharmony_ci#     for(int r = 0; _GLF_global_loop_count < _GLF_global_loop_bound; r++)
76e5c31af7Sopenharmony_ci#     {
77e5c31af7Sopenharmony_ci#         _GLF_global_loop_count++;
78e5c31af7Sopenharmony_ci#         sum += m23[0][r];
79e5c31af7Sopenharmony_ci#         sum += m24[0][r];
80e5c31af7Sopenharmony_ci#         sum += m32[0][r];
81e5c31af7Sopenharmony_ci#         sum += m33[0][r];
82e5c31af7Sopenharmony_ci#         sum += m34[0][r];
83e5c31af7Sopenharmony_ci#         sum += m42[0][r];
84e5c31af7Sopenharmony_ci#         sum += m43[0][r];
85e5c31af7Sopenharmony_ci#         sum += m44[0][r];
86e5c31af7Sopenharmony_ci#     }
87e5c31af7Sopenharmony_ci#
88e5c31af7Sopenharmony_ci#     // Always true.
89e5c31af7Sopenharmony_ci#     if (sum == 8.0)
90e5c31af7Sopenharmony_ci#         _GLF_color = vec4(1, 0, 0, 1);
91e5c31af7Sopenharmony_ci#     else
92e5c31af7Sopenharmony_ci#         _GLF_color = vec4(0);
93e5c31af7Sopenharmony_ci# }
94e5c31af7Sopenharmony_ciSHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0
95e5c31af7Sopenharmony_ci; SPIR-V
96e5c31af7Sopenharmony_ci; Version: 1.0
97e5c31af7Sopenharmony_ci; Generator: Khronos Glslang Reference Front End; 10
98e5c31af7Sopenharmony_ci; Bound: 531
99e5c31af7Sopenharmony_ci; Schema: 0
100e5c31af7Sopenharmony_ci               OpCapability Shader
101e5c31af7Sopenharmony_ci          %1 = OpExtInstImport "GLSL.std.450"
102e5c31af7Sopenharmony_ci               OpMemoryModel Logical GLSL450
103e5c31af7Sopenharmony_ci               OpEntryPoint Fragment %4 "main" %528
104e5c31af7Sopenharmony_ci               OpExecutionMode %4 OriginUpperLeft
105e5c31af7Sopenharmony_ci               OpSource ESSL 320
106e5c31af7Sopenharmony_ci               OpName %4 "main"
107e5c31af7Sopenharmony_ci               OpName %8 "_GLF_global_loop_count"
108e5c31af7Sopenharmony_ci               OpName %14 "m23"
109e5c31af7Sopenharmony_ci               OpName %21 "m24"
110e5c31af7Sopenharmony_ci               OpName %27 "m32"
111e5c31af7Sopenharmony_ci               OpName %32 "m33"
112e5c31af7Sopenharmony_ci               OpName %36 "m34"
113e5c31af7Sopenharmony_ci               OpName %40 "m42"
114e5c31af7Sopenharmony_ci               OpName %44 "m43"
115e5c31af7Sopenharmony_ci               OpName %48 "m44"
116e5c31af7Sopenharmony_ci               OpName %51 "i"
117e5c31af7Sopenharmony_ci               OpName %61 "i"
118e5c31af7Sopenharmony_ci               OpName %69 "i"
119e5c31af7Sopenharmony_ci               OpName %77 "i"
120e5c31af7Sopenharmony_ci               OpName %85 "i"
121e5c31af7Sopenharmony_ci               OpName %93 "i"
122e5c31af7Sopenharmony_ci               OpName %101 "i"
123e5c31af7Sopenharmony_ci               OpName %109 "i"
124e5c31af7Sopenharmony_ci               OpName %117 "i"
125e5c31af7Sopenharmony_ci               OpName %125 "i"
126e5c31af7Sopenharmony_ci               OpName %133 "i"
127e5c31af7Sopenharmony_ci               OpName %141 "i"
128e5c31af7Sopenharmony_ci               OpName %149 "i"
129e5c31af7Sopenharmony_ci               OpName %157 "i"
130e5c31af7Sopenharmony_ci               OpName %165 "i"
131e5c31af7Sopenharmony_ci               OpName %173 "i"
132e5c31af7Sopenharmony_ci               OpName %181 "i"
133e5c31af7Sopenharmony_ci               OpName %189 "i"
134e5c31af7Sopenharmony_ci               OpName %197 "i"
135e5c31af7Sopenharmony_ci               OpName %205 "i"
136e5c31af7Sopenharmony_ci               OpName %213 "i"
137e5c31af7Sopenharmony_ci               OpName %221 "i"
138e5c31af7Sopenharmony_ci               OpName %229 "i"
139e5c31af7Sopenharmony_ci               OpName %237 "i"
140e5c31af7Sopenharmony_ci               OpName %245 "i"
141e5c31af7Sopenharmony_ci               OpName %253 "i"
142e5c31af7Sopenharmony_ci               OpName %261 "i"
143e5c31af7Sopenharmony_ci               OpName %269 "i"
144e5c31af7Sopenharmony_ci               OpName %277 "i"
145e5c31af7Sopenharmony_ci               OpName %285 "i"
146e5c31af7Sopenharmony_ci               OpName %293 "i"
147e5c31af7Sopenharmony_ci               OpName %301 "i"
148e5c31af7Sopenharmony_ci               OpName %309 "i"
149e5c31af7Sopenharmony_ci               OpName %317 "i"
150e5c31af7Sopenharmony_ci               OpName %325 "i"
151e5c31af7Sopenharmony_ci               OpName %333 "i"
152e5c31af7Sopenharmony_ci               OpName %341 "i"
153e5c31af7Sopenharmony_ci               OpName %349 "i"
154e5c31af7Sopenharmony_ci               OpName %468 "sum"
155e5c31af7Sopenharmony_ci               OpName %469 "r"
156e5c31af7Sopenharmony_ci               OpName %528 "_GLF_color"
157e5c31af7Sopenharmony_ci               OpDecorate %528 Location 0
158e5c31af7Sopenharmony_ci          %2 = OpTypeVoid
159e5c31af7Sopenharmony_ci          %3 = OpTypeFunction %2
160e5c31af7Sopenharmony_ci          %6 = OpTypeInt 32 1
161e5c31af7Sopenharmony_ci          %7 = OpTypePointer Private %6
162e5c31af7Sopenharmony_ci          %8 = OpVariable %7 Private
163e5c31af7Sopenharmony_ci          %9 = OpConstant %6 0
164e5c31af7Sopenharmony_ci         %10 = OpTypeFloat 32
165e5c31af7Sopenharmony_ci         %11 = OpTypeVector %10 3
166e5c31af7Sopenharmony_ci         %12 = OpTypeMatrix %11 2
167e5c31af7Sopenharmony_ci         %13 = OpTypePointer Function %12
168e5c31af7Sopenharmony_ci         %15 = OpConstant %10 0
169e5c31af7Sopenharmony_ci         %16 = OpConstantComposite %11 %15 %15 %15
170e5c31af7Sopenharmony_ci         %17 = OpConstantComposite %12 %16 %16
171e5c31af7Sopenharmony_ci         %18 = OpTypeVector %10 4
172e5c31af7Sopenharmony_ci         %19 = OpTypeMatrix %18 2
173e5c31af7Sopenharmony_ci         %20 = OpTypePointer Function %19
174e5c31af7Sopenharmony_ci         %22 = OpConstantComposite %18 %15 %15 %15 %15
175e5c31af7Sopenharmony_ci         %23 = OpConstantComposite %19 %22 %22
176e5c31af7Sopenharmony_ci         %24 = OpTypeVector %10 2
177e5c31af7Sopenharmony_ci         %25 = OpTypeMatrix %24 3
178e5c31af7Sopenharmony_ci         %26 = OpTypePointer Function %25
179e5c31af7Sopenharmony_ci         %28 = OpConstantComposite %24 %15 %15
180e5c31af7Sopenharmony_ci         %29 = OpConstantComposite %25 %28 %28 %28
181e5c31af7Sopenharmony_ci         %30 = OpTypeMatrix %11 3
182e5c31af7Sopenharmony_ci         %31 = OpTypePointer Function %30
183e5c31af7Sopenharmony_ci         %33 = OpConstantComposite %30 %16 %16 %16
184e5c31af7Sopenharmony_ci         %34 = OpTypeMatrix %18 3
185e5c31af7Sopenharmony_ci         %35 = OpTypePointer Function %34
186e5c31af7Sopenharmony_ci         %37 = OpConstantComposite %34 %22 %22 %22
187e5c31af7Sopenharmony_ci         %38 = OpTypeMatrix %24 4
188e5c31af7Sopenharmony_ci         %39 = OpTypePointer Function %38
189e5c31af7Sopenharmony_ci         %41 = OpConstantComposite %38 %28 %28 %28 %28
190e5c31af7Sopenharmony_ci         %42 = OpTypeMatrix %11 4
191e5c31af7Sopenharmony_ci         %43 = OpTypePointer Function %42
192e5c31af7Sopenharmony_ci         %45 = OpConstantComposite %42 %16 %16 %16 %16
193e5c31af7Sopenharmony_ci         %46 = OpTypeMatrix %18 4
194e5c31af7Sopenharmony_ci         %47 = OpTypePointer Function %46
195e5c31af7Sopenharmony_ci         %49 = OpConstantComposite %46 %22 %22 %22 %22
196e5c31af7Sopenharmony_ci         %50 = OpTypePointer Function %6
197e5c31af7Sopenharmony_ci         %58 = OpConstant %6 1
198e5c31af7Sopenharmony_ci         %59 = OpTypeBool
199e5c31af7Sopenharmony_ci        %364 = OpConstant %6 98
200e5c31af7Sopenharmony_ci        %368 = OpConstant %10 1
201e5c31af7Sopenharmony_ci        %369 = OpTypePointer Function %10
202e5c31af7Sopenharmony_ci        %476 = OpConstant %6 100
203e5c31af7Sopenharmony_ci        %523 = OpConstant %10 8
204e5c31af7Sopenharmony_ci        %527 = OpTypePointer Output %18
205e5c31af7Sopenharmony_ci        %528 = OpVariable %527 Output
206e5c31af7Sopenharmony_ci        %529 = OpConstantComposite %18 %368 %15 %15 %368
207e5c31af7Sopenharmony_ci          %4 = OpFunction %2 None %3
208e5c31af7Sopenharmony_ci          %5 = OpLabel
209e5c31af7Sopenharmony_ci         %14 = OpVariable %13 Function
210e5c31af7Sopenharmony_ci         %21 = OpVariable %20 Function
211e5c31af7Sopenharmony_ci         %27 = OpVariable %26 Function
212e5c31af7Sopenharmony_ci         %32 = OpVariable %31 Function
213e5c31af7Sopenharmony_ci         %36 = OpVariable %35 Function
214e5c31af7Sopenharmony_ci         %40 = OpVariable %39 Function
215e5c31af7Sopenharmony_ci         %44 = OpVariable %43 Function
216e5c31af7Sopenharmony_ci         %48 = OpVariable %47 Function
217e5c31af7Sopenharmony_ci         %51 = OpVariable %50 Function
218e5c31af7Sopenharmony_ci         %61 = OpVariable %50 Function
219e5c31af7Sopenharmony_ci         %69 = OpVariable %50 Function
220e5c31af7Sopenharmony_ci         %77 = OpVariable %50 Function
221e5c31af7Sopenharmony_ci         %85 = OpVariable %50 Function
222e5c31af7Sopenharmony_ci         %93 = OpVariable %50 Function
223e5c31af7Sopenharmony_ci        %101 = OpVariable %50 Function
224e5c31af7Sopenharmony_ci        %109 = OpVariable %50 Function
225e5c31af7Sopenharmony_ci        %117 = OpVariable %50 Function
226e5c31af7Sopenharmony_ci        %125 = OpVariable %50 Function
227e5c31af7Sopenharmony_ci        %133 = OpVariable %50 Function
228e5c31af7Sopenharmony_ci        %141 = OpVariable %50 Function
229e5c31af7Sopenharmony_ci        %149 = OpVariable %50 Function
230e5c31af7Sopenharmony_ci        %157 = OpVariable %50 Function
231e5c31af7Sopenharmony_ci        %165 = OpVariable %50 Function
232e5c31af7Sopenharmony_ci        %173 = OpVariable %50 Function
233e5c31af7Sopenharmony_ci        %181 = OpVariable %50 Function
234e5c31af7Sopenharmony_ci        %189 = OpVariable %50 Function
235e5c31af7Sopenharmony_ci        %197 = OpVariable %50 Function
236e5c31af7Sopenharmony_ci        %205 = OpVariable %50 Function
237e5c31af7Sopenharmony_ci        %213 = OpVariable %50 Function
238e5c31af7Sopenharmony_ci        %221 = OpVariable %50 Function
239e5c31af7Sopenharmony_ci        %229 = OpVariable %50 Function
240e5c31af7Sopenharmony_ci        %237 = OpVariable %50 Function
241e5c31af7Sopenharmony_ci        %245 = OpVariable %50 Function
242e5c31af7Sopenharmony_ci        %253 = OpVariable %50 Function
243e5c31af7Sopenharmony_ci        %261 = OpVariable %50 Function
244e5c31af7Sopenharmony_ci        %269 = OpVariable %50 Function
245e5c31af7Sopenharmony_ci        %277 = OpVariable %50 Function
246e5c31af7Sopenharmony_ci        %285 = OpVariable %50 Function
247e5c31af7Sopenharmony_ci        %293 = OpVariable %50 Function
248e5c31af7Sopenharmony_ci        %301 = OpVariable %50 Function
249e5c31af7Sopenharmony_ci        %309 = OpVariable %50 Function
250e5c31af7Sopenharmony_ci        %317 = OpVariable %50 Function
251e5c31af7Sopenharmony_ci        %325 = OpVariable %50 Function
252e5c31af7Sopenharmony_ci        %333 = OpVariable %50 Function
253e5c31af7Sopenharmony_ci        %341 = OpVariable %50 Function
254e5c31af7Sopenharmony_ci        %349 = OpVariable %50 Function
255e5c31af7Sopenharmony_ci        %468 = OpVariable %369 Function
256e5c31af7Sopenharmony_ci        %469 = OpVariable %50 Function
257e5c31af7Sopenharmony_ci               OpStore %8 %9
258e5c31af7Sopenharmony_ci               OpStore %14 %17
259e5c31af7Sopenharmony_ci               OpStore %21 %23
260e5c31af7Sopenharmony_ci               OpStore %27 %29
261e5c31af7Sopenharmony_ci               OpStore %32 %33
262e5c31af7Sopenharmony_ci               OpStore %36 %37
263e5c31af7Sopenharmony_ci               OpStore %40 %41
264e5c31af7Sopenharmony_ci               OpStore %44 %45
265e5c31af7Sopenharmony_ci               OpStore %48 %49
266e5c31af7Sopenharmony_ci               OpStore %51 %9
267e5c31af7Sopenharmony_ci               OpBranch %52
268e5c31af7Sopenharmony_ci         %52 = OpLabel
269e5c31af7Sopenharmony_ci               OpLoopMerge %54 %55 None
270e5c31af7Sopenharmony_ci               OpBranch %56
271e5c31af7Sopenharmony_ci         %56 = OpLabel
272e5c31af7Sopenharmony_ci         %57 = OpLoad %6 %51
273e5c31af7Sopenharmony_ci         %60 = OpSLessThan %59 %57 %58
274e5c31af7Sopenharmony_ci               OpBranchConditional %60 %53 %54
275e5c31af7Sopenharmony_ci         %53 = OpLabel
276e5c31af7Sopenharmony_ci               OpStore %61 %9
277e5c31af7Sopenharmony_ci               OpBranch %62
278e5c31af7Sopenharmony_ci         %62 = OpLabel
279e5c31af7Sopenharmony_ci               OpLoopMerge %64 %65 None
280e5c31af7Sopenharmony_ci               OpBranch %66
281e5c31af7Sopenharmony_ci         %66 = OpLabel
282e5c31af7Sopenharmony_ci         %67 = OpLoad %6 %61
283e5c31af7Sopenharmony_ci         %68 = OpSLessThan %59 %67 %58
284e5c31af7Sopenharmony_ci               OpBranchConditional %68 %63 %64
285e5c31af7Sopenharmony_ci         %63 = OpLabel
286e5c31af7Sopenharmony_ci               OpStore %69 %9
287e5c31af7Sopenharmony_ci               OpBranch %70
288e5c31af7Sopenharmony_ci         %70 = OpLabel
289e5c31af7Sopenharmony_ci               OpLoopMerge %72 %73 None
290e5c31af7Sopenharmony_ci               OpBranch %74
291e5c31af7Sopenharmony_ci         %74 = OpLabel
292e5c31af7Sopenharmony_ci         %75 = OpLoad %6 %69
293e5c31af7Sopenharmony_ci         %76 = OpSLessThan %59 %75 %58
294e5c31af7Sopenharmony_ci               OpBranchConditional %76 %71 %72
295e5c31af7Sopenharmony_ci         %71 = OpLabel
296e5c31af7Sopenharmony_ci               OpStore %77 %9
297e5c31af7Sopenharmony_ci               OpBranch %78
298e5c31af7Sopenharmony_ci         %78 = OpLabel
299e5c31af7Sopenharmony_ci               OpLoopMerge %80 %81 None
300e5c31af7Sopenharmony_ci               OpBranch %82
301e5c31af7Sopenharmony_ci         %82 = OpLabel
302e5c31af7Sopenharmony_ci         %83 = OpLoad %6 %77
303e5c31af7Sopenharmony_ci         %84 = OpSLessThan %59 %83 %58
304e5c31af7Sopenharmony_ci               OpBranchConditional %84 %79 %80
305e5c31af7Sopenharmony_ci         %79 = OpLabel
306e5c31af7Sopenharmony_ci               OpStore %85 %9
307e5c31af7Sopenharmony_ci               OpBranch %86
308e5c31af7Sopenharmony_ci         %86 = OpLabel
309e5c31af7Sopenharmony_ci               OpLoopMerge %88 %89 None
310e5c31af7Sopenharmony_ci               OpBranch %90
311e5c31af7Sopenharmony_ci         %90 = OpLabel
312e5c31af7Sopenharmony_ci         %91 = OpLoad %6 %85
313e5c31af7Sopenharmony_ci         %92 = OpSLessThan %59 %91 %58
314e5c31af7Sopenharmony_ci               OpBranchConditional %92 %87 %88
315e5c31af7Sopenharmony_ci         %87 = OpLabel
316e5c31af7Sopenharmony_ci               OpStore %93 %9
317e5c31af7Sopenharmony_ci               OpBranch %94
318e5c31af7Sopenharmony_ci         %94 = OpLabel
319e5c31af7Sopenharmony_ci               OpLoopMerge %96 %97 None
320e5c31af7Sopenharmony_ci               OpBranch %98
321e5c31af7Sopenharmony_ci         %98 = OpLabel
322e5c31af7Sopenharmony_ci         %99 = OpLoad %6 %93
323e5c31af7Sopenharmony_ci        %100 = OpSLessThan %59 %99 %58
324e5c31af7Sopenharmony_ci               OpBranchConditional %100 %95 %96
325e5c31af7Sopenharmony_ci         %95 = OpLabel
326e5c31af7Sopenharmony_ci               OpStore %101 %9
327e5c31af7Sopenharmony_ci               OpBranch %102
328e5c31af7Sopenharmony_ci        %102 = OpLabel
329e5c31af7Sopenharmony_ci               OpLoopMerge %104 %105 None
330e5c31af7Sopenharmony_ci               OpBranch %106
331e5c31af7Sopenharmony_ci        %106 = OpLabel
332e5c31af7Sopenharmony_ci        %107 = OpLoad %6 %101
333e5c31af7Sopenharmony_ci        %108 = OpSLessThan %59 %107 %58
334e5c31af7Sopenharmony_ci               OpBranchConditional %108 %103 %104
335e5c31af7Sopenharmony_ci        %103 = OpLabel
336e5c31af7Sopenharmony_ci               OpStore %109 %9
337e5c31af7Sopenharmony_ci               OpBranch %110
338e5c31af7Sopenharmony_ci        %110 = OpLabel
339e5c31af7Sopenharmony_ci               OpLoopMerge %112 %113 None
340e5c31af7Sopenharmony_ci               OpBranch %114
341e5c31af7Sopenharmony_ci        %114 = OpLabel
342e5c31af7Sopenharmony_ci        %115 = OpLoad %6 %109
343e5c31af7Sopenharmony_ci        %116 = OpSLessThan %59 %115 %58
344e5c31af7Sopenharmony_ci               OpBranchConditional %116 %111 %112
345e5c31af7Sopenharmony_ci        %111 = OpLabel
346e5c31af7Sopenharmony_ci               OpStore %117 %9
347e5c31af7Sopenharmony_ci               OpBranch %118
348e5c31af7Sopenharmony_ci        %118 = OpLabel
349e5c31af7Sopenharmony_ci               OpLoopMerge %120 %121 None
350e5c31af7Sopenharmony_ci               OpBranch %122
351e5c31af7Sopenharmony_ci        %122 = OpLabel
352e5c31af7Sopenharmony_ci        %123 = OpLoad %6 %117
353e5c31af7Sopenharmony_ci        %124 = OpSLessThan %59 %123 %58
354e5c31af7Sopenharmony_ci               OpBranchConditional %124 %119 %120
355e5c31af7Sopenharmony_ci        %119 = OpLabel
356e5c31af7Sopenharmony_ci               OpStore %125 %9
357e5c31af7Sopenharmony_ci               OpBranch %126
358e5c31af7Sopenharmony_ci        %126 = OpLabel
359e5c31af7Sopenharmony_ci               OpLoopMerge %128 %129 None
360e5c31af7Sopenharmony_ci               OpBranch %130
361e5c31af7Sopenharmony_ci        %130 = OpLabel
362e5c31af7Sopenharmony_ci        %131 = OpLoad %6 %125
363e5c31af7Sopenharmony_ci        %132 = OpSLessThan %59 %131 %58
364e5c31af7Sopenharmony_ci               OpBranchConditional %132 %127 %128
365e5c31af7Sopenharmony_ci        %127 = OpLabel
366e5c31af7Sopenharmony_ci               OpStore %133 %9
367e5c31af7Sopenharmony_ci               OpBranch %134
368e5c31af7Sopenharmony_ci        %134 = OpLabel
369e5c31af7Sopenharmony_ci               OpLoopMerge %136 %137 None
370e5c31af7Sopenharmony_ci               OpBranch %138
371e5c31af7Sopenharmony_ci        %138 = OpLabel
372e5c31af7Sopenharmony_ci        %139 = OpLoad %6 %133
373e5c31af7Sopenharmony_ci        %140 = OpSLessThan %59 %139 %58
374e5c31af7Sopenharmony_ci               OpBranchConditional %140 %135 %136
375e5c31af7Sopenharmony_ci        %135 = OpLabel
376e5c31af7Sopenharmony_ci               OpStore %141 %9
377e5c31af7Sopenharmony_ci               OpBranch %142
378e5c31af7Sopenharmony_ci        %142 = OpLabel
379e5c31af7Sopenharmony_ci               OpLoopMerge %144 %145 None
380e5c31af7Sopenharmony_ci               OpBranch %146
381e5c31af7Sopenharmony_ci        %146 = OpLabel
382e5c31af7Sopenharmony_ci        %147 = OpLoad %6 %141
383e5c31af7Sopenharmony_ci        %148 = OpSLessThan %59 %147 %58
384e5c31af7Sopenharmony_ci               OpBranchConditional %148 %143 %144
385e5c31af7Sopenharmony_ci        %143 = OpLabel
386e5c31af7Sopenharmony_ci               OpStore %149 %9
387e5c31af7Sopenharmony_ci               OpBranch %150
388e5c31af7Sopenharmony_ci        %150 = OpLabel
389e5c31af7Sopenharmony_ci               OpLoopMerge %152 %153 None
390e5c31af7Sopenharmony_ci               OpBranch %154
391e5c31af7Sopenharmony_ci        %154 = OpLabel
392e5c31af7Sopenharmony_ci        %155 = OpLoad %6 %149
393e5c31af7Sopenharmony_ci        %156 = OpSLessThan %59 %155 %58
394e5c31af7Sopenharmony_ci               OpBranchConditional %156 %151 %152
395e5c31af7Sopenharmony_ci        %151 = OpLabel
396e5c31af7Sopenharmony_ci               OpStore %157 %9
397e5c31af7Sopenharmony_ci               OpBranch %158
398e5c31af7Sopenharmony_ci        %158 = OpLabel
399e5c31af7Sopenharmony_ci               OpLoopMerge %160 %161 None
400e5c31af7Sopenharmony_ci               OpBranch %162
401e5c31af7Sopenharmony_ci        %162 = OpLabel
402e5c31af7Sopenharmony_ci        %163 = OpLoad %6 %157
403e5c31af7Sopenharmony_ci        %164 = OpSLessThan %59 %163 %58
404e5c31af7Sopenharmony_ci               OpBranchConditional %164 %159 %160
405e5c31af7Sopenharmony_ci        %159 = OpLabel
406e5c31af7Sopenharmony_ci               OpStore %165 %9
407e5c31af7Sopenharmony_ci               OpBranch %166
408e5c31af7Sopenharmony_ci        %166 = OpLabel
409e5c31af7Sopenharmony_ci               OpLoopMerge %168 %169 None
410e5c31af7Sopenharmony_ci               OpBranch %170
411e5c31af7Sopenharmony_ci        %170 = OpLabel
412e5c31af7Sopenharmony_ci        %171 = OpLoad %6 %165
413e5c31af7Sopenharmony_ci        %172 = OpSLessThan %59 %171 %58
414e5c31af7Sopenharmony_ci               OpBranchConditional %172 %167 %168
415e5c31af7Sopenharmony_ci        %167 = OpLabel
416e5c31af7Sopenharmony_ci               OpStore %173 %9
417e5c31af7Sopenharmony_ci               OpBranch %174
418e5c31af7Sopenharmony_ci        %174 = OpLabel
419e5c31af7Sopenharmony_ci               OpLoopMerge %176 %177 None
420e5c31af7Sopenharmony_ci               OpBranch %178
421e5c31af7Sopenharmony_ci        %178 = OpLabel
422e5c31af7Sopenharmony_ci        %179 = OpLoad %6 %173
423e5c31af7Sopenharmony_ci        %180 = OpSLessThan %59 %179 %58
424e5c31af7Sopenharmony_ci               OpBranchConditional %180 %175 %176
425e5c31af7Sopenharmony_ci        %175 = OpLabel
426e5c31af7Sopenharmony_ci               OpStore %181 %9
427e5c31af7Sopenharmony_ci               OpBranch %182
428e5c31af7Sopenharmony_ci        %182 = OpLabel
429e5c31af7Sopenharmony_ci               OpLoopMerge %184 %185 None
430e5c31af7Sopenharmony_ci               OpBranch %186
431e5c31af7Sopenharmony_ci        %186 = OpLabel
432e5c31af7Sopenharmony_ci        %187 = OpLoad %6 %181
433e5c31af7Sopenharmony_ci        %188 = OpSLessThan %59 %187 %58
434e5c31af7Sopenharmony_ci               OpBranchConditional %188 %183 %184
435e5c31af7Sopenharmony_ci        %183 = OpLabel
436e5c31af7Sopenharmony_ci               OpStore %189 %9
437e5c31af7Sopenharmony_ci               OpBranch %190
438e5c31af7Sopenharmony_ci        %190 = OpLabel
439e5c31af7Sopenharmony_ci               OpLoopMerge %192 %193 None
440e5c31af7Sopenharmony_ci               OpBranch %194
441e5c31af7Sopenharmony_ci        %194 = OpLabel
442e5c31af7Sopenharmony_ci        %195 = OpLoad %6 %189
443e5c31af7Sopenharmony_ci        %196 = OpSLessThan %59 %195 %58
444e5c31af7Sopenharmony_ci               OpBranchConditional %196 %191 %192
445e5c31af7Sopenharmony_ci        %191 = OpLabel
446e5c31af7Sopenharmony_ci               OpStore %197 %9
447e5c31af7Sopenharmony_ci               OpBranch %198
448e5c31af7Sopenharmony_ci        %198 = OpLabel
449e5c31af7Sopenharmony_ci               OpLoopMerge %200 %201 None
450e5c31af7Sopenharmony_ci               OpBranch %202
451e5c31af7Sopenharmony_ci        %202 = OpLabel
452e5c31af7Sopenharmony_ci        %203 = OpLoad %6 %197
453e5c31af7Sopenharmony_ci        %204 = OpSLessThan %59 %203 %58
454e5c31af7Sopenharmony_ci               OpBranchConditional %204 %199 %200
455e5c31af7Sopenharmony_ci        %199 = OpLabel
456e5c31af7Sopenharmony_ci               OpStore %205 %9
457e5c31af7Sopenharmony_ci               OpBranch %206
458e5c31af7Sopenharmony_ci        %206 = OpLabel
459e5c31af7Sopenharmony_ci               OpLoopMerge %208 %209 None
460e5c31af7Sopenharmony_ci               OpBranch %210
461e5c31af7Sopenharmony_ci        %210 = OpLabel
462e5c31af7Sopenharmony_ci        %211 = OpLoad %6 %205
463e5c31af7Sopenharmony_ci        %212 = OpSLessThan %59 %211 %58
464e5c31af7Sopenharmony_ci               OpBranchConditional %212 %207 %208
465e5c31af7Sopenharmony_ci        %207 = OpLabel
466e5c31af7Sopenharmony_ci               OpStore %213 %9
467e5c31af7Sopenharmony_ci               OpBranch %214
468e5c31af7Sopenharmony_ci        %214 = OpLabel
469e5c31af7Sopenharmony_ci               OpLoopMerge %216 %217 None
470e5c31af7Sopenharmony_ci               OpBranch %218
471e5c31af7Sopenharmony_ci        %218 = OpLabel
472e5c31af7Sopenharmony_ci        %219 = OpLoad %6 %213
473e5c31af7Sopenharmony_ci        %220 = OpSLessThan %59 %219 %58
474e5c31af7Sopenharmony_ci               OpBranchConditional %220 %215 %216
475e5c31af7Sopenharmony_ci        %215 = OpLabel
476e5c31af7Sopenharmony_ci               OpStore %221 %9
477e5c31af7Sopenharmony_ci               OpBranch %222
478e5c31af7Sopenharmony_ci        %222 = OpLabel
479e5c31af7Sopenharmony_ci               OpLoopMerge %224 %225 None
480e5c31af7Sopenharmony_ci               OpBranch %226
481e5c31af7Sopenharmony_ci        %226 = OpLabel
482e5c31af7Sopenharmony_ci        %227 = OpLoad %6 %221
483e5c31af7Sopenharmony_ci        %228 = OpSLessThan %59 %227 %58
484e5c31af7Sopenharmony_ci               OpBranchConditional %228 %223 %224
485e5c31af7Sopenharmony_ci        %223 = OpLabel
486e5c31af7Sopenharmony_ci               OpStore %229 %9
487e5c31af7Sopenharmony_ci               OpBranch %230
488e5c31af7Sopenharmony_ci        %230 = OpLabel
489e5c31af7Sopenharmony_ci               OpLoopMerge %232 %233 None
490e5c31af7Sopenharmony_ci               OpBranch %234
491e5c31af7Sopenharmony_ci        %234 = OpLabel
492e5c31af7Sopenharmony_ci        %235 = OpLoad %6 %229
493e5c31af7Sopenharmony_ci        %236 = OpSLessThan %59 %235 %58
494e5c31af7Sopenharmony_ci               OpBranchConditional %236 %231 %232
495e5c31af7Sopenharmony_ci        %231 = OpLabel
496e5c31af7Sopenharmony_ci               OpStore %237 %9
497e5c31af7Sopenharmony_ci               OpBranch %238
498e5c31af7Sopenharmony_ci        %238 = OpLabel
499e5c31af7Sopenharmony_ci               OpLoopMerge %240 %241 None
500e5c31af7Sopenharmony_ci               OpBranch %242
501e5c31af7Sopenharmony_ci        %242 = OpLabel
502e5c31af7Sopenharmony_ci        %243 = OpLoad %6 %237
503e5c31af7Sopenharmony_ci        %244 = OpSLessThan %59 %243 %58
504e5c31af7Sopenharmony_ci               OpBranchConditional %244 %239 %240
505e5c31af7Sopenharmony_ci        %239 = OpLabel
506e5c31af7Sopenharmony_ci               OpStore %245 %9
507e5c31af7Sopenharmony_ci               OpBranch %246
508e5c31af7Sopenharmony_ci        %246 = OpLabel
509e5c31af7Sopenharmony_ci               OpLoopMerge %248 %249 None
510e5c31af7Sopenharmony_ci               OpBranch %250
511e5c31af7Sopenharmony_ci        %250 = OpLabel
512e5c31af7Sopenharmony_ci        %251 = OpLoad %6 %245
513e5c31af7Sopenharmony_ci        %252 = OpSLessThan %59 %251 %58
514e5c31af7Sopenharmony_ci               OpBranchConditional %252 %247 %248
515e5c31af7Sopenharmony_ci        %247 = OpLabel
516e5c31af7Sopenharmony_ci               OpStore %253 %9
517e5c31af7Sopenharmony_ci               OpBranch %254
518e5c31af7Sopenharmony_ci        %254 = OpLabel
519e5c31af7Sopenharmony_ci               OpLoopMerge %256 %257 None
520e5c31af7Sopenharmony_ci               OpBranch %258
521e5c31af7Sopenharmony_ci        %258 = OpLabel
522e5c31af7Sopenharmony_ci        %259 = OpLoad %6 %253
523e5c31af7Sopenharmony_ci        %260 = OpSLessThan %59 %259 %58
524e5c31af7Sopenharmony_ci               OpBranchConditional %260 %255 %256
525e5c31af7Sopenharmony_ci        %255 = OpLabel
526e5c31af7Sopenharmony_ci               OpStore %261 %9
527e5c31af7Sopenharmony_ci               OpBranch %262
528e5c31af7Sopenharmony_ci        %262 = OpLabel
529e5c31af7Sopenharmony_ci               OpLoopMerge %264 %265 None
530e5c31af7Sopenharmony_ci               OpBranch %266
531e5c31af7Sopenharmony_ci        %266 = OpLabel
532e5c31af7Sopenharmony_ci        %267 = OpLoad %6 %261
533e5c31af7Sopenharmony_ci        %268 = OpSLessThan %59 %267 %58
534e5c31af7Sopenharmony_ci               OpBranchConditional %268 %263 %264
535e5c31af7Sopenharmony_ci        %263 = OpLabel
536e5c31af7Sopenharmony_ci               OpStore %269 %9
537e5c31af7Sopenharmony_ci               OpBranch %270
538e5c31af7Sopenharmony_ci        %270 = OpLabel
539e5c31af7Sopenharmony_ci               OpLoopMerge %272 %273 None
540e5c31af7Sopenharmony_ci               OpBranch %274
541e5c31af7Sopenharmony_ci        %274 = OpLabel
542e5c31af7Sopenharmony_ci        %275 = OpLoad %6 %269
543e5c31af7Sopenharmony_ci        %276 = OpSLessThan %59 %275 %58
544e5c31af7Sopenharmony_ci               OpBranchConditional %276 %271 %272
545e5c31af7Sopenharmony_ci        %271 = OpLabel
546e5c31af7Sopenharmony_ci               OpStore %277 %9
547e5c31af7Sopenharmony_ci               OpBranch %278
548e5c31af7Sopenharmony_ci        %278 = OpLabel
549e5c31af7Sopenharmony_ci               OpLoopMerge %280 %281 None
550e5c31af7Sopenharmony_ci               OpBranch %282
551e5c31af7Sopenharmony_ci        %282 = OpLabel
552e5c31af7Sopenharmony_ci        %283 = OpLoad %6 %277
553e5c31af7Sopenharmony_ci        %284 = OpSLessThan %59 %283 %58
554e5c31af7Sopenharmony_ci               OpBranchConditional %284 %279 %280
555e5c31af7Sopenharmony_ci        %279 = OpLabel
556e5c31af7Sopenharmony_ci               OpStore %285 %9
557e5c31af7Sopenharmony_ci               OpBranch %286
558e5c31af7Sopenharmony_ci        %286 = OpLabel
559e5c31af7Sopenharmony_ci               OpLoopMerge %288 %289 None
560e5c31af7Sopenharmony_ci               OpBranch %290
561e5c31af7Sopenharmony_ci        %290 = OpLabel
562e5c31af7Sopenharmony_ci        %291 = OpLoad %6 %285
563e5c31af7Sopenharmony_ci        %292 = OpSLessThan %59 %291 %58
564e5c31af7Sopenharmony_ci               OpBranchConditional %292 %287 %288
565e5c31af7Sopenharmony_ci        %287 = OpLabel
566e5c31af7Sopenharmony_ci               OpStore %293 %9
567e5c31af7Sopenharmony_ci               OpBranch %294
568e5c31af7Sopenharmony_ci        %294 = OpLabel
569e5c31af7Sopenharmony_ci               OpLoopMerge %296 %297 None
570e5c31af7Sopenharmony_ci               OpBranch %298
571e5c31af7Sopenharmony_ci        %298 = OpLabel
572e5c31af7Sopenharmony_ci        %299 = OpLoad %6 %293
573e5c31af7Sopenharmony_ci        %300 = OpSLessThan %59 %299 %58
574e5c31af7Sopenharmony_ci               OpBranchConditional %300 %295 %296
575e5c31af7Sopenharmony_ci        %295 = OpLabel
576e5c31af7Sopenharmony_ci               OpStore %301 %9
577e5c31af7Sopenharmony_ci               OpBranch %302
578e5c31af7Sopenharmony_ci        %302 = OpLabel
579e5c31af7Sopenharmony_ci               OpLoopMerge %304 %305 None
580e5c31af7Sopenharmony_ci               OpBranch %306
581e5c31af7Sopenharmony_ci        %306 = OpLabel
582e5c31af7Sopenharmony_ci        %307 = OpLoad %6 %301
583e5c31af7Sopenharmony_ci        %308 = OpSLessThan %59 %307 %58
584e5c31af7Sopenharmony_ci               OpBranchConditional %308 %303 %304
585e5c31af7Sopenharmony_ci        %303 = OpLabel
586e5c31af7Sopenharmony_ci               OpStore %309 %9
587e5c31af7Sopenharmony_ci               OpBranch %310
588e5c31af7Sopenharmony_ci        %310 = OpLabel
589e5c31af7Sopenharmony_ci               OpLoopMerge %312 %313 None
590e5c31af7Sopenharmony_ci               OpBranch %314
591e5c31af7Sopenharmony_ci        %314 = OpLabel
592e5c31af7Sopenharmony_ci        %315 = OpLoad %6 %309
593e5c31af7Sopenharmony_ci        %316 = OpSLessThan %59 %315 %58
594e5c31af7Sopenharmony_ci               OpBranchConditional %316 %311 %312
595e5c31af7Sopenharmony_ci        %311 = OpLabel
596e5c31af7Sopenharmony_ci               OpStore %317 %9
597e5c31af7Sopenharmony_ci               OpBranch %318
598e5c31af7Sopenharmony_ci        %318 = OpLabel
599e5c31af7Sopenharmony_ci               OpLoopMerge %320 %321 None
600e5c31af7Sopenharmony_ci               OpBranch %322
601e5c31af7Sopenharmony_ci        %322 = OpLabel
602e5c31af7Sopenharmony_ci        %323 = OpLoad %6 %317
603e5c31af7Sopenharmony_ci        %324 = OpSLessThan %59 %323 %58
604e5c31af7Sopenharmony_ci               OpBranchConditional %324 %319 %320
605e5c31af7Sopenharmony_ci        %319 = OpLabel
606e5c31af7Sopenharmony_ci               OpStore %325 %9
607e5c31af7Sopenharmony_ci               OpBranch %326
608e5c31af7Sopenharmony_ci        %326 = OpLabel
609e5c31af7Sopenharmony_ci               OpLoopMerge %328 %329 None
610e5c31af7Sopenharmony_ci               OpBranch %330
611e5c31af7Sopenharmony_ci        %330 = OpLabel
612e5c31af7Sopenharmony_ci        %331 = OpLoad %6 %325
613e5c31af7Sopenharmony_ci        %332 = OpSLessThan %59 %331 %58
614e5c31af7Sopenharmony_ci               OpBranchConditional %332 %327 %328
615e5c31af7Sopenharmony_ci        %327 = OpLabel
616e5c31af7Sopenharmony_ci               OpStore %333 %9
617e5c31af7Sopenharmony_ci               OpBranch %334
618e5c31af7Sopenharmony_ci        %334 = OpLabel
619e5c31af7Sopenharmony_ci               OpLoopMerge %336 %337 None
620e5c31af7Sopenharmony_ci               OpBranch %338
621e5c31af7Sopenharmony_ci        %338 = OpLabel
622e5c31af7Sopenharmony_ci        %339 = OpLoad %6 %333
623e5c31af7Sopenharmony_ci        %340 = OpSLessThan %59 %339 %58
624e5c31af7Sopenharmony_ci               OpBranchConditional %340 %335 %336
625e5c31af7Sopenharmony_ci        %335 = OpLabel
626e5c31af7Sopenharmony_ci               OpStore %341 %9
627e5c31af7Sopenharmony_ci               OpBranch %342
628e5c31af7Sopenharmony_ci        %342 = OpLabel
629e5c31af7Sopenharmony_ci               OpLoopMerge %344 %345 None
630e5c31af7Sopenharmony_ci               OpBranch %346
631e5c31af7Sopenharmony_ci        %346 = OpLabel
632e5c31af7Sopenharmony_ci        %347 = OpLoad %6 %341
633e5c31af7Sopenharmony_ci        %348 = OpSLessThan %59 %347 %58
634e5c31af7Sopenharmony_ci               OpBranchConditional %348 %343 %344
635e5c31af7Sopenharmony_ci        %343 = OpLabel
636e5c31af7Sopenharmony_ci               OpStore %349 %9
637e5c31af7Sopenharmony_ci               OpBranch %350
638e5c31af7Sopenharmony_ci        %350 = OpLabel
639e5c31af7Sopenharmony_ci               OpLoopMerge %352 %353 None
640e5c31af7Sopenharmony_ci               OpBranch %354
641e5c31af7Sopenharmony_ci        %354 = OpLabel
642e5c31af7Sopenharmony_ci        %355 = OpLoad %6 %349
643e5c31af7Sopenharmony_ci        %356 = OpSLessThan %59 %355 %58
644e5c31af7Sopenharmony_ci               OpBranchConditional %356 %351 %352
645e5c31af7Sopenharmony_ci        %351 = OpLabel
646e5c31af7Sopenharmony_ci               OpBranch %357
647e5c31af7Sopenharmony_ci        %357 = OpLabel
648e5c31af7Sopenharmony_ci               OpLoopMerge %359 %360 None
649e5c31af7Sopenharmony_ci               OpBranch %358
650e5c31af7Sopenharmony_ci        %358 = OpLabel
651e5c31af7Sopenharmony_ci        %361 = OpLoad %6 %8
652e5c31af7Sopenharmony_ci        %362 = OpIAdd %6 %361 %58
653e5c31af7Sopenharmony_ci               OpStore %8 %362
654e5c31af7Sopenharmony_ci               OpBranch %360
655e5c31af7Sopenharmony_ci        %360 = OpLabel
656e5c31af7Sopenharmony_ci        %363 = OpLoad %6 %8
657e5c31af7Sopenharmony_ci        %365 = OpSLessThan %59 %363 %364
658e5c31af7Sopenharmony_ci               OpBranchConditional %365 %357 %359
659e5c31af7Sopenharmony_ci        %359 = OpLabel
660e5c31af7Sopenharmony_ci        %366 = OpLoad %6 %349
661e5c31af7Sopenharmony_ci        %367 = OpLoad %6 %349
662e5c31af7Sopenharmony_ci        %370 = OpAccessChain %369 %14 %366 %367
663e5c31af7Sopenharmony_ci               OpStore %370 %368
664e5c31af7Sopenharmony_ci        %371 = OpLoad %6 %349
665e5c31af7Sopenharmony_ci        %372 = OpLoad %6 %349
666e5c31af7Sopenharmony_ci        %373 = OpAccessChain %369 %21 %371 %372
667e5c31af7Sopenharmony_ci               OpStore %373 %368
668e5c31af7Sopenharmony_ci        %374 = OpLoad %6 %349
669e5c31af7Sopenharmony_ci        %375 = OpLoad %6 %349
670e5c31af7Sopenharmony_ci        %376 = OpAccessChain %369 %27 %374 %375
671e5c31af7Sopenharmony_ci               OpStore %376 %368
672e5c31af7Sopenharmony_ci        %377 = OpLoad %6 %349
673e5c31af7Sopenharmony_ci        %378 = OpLoad %6 %349
674e5c31af7Sopenharmony_ci        %379 = OpAccessChain %369 %32 %377 %378
675e5c31af7Sopenharmony_ci               OpStore %379 %368
676e5c31af7Sopenharmony_ci        %380 = OpLoad %6 %349
677e5c31af7Sopenharmony_ci        %381 = OpLoad %6 %349
678e5c31af7Sopenharmony_ci        %382 = OpAccessChain %369 %36 %380 %381
679e5c31af7Sopenharmony_ci               OpStore %382 %368
680e5c31af7Sopenharmony_ci        %383 = OpLoad %6 %349
681e5c31af7Sopenharmony_ci        %384 = OpLoad %6 %349
682e5c31af7Sopenharmony_ci        %385 = OpAccessChain %369 %40 %383 %384
683e5c31af7Sopenharmony_ci               OpStore %385 %368
684e5c31af7Sopenharmony_ci        %386 = OpLoad %6 %349
685e5c31af7Sopenharmony_ci        %387 = OpLoad %6 %349
686e5c31af7Sopenharmony_ci        %388 = OpAccessChain %369 %44 %386 %387
687e5c31af7Sopenharmony_ci               OpStore %388 %368
688e5c31af7Sopenharmony_ci        %389 = OpLoad %6 %349
689e5c31af7Sopenharmony_ci        %390 = OpLoad %6 %349
690e5c31af7Sopenharmony_ci        %391 = OpAccessChain %369 %48 %389 %390
691e5c31af7Sopenharmony_ci               OpStore %391 %368
692e5c31af7Sopenharmony_ci               OpBranch %353
693e5c31af7Sopenharmony_ci        %353 = OpLabel
694e5c31af7Sopenharmony_ci        %392 = OpLoad %6 %349
695e5c31af7Sopenharmony_ci        %393 = OpIAdd %6 %392 %58
696e5c31af7Sopenharmony_ci               OpStore %349 %393
697e5c31af7Sopenharmony_ci               OpBranch %350
698e5c31af7Sopenharmony_ci        %352 = OpLabel
699e5c31af7Sopenharmony_ci               OpBranch %345
700e5c31af7Sopenharmony_ci        %345 = OpLabel
701e5c31af7Sopenharmony_ci        %394 = OpLoad %6 %341
702e5c31af7Sopenharmony_ci        %395 = OpIAdd %6 %394 %58
703e5c31af7Sopenharmony_ci               OpStore %341 %395
704e5c31af7Sopenharmony_ci               OpBranch %342
705e5c31af7Sopenharmony_ci        %344 = OpLabel
706e5c31af7Sopenharmony_ci               OpBranch %337
707e5c31af7Sopenharmony_ci        %337 = OpLabel
708e5c31af7Sopenharmony_ci        %396 = OpLoad %6 %333
709e5c31af7Sopenharmony_ci        %397 = OpIAdd %6 %396 %58
710e5c31af7Sopenharmony_ci               OpStore %333 %397
711e5c31af7Sopenharmony_ci               OpBranch %334
712e5c31af7Sopenharmony_ci        %336 = OpLabel
713e5c31af7Sopenharmony_ci               OpBranch %329
714e5c31af7Sopenharmony_ci        %329 = OpLabel
715e5c31af7Sopenharmony_ci        %398 = OpLoad %6 %325
716e5c31af7Sopenharmony_ci        %399 = OpIAdd %6 %398 %58
717e5c31af7Sopenharmony_ci               OpStore %325 %399
718e5c31af7Sopenharmony_ci               OpBranch %326
719e5c31af7Sopenharmony_ci        %328 = OpLabel
720e5c31af7Sopenharmony_ci               OpBranch %321
721e5c31af7Sopenharmony_ci        %321 = OpLabel
722e5c31af7Sopenharmony_ci        %400 = OpLoad %6 %317
723e5c31af7Sopenharmony_ci        %401 = OpIAdd %6 %400 %58
724e5c31af7Sopenharmony_ci               OpStore %317 %401
725e5c31af7Sopenharmony_ci               OpBranch %318
726e5c31af7Sopenharmony_ci        %320 = OpLabel
727e5c31af7Sopenharmony_ci               OpBranch %313
728e5c31af7Sopenharmony_ci        %313 = OpLabel
729e5c31af7Sopenharmony_ci        %402 = OpLoad %6 %309
730e5c31af7Sopenharmony_ci        %403 = OpIAdd %6 %402 %58
731e5c31af7Sopenharmony_ci               OpStore %309 %403
732e5c31af7Sopenharmony_ci               OpBranch %310
733e5c31af7Sopenharmony_ci        %312 = OpLabel
734e5c31af7Sopenharmony_ci               OpBranch %305
735e5c31af7Sopenharmony_ci        %305 = OpLabel
736e5c31af7Sopenharmony_ci        %404 = OpLoad %6 %301
737e5c31af7Sopenharmony_ci        %405 = OpIAdd %6 %404 %58
738e5c31af7Sopenharmony_ci               OpStore %301 %405
739e5c31af7Sopenharmony_ci               OpBranch %302
740e5c31af7Sopenharmony_ci        %304 = OpLabel
741e5c31af7Sopenharmony_ci               OpBranch %297
742e5c31af7Sopenharmony_ci        %297 = OpLabel
743e5c31af7Sopenharmony_ci        %406 = OpLoad %6 %293
744e5c31af7Sopenharmony_ci        %407 = OpIAdd %6 %406 %58
745e5c31af7Sopenharmony_ci               OpStore %293 %407
746e5c31af7Sopenharmony_ci               OpBranch %294
747e5c31af7Sopenharmony_ci        %296 = OpLabel
748e5c31af7Sopenharmony_ci               OpBranch %289
749e5c31af7Sopenharmony_ci        %289 = OpLabel
750e5c31af7Sopenharmony_ci        %408 = OpLoad %6 %285
751e5c31af7Sopenharmony_ci        %409 = OpIAdd %6 %408 %58
752e5c31af7Sopenharmony_ci               OpStore %285 %409
753e5c31af7Sopenharmony_ci               OpBranch %286
754e5c31af7Sopenharmony_ci        %288 = OpLabel
755e5c31af7Sopenharmony_ci               OpBranch %281
756e5c31af7Sopenharmony_ci        %281 = OpLabel
757e5c31af7Sopenharmony_ci        %410 = OpLoad %6 %277
758e5c31af7Sopenharmony_ci        %411 = OpIAdd %6 %410 %58
759e5c31af7Sopenharmony_ci               OpStore %277 %411
760e5c31af7Sopenharmony_ci               OpBranch %278
761e5c31af7Sopenharmony_ci        %280 = OpLabel
762e5c31af7Sopenharmony_ci               OpBranch %273
763e5c31af7Sopenharmony_ci        %273 = OpLabel
764e5c31af7Sopenharmony_ci        %412 = OpLoad %6 %269
765e5c31af7Sopenharmony_ci        %413 = OpIAdd %6 %412 %58
766e5c31af7Sopenharmony_ci               OpStore %269 %413
767e5c31af7Sopenharmony_ci               OpBranch %270
768e5c31af7Sopenharmony_ci        %272 = OpLabel
769e5c31af7Sopenharmony_ci               OpBranch %265
770e5c31af7Sopenharmony_ci        %265 = OpLabel
771e5c31af7Sopenharmony_ci        %414 = OpLoad %6 %261
772e5c31af7Sopenharmony_ci        %415 = OpIAdd %6 %414 %58
773e5c31af7Sopenharmony_ci               OpStore %261 %415
774e5c31af7Sopenharmony_ci               OpBranch %262
775e5c31af7Sopenharmony_ci        %264 = OpLabel
776e5c31af7Sopenharmony_ci               OpBranch %257
777e5c31af7Sopenharmony_ci        %257 = OpLabel
778e5c31af7Sopenharmony_ci        %416 = OpLoad %6 %253
779e5c31af7Sopenharmony_ci        %417 = OpIAdd %6 %416 %58
780e5c31af7Sopenharmony_ci               OpStore %253 %417
781e5c31af7Sopenharmony_ci               OpBranch %254
782e5c31af7Sopenharmony_ci        %256 = OpLabel
783e5c31af7Sopenharmony_ci               OpBranch %249
784e5c31af7Sopenharmony_ci        %249 = OpLabel
785e5c31af7Sopenharmony_ci        %418 = OpLoad %6 %245
786e5c31af7Sopenharmony_ci        %419 = OpIAdd %6 %418 %58
787e5c31af7Sopenharmony_ci               OpStore %245 %419
788e5c31af7Sopenharmony_ci               OpBranch %246
789e5c31af7Sopenharmony_ci        %248 = OpLabel
790e5c31af7Sopenharmony_ci               OpBranch %241
791e5c31af7Sopenharmony_ci        %241 = OpLabel
792e5c31af7Sopenharmony_ci        %420 = OpLoad %6 %237
793e5c31af7Sopenharmony_ci        %421 = OpIAdd %6 %420 %58
794e5c31af7Sopenharmony_ci               OpStore %237 %421
795e5c31af7Sopenharmony_ci               OpBranch %238
796e5c31af7Sopenharmony_ci        %240 = OpLabel
797e5c31af7Sopenharmony_ci               OpBranch %233
798e5c31af7Sopenharmony_ci        %233 = OpLabel
799e5c31af7Sopenharmony_ci        %422 = OpLoad %6 %229
800e5c31af7Sopenharmony_ci        %423 = OpIAdd %6 %422 %58
801e5c31af7Sopenharmony_ci               OpStore %229 %423
802e5c31af7Sopenharmony_ci               OpBranch %230
803e5c31af7Sopenharmony_ci        %232 = OpLabel
804e5c31af7Sopenharmony_ci               OpBranch %225
805e5c31af7Sopenharmony_ci        %225 = OpLabel
806e5c31af7Sopenharmony_ci        %424 = OpLoad %6 %221
807e5c31af7Sopenharmony_ci        %425 = OpIAdd %6 %424 %58
808e5c31af7Sopenharmony_ci               OpStore %221 %425
809e5c31af7Sopenharmony_ci               OpBranch %222
810e5c31af7Sopenharmony_ci        %224 = OpLabel
811e5c31af7Sopenharmony_ci               OpBranch %217
812e5c31af7Sopenharmony_ci        %217 = OpLabel
813e5c31af7Sopenharmony_ci        %426 = OpLoad %6 %213
814e5c31af7Sopenharmony_ci        %427 = OpIAdd %6 %426 %58
815e5c31af7Sopenharmony_ci               OpStore %213 %427
816e5c31af7Sopenharmony_ci               OpBranch %214
817e5c31af7Sopenharmony_ci        %216 = OpLabel
818e5c31af7Sopenharmony_ci               OpBranch %209
819e5c31af7Sopenharmony_ci        %209 = OpLabel
820e5c31af7Sopenharmony_ci        %428 = OpLoad %6 %205
821e5c31af7Sopenharmony_ci        %429 = OpIAdd %6 %428 %58
822e5c31af7Sopenharmony_ci               OpStore %205 %429
823e5c31af7Sopenharmony_ci               OpBranch %206
824e5c31af7Sopenharmony_ci        %208 = OpLabel
825e5c31af7Sopenharmony_ci               OpBranch %201
826e5c31af7Sopenharmony_ci        %201 = OpLabel
827e5c31af7Sopenharmony_ci        %430 = OpLoad %6 %197
828e5c31af7Sopenharmony_ci        %431 = OpIAdd %6 %430 %58
829e5c31af7Sopenharmony_ci               OpStore %197 %431
830e5c31af7Sopenharmony_ci               OpBranch %198
831e5c31af7Sopenharmony_ci        %200 = OpLabel
832e5c31af7Sopenharmony_ci               OpBranch %193
833e5c31af7Sopenharmony_ci        %193 = OpLabel
834e5c31af7Sopenharmony_ci        %432 = OpLoad %6 %189
835e5c31af7Sopenharmony_ci        %433 = OpIAdd %6 %432 %58
836e5c31af7Sopenharmony_ci               OpStore %189 %433
837e5c31af7Sopenharmony_ci               OpBranch %190
838e5c31af7Sopenharmony_ci        %192 = OpLabel
839e5c31af7Sopenharmony_ci               OpBranch %185
840e5c31af7Sopenharmony_ci        %185 = OpLabel
841e5c31af7Sopenharmony_ci        %434 = OpLoad %6 %181
842e5c31af7Sopenharmony_ci        %435 = OpIAdd %6 %434 %58
843e5c31af7Sopenharmony_ci               OpStore %181 %435
844e5c31af7Sopenharmony_ci               OpBranch %182
845e5c31af7Sopenharmony_ci        %184 = OpLabel
846e5c31af7Sopenharmony_ci               OpBranch %177
847e5c31af7Sopenharmony_ci        %177 = OpLabel
848e5c31af7Sopenharmony_ci        %436 = OpLoad %6 %173
849e5c31af7Sopenharmony_ci        %437 = OpIAdd %6 %436 %58
850e5c31af7Sopenharmony_ci               OpStore %173 %437
851e5c31af7Sopenharmony_ci               OpBranch %174
852e5c31af7Sopenharmony_ci        %176 = OpLabel
853e5c31af7Sopenharmony_ci               OpBranch %169
854e5c31af7Sopenharmony_ci        %169 = OpLabel
855e5c31af7Sopenharmony_ci        %438 = OpLoad %6 %165
856e5c31af7Sopenharmony_ci        %439 = OpIAdd %6 %438 %58
857e5c31af7Sopenharmony_ci               OpStore %165 %439
858e5c31af7Sopenharmony_ci               OpBranch %166
859e5c31af7Sopenharmony_ci        %168 = OpLabel
860e5c31af7Sopenharmony_ci               OpBranch %161
861e5c31af7Sopenharmony_ci        %161 = OpLabel
862e5c31af7Sopenharmony_ci        %440 = OpLoad %6 %157
863e5c31af7Sopenharmony_ci        %441 = OpIAdd %6 %440 %58
864e5c31af7Sopenharmony_ci               OpStore %157 %441
865e5c31af7Sopenharmony_ci               OpBranch %158
866e5c31af7Sopenharmony_ci        %160 = OpLabel
867e5c31af7Sopenharmony_ci               OpBranch %153
868e5c31af7Sopenharmony_ci        %153 = OpLabel
869e5c31af7Sopenharmony_ci        %442 = OpLoad %6 %149
870e5c31af7Sopenharmony_ci        %443 = OpIAdd %6 %442 %58
871e5c31af7Sopenharmony_ci               OpStore %149 %443
872e5c31af7Sopenharmony_ci               OpBranch %150
873e5c31af7Sopenharmony_ci        %152 = OpLabel
874e5c31af7Sopenharmony_ci               OpBranch %145
875e5c31af7Sopenharmony_ci        %145 = OpLabel
876e5c31af7Sopenharmony_ci        %444 = OpLoad %6 %141
877e5c31af7Sopenharmony_ci        %445 = OpIAdd %6 %444 %58
878e5c31af7Sopenharmony_ci               OpStore %141 %445
879e5c31af7Sopenharmony_ci               OpBranch %142
880e5c31af7Sopenharmony_ci        %144 = OpLabel
881e5c31af7Sopenharmony_ci               OpBranch %137
882e5c31af7Sopenharmony_ci        %137 = OpLabel
883e5c31af7Sopenharmony_ci        %446 = OpLoad %6 %133
884e5c31af7Sopenharmony_ci        %447 = OpIAdd %6 %446 %58
885e5c31af7Sopenharmony_ci               OpStore %133 %447
886e5c31af7Sopenharmony_ci               OpBranch %134
887e5c31af7Sopenharmony_ci        %136 = OpLabel
888e5c31af7Sopenharmony_ci               OpBranch %129
889e5c31af7Sopenharmony_ci        %129 = OpLabel
890e5c31af7Sopenharmony_ci        %448 = OpLoad %6 %125
891e5c31af7Sopenharmony_ci        %449 = OpIAdd %6 %448 %58
892e5c31af7Sopenharmony_ci               OpStore %125 %449
893e5c31af7Sopenharmony_ci               OpBranch %126
894e5c31af7Sopenharmony_ci        %128 = OpLabel
895e5c31af7Sopenharmony_ci               OpBranch %121
896e5c31af7Sopenharmony_ci        %121 = OpLabel
897e5c31af7Sopenharmony_ci        %450 = OpLoad %6 %117
898e5c31af7Sopenharmony_ci        %451 = OpIAdd %6 %450 %58
899e5c31af7Sopenharmony_ci               OpStore %117 %451
900e5c31af7Sopenharmony_ci               OpBranch %118
901e5c31af7Sopenharmony_ci        %120 = OpLabel
902e5c31af7Sopenharmony_ci               OpBranch %113
903e5c31af7Sopenharmony_ci        %113 = OpLabel
904e5c31af7Sopenharmony_ci        %452 = OpLoad %6 %109
905e5c31af7Sopenharmony_ci        %453 = OpIAdd %6 %452 %58
906e5c31af7Sopenharmony_ci               OpStore %109 %453
907e5c31af7Sopenharmony_ci               OpBranch %110
908e5c31af7Sopenharmony_ci        %112 = OpLabel
909e5c31af7Sopenharmony_ci               OpBranch %105
910e5c31af7Sopenharmony_ci        %105 = OpLabel
911e5c31af7Sopenharmony_ci        %454 = OpLoad %6 %101
912e5c31af7Sopenharmony_ci        %455 = OpIAdd %6 %454 %58
913e5c31af7Sopenharmony_ci               OpStore %101 %455
914e5c31af7Sopenharmony_ci               OpBranch %102
915e5c31af7Sopenharmony_ci        %104 = OpLabel
916e5c31af7Sopenharmony_ci               OpBranch %97
917e5c31af7Sopenharmony_ci         %97 = OpLabel
918e5c31af7Sopenharmony_ci        %456 = OpLoad %6 %93
919e5c31af7Sopenharmony_ci        %457 = OpIAdd %6 %456 %58
920e5c31af7Sopenharmony_ci               OpStore %93 %457
921e5c31af7Sopenharmony_ci               OpBranch %94
922e5c31af7Sopenharmony_ci         %96 = OpLabel
923e5c31af7Sopenharmony_ci               OpBranch %89
924e5c31af7Sopenharmony_ci         %89 = OpLabel
925e5c31af7Sopenharmony_ci        %458 = OpLoad %6 %85
926e5c31af7Sopenharmony_ci        %459 = OpIAdd %6 %458 %58
927e5c31af7Sopenharmony_ci               OpStore %85 %459
928e5c31af7Sopenharmony_ci               OpBranch %86
929e5c31af7Sopenharmony_ci         %88 = OpLabel
930e5c31af7Sopenharmony_ci               OpBranch %81
931e5c31af7Sopenharmony_ci         %81 = OpLabel
932e5c31af7Sopenharmony_ci        %460 = OpLoad %6 %77
933e5c31af7Sopenharmony_ci        %461 = OpIAdd %6 %460 %58
934e5c31af7Sopenharmony_ci               OpStore %77 %461
935e5c31af7Sopenharmony_ci               OpBranch %78
936e5c31af7Sopenharmony_ci         %80 = OpLabel
937e5c31af7Sopenharmony_ci               OpBranch %73
938e5c31af7Sopenharmony_ci         %73 = OpLabel
939e5c31af7Sopenharmony_ci        %462 = OpLoad %6 %69
940e5c31af7Sopenharmony_ci        %463 = OpIAdd %6 %462 %58
941e5c31af7Sopenharmony_ci               OpStore %69 %463
942e5c31af7Sopenharmony_ci               OpBranch %70
943e5c31af7Sopenharmony_ci         %72 = OpLabel
944e5c31af7Sopenharmony_ci               OpBranch %65
945e5c31af7Sopenharmony_ci         %65 = OpLabel
946e5c31af7Sopenharmony_ci        %464 = OpLoad %6 %61
947e5c31af7Sopenharmony_ci        %465 = OpIAdd %6 %464 %58
948e5c31af7Sopenharmony_ci               OpStore %61 %465
949e5c31af7Sopenharmony_ci               OpBranch %62
950e5c31af7Sopenharmony_ci         %64 = OpLabel
951e5c31af7Sopenharmony_ci               OpBranch %55
952e5c31af7Sopenharmony_ci         %55 = OpLabel
953e5c31af7Sopenharmony_ci        %466 = OpLoad %6 %51
954e5c31af7Sopenharmony_ci        %467 = OpIAdd %6 %466 %58
955e5c31af7Sopenharmony_ci               OpStore %51 %467
956e5c31af7Sopenharmony_ci               OpBranch %52
957e5c31af7Sopenharmony_ci         %54 = OpLabel
958e5c31af7Sopenharmony_ci               OpStore %468 %15
959e5c31af7Sopenharmony_ci               OpStore %469 %9
960e5c31af7Sopenharmony_ci               OpBranch %470
961e5c31af7Sopenharmony_ci        %470 = OpLabel
962e5c31af7Sopenharmony_ci               OpLoopMerge %472 %473 None
963e5c31af7Sopenharmony_ci               OpBranch %474
964e5c31af7Sopenharmony_ci        %474 = OpLabel
965e5c31af7Sopenharmony_ci        %475 = OpLoad %6 %8
966e5c31af7Sopenharmony_ci        %477 = OpSLessThan %59 %475 %476
967e5c31af7Sopenharmony_ci               OpBranchConditional %477 %471 %472
968e5c31af7Sopenharmony_ci        %471 = OpLabel
969e5c31af7Sopenharmony_ci        %478 = OpLoad %6 %8
970e5c31af7Sopenharmony_ci        %479 = OpIAdd %6 %478 %58
971e5c31af7Sopenharmony_ci               OpStore %8 %479
972e5c31af7Sopenharmony_ci        %480 = OpLoad %6 %469
973e5c31af7Sopenharmony_ci        %481 = OpAccessChain %369 %14 %9 %480
974e5c31af7Sopenharmony_ci        %482 = OpLoad %10 %481
975e5c31af7Sopenharmony_ci        %483 = OpLoad %10 %468
976e5c31af7Sopenharmony_ci        %484 = OpFAdd %10 %483 %482
977e5c31af7Sopenharmony_ci               OpStore %468 %484
978e5c31af7Sopenharmony_ci        %485 = OpLoad %6 %469
979e5c31af7Sopenharmony_ci        %486 = OpAccessChain %369 %21 %9 %485
980e5c31af7Sopenharmony_ci        %487 = OpLoad %10 %486
981e5c31af7Sopenharmony_ci        %488 = OpLoad %10 %468
982e5c31af7Sopenharmony_ci        %489 = OpFAdd %10 %488 %487
983e5c31af7Sopenharmony_ci               OpStore %468 %489
984e5c31af7Sopenharmony_ci        %490 = OpLoad %6 %469
985e5c31af7Sopenharmony_ci        %491 = OpAccessChain %369 %27 %9 %490
986e5c31af7Sopenharmony_ci        %492 = OpLoad %10 %491
987e5c31af7Sopenharmony_ci        %493 = OpLoad %10 %468
988e5c31af7Sopenharmony_ci        %494 = OpFAdd %10 %493 %492
989e5c31af7Sopenharmony_ci               OpStore %468 %494
990e5c31af7Sopenharmony_ci        %495 = OpLoad %6 %469
991e5c31af7Sopenharmony_ci        %496 = OpAccessChain %369 %32 %9 %495
992e5c31af7Sopenharmony_ci        %497 = OpLoad %10 %496
993e5c31af7Sopenharmony_ci        %498 = OpLoad %10 %468
994e5c31af7Sopenharmony_ci        %499 = OpFAdd %10 %498 %497
995e5c31af7Sopenharmony_ci               OpStore %468 %499
996e5c31af7Sopenharmony_ci        %500 = OpLoad %6 %469
997e5c31af7Sopenharmony_ci        %501 = OpAccessChain %369 %36 %9 %500
998e5c31af7Sopenharmony_ci        %502 = OpLoad %10 %501
999e5c31af7Sopenharmony_ci        %503 = OpLoad %10 %468
1000e5c31af7Sopenharmony_ci        %504 = OpFAdd %10 %503 %502
1001e5c31af7Sopenharmony_ci               OpStore %468 %504
1002e5c31af7Sopenharmony_ci        %505 = OpLoad %6 %469
1003e5c31af7Sopenharmony_ci        %506 = OpAccessChain %369 %40 %9 %505
1004e5c31af7Sopenharmony_ci        %507 = OpLoad %10 %506
1005e5c31af7Sopenharmony_ci        %508 = OpLoad %10 %468
1006e5c31af7Sopenharmony_ci        %509 = OpFAdd %10 %508 %507
1007e5c31af7Sopenharmony_ci               OpStore %468 %509
1008e5c31af7Sopenharmony_ci        %510 = OpLoad %6 %469
1009e5c31af7Sopenharmony_ci        %511 = OpAccessChain %369 %44 %9 %510
1010e5c31af7Sopenharmony_ci        %512 = OpLoad %10 %511
1011e5c31af7Sopenharmony_ci        %513 = OpLoad %10 %468
1012e5c31af7Sopenharmony_ci        %514 = OpFAdd %10 %513 %512
1013e5c31af7Sopenharmony_ci               OpStore %468 %514
1014e5c31af7Sopenharmony_ci        %515 = OpLoad %6 %469
1015e5c31af7Sopenharmony_ci        %516 = OpAccessChain %369 %48 %9 %515
1016e5c31af7Sopenharmony_ci        %517 = OpLoad %10 %516
1017e5c31af7Sopenharmony_ci        %518 = OpLoad %10 %468
1018e5c31af7Sopenharmony_ci        %519 = OpFAdd %10 %518 %517
1019e5c31af7Sopenharmony_ci               OpStore %468 %519
1020e5c31af7Sopenharmony_ci               OpBranch %473
1021e5c31af7Sopenharmony_ci        %473 = OpLabel
1022e5c31af7Sopenharmony_ci        %520 = OpLoad %6 %469
1023e5c31af7Sopenharmony_ci        %521 = OpIAdd %6 %520 %58
1024e5c31af7Sopenharmony_ci               OpStore %469 %521
1025e5c31af7Sopenharmony_ci               OpBranch %470
1026e5c31af7Sopenharmony_ci        %472 = OpLabel
1027e5c31af7Sopenharmony_ci        %522 = OpLoad %10 %468
1028e5c31af7Sopenharmony_ci        %524 = OpFOrdEqual %59 %522 %523
1029e5c31af7Sopenharmony_ci               OpSelectionMerge %526 None
1030e5c31af7Sopenharmony_ci               OpBranchConditional %524 %525 %530
1031e5c31af7Sopenharmony_ci        %525 = OpLabel
1032e5c31af7Sopenharmony_ci               OpStore %528 %529
1033e5c31af7Sopenharmony_ci               OpBranch %526
1034e5c31af7Sopenharmony_ci        %530 = OpLabel
1035e5c31af7Sopenharmony_ci               OpStore %528 %22
1036e5c31af7Sopenharmony_ci               OpBranch %526
1037e5c31af7Sopenharmony_ci        %526 = OpLabel
1038e5c31af7Sopenharmony_ci               OpReturn
1039e5c31af7Sopenharmony_ci               OpFunctionEnd
1040e5c31af7Sopenharmony_ciEND
1041e5c31af7Sopenharmony_ci
1042e5c31af7Sopenharmony_ci
1043e5c31af7Sopenharmony_ciBUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM
1044e5c31af7Sopenharmony_ci
1045e5c31af7Sopenharmony_ciPIPELINE graphics variant_pipeline
1046e5c31af7Sopenharmony_ci  ATTACH variant_vertex_shader
1047e5c31af7Sopenharmony_ci  ATTACH variant_fragment_shader
1048e5c31af7Sopenharmony_ci  FRAMEBUFFER_SIZE 256 256
1049e5c31af7Sopenharmony_ci  BIND BUFFER variant_framebuffer AS color LOCATION 0
1050e5c31af7Sopenharmony_ciEND
1051e5c31af7Sopenharmony_ciCLEAR_COLOR variant_pipeline 0 0 0 255
1052e5c31af7Sopenharmony_ci
1053e5c31af7Sopenharmony_ciCLEAR variant_pipeline
1054e5c31af7Sopenharmony_ciRUN variant_pipeline DRAW_RECT POS 0 0 SIZE 256 256
1055e5c31af7Sopenharmony_ci
1056e5c31af7Sopenharmony_ciEXPECT variant_framebuffer IDX 0 0 SIZE 256 256 EQ_RGBA 255 0 0 255
1057