1e5c31af7Sopenharmony_ci#!amber
2e5c31af7Sopenharmony_ci
3e5c31af7Sopenharmony_ci# Copyright 2022 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 LLVM 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# #define _int_1 _GLF_uniform_int_values[0]
29e5c31af7Sopenharmony_ci# #define _int_2 _GLF_uniform_int_values[1]
30e5c31af7Sopenharmony_ci# #define _int_0 _GLF_uniform_int_values[2]
31e5c31af7Sopenharmony_ci#
32e5c31af7Sopenharmony_ci# precision highp float;
33e5c31af7Sopenharmony_ci# precision highp int;
34e5c31af7Sopenharmony_ci#
35e5c31af7Sopenharmony_ci# // Contents of _GLF_uniform_int_values: [1, 2, 0]
36e5c31af7Sopenharmony_ci# layout(set = 0, binding = 0) uniform buf0
37e5c31af7Sopenharmony_ci# {
38e5c31af7Sopenharmony_ci#     int _GLF_uniform_int_values[3];
39e5c31af7Sopenharmony_ci# };
40e5c31af7Sopenharmony_ci#
41e5c31af7Sopenharmony_ci# layout(location = 0) out vec4 _GLF_color;
42e5c31af7Sopenharmony_ci#
43e5c31af7Sopenharmony_ci# void func()
44e5c31af7Sopenharmony_ci# {
45e5c31af7Sopenharmony_ci#     int a = -86465;
46e5c31af7Sopenharmony_ci#
47e5c31af7Sopenharmony_ci#     for(int i = 0; i < 3; i++)
48e5c31af7Sopenharmony_ci#     {
49e5c31af7Sopenharmony_ci#         // Always clamps the index to one and selects value two.
50e5c31af7Sopenharmony_ci#         if(int[256](_int_1, _int_2, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1, _int_1)[clamp(a, 1, 255)] == _int_2)
51e5c31af7Sopenharmony_ci#         {
52e5c31af7Sopenharmony_ci#             _GLF_color = vec4(1, 0, 0, 1);
53e5c31af7Sopenharmony_ci#         }
54e5c31af7Sopenharmony_ci#
55e5c31af7Sopenharmony_ci#         a++;
56e5c31af7Sopenharmony_ci#     }
57e5c31af7Sopenharmony_ci# }
58e5c31af7Sopenharmony_ci#
59e5c31af7Sopenharmony_ci# void main()
60e5c31af7Sopenharmony_ci# {
61e5c31af7Sopenharmony_ci#     _GLF_color = vec4(_int_0);
62e5c31af7Sopenharmony_ci#     func();
63e5c31af7Sopenharmony_ci# }
64e5c31af7Sopenharmony_ciSHADER fragment variant_fragment_shader SPIRV-ASM TARGET_ENV spv1.0
65e5c31af7Sopenharmony_ci; SPIR-V
66e5c31af7Sopenharmony_ci; Version: 1.0
67e5c31af7Sopenharmony_ci; Generator: Khronos Glslang Reference Front End; 10
68e5c31af7Sopenharmony_ci; Bound: 575
69e5c31af7Sopenharmony_ci; Schema: 0
70e5c31af7Sopenharmony_ci               OpCapability Shader
71e5c31af7Sopenharmony_ci          %1 = OpExtInstImport "GLSL.std.450"
72e5c31af7Sopenharmony_ci               OpMemoryModel Logical GLSL450
73e5c31af7Sopenharmony_ci               OpEntryPoint Fragment %4 "main" %561
74e5c31af7Sopenharmony_ci               OpExecutionMode %4 OriginUpperLeft
75e5c31af7Sopenharmony_ci               OpSource ESSL 320
76e5c31af7Sopenharmony_ci               OpName %4 "main"
77e5c31af7Sopenharmony_ci               OpName %6 "func("
78e5c31af7Sopenharmony_ci               OpName %10 "a"
79e5c31af7Sopenharmony_ci               OpName %12 "i"
80e5c31af7Sopenharmony_ci               OpName %26 "buf0"
81e5c31af7Sopenharmony_ci               OpMemberName %26 0 "_GLF_uniform_int_values"
82e5c31af7Sopenharmony_ci               OpName %28 ""
83e5c31af7Sopenharmony_ci               OpName %550 "indexable"
84e5c31af7Sopenharmony_ci               OpName %561 "_GLF_color"
85e5c31af7Sopenharmony_ci               OpDecorate %25 ArrayStride 16
86e5c31af7Sopenharmony_ci               OpMemberDecorate %26 0 Offset 0
87e5c31af7Sopenharmony_ci               OpDecorate %26 Block
88e5c31af7Sopenharmony_ci               OpDecorate %28 DescriptorSet 0
89e5c31af7Sopenharmony_ci               OpDecorate %28 Binding 0
90e5c31af7Sopenharmony_ci               OpDecorate %561 Location 0
91e5c31af7Sopenharmony_ci          %2 = OpTypeVoid
92e5c31af7Sopenharmony_ci          %3 = OpTypeFunction %2
93e5c31af7Sopenharmony_ci          %8 = OpTypeInt 32 1
94e5c31af7Sopenharmony_ci          %9 = OpTypePointer Function %8
95e5c31af7Sopenharmony_ci         %11 = OpConstant %8 -86465
96e5c31af7Sopenharmony_ci         %13 = OpConstant %8 0
97e5c31af7Sopenharmony_ci         %20 = OpConstant %8 3
98e5c31af7Sopenharmony_ci         %21 = OpTypeBool
99e5c31af7Sopenharmony_ci         %23 = OpTypeInt 32 0
100e5c31af7Sopenharmony_ci         %24 = OpConstant %23 3
101e5c31af7Sopenharmony_ci         %25 = OpTypeArray %8 %24
102e5c31af7Sopenharmony_ci         %26 = OpTypeStruct %25
103e5c31af7Sopenharmony_ci         %27 = OpTypePointer Uniform %26
104e5c31af7Sopenharmony_ci         %28 = OpVariable %27 Uniform
105e5c31af7Sopenharmony_ci         %29 = OpTypePointer Uniform %8
106e5c31af7Sopenharmony_ci         %32 = OpConstant %8 1
107e5c31af7Sopenharmony_ci        %543 = OpConstant %23 256
108e5c31af7Sopenharmony_ci        %544 = OpTypeArray %8 %543
109e5c31af7Sopenharmony_ci        %547 = OpConstant %8 255
110e5c31af7Sopenharmony_ci        %549 = OpTypePointer Function %544
111e5c31af7Sopenharmony_ci        %558 = OpTypeFloat 32
112e5c31af7Sopenharmony_ci        %559 = OpTypeVector %558 4
113e5c31af7Sopenharmony_ci        %560 = OpTypePointer Output %559
114e5c31af7Sopenharmony_ci        %561 = OpVariable %560 Output
115e5c31af7Sopenharmony_ci        %562 = OpConstant %558 1
116e5c31af7Sopenharmony_ci        %563 = OpConstant %558 0
117e5c31af7Sopenharmony_ci        %564 = OpConstantComposite %559 %562 %563 %563 %562
118e5c31af7Sopenharmony_ci        %569 = OpConstant %8 2
119e5c31af7Sopenharmony_ci          %4 = OpFunction %2 None %3
120e5c31af7Sopenharmony_ci          %5 = OpLabel
121e5c31af7Sopenharmony_ci        %570 = OpAccessChain %29 %28 %13 %569
122e5c31af7Sopenharmony_ci        %571 = OpLoad %8 %570
123e5c31af7Sopenharmony_ci        %572 = OpConvertSToF %558 %571
124e5c31af7Sopenharmony_ci        %573 = OpCompositeConstruct %559 %572 %572 %572 %572
125e5c31af7Sopenharmony_ci               OpStore %561 %573
126e5c31af7Sopenharmony_ci        %574 = OpFunctionCall %2 %6
127e5c31af7Sopenharmony_ci               OpReturn
128e5c31af7Sopenharmony_ci               OpFunctionEnd
129e5c31af7Sopenharmony_ci          %6 = OpFunction %2 None %3
130e5c31af7Sopenharmony_ci          %7 = OpLabel
131e5c31af7Sopenharmony_ci         %10 = OpVariable %9 Function
132e5c31af7Sopenharmony_ci         %12 = OpVariable %9 Function
133e5c31af7Sopenharmony_ci        %550 = OpVariable %549 Function
134e5c31af7Sopenharmony_ci               OpStore %10 %11
135e5c31af7Sopenharmony_ci               OpStore %12 %13
136e5c31af7Sopenharmony_ci               OpBranch %14
137e5c31af7Sopenharmony_ci         %14 = OpLabel
138e5c31af7Sopenharmony_ci               OpLoopMerge %16 %17 None
139e5c31af7Sopenharmony_ci               OpBranch %18
140e5c31af7Sopenharmony_ci         %18 = OpLabel
141e5c31af7Sopenharmony_ci         %19 = OpLoad %8 %12
142e5c31af7Sopenharmony_ci         %22 = OpSLessThan %21 %19 %20
143e5c31af7Sopenharmony_ci               OpBranchConditional %22 %15 %16
144e5c31af7Sopenharmony_ci         %15 = OpLabel
145e5c31af7Sopenharmony_ci         %30 = OpAccessChain %29 %28 %13 %13
146e5c31af7Sopenharmony_ci         %31 = OpLoad %8 %30
147e5c31af7Sopenharmony_ci         %33 = OpAccessChain %29 %28 %13 %32
148e5c31af7Sopenharmony_ci         %34 = OpLoad %8 %33
149e5c31af7Sopenharmony_ci         %35 = OpAccessChain %29 %28 %13 %13
150e5c31af7Sopenharmony_ci         %36 = OpLoad %8 %35
151e5c31af7Sopenharmony_ci         %37 = OpAccessChain %29 %28 %13 %13
152e5c31af7Sopenharmony_ci         %38 = OpLoad %8 %37
153e5c31af7Sopenharmony_ci         %39 = OpAccessChain %29 %28 %13 %13
154e5c31af7Sopenharmony_ci         %40 = OpLoad %8 %39
155e5c31af7Sopenharmony_ci         %41 = OpAccessChain %29 %28 %13 %13
156e5c31af7Sopenharmony_ci         %42 = OpLoad %8 %41
157e5c31af7Sopenharmony_ci         %43 = OpAccessChain %29 %28 %13 %13
158e5c31af7Sopenharmony_ci         %44 = OpLoad %8 %43
159e5c31af7Sopenharmony_ci         %45 = OpAccessChain %29 %28 %13 %13
160e5c31af7Sopenharmony_ci         %46 = OpLoad %8 %45
161e5c31af7Sopenharmony_ci         %47 = OpAccessChain %29 %28 %13 %13
162e5c31af7Sopenharmony_ci         %48 = OpLoad %8 %47
163e5c31af7Sopenharmony_ci         %49 = OpAccessChain %29 %28 %13 %13
164e5c31af7Sopenharmony_ci         %50 = OpLoad %8 %49
165e5c31af7Sopenharmony_ci         %51 = OpAccessChain %29 %28 %13 %13
166e5c31af7Sopenharmony_ci         %52 = OpLoad %8 %51
167e5c31af7Sopenharmony_ci         %53 = OpAccessChain %29 %28 %13 %13
168e5c31af7Sopenharmony_ci         %54 = OpLoad %8 %53
169e5c31af7Sopenharmony_ci         %55 = OpAccessChain %29 %28 %13 %13
170e5c31af7Sopenharmony_ci         %56 = OpLoad %8 %55
171e5c31af7Sopenharmony_ci         %57 = OpAccessChain %29 %28 %13 %13
172e5c31af7Sopenharmony_ci         %58 = OpLoad %8 %57
173e5c31af7Sopenharmony_ci         %59 = OpAccessChain %29 %28 %13 %13
174e5c31af7Sopenharmony_ci         %60 = OpLoad %8 %59
175e5c31af7Sopenharmony_ci         %61 = OpAccessChain %29 %28 %13 %13
176e5c31af7Sopenharmony_ci         %62 = OpLoad %8 %61
177e5c31af7Sopenharmony_ci         %63 = OpAccessChain %29 %28 %13 %13
178e5c31af7Sopenharmony_ci         %64 = OpLoad %8 %63
179e5c31af7Sopenharmony_ci         %65 = OpAccessChain %29 %28 %13 %13
180e5c31af7Sopenharmony_ci         %66 = OpLoad %8 %65
181e5c31af7Sopenharmony_ci         %67 = OpAccessChain %29 %28 %13 %13
182e5c31af7Sopenharmony_ci         %68 = OpLoad %8 %67
183e5c31af7Sopenharmony_ci         %69 = OpAccessChain %29 %28 %13 %13
184e5c31af7Sopenharmony_ci         %70 = OpLoad %8 %69
185e5c31af7Sopenharmony_ci         %71 = OpAccessChain %29 %28 %13 %13
186e5c31af7Sopenharmony_ci         %72 = OpLoad %8 %71
187e5c31af7Sopenharmony_ci         %73 = OpAccessChain %29 %28 %13 %13
188e5c31af7Sopenharmony_ci         %74 = OpLoad %8 %73
189e5c31af7Sopenharmony_ci         %75 = OpAccessChain %29 %28 %13 %13
190e5c31af7Sopenharmony_ci         %76 = OpLoad %8 %75
191e5c31af7Sopenharmony_ci         %77 = OpAccessChain %29 %28 %13 %13
192e5c31af7Sopenharmony_ci         %78 = OpLoad %8 %77
193e5c31af7Sopenharmony_ci         %79 = OpAccessChain %29 %28 %13 %13
194e5c31af7Sopenharmony_ci         %80 = OpLoad %8 %79
195e5c31af7Sopenharmony_ci         %81 = OpAccessChain %29 %28 %13 %13
196e5c31af7Sopenharmony_ci         %82 = OpLoad %8 %81
197e5c31af7Sopenharmony_ci         %83 = OpAccessChain %29 %28 %13 %13
198e5c31af7Sopenharmony_ci         %84 = OpLoad %8 %83
199e5c31af7Sopenharmony_ci         %85 = OpAccessChain %29 %28 %13 %13
200e5c31af7Sopenharmony_ci         %86 = OpLoad %8 %85
201e5c31af7Sopenharmony_ci         %87 = OpAccessChain %29 %28 %13 %13
202e5c31af7Sopenharmony_ci         %88 = OpLoad %8 %87
203e5c31af7Sopenharmony_ci         %89 = OpAccessChain %29 %28 %13 %13
204e5c31af7Sopenharmony_ci         %90 = OpLoad %8 %89
205e5c31af7Sopenharmony_ci         %91 = OpAccessChain %29 %28 %13 %13
206e5c31af7Sopenharmony_ci         %92 = OpLoad %8 %91
207e5c31af7Sopenharmony_ci         %93 = OpAccessChain %29 %28 %13 %13
208e5c31af7Sopenharmony_ci         %94 = OpLoad %8 %93
209e5c31af7Sopenharmony_ci         %95 = OpAccessChain %29 %28 %13 %13
210e5c31af7Sopenharmony_ci         %96 = OpLoad %8 %95
211e5c31af7Sopenharmony_ci         %97 = OpAccessChain %29 %28 %13 %13
212e5c31af7Sopenharmony_ci         %98 = OpLoad %8 %97
213e5c31af7Sopenharmony_ci         %99 = OpAccessChain %29 %28 %13 %13
214e5c31af7Sopenharmony_ci        %100 = OpLoad %8 %99
215e5c31af7Sopenharmony_ci        %101 = OpAccessChain %29 %28 %13 %13
216e5c31af7Sopenharmony_ci        %102 = OpLoad %8 %101
217e5c31af7Sopenharmony_ci        %103 = OpAccessChain %29 %28 %13 %13
218e5c31af7Sopenharmony_ci        %104 = OpLoad %8 %103
219e5c31af7Sopenharmony_ci        %105 = OpAccessChain %29 %28 %13 %13
220e5c31af7Sopenharmony_ci        %106 = OpLoad %8 %105
221e5c31af7Sopenharmony_ci        %107 = OpAccessChain %29 %28 %13 %13
222e5c31af7Sopenharmony_ci        %108 = OpLoad %8 %107
223e5c31af7Sopenharmony_ci        %109 = OpAccessChain %29 %28 %13 %13
224e5c31af7Sopenharmony_ci        %110 = OpLoad %8 %109
225e5c31af7Sopenharmony_ci        %111 = OpAccessChain %29 %28 %13 %13
226e5c31af7Sopenharmony_ci        %112 = OpLoad %8 %111
227e5c31af7Sopenharmony_ci        %113 = OpAccessChain %29 %28 %13 %13
228e5c31af7Sopenharmony_ci        %114 = OpLoad %8 %113
229e5c31af7Sopenharmony_ci        %115 = OpAccessChain %29 %28 %13 %13
230e5c31af7Sopenharmony_ci        %116 = OpLoad %8 %115
231e5c31af7Sopenharmony_ci        %117 = OpAccessChain %29 %28 %13 %13
232e5c31af7Sopenharmony_ci        %118 = OpLoad %8 %117
233e5c31af7Sopenharmony_ci        %119 = OpAccessChain %29 %28 %13 %13
234e5c31af7Sopenharmony_ci        %120 = OpLoad %8 %119
235e5c31af7Sopenharmony_ci        %121 = OpAccessChain %29 %28 %13 %13
236e5c31af7Sopenharmony_ci        %122 = OpLoad %8 %121
237e5c31af7Sopenharmony_ci        %123 = OpAccessChain %29 %28 %13 %13
238e5c31af7Sopenharmony_ci        %124 = OpLoad %8 %123
239e5c31af7Sopenharmony_ci        %125 = OpAccessChain %29 %28 %13 %13
240e5c31af7Sopenharmony_ci        %126 = OpLoad %8 %125
241e5c31af7Sopenharmony_ci        %127 = OpAccessChain %29 %28 %13 %13
242e5c31af7Sopenharmony_ci        %128 = OpLoad %8 %127
243e5c31af7Sopenharmony_ci        %129 = OpAccessChain %29 %28 %13 %13
244e5c31af7Sopenharmony_ci        %130 = OpLoad %8 %129
245e5c31af7Sopenharmony_ci        %131 = OpAccessChain %29 %28 %13 %13
246e5c31af7Sopenharmony_ci        %132 = OpLoad %8 %131
247e5c31af7Sopenharmony_ci        %133 = OpAccessChain %29 %28 %13 %13
248e5c31af7Sopenharmony_ci        %134 = OpLoad %8 %133
249e5c31af7Sopenharmony_ci        %135 = OpAccessChain %29 %28 %13 %13
250e5c31af7Sopenharmony_ci        %136 = OpLoad %8 %135
251e5c31af7Sopenharmony_ci        %137 = OpAccessChain %29 %28 %13 %13
252e5c31af7Sopenharmony_ci        %138 = OpLoad %8 %137
253e5c31af7Sopenharmony_ci        %139 = OpAccessChain %29 %28 %13 %13
254e5c31af7Sopenharmony_ci        %140 = OpLoad %8 %139
255e5c31af7Sopenharmony_ci        %141 = OpAccessChain %29 %28 %13 %13
256e5c31af7Sopenharmony_ci        %142 = OpLoad %8 %141
257e5c31af7Sopenharmony_ci        %143 = OpAccessChain %29 %28 %13 %13
258e5c31af7Sopenharmony_ci        %144 = OpLoad %8 %143
259e5c31af7Sopenharmony_ci        %145 = OpAccessChain %29 %28 %13 %13
260e5c31af7Sopenharmony_ci        %146 = OpLoad %8 %145
261e5c31af7Sopenharmony_ci        %147 = OpAccessChain %29 %28 %13 %13
262e5c31af7Sopenharmony_ci        %148 = OpLoad %8 %147
263e5c31af7Sopenharmony_ci        %149 = OpAccessChain %29 %28 %13 %13
264e5c31af7Sopenharmony_ci        %150 = OpLoad %8 %149
265e5c31af7Sopenharmony_ci        %151 = OpAccessChain %29 %28 %13 %13
266e5c31af7Sopenharmony_ci        %152 = OpLoad %8 %151
267e5c31af7Sopenharmony_ci        %153 = OpAccessChain %29 %28 %13 %13
268e5c31af7Sopenharmony_ci        %154 = OpLoad %8 %153
269e5c31af7Sopenharmony_ci        %155 = OpAccessChain %29 %28 %13 %13
270e5c31af7Sopenharmony_ci        %156 = OpLoad %8 %155
271e5c31af7Sopenharmony_ci        %157 = OpAccessChain %29 %28 %13 %13
272e5c31af7Sopenharmony_ci        %158 = OpLoad %8 %157
273e5c31af7Sopenharmony_ci        %159 = OpAccessChain %29 %28 %13 %13
274e5c31af7Sopenharmony_ci        %160 = OpLoad %8 %159
275e5c31af7Sopenharmony_ci        %161 = OpAccessChain %29 %28 %13 %13
276e5c31af7Sopenharmony_ci        %162 = OpLoad %8 %161
277e5c31af7Sopenharmony_ci        %163 = OpAccessChain %29 %28 %13 %13
278e5c31af7Sopenharmony_ci        %164 = OpLoad %8 %163
279e5c31af7Sopenharmony_ci        %165 = OpAccessChain %29 %28 %13 %13
280e5c31af7Sopenharmony_ci        %166 = OpLoad %8 %165
281e5c31af7Sopenharmony_ci        %167 = OpAccessChain %29 %28 %13 %13
282e5c31af7Sopenharmony_ci        %168 = OpLoad %8 %167
283e5c31af7Sopenharmony_ci        %169 = OpAccessChain %29 %28 %13 %13
284e5c31af7Sopenharmony_ci        %170 = OpLoad %8 %169
285e5c31af7Sopenharmony_ci        %171 = OpAccessChain %29 %28 %13 %13
286e5c31af7Sopenharmony_ci        %172 = OpLoad %8 %171
287e5c31af7Sopenharmony_ci        %173 = OpAccessChain %29 %28 %13 %13
288e5c31af7Sopenharmony_ci        %174 = OpLoad %8 %173
289e5c31af7Sopenharmony_ci        %175 = OpAccessChain %29 %28 %13 %13
290e5c31af7Sopenharmony_ci        %176 = OpLoad %8 %175
291e5c31af7Sopenharmony_ci        %177 = OpAccessChain %29 %28 %13 %13
292e5c31af7Sopenharmony_ci        %178 = OpLoad %8 %177
293e5c31af7Sopenharmony_ci        %179 = OpAccessChain %29 %28 %13 %13
294e5c31af7Sopenharmony_ci        %180 = OpLoad %8 %179
295e5c31af7Sopenharmony_ci        %181 = OpAccessChain %29 %28 %13 %13
296e5c31af7Sopenharmony_ci        %182 = OpLoad %8 %181
297e5c31af7Sopenharmony_ci        %183 = OpAccessChain %29 %28 %13 %13
298e5c31af7Sopenharmony_ci        %184 = OpLoad %8 %183
299e5c31af7Sopenharmony_ci        %185 = OpAccessChain %29 %28 %13 %13
300e5c31af7Sopenharmony_ci        %186 = OpLoad %8 %185
301e5c31af7Sopenharmony_ci        %187 = OpAccessChain %29 %28 %13 %13
302e5c31af7Sopenharmony_ci        %188 = OpLoad %8 %187
303e5c31af7Sopenharmony_ci        %189 = OpAccessChain %29 %28 %13 %13
304e5c31af7Sopenharmony_ci        %190 = OpLoad %8 %189
305e5c31af7Sopenharmony_ci        %191 = OpAccessChain %29 %28 %13 %13
306e5c31af7Sopenharmony_ci        %192 = OpLoad %8 %191
307e5c31af7Sopenharmony_ci        %193 = OpAccessChain %29 %28 %13 %13
308e5c31af7Sopenharmony_ci        %194 = OpLoad %8 %193
309e5c31af7Sopenharmony_ci        %195 = OpAccessChain %29 %28 %13 %13
310e5c31af7Sopenharmony_ci        %196 = OpLoad %8 %195
311e5c31af7Sopenharmony_ci        %197 = OpAccessChain %29 %28 %13 %13
312e5c31af7Sopenharmony_ci        %198 = OpLoad %8 %197
313e5c31af7Sopenharmony_ci        %199 = OpAccessChain %29 %28 %13 %13
314e5c31af7Sopenharmony_ci        %200 = OpLoad %8 %199
315e5c31af7Sopenharmony_ci        %201 = OpAccessChain %29 %28 %13 %13
316e5c31af7Sopenharmony_ci        %202 = OpLoad %8 %201
317e5c31af7Sopenharmony_ci        %203 = OpAccessChain %29 %28 %13 %13
318e5c31af7Sopenharmony_ci        %204 = OpLoad %8 %203
319e5c31af7Sopenharmony_ci        %205 = OpAccessChain %29 %28 %13 %13
320e5c31af7Sopenharmony_ci        %206 = OpLoad %8 %205
321e5c31af7Sopenharmony_ci        %207 = OpAccessChain %29 %28 %13 %13
322e5c31af7Sopenharmony_ci        %208 = OpLoad %8 %207
323e5c31af7Sopenharmony_ci        %209 = OpAccessChain %29 %28 %13 %13
324e5c31af7Sopenharmony_ci        %210 = OpLoad %8 %209
325e5c31af7Sopenharmony_ci        %211 = OpAccessChain %29 %28 %13 %13
326e5c31af7Sopenharmony_ci        %212 = OpLoad %8 %211
327e5c31af7Sopenharmony_ci        %213 = OpAccessChain %29 %28 %13 %13
328e5c31af7Sopenharmony_ci        %214 = OpLoad %8 %213
329e5c31af7Sopenharmony_ci        %215 = OpAccessChain %29 %28 %13 %13
330e5c31af7Sopenharmony_ci        %216 = OpLoad %8 %215
331e5c31af7Sopenharmony_ci        %217 = OpAccessChain %29 %28 %13 %13
332e5c31af7Sopenharmony_ci        %218 = OpLoad %8 %217
333e5c31af7Sopenharmony_ci        %219 = OpAccessChain %29 %28 %13 %13
334e5c31af7Sopenharmony_ci        %220 = OpLoad %8 %219
335e5c31af7Sopenharmony_ci        %221 = OpAccessChain %29 %28 %13 %13
336e5c31af7Sopenharmony_ci        %222 = OpLoad %8 %221
337e5c31af7Sopenharmony_ci        %223 = OpAccessChain %29 %28 %13 %13
338e5c31af7Sopenharmony_ci        %224 = OpLoad %8 %223
339e5c31af7Sopenharmony_ci        %225 = OpAccessChain %29 %28 %13 %13
340e5c31af7Sopenharmony_ci        %226 = OpLoad %8 %225
341e5c31af7Sopenharmony_ci        %227 = OpAccessChain %29 %28 %13 %13
342e5c31af7Sopenharmony_ci        %228 = OpLoad %8 %227
343e5c31af7Sopenharmony_ci        %229 = OpAccessChain %29 %28 %13 %13
344e5c31af7Sopenharmony_ci        %230 = OpLoad %8 %229
345e5c31af7Sopenharmony_ci        %231 = OpAccessChain %29 %28 %13 %13
346e5c31af7Sopenharmony_ci        %232 = OpLoad %8 %231
347e5c31af7Sopenharmony_ci        %233 = OpAccessChain %29 %28 %13 %13
348e5c31af7Sopenharmony_ci        %234 = OpLoad %8 %233
349e5c31af7Sopenharmony_ci        %235 = OpAccessChain %29 %28 %13 %13
350e5c31af7Sopenharmony_ci        %236 = OpLoad %8 %235
351e5c31af7Sopenharmony_ci        %237 = OpAccessChain %29 %28 %13 %13
352e5c31af7Sopenharmony_ci        %238 = OpLoad %8 %237
353e5c31af7Sopenharmony_ci        %239 = OpAccessChain %29 %28 %13 %13
354e5c31af7Sopenharmony_ci        %240 = OpLoad %8 %239
355e5c31af7Sopenharmony_ci        %241 = OpAccessChain %29 %28 %13 %13
356e5c31af7Sopenharmony_ci        %242 = OpLoad %8 %241
357e5c31af7Sopenharmony_ci        %243 = OpAccessChain %29 %28 %13 %13
358e5c31af7Sopenharmony_ci        %244 = OpLoad %8 %243
359e5c31af7Sopenharmony_ci        %245 = OpAccessChain %29 %28 %13 %13
360e5c31af7Sopenharmony_ci        %246 = OpLoad %8 %245
361e5c31af7Sopenharmony_ci        %247 = OpAccessChain %29 %28 %13 %13
362e5c31af7Sopenharmony_ci        %248 = OpLoad %8 %247
363e5c31af7Sopenharmony_ci        %249 = OpAccessChain %29 %28 %13 %13
364e5c31af7Sopenharmony_ci        %250 = OpLoad %8 %249
365e5c31af7Sopenharmony_ci        %251 = OpAccessChain %29 %28 %13 %13
366e5c31af7Sopenharmony_ci        %252 = OpLoad %8 %251
367e5c31af7Sopenharmony_ci        %253 = OpAccessChain %29 %28 %13 %13
368e5c31af7Sopenharmony_ci        %254 = OpLoad %8 %253
369e5c31af7Sopenharmony_ci        %255 = OpAccessChain %29 %28 %13 %13
370e5c31af7Sopenharmony_ci        %256 = OpLoad %8 %255
371e5c31af7Sopenharmony_ci        %257 = OpAccessChain %29 %28 %13 %13
372e5c31af7Sopenharmony_ci        %258 = OpLoad %8 %257
373e5c31af7Sopenharmony_ci        %259 = OpAccessChain %29 %28 %13 %13
374e5c31af7Sopenharmony_ci        %260 = OpLoad %8 %259
375e5c31af7Sopenharmony_ci        %261 = OpAccessChain %29 %28 %13 %13
376e5c31af7Sopenharmony_ci        %262 = OpLoad %8 %261
377e5c31af7Sopenharmony_ci        %263 = OpAccessChain %29 %28 %13 %13
378e5c31af7Sopenharmony_ci        %264 = OpLoad %8 %263
379e5c31af7Sopenharmony_ci        %265 = OpAccessChain %29 %28 %13 %13
380e5c31af7Sopenharmony_ci        %266 = OpLoad %8 %265
381e5c31af7Sopenharmony_ci        %267 = OpAccessChain %29 %28 %13 %13
382e5c31af7Sopenharmony_ci        %268 = OpLoad %8 %267
383e5c31af7Sopenharmony_ci        %269 = OpAccessChain %29 %28 %13 %13
384e5c31af7Sopenharmony_ci        %270 = OpLoad %8 %269
385e5c31af7Sopenharmony_ci        %271 = OpAccessChain %29 %28 %13 %13
386e5c31af7Sopenharmony_ci        %272 = OpLoad %8 %271
387e5c31af7Sopenharmony_ci        %273 = OpAccessChain %29 %28 %13 %13
388e5c31af7Sopenharmony_ci        %274 = OpLoad %8 %273
389e5c31af7Sopenharmony_ci        %275 = OpAccessChain %29 %28 %13 %13
390e5c31af7Sopenharmony_ci        %276 = OpLoad %8 %275
391e5c31af7Sopenharmony_ci        %277 = OpAccessChain %29 %28 %13 %13
392e5c31af7Sopenharmony_ci        %278 = OpLoad %8 %277
393e5c31af7Sopenharmony_ci        %279 = OpAccessChain %29 %28 %13 %13
394e5c31af7Sopenharmony_ci        %280 = OpLoad %8 %279
395e5c31af7Sopenharmony_ci        %281 = OpAccessChain %29 %28 %13 %13
396e5c31af7Sopenharmony_ci        %282 = OpLoad %8 %281
397e5c31af7Sopenharmony_ci        %283 = OpAccessChain %29 %28 %13 %13
398e5c31af7Sopenharmony_ci        %284 = OpLoad %8 %283
399e5c31af7Sopenharmony_ci        %285 = OpAccessChain %29 %28 %13 %13
400e5c31af7Sopenharmony_ci        %286 = OpLoad %8 %285
401e5c31af7Sopenharmony_ci        %287 = OpAccessChain %29 %28 %13 %13
402e5c31af7Sopenharmony_ci        %288 = OpLoad %8 %287
403e5c31af7Sopenharmony_ci        %289 = OpAccessChain %29 %28 %13 %13
404e5c31af7Sopenharmony_ci        %290 = OpLoad %8 %289
405e5c31af7Sopenharmony_ci        %291 = OpAccessChain %29 %28 %13 %13
406e5c31af7Sopenharmony_ci        %292 = OpLoad %8 %291
407e5c31af7Sopenharmony_ci        %293 = OpAccessChain %29 %28 %13 %13
408e5c31af7Sopenharmony_ci        %294 = OpLoad %8 %293
409e5c31af7Sopenharmony_ci        %295 = OpAccessChain %29 %28 %13 %13
410e5c31af7Sopenharmony_ci        %296 = OpLoad %8 %295
411e5c31af7Sopenharmony_ci        %297 = OpAccessChain %29 %28 %13 %13
412e5c31af7Sopenharmony_ci        %298 = OpLoad %8 %297
413e5c31af7Sopenharmony_ci        %299 = OpAccessChain %29 %28 %13 %13
414e5c31af7Sopenharmony_ci        %300 = OpLoad %8 %299
415e5c31af7Sopenharmony_ci        %301 = OpAccessChain %29 %28 %13 %13
416e5c31af7Sopenharmony_ci        %302 = OpLoad %8 %301
417e5c31af7Sopenharmony_ci        %303 = OpAccessChain %29 %28 %13 %13
418e5c31af7Sopenharmony_ci        %304 = OpLoad %8 %303
419e5c31af7Sopenharmony_ci        %305 = OpAccessChain %29 %28 %13 %13
420e5c31af7Sopenharmony_ci        %306 = OpLoad %8 %305
421e5c31af7Sopenharmony_ci        %307 = OpAccessChain %29 %28 %13 %13
422e5c31af7Sopenharmony_ci        %308 = OpLoad %8 %307
423e5c31af7Sopenharmony_ci        %309 = OpAccessChain %29 %28 %13 %13
424e5c31af7Sopenharmony_ci        %310 = OpLoad %8 %309
425e5c31af7Sopenharmony_ci        %311 = OpAccessChain %29 %28 %13 %13
426e5c31af7Sopenharmony_ci        %312 = OpLoad %8 %311
427e5c31af7Sopenharmony_ci        %313 = OpAccessChain %29 %28 %13 %13
428e5c31af7Sopenharmony_ci        %314 = OpLoad %8 %313
429e5c31af7Sopenharmony_ci        %315 = OpAccessChain %29 %28 %13 %13
430e5c31af7Sopenharmony_ci        %316 = OpLoad %8 %315
431e5c31af7Sopenharmony_ci        %317 = OpAccessChain %29 %28 %13 %13
432e5c31af7Sopenharmony_ci        %318 = OpLoad %8 %317
433e5c31af7Sopenharmony_ci        %319 = OpAccessChain %29 %28 %13 %13
434e5c31af7Sopenharmony_ci        %320 = OpLoad %8 %319
435e5c31af7Sopenharmony_ci        %321 = OpAccessChain %29 %28 %13 %13
436e5c31af7Sopenharmony_ci        %322 = OpLoad %8 %321
437e5c31af7Sopenharmony_ci        %323 = OpAccessChain %29 %28 %13 %13
438e5c31af7Sopenharmony_ci        %324 = OpLoad %8 %323
439e5c31af7Sopenharmony_ci        %325 = OpAccessChain %29 %28 %13 %13
440e5c31af7Sopenharmony_ci        %326 = OpLoad %8 %325
441e5c31af7Sopenharmony_ci        %327 = OpAccessChain %29 %28 %13 %13
442e5c31af7Sopenharmony_ci        %328 = OpLoad %8 %327
443e5c31af7Sopenharmony_ci        %329 = OpAccessChain %29 %28 %13 %13
444e5c31af7Sopenharmony_ci        %330 = OpLoad %8 %329
445e5c31af7Sopenharmony_ci        %331 = OpAccessChain %29 %28 %13 %13
446e5c31af7Sopenharmony_ci        %332 = OpLoad %8 %331
447e5c31af7Sopenharmony_ci        %333 = OpAccessChain %29 %28 %13 %13
448e5c31af7Sopenharmony_ci        %334 = OpLoad %8 %333
449e5c31af7Sopenharmony_ci        %335 = OpAccessChain %29 %28 %13 %13
450e5c31af7Sopenharmony_ci        %336 = OpLoad %8 %335
451e5c31af7Sopenharmony_ci        %337 = OpAccessChain %29 %28 %13 %13
452e5c31af7Sopenharmony_ci        %338 = OpLoad %8 %337
453e5c31af7Sopenharmony_ci        %339 = OpAccessChain %29 %28 %13 %13
454e5c31af7Sopenharmony_ci        %340 = OpLoad %8 %339
455e5c31af7Sopenharmony_ci        %341 = OpAccessChain %29 %28 %13 %13
456e5c31af7Sopenharmony_ci        %342 = OpLoad %8 %341
457e5c31af7Sopenharmony_ci        %343 = OpAccessChain %29 %28 %13 %13
458e5c31af7Sopenharmony_ci        %344 = OpLoad %8 %343
459e5c31af7Sopenharmony_ci        %345 = OpAccessChain %29 %28 %13 %13
460e5c31af7Sopenharmony_ci        %346 = OpLoad %8 %345
461e5c31af7Sopenharmony_ci        %347 = OpAccessChain %29 %28 %13 %13
462e5c31af7Sopenharmony_ci        %348 = OpLoad %8 %347
463e5c31af7Sopenharmony_ci        %349 = OpAccessChain %29 %28 %13 %13
464e5c31af7Sopenharmony_ci        %350 = OpLoad %8 %349
465e5c31af7Sopenharmony_ci        %351 = OpAccessChain %29 %28 %13 %13
466e5c31af7Sopenharmony_ci        %352 = OpLoad %8 %351
467e5c31af7Sopenharmony_ci        %353 = OpAccessChain %29 %28 %13 %13
468e5c31af7Sopenharmony_ci        %354 = OpLoad %8 %353
469e5c31af7Sopenharmony_ci        %355 = OpAccessChain %29 %28 %13 %13
470e5c31af7Sopenharmony_ci        %356 = OpLoad %8 %355
471e5c31af7Sopenharmony_ci        %357 = OpAccessChain %29 %28 %13 %13
472e5c31af7Sopenharmony_ci        %358 = OpLoad %8 %357
473e5c31af7Sopenharmony_ci        %359 = OpAccessChain %29 %28 %13 %13
474e5c31af7Sopenharmony_ci        %360 = OpLoad %8 %359
475e5c31af7Sopenharmony_ci        %361 = OpAccessChain %29 %28 %13 %13
476e5c31af7Sopenharmony_ci        %362 = OpLoad %8 %361
477e5c31af7Sopenharmony_ci        %363 = OpAccessChain %29 %28 %13 %13
478e5c31af7Sopenharmony_ci        %364 = OpLoad %8 %363
479e5c31af7Sopenharmony_ci        %365 = OpAccessChain %29 %28 %13 %13
480e5c31af7Sopenharmony_ci        %366 = OpLoad %8 %365
481e5c31af7Sopenharmony_ci        %367 = OpAccessChain %29 %28 %13 %13
482e5c31af7Sopenharmony_ci        %368 = OpLoad %8 %367
483e5c31af7Sopenharmony_ci        %369 = OpAccessChain %29 %28 %13 %13
484e5c31af7Sopenharmony_ci        %370 = OpLoad %8 %369
485e5c31af7Sopenharmony_ci        %371 = OpAccessChain %29 %28 %13 %13
486e5c31af7Sopenharmony_ci        %372 = OpLoad %8 %371
487e5c31af7Sopenharmony_ci        %373 = OpAccessChain %29 %28 %13 %13
488e5c31af7Sopenharmony_ci        %374 = OpLoad %8 %373
489e5c31af7Sopenharmony_ci        %375 = OpAccessChain %29 %28 %13 %13
490e5c31af7Sopenharmony_ci        %376 = OpLoad %8 %375
491e5c31af7Sopenharmony_ci        %377 = OpAccessChain %29 %28 %13 %13
492e5c31af7Sopenharmony_ci        %378 = OpLoad %8 %377
493e5c31af7Sopenharmony_ci        %379 = OpAccessChain %29 %28 %13 %13
494e5c31af7Sopenharmony_ci        %380 = OpLoad %8 %379
495e5c31af7Sopenharmony_ci        %381 = OpAccessChain %29 %28 %13 %13
496e5c31af7Sopenharmony_ci        %382 = OpLoad %8 %381
497e5c31af7Sopenharmony_ci        %383 = OpAccessChain %29 %28 %13 %13
498e5c31af7Sopenharmony_ci        %384 = OpLoad %8 %383
499e5c31af7Sopenharmony_ci        %385 = OpAccessChain %29 %28 %13 %13
500e5c31af7Sopenharmony_ci        %386 = OpLoad %8 %385
501e5c31af7Sopenharmony_ci        %387 = OpAccessChain %29 %28 %13 %13
502e5c31af7Sopenharmony_ci        %388 = OpLoad %8 %387
503e5c31af7Sopenharmony_ci        %389 = OpAccessChain %29 %28 %13 %13
504e5c31af7Sopenharmony_ci        %390 = OpLoad %8 %389
505e5c31af7Sopenharmony_ci        %391 = OpAccessChain %29 %28 %13 %13
506e5c31af7Sopenharmony_ci        %392 = OpLoad %8 %391
507e5c31af7Sopenharmony_ci        %393 = OpAccessChain %29 %28 %13 %13
508e5c31af7Sopenharmony_ci        %394 = OpLoad %8 %393
509e5c31af7Sopenharmony_ci        %395 = OpAccessChain %29 %28 %13 %13
510e5c31af7Sopenharmony_ci        %396 = OpLoad %8 %395
511e5c31af7Sopenharmony_ci        %397 = OpAccessChain %29 %28 %13 %13
512e5c31af7Sopenharmony_ci        %398 = OpLoad %8 %397
513e5c31af7Sopenharmony_ci        %399 = OpAccessChain %29 %28 %13 %13
514e5c31af7Sopenharmony_ci        %400 = OpLoad %8 %399
515e5c31af7Sopenharmony_ci        %401 = OpAccessChain %29 %28 %13 %13
516e5c31af7Sopenharmony_ci        %402 = OpLoad %8 %401
517e5c31af7Sopenharmony_ci        %403 = OpAccessChain %29 %28 %13 %13
518e5c31af7Sopenharmony_ci        %404 = OpLoad %8 %403
519e5c31af7Sopenharmony_ci        %405 = OpAccessChain %29 %28 %13 %13
520e5c31af7Sopenharmony_ci        %406 = OpLoad %8 %405
521e5c31af7Sopenharmony_ci        %407 = OpAccessChain %29 %28 %13 %13
522e5c31af7Sopenharmony_ci        %408 = OpLoad %8 %407
523e5c31af7Sopenharmony_ci        %409 = OpAccessChain %29 %28 %13 %13
524e5c31af7Sopenharmony_ci        %410 = OpLoad %8 %409
525e5c31af7Sopenharmony_ci        %411 = OpAccessChain %29 %28 %13 %13
526e5c31af7Sopenharmony_ci        %412 = OpLoad %8 %411
527e5c31af7Sopenharmony_ci        %413 = OpAccessChain %29 %28 %13 %13
528e5c31af7Sopenharmony_ci        %414 = OpLoad %8 %413
529e5c31af7Sopenharmony_ci        %415 = OpAccessChain %29 %28 %13 %13
530e5c31af7Sopenharmony_ci        %416 = OpLoad %8 %415
531e5c31af7Sopenharmony_ci        %417 = OpAccessChain %29 %28 %13 %13
532e5c31af7Sopenharmony_ci        %418 = OpLoad %8 %417
533e5c31af7Sopenharmony_ci        %419 = OpAccessChain %29 %28 %13 %13
534e5c31af7Sopenharmony_ci        %420 = OpLoad %8 %419
535e5c31af7Sopenharmony_ci        %421 = OpAccessChain %29 %28 %13 %13
536e5c31af7Sopenharmony_ci        %422 = OpLoad %8 %421
537e5c31af7Sopenharmony_ci        %423 = OpAccessChain %29 %28 %13 %13
538e5c31af7Sopenharmony_ci        %424 = OpLoad %8 %423
539e5c31af7Sopenharmony_ci        %425 = OpAccessChain %29 %28 %13 %13
540e5c31af7Sopenharmony_ci        %426 = OpLoad %8 %425
541e5c31af7Sopenharmony_ci        %427 = OpAccessChain %29 %28 %13 %13
542e5c31af7Sopenharmony_ci        %428 = OpLoad %8 %427
543e5c31af7Sopenharmony_ci        %429 = OpAccessChain %29 %28 %13 %13
544e5c31af7Sopenharmony_ci        %430 = OpLoad %8 %429
545e5c31af7Sopenharmony_ci        %431 = OpAccessChain %29 %28 %13 %13
546e5c31af7Sopenharmony_ci        %432 = OpLoad %8 %431
547e5c31af7Sopenharmony_ci        %433 = OpAccessChain %29 %28 %13 %13
548e5c31af7Sopenharmony_ci        %434 = OpLoad %8 %433
549e5c31af7Sopenharmony_ci        %435 = OpAccessChain %29 %28 %13 %13
550e5c31af7Sopenharmony_ci        %436 = OpLoad %8 %435
551e5c31af7Sopenharmony_ci        %437 = OpAccessChain %29 %28 %13 %13
552e5c31af7Sopenharmony_ci        %438 = OpLoad %8 %437
553e5c31af7Sopenharmony_ci        %439 = OpAccessChain %29 %28 %13 %13
554e5c31af7Sopenharmony_ci        %440 = OpLoad %8 %439
555e5c31af7Sopenharmony_ci        %441 = OpAccessChain %29 %28 %13 %13
556e5c31af7Sopenharmony_ci        %442 = OpLoad %8 %441
557e5c31af7Sopenharmony_ci        %443 = OpAccessChain %29 %28 %13 %13
558e5c31af7Sopenharmony_ci        %444 = OpLoad %8 %443
559e5c31af7Sopenharmony_ci        %445 = OpAccessChain %29 %28 %13 %13
560e5c31af7Sopenharmony_ci        %446 = OpLoad %8 %445
561e5c31af7Sopenharmony_ci        %447 = OpAccessChain %29 %28 %13 %13
562e5c31af7Sopenharmony_ci        %448 = OpLoad %8 %447
563e5c31af7Sopenharmony_ci        %449 = OpAccessChain %29 %28 %13 %13
564e5c31af7Sopenharmony_ci        %450 = OpLoad %8 %449
565e5c31af7Sopenharmony_ci        %451 = OpAccessChain %29 %28 %13 %13
566e5c31af7Sopenharmony_ci        %452 = OpLoad %8 %451
567e5c31af7Sopenharmony_ci        %453 = OpAccessChain %29 %28 %13 %13
568e5c31af7Sopenharmony_ci        %454 = OpLoad %8 %453
569e5c31af7Sopenharmony_ci        %455 = OpAccessChain %29 %28 %13 %13
570e5c31af7Sopenharmony_ci        %456 = OpLoad %8 %455
571e5c31af7Sopenharmony_ci        %457 = OpAccessChain %29 %28 %13 %13
572e5c31af7Sopenharmony_ci        %458 = OpLoad %8 %457
573e5c31af7Sopenharmony_ci        %459 = OpAccessChain %29 %28 %13 %13
574e5c31af7Sopenharmony_ci        %460 = OpLoad %8 %459
575e5c31af7Sopenharmony_ci        %461 = OpAccessChain %29 %28 %13 %13
576e5c31af7Sopenharmony_ci        %462 = OpLoad %8 %461
577e5c31af7Sopenharmony_ci        %463 = OpAccessChain %29 %28 %13 %13
578e5c31af7Sopenharmony_ci        %464 = OpLoad %8 %463
579e5c31af7Sopenharmony_ci        %465 = OpAccessChain %29 %28 %13 %13
580e5c31af7Sopenharmony_ci        %466 = OpLoad %8 %465
581e5c31af7Sopenharmony_ci        %467 = OpAccessChain %29 %28 %13 %13
582e5c31af7Sopenharmony_ci        %468 = OpLoad %8 %467
583e5c31af7Sopenharmony_ci        %469 = OpAccessChain %29 %28 %13 %13
584e5c31af7Sopenharmony_ci        %470 = OpLoad %8 %469
585e5c31af7Sopenharmony_ci        %471 = OpAccessChain %29 %28 %13 %13
586e5c31af7Sopenharmony_ci        %472 = OpLoad %8 %471
587e5c31af7Sopenharmony_ci        %473 = OpAccessChain %29 %28 %13 %13
588e5c31af7Sopenharmony_ci        %474 = OpLoad %8 %473
589e5c31af7Sopenharmony_ci        %475 = OpAccessChain %29 %28 %13 %13
590e5c31af7Sopenharmony_ci        %476 = OpLoad %8 %475
591e5c31af7Sopenharmony_ci        %477 = OpAccessChain %29 %28 %13 %13
592e5c31af7Sopenharmony_ci        %478 = OpLoad %8 %477
593e5c31af7Sopenharmony_ci        %479 = OpAccessChain %29 %28 %13 %13
594e5c31af7Sopenharmony_ci        %480 = OpLoad %8 %479
595e5c31af7Sopenharmony_ci        %481 = OpAccessChain %29 %28 %13 %13
596e5c31af7Sopenharmony_ci        %482 = OpLoad %8 %481
597e5c31af7Sopenharmony_ci        %483 = OpAccessChain %29 %28 %13 %13
598e5c31af7Sopenharmony_ci        %484 = OpLoad %8 %483
599e5c31af7Sopenharmony_ci        %485 = OpAccessChain %29 %28 %13 %13
600e5c31af7Sopenharmony_ci        %486 = OpLoad %8 %485
601e5c31af7Sopenharmony_ci        %487 = OpAccessChain %29 %28 %13 %13
602e5c31af7Sopenharmony_ci        %488 = OpLoad %8 %487
603e5c31af7Sopenharmony_ci        %489 = OpAccessChain %29 %28 %13 %13
604e5c31af7Sopenharmony_ci        %490 = OpLoad %8 %489
605e5c31af7Sopenharmony_ci        %491 = OpAccessChain %29 %28 %13 %13
606e5c31af7Sopenharmony_ci        %492 = OpLoad %8 %491
607e5c31af7Sopenharmony_ci        %493 = OpAccessChain %29 %28 %13 %13
608e5c31af7Sopenharmony_ci        %494 = OpLoad %8 %493
609e5c31af7Sopenharmony_ci        %495 = OpAccessChain %29 %28 %13 %13
610e5c31af7Sopenharmony_ci        %496 = OpLoad %8 %495
611e5c31af7Sopenharmony_ci        %497 = OpAccessChain %29 %28 %13 %13
612e5c31af7Sopenharmony_ci        %498 = OpLoad %8 %497
613e5c31af7Sopenharmony_ci        %499 = OpAccessChain %29 %28 %13 %13
614e5c31af7Sopenharmony_ci        %500 = OpLoad %8 %499
615e5c31af7Sopenharmony_ci        %501 = OpAccessChain %29 %28 %13 %13
616e5c31af7Sopenharmony_ci        %502 = OpLoad %8 %501
617e5c31af7Sopenharmony_ci        %503 = OpAccessChain %29 %28 %13 %13
618e5c31af7Sopenharmony_ci        %504 = OpLoad %8 %503
619e5c31af7Sopenharmony_ci        %505 = OpAccessChain %29 %28 %13 %13
620e5c31af7Sopenharmony_ci        %506 = OpLoad %8 %505
621e5c31af7Sopenharmony_ci        %507 = OpAccessChain %29 %28 %13 %13
622e5c31af7Sopenharmony_ci        %508 = OpLoad %8 %507
623e5c31af7Sopenharmony_ci        %509 = OpAccessChain %29 %28 %13 %13
624e5c31af7Sopenharmony_ci        %510 = OpLoad %8 %509
625e5c31af7Sopenharmony_ci        %511 = OpAccessChain %29 %28 %13 %13
626e5c31af7Sopenharmony_ci        %512 = OpLoad %8 %511
627e5c31af7Sopenharmony_ci        %513 = OpAccessChain %29 %28 %13 %13
628e5c31af7Sopenharmony_ci        %514 = OpLoad %8 %513
629e5c31af7Sopenharmony_ci        %515 = OpAccessChain %29 %28 %13 %13
630e5c31af7Sopenharmony_ci        %516 = OpLoad %8 %515
631e5c31af7Sopenharmony_ci        %517 = OpAccessChain %29 %28 %13 %13
632e5c31af7Sopenharmony_ci        %518 = OpLoad %8 %517
633e5c31af7Sopenharmony_ci        %519 = OpAccessChain %29 %28 %13 %13
634e5c31af7Sopenharmony_ci        %520 = OpLoad %8 %519
635e5c31af7Sopenharmony_ci        %521 = OpAccessChain %29 %28 %13 %13
636e5c31af7Sopenharmony_ci        %522 = OpLoad %8 %521
637e5c31af7Sopenharmony_ci        %523 = OpAccessChain %29 %28 %13 %13
638e5c31af7Sopenharmony_ci        %524 = OpLoad %8 %523
639e5c31af7Sopenharmony_ci        %525 = OpAccessChain %29 %28 %13 %13
640e5c31af7Sopenharmony_ci        %526 = OpLoad %8 %525
641e5c31af7Sopenharmony_ci        %527 = OpAccessChain %29 %28 %13 %13
642e5c31af7Sopenharmony_ci        %528 = OpLoad %8 %527
643e5c31af7Sopenharmony_ci        %529 = OpAccessChain %29 %28 %13 %13
644e5c31af7Sopenharmony_ci        %530 = OpLoad %8 %529
645e5c31af7Sopenharmony_ci        %531 = OpAccessChain %29 %28 %13 %13
646e5c31af7Sopenharmony_ci        %532 = OpLoad %8 %531
647e5c31af7Sopenharmony_ci        %533 = OpAccessChain %29 %28 %13 %13
648e5c31af7Sopenharmony_ci        %534 = OpLoad %8 %533
649e5c31af7Sopenharmony_ci        %535 = OpAccessChain %29 %28 %13 %13
650e5c31af7Sopenharmony_ci        %536 = OpLoad %8 %535
651e5c31af7Sopenharmony_ci        %537 = OpAccessChain %29 %28 %13 %13
652e5c31af7Sopenharmony_ci        %538 = OpLoad %8 %537
653e5c31af7Sopenharmony_ci        %539 = OpAccessChain %29 %28 %13 %13
654e5c31af7Sopenharmony_ci        %540 = OpLoad %8 %539
655e5c31af7Sopenharmony_ci        %541 = OpAccessChain %29 %28 %13 %13
656e5c31af7Sopenharmony_ci        %542 = OpLoad %8 %541
657e5c31af7Sopenharmony_ci        %545 = OpCompositeConstruct %544 %31 %34 %36 %38 %40 %42 %44 %46 %48 %50 %52 %54 %56 %58 %60 %62 %64 %66 %68 %70 %72 %74 %76 %78 %80 %82 %84 %86 %88 %90 %92 %94 %96 %98 %100 %102 %104 %106 %108 %110 %112 %114 %116 %118 %120 %122 %124 %126 %128 %130 %132 %134 %136 %138 %140 %142 %144 %146 %148 %150 %152 %154 %156 %158 %160 %162 %164 %166 %168 %170 %172 %174 %176 %178 %180 %182 %184 %186 %188 %190 %192 %194 %196 %198 %200 %202 %204 %206 %208 %210 %212 %214 %216 %218 %220 %222 %224 %226 %228 %230 %232 %234 %236 %238 %240 %242 %244 %246 %248 %250 %252 %254 %256 %258 %260 %262 %264 %266 %268 %270 %272 %274 %276 %278 %280 %282 %284 %286 %288 %290 %292 %294 %296 %298 %300 %302 %304 %306 %308 %310 %312 %314 %316 %318 %320 %322 %324 %326 %328 %330 %332 %334 %336 %338 %340 %342 %344 %346 %348 %350 %352 %354 %356 %358 %360 %362 %364 %366 %368 %370 %372 %374 %376 %378 %380 %382 %384 %386 %388 %390 %392 %394 %396 %398 %400 %402 %404 %406 %408 %410 %412 %414 %416 %418 %420 %422 %424 %426 %428 %430 %432 %434 %436 %438 %440 %442 %444 %446 %448 %450 %452 %454 %456 %458 %460 %462 %464 %466 %468 %470 %472 %474 %476 %478 %480 %482 %484 %486 %488 %490 %492 %494 %496 %498 %500 %502 %504 %506 %508 %510 %512 %514 %516 %518 %520 %522 %524 %526 %528 %530 %532 %534 %536 %538 %540 %542
658e5c31af7Sopenharmony_ci        %546 = OpLoad %8 %10
659e5c31af7Sopenharmony_ci        %548 = OpExtInst %8 %1 SClamp %546 %32 %547
660e5c31af7Sopenharmony_ci               OpStore %550 %545
661e5c31af7Sopenharmony_ci        %551 = OpAccessChain %9 %550 %548
662e5c31af7Sopenharmony_ci        %552 = OpLoad %8 %551
663e5c31af7Sopenharmony_ci        %553 = OpAccessChain %29 %28 %13 %32
664e5c31af7Sopenharmony_ci        %554 = OpLoad %8 %553
665e5c31af7Sopenharmony_ci        %555 = OpIEqual %21 %552 %554
666e5c31af7Sopenharmony_ci               OpSelectionMerge %557 None
667e5c31af7Sopenharmony_ci               OpBranchConditional %555 %556 %557
668e5c31af7Sopenharmony_ci        %556 = OpLabel
669e5c31af7Sopenharmony_ci               OpStore %561 %564
670e5c31af7Sopenharmony_ci               OpBranch %557
671e5c31af7Sopenharmony_ci        %557 = OpLabel
672e5c31af7Sopenharmony_ci        %565 = OpLoad %8 %10
673e5c31af7Sopenharmony_ci        %566 = OpIAdd %8 %565 %32
674e5c31af7Sopenharmony_ci               OpStore %10 %566
675e5c31af7Sopenharmony_ci               OpBranch %17
676e5c31af7Sopenharmony_ci         %17 = OpLabel
677e5c31af7Sopenharmony_ci        %567 = OpLoad %8 %12
678e5c31af7Sopenharmony_ci        %568 = OpIAdd %8 %567 %32
679e5c31af7Sopenharmony_ci               OpStore %12 %568
680e5c31af7Sopenharmony_ci               OpBranch %14
681e5c31af7Sopenharmony_ci         %16 = OpLabel
682e5c31af7Sopenharmony_ci               OpReturn
683e5c31af7Sopenharmony_ci               OpFunctionEnd
684e5c31af7Sopenharmony_ciEND
685e5c31af7Sopenharmony_ci
686e5c31af7Sopenharmony_ci# uniforms for variant
687e5c31af7Sopenharmony_ci
688e5c31af7Sopenharmony_ci# _GLF_uniform_int_values
689e5c31af7Sopenharmony_ciBUFFER variant__GLF_uniform_int_values DATA_TYPE int32[] STD140 DATA
690e5c31af7Sopenharmony_ci 1 2 0
691e5c31af7Sopenharmony_ciEND
692e5c31af7Sopenharmony_ci
693e5c31af7Sopenharmony_ciBUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM
694e5c31af7Sopenharmony_ci
695e5c31af7Sopenharmony_ciPIPELINE graphics variant_pipeline
696e5c31af7Sopenharmony_ci  ATTACH variant_vertex_shader
697e5c31af7Sopenharmony_ci  ATTACH variant_fragment_shader
698e5c31af7Sopenharmony_ci  FRAMEBUFFER_SIZE 32 32
699e5c31af7Sopenharmony_ci  BIND BUFFER variant_framebuffer AS color LOCATION 0
700e5c31af7Sopenharmony_ci  BIND BUFFER variant__GLF_uniform_int_values AS uniform DESCRIPTOR_SET 0 BINDING 0
701e5c31af7Sopenharmony_ciEND
702e5c31af7Sopenharmony_ciCLEAR_COLOR variant_pipeline 0 0 0 255
703e5c31af7Sopenharmony_ci
704e5c31af7Sopenharmony_ciCLEAR variant_pipeline
705e5c31af7Sopenharmony_ciRUN variant_pipeline DRAW_RECT POS 0 0 SIZE 32 32
706e5c31af7Sopenharmony_ci
707e5c31af7Sopenharmony_ciEXPECT variant_framebuffer IDX 0 0 SIZE 32 32 EQ_RGBA 255 0 0 255
708