Update CHANGES for release 11.12.0
[platform/upstream/glslang.git] / Test / baseResults / hlsl.forLoop.frag.out
1 hlsl.forLoop.frag
2 Shader version: 500
3 gl_FragCoord origin is upper left
4 0:? Sequence
5 0:1  Function Definition: f0( ( temp void)
6 0:1    Function Parameters: 
7 0:?     Sequence
8 0:?       Sequence
9 0:2        Loop with condition tested first
10 0:2          No loop condition
11 0:2          No loop body
12 0:5  Function Definition: f1(vf4; ( temp void)
13 0:5    Function Parameters: 
14 0:5      'input' ( in 4-component vector of float)
15 0:?     Sequence
16 0:6      Sequence
17 0:6        Pre-Increment ( temp 4-component vector of float)
18 0:6          'input' ( in 4-component vector of float)
19 0:6        Loop with condition tested first
20 0:6          No loop condition
21 0:6          No loop body
22 0:9  Function Definition: f2(vf4; ( temp void)
23 0:9    Function Parameters: 
24 0:9      'input' ( in 4-component vector of float)
25 0:?     Sequence
26 0:?       Sequence
27 0:10        Loop with condition tested first: Unroll
28 0:10          Loop Condition
29 0:10          any ( temp bool)
30 0:10            NotEqual ( temp 4-component vector of bool)
31 0:10              'input' ( in 4-component vector of float)
32 0:10              'input' ( in 4-component vector of float)
33 0:10          No loop body
34 0:13  Function Definition: f3(vf4; ( temp float)
35 0:13    Function Parameters: 
36 0:13      'input' ( in 4-component vector of float)
37 0:?     Sequence
38 0:?       Sequence
39 0:14        Loop with condition tested first
40 0:14          Loop Condition
41 0:14          any ( temp bool)
42 0:14            NotEqual ( temp 4-component vector of bool)
43 0:14              'input' ( in 4-component vector of float)
44 0:14              'input' ( in 4-component vector of float)
45 0:14          Loop Body
46 0:?           Sequence
47 0:14            Branch: Return with expression
48 0:14              Construct float ( temp float)
49 0:14                Negate value ( temp 4-component vector of float)
50 0:14                  'input' ( in 4-component vector of float)
51 0:17  Function Definition: f4(vf4; ( temp float)
52 0:17    Function Parameters: 
53 0:17      'input' ( in 4-component vector of float)
54 0:?     Sequence
55 0:18      Sequence
56 0:18        Pre-Decrement ( temp 4-component vector of float)
57 0:18          'input' ( in 4-component vector of float)
58 0:18        Loop with condition tested first
59 0:18          Loop Condition
60 0:18          any ( temp bool)
61 0:18            NotEqual ( temp 4-component vector of bool)
62 0:18              'input' ( in 4-component vector of float)
63 0:18              'input' ( in 4-component vector of float)
64 0:18          Loop Body
65 0:?           Sequence
66 0:18            Branch: Return with expression
67 0:18              Construct float ( temp float)
68 0:18                Negate value ( temp 4-component vector of float)
69 0:18                  'input' ( in 4-component vector of float)
70 0:18          Loop Terminal Expression
71 0:18          add second child into first child ( temp 4-component vector of float)
72 0:18            'input' ( in 4-component vector of float)
73 0:18            Constant:
74 0:18              2.000000
75 0:21  Function Definition: f5(vf4; ( temp void)
76 0:21    Function Parameters: 
77 0:21      'input' ( in 4-component vector of float)
78 0:?     Sequence
79 0:?       Sequence
80 0:22        Loop with condition tested first
81 0:22          No loop condition
82 0:22          Loop Body
83 0:22          Test condition and select ( temp void)
84 0:22            Condition
85 0:22            Compare Greater Than ( temp bool)
86 0:22              direct index ( temp float)
87 0:22                'input' ( in 4-component vector of float)
88 0:22                Constant:
89 0:22                  0 (const int)
90 0:22              Constant:
91 0:22                2.000000
92 0:22            true case
93 0:22            Branch: Break
94 0:25  Function Definition: f6(vf4; ( temp void)
95 0:25    Function Parameters: 
96 0:25      'input' ( in 4-component vector of float)
97 0:?     Sequence
98 0:?       Sequence
99 0:26        Loop with condition tested first
100 0:26          No loop condition
101 0:26          Loop Body
102 0:26          Test condition and select ( temp void)
103 0:26            Condition
104 0:26            Compare Greater Than ( temp bool)
105 0:26              direct index ( temp float)
106 0:26                'input' ( in 4-component vector of float)
107 0:26                Constant:
108 0:26                  0 (const int)
109 0:26              Constant:
110 0:26                2.000000
111 0:26            true case
112 0:26            Branch: Continue
113 0:29  Function Definition: f99( ( temp void)
114 0:29    Function Parameters: 
115 0:?     Sequence
116 0:30      Sequence
117 0:30        move second child to first child ( temp int)
118 0:30          'first' ( temp int)
119 0:30          Constant:
120 0:30            0 (const int)
121 0:30        move second child to first child ( temp int)
122 0:30          'second' ( temp int)
123 0:30          Constant:
124 0:30            1 (const int)
125 0:30        Loop with condition tested first
126 0:30          No loop condition
127 0:30          Loop Body
128 0:30          add ( temp int)
129 0:30            'first' ( temp int)
130 0:30            'second' ( temp int)
131 0:33  Function Definition: f100(f1; ( temp void)
132 0:33    Function Parameters: 
133 0:33      'ii' ( in float)
134 0:?     Sequence
135 0:?       Sequence
136 0:34        Comma ( temp float)
137 0:34          Comma ( temp float)
138 0:34            Pre-Decrement ( temp float)
139 0:34              'ii' ( in float)
140 0:34            Pre-Decrement ( temp float)
141 0:34              'ii' ( in float)
142 0:34          Pre-Decrement ( temp float)
143 0:34            'ii' ( in float)
144 0:34        Loop with condition tested first
145 0:34          No loop condition
146 0:34          Loop Body
147 0:34          'ii' ( in float)
148 0:38  Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
149 0:38    Function Parameters: 
150 0:38      'input' ( in 4-component vector of float)
151 0:?     Sequence
152 0:39      Function Call: f0( ( temp void)
153 0:40      Function Call: f1(vf4; ( temp void)
154 0:40        'input' ( in 4-component vector of float)
155 0:41      Function Call: f2(vf4; ( temp void)
156 0:41        'input' ( in 4-component vector of float)
157 0:42      Function Call: f3(vf4; ( temp float)
158 0:42        'input' ( in 4-component vector of float)
159 0:43      Function Call: f4(vf4; ( temp float)
160 0:43        'input' ( in 4-component vector of float)
161 0:44      Function Call: f5(vf4; ( temp void)
162 0:44        'input' ( in 4-component vector of float)
163 0:45      Function Call: f6(vf4; ( temp void)
164 0:45        'input' ( in 4-component vector of float)
165 0:48      Sequence
166 0:48        move second child to first child ( temp int)
167 0:48          'ii' ( temp int)
168 0:48          Constant:
169 0:48            -1 (const int)
170 0:48        Loop with condition tested first
171 0:48          Loop Condition
172 0:48          Compare Less Than ( temp bool)
173 0:48            'ii' ( temp int)
174 0:48            Constant:
175 0:48              3 (const int)
176 0:48          Loop Body
177 0:48          Test condition and select ( temp void)
178 0:48            Condition
179 0:48            Compare Equal ( temp bool)
180 0:48              'ii' ( temp int)
181 0:48              Constant:
182 0:48                2 (const int)
183 0:48            true case
184 0:48            Branch: Continue
185 0:48          Loop Terminal Expression
186 0:48          Pre-Increment ( temp int)
187 0:48            'ii' ( temp int)
188 0:49      Pre-Decrement ( temp float)
189 0:49        'ii' ( temp float)
190 0:51      Function Call: f99( ( temp void)
191 0:53      Sequence
192 0:53        move second child to first child ( temp int)
193 0:53          'i' ( temp int)
194 0:53          Constant:
195 0:53            0 (const int)
196 0:53        move second child to first child ( temp int)
197 0:53          'count' ( temp int)
198 0:53          Convert float to int ( temp int)
199 0:53            'ii' ( temp float)
200 0:53        Loop with condition tested first
201 0:53          Loop Condition
202 0:53          Compare Less Than ( temp bool)
203 0:53            'i' ( temp int)
204 0:53            'count' ( temp int)
205 0:53          No loop body
206 0:53          Loop Terminal Expression
207 0:53          Post-Increment ( temp int)
208 0:53            'i' ( temp int)
209 0:54      Sequence
210 0:54        move second child to first child ( temp float)
211 0:54          'first' ( temp float)
212 0:54          Constant:
213 0:54            0.000000
214 0:54        Loop with condition tested first
215 0:54          Loop Condition
216 0:54          Compare Less Than ( temp bool)
217 0:54            'first' ( temp float)
218 0:54            direct index ( temp float)
219 0:54              'second' ( temp 2-element array of float)
220 0:54              Constant:
221 0:54                0 (const int)
222 0:54          Loop Body
223 0:54          add ( temp float)
224 0:54            add ( temp float)
225 0:54              'first' ( temp float)
226 0:54              direct index ( temp float)
227 0:54                'second' ( temp 2-element array of float)
228 0:54                Constant:
229 0:54                  1 (const int)
230 0:54            'third' ( temp float)
231 0:54          Loop Terminal Expression
232 0:54          Pre-Increment ( temp float)
233 0:54            direct index ( temp float)
234 0:54              'second' ( temp 2-element array of float)
235 0:54              Constant:
236 0:54                1 (const int)
237 0:56      Function Call: f100(f1; ( temp void)
238 0:56        'ii' ( temp float)
239 0:58      Branch: Return with expression
240 0:58        'input' ( in 4-component vector of float)
241 0:38  Function Definition: PixelShaderFunction( ( temp void)
242 0:38    Function Parameters: 
243 0:?     Sequence
244 0:38      move second child to first child ( temp 4-component vector of float)
245 0:?         'input' ( temp 4-component vector of float)
246 0:?         'input' (layout( location=0) in 4-component vector of float)
247 0:38      move second child to first child ( temp 4-component vector of float)
248 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
249 0:38        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
250 0:?           'input' ( temp 4-component vector of float)
251 0:?   Linker Objects
252 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
253 0:?     'input' (layout( location=0) in 4-component vector of float)
254
255
256 Linked fragment stage:
257
258
259 Shader version: 500
260 gl_FragCoord origin is upper left
261 0:? Sequence
262 0:1  Function Definition: f0( ( temp void)
263 0:1    Function Parameters: 
264 0:?     Sequence
265 0:?       Sequence
266 0:2        Loop with condition tested first
267 0:2          No loop condition
268 0:2          No loop body
269 0:5  Function Definition: f1(vf4; ( temp void)
270 0:5    Function Parameters: 
271 0:5      'input' ( in 4-component vector of float)
272 0:?     Sequence
273 0:6      Sequence
274 0:6        Pre-Increment ( temp 4-component vector of float)
275 0:6          'input' ( in 4-component vector of float)
276 0:6        Loop with condition tested first
277 0:6          No loop condition
278 0:6          No loop body
279 0:9  Function Definition: f2(vf4; ( temp void)
280 0:9    Function Parameters: 
281 0:9      'input' ( in 4-component vector of float)
282 0:?     Sequence
283 0:?       Sequence
284 0:10        Loop with condition tested first: Unroll
285 0:10          Loop Condition
286 0:10          any ( temp bool)
287 0:10            NotEqual ( temp 4-component vector of bool)
288 0:10              'input' ( in 4-component vector of float)
289 0:10              'input' ( in 4-component vector of float)
290 0:10          No loop body
291 0:13  Function Definition: f3(vf4; ( temp float)
292 0:13    Function Parameters: 
293 0:13      'input' ( in 4-component vector of float)
294 0:?     Sequence
295 0:?       Sequence
296 0:14        Loop with condition tested first
297 0:14          Loop Condition
298 0:14          any ( temp bool)
299 0:14            NotEqual ( temp 4-component vector of bool)
300 0:14              'input' ( in 4-component vector of float)
301 0:14              'input' ( in 4-component vector of float)
302 0:14          Loop Body
303 0:?           Sequence
304 0:14            Branch: Return with expression
305 0:14              Construct float ( temp float)
306 0:14                Negate value ( temp 4-component vector of float)
307 0:14                  'input' ( in 4-component vector of float)
308 0:17  Function Definition: f4(vf4; ( temp float)
309 0:17    Function Parameters: 
310 0:17      'input' ( in 4-component vector of float)
311 0:?     Sequence
312 0:18      Sequence
313 0:18        Pre-Decrement ( temp 4-component vector of float)
314 0:18          'input' ( in 4-component vector of float)
315 0:18        Loop with condition tested first
316 0:18          Loop Condition
317 0:18          any ( temp bool)
318 0:18            NotEqual ( temp 4-component vector of bool)
319 0:18              'input' ( in 4-component vector of float)
320 0:18              'input' ( in 4-component vector of float)
321 0:18          Loop Body
322 0:?           Sequence
323 0:18            Branch: Return with expression
324 0:18              Construct float ( temp float)
325 0:18                Negate value ( temp 4-component vector of float)
326 0:18                  'input' ( in 4-component vector of float)
327 0:18          Loop Terminal Expression
328 0:18          add second child into first child ( temp 4-component vector of float)
329 0:18            'input' ( in 4-component vector of float)
330 0:18            Constant:
331 0:18              2.000000
332 0:21  Function Definition: f5(vf4; ( temp void)
333 0:21    Function Parameters: 
334 0:21      'input' ( in 4-component vector of float)
335 0:?     Sequence
336 0:?       Sequence
337 0:22        Loop with condition tested first
338 0:22          No loop condition
339 0:22          Loop Body
340 0:22          Test condition and select ( temp void)
341 0:22            Condition
342 0:22            Compare Greater Than ( temp bool)
343 0:22              direct index ( temp float)
344 0:22                'input' ( in 4-component vector of float)
345 0:22                Constant:
346 0:22                  0 (const int)
347 0:22              Constant:
348 0:22                2.000000
349 0:22            true case
350 0:22            Branch: Break
351 0:25  Function Definition: f6(vf4; ( temp void)
352 0:25    Function Parameters: 
353 0:25      'input' ( in 4-component vector of float)
354 0:?     Sequence
355 0:?       Sequence
356 0:26        Loop with condition tested first
357 0:26          No loop condition
358 0:26          Loop Body
359 0:26          Test condition and select ( temp void)
360 0:26            Condition
361 0:26            Compare Greater Than ( temp bool)
362 0:26              direct index ( temp float)
363 0:26                'input' ( in 4-component vector of float)
364 0:26                Constant:
365 0:26                  0 (const int)
366 0:26              Constant:
367 0:26                2.000000
368 0:26            true case
369 0:26            Branch: Continue
370 0:29  Function Definition: f99( ( temp void)
371 0:29    Function Parameters: 
372 0:?     Sequence
373 0:30      Sequence
374 0:30        move second child to first child ( temp int)
375 0:30          'first' ( temp int)
376 0:30          Constant:
377 0:30            0 (const int)
378 0:30        move second child to first child ( temp int)
379 0:30          'second' ( temp int)
380 0:30          Constant:
381 0:30            1 (const int)
382 0:30        Loop with condition tested first
383 0:30          No loop condition
384 0:30          Loop Body
385 0:30          add ( temp int)
386 0:30            'first' ( temp int)
387 0:30            'second' ( temp int)
388 0:33  Function Definition: f100(f1; ( temp void)
389 0:33    Function Parameters: 
390 0:33      'ii' ( in float)
391 0:?     Sequence
392 0:?       Sequence
393 0:34        Comma ( temp float)
394 0:34          Comma ( temp float)
395 0:34            Pre-Decrement ( temp float)
396 0:34              'ii' ( in float)
397 0:34            Pre-Decrement ( temp float)
398 0:34              'ii' ( in float)
399 0:34          Pre-Decrement ( temp float)
400 0:34            'ii' ( in float)
401 0:34        Loop with condition tested first
402 0:34          No loop condition
403 0:34          Loop Body
404 0:34          'ii' ( in float)
405 0:38  Function Definition: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
406 0:38    Function Parameters: 
407 0:38      'input' ( in 4-component vector of float)
408 0:?     Sequence
409 0:39      Function Call: f0( ( temp void)
410 0:40      Function Call: f1(vf4; ( temp void)
411 0:40        'input' ( in 4-component vector of float)
412 0:41      Function Call: f2(vf4; ( temp void)
413 0:41        'input' ( in 4-component vector of float)
414 0:42      Function Call: f3(vf4; ( temp float)
415 0:42        'input' ( in 4-component vector of float)
416 0:43      Function Call: f4(vf4; ( temp float)
417 0:43        'input' ( in 4-component vector of float)
418 0:44      Function Call: f5(vf4; ( temp void)
419 0:44        'input' ( in 4-component vector of float)
420 0:45      Function Call: f6(vf4; ( temp void)
421 0:45        'input' ( in 4-component vector of float)
422 0:48      Sequence
423 0:48        move second child to first child ( temp int)
424 0:48          'ii' ( temp int)
425 0:48          Constant:
426 0:48            -1 (const int)
427 0:48        Loop with condition tested first
428 0:48          Loop Condition
429 0:48          Compare Less Than ( temp bool)
430 0:48            'ii' ( temp int)
431 0:48            Constant:
432 0:48              3 (const int)
433 0:48          Loop Body
434 0:48          Test condition and select ( temp void)
435 0:48            Condition
436 0:48            Compare Equal ( temp bool)
437 0:48              'ii' ( temp int)
438 0:48              Constant:
439 0:48                2 (const int)
440 0:48            true case
441 0:48            Branch: Continue
442 0:48          Loop Terminal Expression
443 0:48          Pre-Increment ( temp int)
444 0:48            'ii' ( temp int)
445 0:49      Pre-Decrement ( temp float)
446 0:49        'ii' ( temp float)
447 0:51      Function Call: f99( ( temp void)
448 0:53      Sequence
449 0:53        move second child to first child ( temp int)
450 0:53          'i' ( temp int)
451 0:53          Constant:
452 0:53            0 (const int)
453 0:53        move second child to first child ( temp int)
454 0:53          'count' ( temp int)
455 0:53          Convert float to int ( temp int)
456 0:53            'ii' ( temp float)
457 0:53        Loop with condition tested first
458 0:53          Loop Condition
459 0:53          Compare Less Than ( temp bool)
460 0:53            'i' ( temp int)
461 0:53            'count' ( temp int)
462 0:53          No loop body
463 0:53          Loop Terminal Expression
464 0:53          Post-Increment ( temp int)
465 0:53            'i' ( temp int)
466 0:54      Sequence
467 0:54        move second child to first child ( temp float)
468 0:54          'first' ( temp float)
469 0:54          Constant:
470 0:54            0.000000
471 0:54        Loop with condition tested first
472 0:54          Loop Condition
473 0:54          Compare Less Than ( temp bool)
474 0:54            'first' ( temp float)
475 0:54            direct index ( temp float)
476 0:54              'second' ( temp 2-element array of float)
477 0:54              Constant:
478 0:54                0 (const int)
479 0:54          Loop Body
480 0:54          add ( temp float)
481 0:54            add ( temp float)
482 0:54              'first' ( temp float)
483 0:54              direct index ( temp float)
484 0:54                'second' ( temp 2-element array of float)
485 0:54                Constant:
486 0:54                  1 (const int)
487 0:54            'third' ( temp float)
488 0:54          Loop Terminal Expression
489 0:54          Pre-Increment ( temp float)
490 0:54            direct index ( temp float)
491 0:54              'second' ( temp 2-element array of float)
492 0:54              Constant:
493 0:54                1 (const int)
494 0:56      Function Call: f100(f1; ( temp void)
495 0:56        'ii' ( temp float)
496 0:58      Branch: Return with expression
497 0:58        'input' ( in 4-component vector of float)
498 0:38  Function Definition: PixelShaderFunction( ( temp void)
499 0:38    Function Parameters: 
500 0:?     Sequence
501 0:38      move second child to first child ( temp 4-component vector of float)
502 0:?         'input' ( temp 4-component vector of float)
503 0:?         'input' (layout( location=0) in 4-component vector of float)
504 0:38      move second child to first child ( temp 4-component vector of float)
505 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
506 0:38        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
507 0:?           'input' ( temp 4-component vector of float)
508 0:?   Linker Objects
509 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
510 0:?     'input' (layout( location=0) in 4-component vector of float)
511
512 // Module Version 10000
513 // Generated by (magic number): 8000b
514 // Id's are bound by 240
515
516                               Capability Shader
517                1:             ExtInstImport  "GLSL.std.450"
518                               MemoryModel Logical GLSL450
519                               EntryPoint Fragment 4  "PixelShaderFunction" 233 236
520                               ExecutionMode 4 OriginUpperLeft
521                               Source HLSL 500
522                               Name 4  "PixelShaderFunction"
523                               Name 6  "f0("
524                               Name 13  "f1(vf4;"
525                               Name 12  "input"
526                               Name 16  "f2(vf4;"
527                               Name 15  "input"
528                               Name 20  "f3(vf4;"
529                               Name 19  "input"
530                               Name 23  "f4(vf4;"
531                               Name 22  "input"
532                               Name 26  "f5(vf4;"
533                               Name 25  "input"
534                               Name 29  "f6(vf4;"
535                               Name 28  "input"
536                               Name 31  "f99("
537                               Name 36  "f100(f1;"
538                               Name 35  "ii"
539                               Name 40  "@PixelShaderFunction(vf4;"
540                               Name 39  "input"
541                               Name 124  "first"
542                               Name 126  "second"
543                               Name 146  "param"
544                               Name 149  "param"
545                               Name 152  "param"
546                               Name 155  "param"
547                               Name 158  "param"
548                               Name 161  "param"
549                               Name 164  "ii"
550                               Name 182  "ii"
551                               Name 186  "i"
552                               Name 187  "count"
553                               Name 200  "first"
554                               Name 211  "second"
555                               Name 219  "third"
556                               Name 225  "param"
557                               Name 231  "input"
558                               Name 233  "input"
559                               Name 236  "@entryPointOutput"
560                               Name 237  "param"
561                               Decorate 233(input) Location 0
562                               Decorate 236(@entryPointOutput) Location 0
563                2:             TypeVoid
564                3:             TypeFunction 2
565                8:             TypeFloat 32
566                9:             TypeVector 8(float) 4
567               10:             TypePointer Function 9(fvec4)
568               11:             TypeFunction 2 10(ptr)
569               18:             TypeFunction 8(float) 10(ptr)
570               33:             TypePointer Function 8(float)
571               34:             TypeFunction 2 33(ptr)
572               38:             TypeFunction 9(fvec4) 10(ptr)
573               47:    8(float) Constant 1065353216
574               61:             TypeBool
575               62:             TypeVector 61(bool) 4
576               95:    8(float) Constant 1073741824
577              104:             TypeInt 32 0
578              105:    104(int) Constant 0
579              122:             TypeInt 32 1
580              123:             TypePointer Function 122(int)
581              125:    122(int) Constant 0
582              127:    122(int) Constant 1
583              165:    122(int) Constant 4294967295
584              172:    122(int) Constant 3
585              175:    122(int) Constant 2
586              201:    8(float) Constant 0
587              208:    104(int) Constant 2
588              209:             TypeArray 8(float) 208
589              210:             TypePointer Function 209
590              232:             TypePointer Input 9(fvec4)
591       233(input):    232(ptr) Variable Input
592              235:             TypePointer Output 9(fvec4)
593 236(@entryPointOutput):    235(ptr) Variable Output
594 4(PixelShaderFunction):           2 Function None 3
595                5:             Label
596       231(input):     10(ptr) Variable Function
597       237(param):     10(ptr) Variable Function
598              234:    9(fvec4) Load 233(input)
599                               Store 231(input) 234
600              238:    9(fvec4) Load 231(input)
601                               Store 237(param) 238
602              239:    9(fvec4) FunctionCall 40(@PixelShaderFunction(vf4;) 237(param)
603                               Store 236(@entryPointOutput) 239
604                               Return
605                               FunctionEnd
606           6(f0():           2 Function None 3
607                7:             Label
608                               Branch 42
609               42:             Label
610                               LoopMerge 44 45 None
611                               Branch 43
612               43:             Label
613                               Branch 45
614               45:             Label
615                               Branch 42
616               44:             Label
617                               Unreachable
618                               FunctionEnd
619      13(f1(vf4;):           2 Function None 11
620        12(input):     10(ptr) FunctionParameter
621               14:             Label
622               46:    9(fvec4) Load 12(input)
623               48:    9(fvec4) CompositeConstruct 47 47 47 47
624               49:    9(fvec4) FAdd 46 48
625                               Store 12(input) 49
626                               Branch 50
627               50:             Label
628                               LoopMerge 52 53 None
629                               Branch 51
630               51:             Label
631                               Branch 53
632               53:             Label
633                               Branch 50
634               52:             Label
635                               Unreachable
636                               FunctionEnd
637      16(f2(vf4;):           2 Function None 11
638        15(input):     10(ptr) FunctionParameter
639               17:             Label
640                               Branch 54
641               54:             Label
642                               LoopMerge 56 57 Unroll 
643                               Branch 58
644               58:             Label
645               59:    9(fvec4) Load 15(input)
646               60:    9(fvec4) Load 15(input)
647               63:   62(bvec4) FUnordNotEqual 59 60
648               64:    61(bool) Any 63
649                               BranchConditional 64 55 56
650               55:               Label
651                                 Branch 57
652               57:               Label
653                                 Branch 54
654               56:             Label
655                               Return
656                               FunctionEnd
657      20(f3(vf4;):    8(float) Function None 18
658        19(input):     10(ptr) FunctionParameter
659               21:             Label
660                               Branch 65
661               65:             Label
662                               LoopMerge 67 68 None
663                               Branch 69
664               69:             Label
665               70:    9(fvec4) Load 19(input)
666               71:    9(fvec4) Load 19(input)
667               72:   62(bvec4) FUnordNotEqual 70 71
668               73:    61(bool) Any 72
669                               BranchConditional 73 66 67
670               66:               Label
671               74:    9(fvec4)   Load 19(input)
672               75:    9(fvec4)   FNegate 74
673               76:    8(float)   CompositeExtract 75 0
674                                 ReturnValue 76
675               68:               Label
676                                 Branch 65
677               67:             Label
678               78:    8(float) Undef
679                               ReturnValue 78
680                               FunctionEnd
681      23(f4(vf4;):    8(float) Function None 18
682        22(input):     10(ptr) FunctionParameter
683               24:             Label
684               79:    9(fvec4) Load 22(input)
685               80:    9(fvec4) CompositeConstruct 47 47 47 47
686               81:    9(fvec4) FSub 79 80
687                               Store 22(input) 81
688                               Branch 82
689               82:             Label
690                               LoopMerge 84 85 None
691                               Branch 86
692               86:             Label
693               87:    9(fvec4) Load 22(input)
694               88:    9(fvec4) Load 22(input)
695               89:   62(bvec4) FUnordNotEqual 87 88
696               90:    61(bool) Any 89
697                               BranchConditional 90 83 84
698               83:               Label
699               91:    9(fvec4)   Load 22(input)
700               92:    9(fvec4)   FNegate 91
701               93:    8(float)   CompositeExtract 92 0
702                                 ReturnValue 93
703               85:               Label
704                                 Branch 82
705               84:             Label
706               99:    8(float) Undef
707                               ReturnValue 99
708                               FunctionEnd
709      26(f5(vf4;):           2 Function None 11
710        25(input):     10(ptr) FunctionParameter
711               27:             Label
712                               Branch 100
713              100:             Label
714                               LoopMerge 102 103 None
715                               Branch 101
716              101:             Label
717              106:     33(ptr) AccessChain 25(input) 105
718              107:    8(float) Load 106
719              108:    61(bool) FOrdGreaterThan 107 95
720                               SelectionMerge 110 None
721                               BranchConditional 108 109 110
722              109:               Label
723                                 Branch 102
724              110:             Label
725                               Branch 103
726              103:             Label
727                               Branch 100
728              102:             Label
729                               Return
730                               FunctionEnd
731      29(f6(vf4;):           2 Function None 11
732        28(input):     10(ptr) FunctionParameter
733               30:             Label
734                               Branch 112
735              112:             Label
736                               LoopMerge 114 115 None
737                               Branch 113
738              113:             Label
739              116:     33(ptr) AccessChain 28(input) 105
740              117:    8(float) Load 116
741              118:    61(bool) FOrdGreaterThan 117 95
742                               SelectionMerge 120 None
743                               BranchConditional 118 119 120
744              119:               Label
745                                 Branch 115
746              120:             Label
747                               Branch 115
748              115:             Label
749                               Branch 112
750              114:             Label
751                               Unreachable
752                               FunctionEnd
753         31(f99():           2 Function None 3
754               32:             Label
755       124(first):    123(ptr) Variable Function
756      126(second):    123(ptr) Variable Function
757                               Store 124(first) 125
758                               Store 126(second) 127
759                               Branch 128
760              128:             Label
761                               LoopMerge 130 131 None
762                               Branch 129
763              129:             Label
764              132:    122(int) Load 124(first)
765              133:    122(int) Load 126(second)
766              134:    122(int) IAdd 132 133
767                               Branch 131
768              131:             Label
769                               Branch 128
770              130:             Label
771                               Unreachable
772                               FunctionEnd
773     36(f100(f1;):           2 Function None 34
774           35(ii):     33(ptr) FunctionParameter
775               37:             Label
776              135:    8(float) Load 35(ii)
777              136:    8(float) FSub 135 47
778                               Store 35(ii) 136
779              137:    8(float) Load 35(ii)
780              138:    8(float) FSub 137 47
781                               Store 35(ii) 138
782              139:    8(float) Load 35(ii)
783              140:    8(float) FSub 139 47
784                               Store 35(ii) 140
785                               Branch 141
786              141:             Label
787                               LoopMerge 143 144 None
788                               Branch 142
789              142:             Label
790                               Branch 144
791              144:             Label
792                               Branch 141
793              143:             Label
794                               Unreachable
795                               FunctionEnd
796 40(@PixelShaderFunction(vf4;):    9(fvec4) Function None 38
797        39(input):     10(ptr) FunctionParameter
798               41:             Label
799       146(param):     10(ptr) Variable Function
800       149(param):     10(ptr) Variable Function
801       152(param):     10(ptr) Variable Function
802       155(param):     10(ptr) Variable Function
803       158(param):     10(ptr) Variable Function
804       161(param):     10(ptr) Variable Function
805          164(ii):    123(ptr) Variable Function
806          182(ii):     33(ptr) Variable Function
807           186(i):    123(ptr) Variable Function
808       187(count):    123(ptr) Variable Function
809       200(first):     33(ptr) Variable Function
810      211(second):    210(ptr) Variable Function
811       219(third):     33(ptr) Variable Function
812       225(param):     33(ptr) Variable Function
813              145:           2 FunctionCall 6(f0()
814              147:    9(fvec4) Load 39(input)
815                               Store 146(param) 147
816              148:           2 FunctionCall 13(f1(vf4;) 146(param)
817              150:    9(fvec4) Load 39(input)
818                               Store 149(param) 150
819              151:           2 FunctionCall 16(f2(vf4;) 149(param)
820              153:    9(fvec4) Load 39(input)
821                               Store 152(param) 153
822              154:    8(float) FunctionCall 20(f3(vf4;) 152(param)
823              156:    9(fvec4) Load 39(input)
824                               Store 155(param) 156
825              157:    8(float) FunctionCall 23(f4(vf4;) 155(param)
826              159:    9(fvec4) Load 39(input)
827                               Store 158(param) 159
828              160:           2 FunctionCall 26(f5(vf4;) 158(param)
829              162:    9(fvec4) Load 39(input)
830                               Store 161(param) 162
831              163:           2 FunctionCall 29(f6(vf4;) 161(param)
832                               Store 164(ii) 165
833                               Branch 166
834              166:             Label
835                               LoopMerge 168 169 None
836                               Branch 170
837              170:             Label
838              171:    122(int) Load 164(ii)
839              173:    61(bool) SLessThan 171 172
840                               BranchConditional 173 167 168
841              167:               Label
842              174:    122(int)   Load 164(ii)
843              176:    61(bool)   IEqual 174 175
844                                 SelectionMerge 178 None
845                                 BranchConditional 176 177 178
846              177:                 Label
847                                   Branch 169
848              178:               Label
849                                 Branch 169
850              169:               Label
851              180:    122(int)   Load 164(ii)
852              181:    122(int)   IAdd 180 127
853                                 Store 164(ii) 181
854                                 Branch 166
855              168:             Label
856              183:    8(float) Load 182(ii)
857              184:    8(float) FSub 183 47
858                               Store 182(ii) 184
859              185:           2 FunctionCall 31(f99()
860                               Store 186(i) 125
861              188:    8(float) Load 182(ii)
862              189:    122(int) ConvertFToS 188
863                               Store 187(count) 189
864                               Branch 190
865              190:             Label
866                               LoopMerge 192 193 None
867                               Branch 194
868              194:             Label
869              195:    122(int) Load 186(i)
870              196:    122(int) Load 187(count)
871              197:    61(bool) SLessThan 195 196
872                               BranchConditional 197 191 192
873              191:               Label
874                                 Branch 193
875              193:               Label
876              198:    122(int)   Load 186(i)
877              199:    122(int)   IAdd 198 127
878                                 Store 186(i) 199
879                                 Branch 190
880              192:             Label
881                               Store 200(first) 201
882                               Branch 202
883              202:             Label
884                               LoopMerge 204 205 None
885                               Branch 206
886              206:             Label
887              207:    8(float) Load 200(first)
888              212:     33(ptr) AccessChain 211(second) 125
889              213:    8(float) Load 212
890              214:    61(bool) FOrdLessThan 207 213
891                               BranchConditional 214 203 204
892              203:               Label
893              215:    8(float)   Load 200(first)
894              216:     33(ptr)   AccessChain 211(second) 127
895              217:    8(float)   Load 216
896              218:    8(float)   FAdd 215 217
897              220:    8(float)   Load 219(third)
898              221:    8(float)   FAdd 218 220
899                                 Branch 205
900              205:               Label
901              222:     33(ptr)   AccessChain 211(second) 127
902              223:    8(float)   Load 222
903              224:    8(float)   FAdd 223 47
904                                 Store 222 224
905                                 Branch 202
906              204:             Label
907              226:    8(float) Load 182(ii)
908                               Store 225(param) 226
909              227:           2 FunctionCall 36(f100(f1;) 225(param)
910              228:    9(fvec4) Load 39(input)
911                               ReturnValue 228
912                               FunctionEnd