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