xref: /aosp_15_r20/external/skia/tests/sksl/shared/PostfixExpressions.asm.frag (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1               OpCapability Shader
2          %1 = OpExtInstImport "GLSL.std.450"
3               OpMemoryModel Logical GLSL450
4               OpEntryPoint Fragment %_entrypoint_v "_entrypoint" %sk_FragColor
5               OpExecutionMode %_entrypoint_v OriginUpperLeft
6               OpName %sk_FragColor "sk_FragColor"
7               OpName %_UniformBuffer "_UniformBuffer"
8               OpMemberName %_UniformBuffer 0 "colorGreen"
9               OpMemberName %_UniformBuffer 1 "colorRed"
10               OpName %_entrypoint_v "_entrypoint_v"
11               OpName %main "main"
12               OpName %ok "ok"
13               OpName %i "i"
14               OpName %f "f"
15               OpName %f2 "f2"
16               OpName %i4 "i4"
17               OpName %m3x3 "m3x3"
18               OpDecorate %sk_FragColor RelaxedPrecision
19               OpDecorate %sk_FragColor Location 0
20               OpDecorate %sk_FragColor Index 0
21               OpMemberDecorate %_UniformBuffer 0 Offset 0
22               OpMemberDecorate %_UniformBuffer 0 RelaxedPrecision
23               OpMemberDecorate %_UniformBuffer 1 Offset 16
24               OpMemberDecorate %_UniformBuffer 1 RelaxedPrecision
25               OpDecorate %_UniformBuffer Block
26               OpDecorate %7 Binding 0
27               OpDecorate %7 DescriptorSet 0
28               OpDecorate %103 RelaxedPrecision
29               OpDecorate %133 RelaxedPrecision
30               OpDecorate %347 RelaxedPrecision
31               OpDecorate %349 RelaxedPrecision
32               OpDecorate %350 RelaxedPrecision
33      %float = OpTypeFloat 32
34    %v4float = OpTypeVector %float 4
35%_ptr_Output_v4float = OpTypePointer Output %v4float
36%sk_FragColor = OpVariable %_ptr_Output_v4float Output
37%_UniformBuffer = OpTypeStruct %v4float %v4float
38%_ptr_Uniform__UniformBuffer = OpTypePointer Uniform %_UniformBuffer
39          %7 = OpVariable %_ptr_Uniform__UniformBuffer Uniform
40       %void = OpTypeVoid
41         %12 = OpTypeFunction %void
42    %float_0 = OpConstant %float 0
43    %v2float = OpTypeVector %float 2
44         %16 = OpConstantComposite %v2float %float_0 %float_0
45%_ptr_Function_v2float = OpTypePointer Function %v2float
46         %20 = OpTypeFunction %v4float %_ptr_Function_v2float
47       %bool = OpTypeBool
48%_ptr_Function_bool = OpTypePointer Function %bool
49       %true = OpConstantTrue %bool
50        %int = OpTypeInt 32 1
51%_ptr_Function_int = OpTypePointer Function %int
52      %int_5 = OpConstant %int 5
53      %int_1 = OpConstant %int 1
54      %false = OpConstantFalse %bool
55      %int_6 = OpConstant %int 6
56      %int_7 = OpConstant %int 7
57%_ptr_Function_float = OpTypePointer Function %float
58  %float_0_5 = OpConstant %float 0.5
59    %float_1 = OpConstant %float 1
60  %float_1_5 = OpConstant %float 1.5
61  %float_2_5 = OpConstant %float 2.5
62         %98 = OpConstantComposite %v2float %float_0_5 %float_0_5
63      %int_0 = OpConstant %int 0
64        %141 = OpConstantComposite %v2float %float_1 %float_1
65        %146 = OpConstantComposite %v2float %float_1_5 %float_1_5
66     %v2bool = OpTypeVector %bool 2
67        %154 = OpConstantComposite %v2float %float_2_5 %float_2_5
68      %v4int = OpTypeVector %int 4
69%_ptr_Function_v4int = OpTypePointer Function %v4int
70      %int_8 = OpConstant %int 8
71      %int_9 = OpConstant %int 9
72     %int_10 = OpConstant %int 10
73        %184 = OpConstantComposite %v4int %int_7 %int_8 %int_9 %int_10
74        %185 = OpConstantComposite %v4int %int_1 %int_1 %int_1 %int_1
75     %int_11 = OpConstant %int 11
76        %191 = OpConstantComposite %v4int %int_8 %int_9 %int_10 %int_11
77     %v4bool = OpTypeVector %bool 4
78     %int_12 = OpConstant %int 12
79        %200 = OpConstantComposite %v4int %int_9 %int_10 %int_11 %int_12
80    %v3float = OpTypeVector %float 3
81%mat3v3float = OpTypeMatrix %v3float 3
82%_ptr_Function_mat3v3float = OpTypePointer Function %mat3v3float
83    %float_2 = OpConstant %float 2
84    %float_3 = OpConstant %float 3
85    %float_4 = OpConstant %float 4
86    %float_5 = OpConstant %float 5
87    %float_6 = OpConstant %float 6
88    %float_7 = OpConstant %float 7
89    %float_8 = OpConstant %float 8
90    %float_9 = OpConstant %float 9
91        %236 = OpConstantComposite %v3float %float_1 %float_2 %float_3
92        %237 = OpConstantComposite %v3float %float_4 %float_5 %float_6
93        %238 = OpConstantComposite %v3float %float_7 %float_8 %float_9
94        %239 = OpConstantComposite %mat3v3float %236 %237 %238
95        %240 = OpConstantComposite %v3float %float_1 %float_1 %float_1
96        %241 = OpConstantComposite %mat3v3float %240 %240 %240
97   %float_10 = OpConstant %float 10
98        %253 = OpConstantComposite %v3float %float_2 %float_3 %float_4
99        %254 = OpConstantComposite %v3float %float_5 %float_6 %float_7
100        %255 = OpConstantComposite %v3float %float_8 %float_9 %float_10
101        %256 = OpConstantComposite %mat3v3float %253 %254 %255
102     %v3bool = OpTypeVector %bool 3
103   %float_11 = OpConstant %float 11
104        %271 = OpConstantComposite %v3float %float_3 %float_4 %float_5
105        %272 = OpConstantComposite %v3float %float_6 %float_7 %float_8
106        %273 = OpConstantComposite %v3float %float_9 %float_10 %float_11
107        %274 = OpConstantComposite %mat3v3float %271 %272 %273
108%_ptr_Function_v4float = OpTypePointer Function %v4float
109%_ptr_Uniform_v4float = OpTypePointer Uniform %v4float
110%_entrypoint_v = OpFunction %void None %12
111         %13 = OpLabel
112         %17 = OpVariable %_ptr_Function_v2float Function
113               OpStore %17 %16
114         %19 = OpFunctionCall %v4float %main %17
115               OpStore %sk_FragColor %19
116               OpReturn
117               OpFunctionEnd
118       %main = OpFunction %v4float None %20
119         %21 = OpFunctionParameter %_ptr_Function_v2float
120         %22 = OpLabel
121         %ok = OpVariable %_ptr_Function_bool Function
122          %i = OpVariable %_ptr_Function_int Function
123          %f = OpVariable %_ptr_Function_float Function
124         %f2 = OpVariable %_ptr_Function_v2float Function
125         %i4 = OpVariable %_ptr_Function_v4int Function
126       %m3x3 = OpVariable %_ptr_Function_mat3v3float Function
127        %340 = OpVariable %_ptr_Function_v4float Function
128               OpStore %ok %true
129               OpStore %i %int_5
130         %32 = OpIAdd %int %int_5 %int_1
131               OpStore %i %32
132               OpSelectionMerge %35 None
133               OpBranchConditional %true %34 %35
134         %34 = OpLabel
135         %36 = OpIAdd %int %32 %int_1
136               OpStore %i %36
137         %38 = OpIEqual %bool %32 %int_6
138               OpBranch %35
139         %35 = OpLabel
140         %39 = OpPhi %bool %false %22 %38 %34
141               OpStore %ok %39
142               OpSelectionMerge %41 None
143               OpBranchConditional %39 %40 %41
144         %40 = OpLabel
145         %42 = OpLoad %int %i
146         %44 = OpIEqual %bool %42 %int_7
147               OpBranch %41
148         %41 = OpLabel
149         %45 = OpPhi %bool %false %35 %44 %40
150               OpStore %ok %45
151               OpSelectionMerge %47 None
152               OpBranchConditional %45 %46 %47
153         %46 = OpLabel
154         %48 = OpLoad %int %i
155         %49 = OpISub %int %48 %int_1
156               OpStore %i %49
157         %50 = OpIEqual %bool %48 %int_7
158               OpBranch %47
159         %47 = OpLabel
160         %51 = OpPhi %bool %false %41 %50 %46
161               OpStore %ok %51
162               OpSelectionMerge %53 None
163               OpBranchConditional %51 %52 %53
164         %52 = OpLabel
165         %54 = OpLoad %int %i
166         %55 = OpIEqual %bool %54 %int_6
167               OpBranch %53
168         %53 = OpLabel
169         %56 = OpPhi %bool %false %47 %55 %52
170               OpStore %ok %56
171         %57 = OpLoad %int %i
172         %58 = OpISub %int %57 %int_1
173               OpStore %i %58
174               OpSelectionMerge %60 None
175               OpBranchConditional %56 %59 %60
176         %59 = OpLabel
177         %61 = OpIEqual %bool %58 %int_5
178               OpBranch %60
179         %60 = OpLabel
180         %62 = OpPhi %bool %false %53 %61 %59
181               OpStore %ok %62
182               OpStore %f %float_0_5
183         %67 = OpFAdd %float %float_0_5 %float_1
184               OpStore %f %67
185               OpSelectionMerge %69 None
186               OpBranchConditional %62 %68 %69
187         %68 = OpLabel
188         %70 = OpFAdd %float %67 %float_1
189               OpStore %f %70
190         %72 = OpFOrdEqual %bool %67 %float_1_5
191               OpBranch %69
192         %69 = OpLabel
193         %73 = OpPhi %bool %false %60 %72 %68
194               OpStore %ok %73
195               OpSelectionMerge %75 None
196               OpBranchConditional %73 %74 %75
197         %74 = OpLabel
198         %76 = OpLoad %float %f
199         %78 = OpFOrdEqual %bool %76 %float_2_5
200               OpBranch %75
201         %75 = OpLabel
202         %79 = OpPhi %bool %false %69 %78 %74
203               OpStore %ok %79
204               OpSelectionMerge %81 None
205               OpBranchConditional %79 %80 %81
206         %80 = OpLabel
207         %82 = OpLoad %float %f
208         %83 = OpFSub %float %82 %float_1
209               OpStore %f %83
210         %84 = OpFOrdEqual %bool %82 %float_2_5
211               OpBranch %81
212         %81 = OpLabel
213         %85 = OpPhi %bool %false %75 %84 %80
214               OpStore %ok %85
215               OpSelectionMerge %87 None
216               OpBranchConditional %85 %86 %87
217         %86 = OpLabel
218         %88 = OpLoad %float %f
219         %89 = OpFOrdEqual %bool %88 %float_1_5
220               OpBranch %87
221         %87 = OpLabel
222         %90 = OpPhi %bool %false %81 %89 %86
223               OpStore %ok %90
224         %91 = OpLoad %float %f
225         %92 = OpFSub %float %91 %float_1
226               OpStore %f %92
227               OpSelectionMerge %94 None
228               OpBranchConditional %90 %93 %94
229         %93 = OpLabel
230         %95 = OpFOrdEqual %bool %92 %float_0_5
231               OpBranch %94
232         %94 = OpLabel
233         %96 = OpPhi %bool %false %87 %95 %93
234               OpStore %ok %96
235               OpStore %f2 %98
236         %99 = OpAccessChain %_ptr_Function_float %f2 %int_0
237        %101 = OpLoad %float %99
238        %102 = OpFAdd %float %101 %float_1
239               OpStore %99 %102
240        %103 = OpLoad %bool %ok
241               OpSelectionMerge %105 None
242               OpBranchConditional %103 %104 %105
243        %104 = OpLabel
244        %106 = OpAccessChain %_ptr_Function_float %f2 %int_0
245        %107 = OpLoad %float %106
246        %108 = OpFAdd %float %107 %float_1
247               OpStore %106 %108
248        %109 = OpFOrdEqual %bool %107 %float_1_5
249               OpBranch %105
250        %105 = OpLabel
251        %110 = OpPhi %bool %false %94 %109 %104
252               OpStore %ok %110
253               OpSelectionMerge %112 None
254               OpBranchConditional %110 %111 %112
255        %111 = OpLabel
256        %113 = OpLoad %v2float %f2
257        %114 = OpCompositeExtract %float %113 0
258        %115 = OpFOrdEqual %bool %114 %float_2_5
259               OpBranch %112
260        %112 = OpLabel
261        %116 = OpPhi %bool %false %105 %115 %111
262               OpStore %ok %116
263               OpSelectionMerge %118 None
264               OpBranchConditional %116 %117 %118
265        %117 = OpLabel
266        %119 = OpAccessChain %_ptr_Function_float %f2 %int_0
267        %120 = OpLoad %float %119
268        %121 = OpFSub %float %120 %float_1
269               OpStore %119 %121
270        %122 = OpFOrdEqual %bool %120 %float_2_5
271               OpBranch %118
272        %118 = OpLabel
273        %123 = OpPhi %bool %false %112 %122 %117
274               OpStore %ok %123
275               OpSelectionMerge %125 None
276               OpBranchConditional %123 %124 %125
277        %124 = OpLabel
278        %126 = OpLoad %v2float %f2
279        %127 = OpCompositeExtract %float %126 0
280        %128 = OpFOrdEqual %bool %127 %float_1_5
281               OpBranch %125
282        %125 = OpLabel
283        %129 = OpPhi %bool %false %118 %128 %124
284               OpStore %ok %129
285        %130 = OpAccessChain %_ptr_Function_float %f2 %int_0
286        %131 = OpLoad %float %130
287        %132 = OpFSub %float %131 %float_1
288               OpStore %130 %132
289        %133 = OpLoad %bool %ok
290               OpSelectionMerge %135 None
291               OpBranchConditional %133 %134 %135
292        %134 = OpLabel
293        %136 = OpLoad %v2float %f2
294        %137 = OpCompositeExtract %float %136 0
295        %138 = OpFOrdEqual %bool %137 %float_0_5
296               OpBranch %135
297        %135 = OpLabel
298        %139 = OpPhi %bool %false %125 %138 %134
299               OpStore %ok %139
300        %140 = OpLoad %v2float %f2
301        %142 = OpFAdd %v2float %140 %141
302               OpStore %f2 %142
303               OpSelectionMerge %144 None
304               OpBranchConditional %139 %143 %144
305        %143 = OpLabel
306        %145 = OpFAdd %v2float %142 %141
307               OpStore %f2 %145
308        %147 = OpFOrdEqual %v2bool %142 %146
309        %149 = OpAll %bool %147
310               OpBranch %144
311        %144 = OpLabel
312        %150 = OpPhi %bool %false %135 %149 %143
313               OpStore %ok %150
314               OpSelectionMerge %152 None
315               OpBranchConditional %150 %151 %152
316        %151 = OpLabel
317        %153 = OpLoad %v2float %f2
318        %155 = OpFOrdEqual %v2bool %153 %154
319        %156 = OpAll %bool %155
320               OpBranch %152
321        %152 = OpLabel
322        %157 = OpPhi %bool %false %144 %156 %151
323               OpStore %ok %157
324               OpSelectionMerge %159 None
325               OpBranchConditional %157 %158 %159
326        %158 = OpLabel
327        %160 = OpLoad %v2float %f2
328        %161 = OpFSub %v2float %160 %141
329               OpStore %f2 %161
330        %162 = OpFOrdEqual %v2bool %160 %154
331        %163 = OpAll %bool %162
332               OpBranch %159
333        %159 = OpLabel
334        %164 = OpPhi %bool %false %152 %163 %158
335               OpStore %ok %164
336               OpSelectionMerge %166 None
337               OpBranchConditional %164 %165 %166
338        %165 = OpLabel
339        %167 = OpLoad %v2float %f2
340        %168 = OpFOrdEqual %v2bool %167 %146
341        %169 = OpAll %bool %168
342               OpBranch %166
343        %166 = OpLabel
344        %170 = OpPhi %bool %false %159 %169 %165
345               OpStore %ok %170
346        %171 = OpLoad %v2float %f2
347        %172 = OpFSub %v2float %171 %141
348               OpStore %f2 %172
349               OpSelectionMerge %174 None
350               OpBranchConditional %170 %173 %174
351        %173 = OpLabel
352        %175 = OpFOrdEqual %v2bool %172 %98
353        %176 = OpAll %bool %175
354               OpBranch %174
355        %174 = OpLabel
356        %177 = OpPhi %bool %false %166 %176 %173
357               OpStore %ok %177
358               OpStore %i4 %184
359        %186 = OpIAdd %v4int %184 %185
360               OpStore %i4 %186
361               OpSelectionMerge %188 None
362               OpBranchConditional %177 %187 %188
363        %187 = OpLabel
364        %189 = OpIAdd %v4int %186 %185
365               OpStore %i4 %189
366        %192 = OpIEqual %v4bool %186 %191
367        %194 = OpAll %bool %192
368               OpBranch %188
369        %188 = OpLabel
370        %195 = OpPhi %bool %false %174 %194 %187
371               OpStore %ok %195
372               OpSelectionMerge %197 None
373               OpBranchConditional %195 %196 %197
374        %196 = OpLabel
375        %198 = OpLoad %v4int %i4
376        %201 = OpIEqual %v4bool %198 %200
377        %202 = OpAll %bool %201
378               OpBranch %197
379        %197 = OpLabel
380        %203 = OpPhi %bool %false %188 %202 %196
381               OpStore %ok %203
382               OpSelectionMerge %205 None
383               OpBranchConditional %203 %204 %205
384        %204 = OpLabel
385        %206 = OpLoad %v4int %i4
386        %207 = OpISub %v4int %206 %185
387               OpStore %i4 %207
388        %208 = OpIEqual %v4bool %206 %200
389        %209 = OpAll %bool %208
390               OpBranch %205
391        %205 = OpLabel
392        %210 = OpPhi %bool %false %197 %209 %204
393               OpStore %ok %210
394               OpSelectionMerge %212 None
395               OpBranchConditional %210 %211 %212
396        %211 = OpLabel
397        %213 = OpLoad %v4int %i4
398        %214 = OpIEqual %v4bool %213 %191
399        %215 = OpAll %bool %214
400               OpBranch %212
401        %212 = OpLabel
402        %216 = OpPhi %bool %false %205 %215 %211
403               OpStore %ok %216
404        %217 = OpLoad %v4int %i4
405        %218 = OpISub %v4int %217 %185
406               OpStore %i4 %218
407               OpSelectionMerge %220 None
408               OpBranchConditional %216 %219 %220
409        %219 = OpLabel
410        %221 = OpIEqual %v4bool %218 %184
411        %222 = OpAll %bool %221
412               OpBranch %220
413        %220 = OpLabel
414        %223 = OpPhi %bool %false %212 %222 %219
415               OpStore %ok %223
416               OpStore %m3x3 %239
417        %242 = OpFAdd %v3float %236 %240
418        %243 = OpFAdd %v3float %237 %240
419        %244 = OpFAdd %v3float %238 %240
420        %245 = OpCompositeConstruct %mat3v3float %242 %243 %244
421               OpStore %m3x3 %245
422               OpSelectionMerge %247 None
423               OpBranchConditional %223 %246 %247
424        %246 = OpLabel
425        %248 = OpFAdd %v3float %242 %240
426        %249 = OpFAdd %v3float %243 %240
427        %250 = OpFAdd %v3float %244 %240
428        %251 = OpCompositeConstruct %mat3v3float %248 %249 %250
429               OpStore %m3x3 %251
430        %258 = OpFOrdEqual %v3bool %242 %253
431        %259 = OpAll %bool %258
432        %260 = OpFOrdEqual %v3bool %243 %254
433        %261 = OpAll %bool %260
434        %262 = OpLogicalAnd %bool %259 %261
435        %263 = OpFOrdEqual %v3bool %244 %255
436        %264 = OpAll %bool %263
437        %265 = OpLogicalAnd %bool %262 %264
438               OpBranch %247
439        %247 = OpLabel
440        %266 = OpPhi %bool %false %220 %265 %246
441               OpStore %ok %266
442               OpSelectionMerge %268 None
443               OpBranchConditional %266 %267 %268
444        %267 = OpLabel
445        %269 = OpLoad %mat3v3float %m3x3
446        %275 = OpCompositeExtract %v3float %269 0
447        %276 = OpFOrdEqual %v3bool %275 %271
448        %277 = OpAll %bool %276
449        %278 = OpCompositeExtract %v3float %269 1
450        %279 = OpFOrdEqual %v3bool %278 %272
451        %280 = OpAll %bool %279
452        %281 = OpLogicalAnd %bool %277 %280
453        %282 = OpCompositeExtract %v3float %269 2
454        %283 = OpFOrdEqual %v3bool %282 %273
455        %284 = OpAll %bool %283
456        %285 = OpLogicalAnd %bool %281 %284
457               OpBranch %268
458        %268 = OpLabel
459        %286 = OpPhi %bool %false %247 %285 %267
460               OpStore %ok %286
461               OpSelectionMerge %288 None
462               OpBranchConditional %286 %287 %288
463        %287 = OpLabel
464        %289 = OpLoad %mat3v3float %m3x3
465        %290 = OpCompositeExtract %v3float %289 0
466        %291 = OpFSub %v3float %290 %240
467        %292 = OpCompositeExtract %v3float %289 1
468        %293 = OpFSub %v3float %292 %240
469        %294 = OpCompositeExtract %v3float %289 2
470        %295 = OpFSub %v3float %294 %240
471        %296 = OpCompositeConstruct %mat3v3float %291 %293 %295
472               OpStore %m3x3 %296
473        %297 = OpFOrdEqual %v3bool %290 %271
474        %298 = OpAll %bool %297
475        %299 = OpFOrdEqual %v3bool %292 %272
476        %300 = OpAll %bool %299
477        %301 = OpLogicalAnd %bool %298 %300
478        %302 = OpFOrdEqual %v3bool %294 %273
479        %303 = OpAll %bool %302
480        %304 = OpLogicalAnd %bool %301 %303
481               OpBranch %288
482        %288 = OpLabel
483        %305 = OpPhi %bool %false %268 %304 %287
484               OpStore %ok %305
485               OpSelectionMerge %307 None
486               OpBranchConditional %305 %306 %307
487        %306 = OpLabel
488        %308 = OpLoad %mat3v3float %m3x3
489        %309 = OpCompositeExtract %v3float %308 0
490        %310 = OpFOrdEqual %v3bool %309 %253
491        %311 = OpAll %bool %310
492        %312 = OpCompositeExtract %v3float %308 1
493        %313 = OpFOrdEqual %v3bool %312 %254
494        %314 = OpAll %bool %313
495        %315 = OpLogicalAnd %bool %311 %314
496        %316 = OpCompositeExtract %v3float %308 2
497        %317 = OpFOrdEqual %v3bool %316 %255
498        %318 = OpAll %bool %317
499        %319 = OpLogicalAnd %bool %315 %318
500               OpBranch %307
501        %307 = OpLabel
502        %320 = OpPhi %bool %false %288 %319 %306
503               OpStore %ok %320
504        %321 = OpLoad %mat3v3float %m3x3
505        %322 = OpCompositeExtract %v3float %321 0
506        %323 = OpFSub %v3float %322 %240
507        %324 = OpCompositeExtract %v3float %321 1
508        %325 = OpFSub %v3float %324 %240
509        %326 = OpCompositeExtract %v3float %321 2
510        %327 = OpFSub %v3float %326 %240
511        %328 = OpCompositeConstruct %mat3v3float %323 %325 %327
512               OpStore %m3x3 %328
513               OpSelectionMerge %330 None
514               OpBranchConditional %320 %329 %330
515        %329 = OpLabel
516        %331 = OpFOrdEqual %v3bool %323 %236
517        %332 = OpAll %bool %331
518        %333 = OpFOrdEqual %v3bool %325 %237
519        %334 = OpAll %bool %333
520        %335 = OpLogicalAnd %bool %332 %334
521        %336 = OpFOrdEqual %v3bool %327 %238
522        %337 = OpAll %bool %336
523        %338 = OpLogicalAnd %bool %335 %337
524               OpBranch %330
525        %330 = OpLabel
526        %339 = OpPhi %bool %false %307 %338 %329
527               OpStore %ok %339
528               OpSelectionMerge %344 None
529               OpBranchConditional %339 %342 %343
530        %342 = OpLabel
531        %345 = OpAccessChain %_ptr_Uniform_v4float %7 %int_0
532        %347 = OpLoad %v4float %345
533               OpStore %340 %347
534               OpBranch %344
535        %343 = OpLabel
536        %348 = OpAccessChain %_ptr_Uniform_v4float %7 %int_1
537        %349 = OpLoad %v4float %348
538               OpStore %340 %349
539               OpBranch %344
540        %344 = OpLabel
541        %350 = OpLoad %v4float %340
542               OpReturnValue %350
543               OpFunctionEnd
544