Fix 8-bit storage nearly always using the
[platform/upstream/glslang.git] / Test / baseResults / spv.subgroupBallot.comp.out
1 spv.subgroupBallot.comp
2 // Module Version 10300
3 // Generated by (magic number): 80007
4 // Id's are bound by 417
5
6                               Capability Shader
7                               Capability Float64
8                               Capability GroupNonUniform
9                               Capability GroupNonUniformBallot
10                1:             ExtInstImport  "GLSL.std.450"
11                               MemoryModel Logical GLSL450
12                               EntryPoint GLCompute 4  "main" 10 12 21 23 26 29 32
13                               ExecutionMode 4 LocalSize 8 8 1
14                               Source GLSL 450
15                               SourceExtension  "GL_KHR_shader_subgroup_ballot"
16                               SourceExtension  "GL_KHR_shader_subgroup_basic"
17                               Name 4  "main"
18                               Name 8  "invocation"
19                               Name 10  "gl_SubgroupInvocationID"
20                               Name 12  "gl_SubgroupSize"
21                               Name 19  "relMask"
22                               Name 21  "gl_SubgroupEqMask"
23                               Name 23  "gl_SubgroupGeMask"
24                               Name 26  "gl_SubgroupGtMask"
25                               Name 29  "gl_SubgroupLeMask"
26                               Name 32  "gl_SubgroupLtMask"
27                               Name 35  "result"
28                               Name 46  "Buffers"
29                               MemberName 46(Buffers) 0  "f4"
30                               MemberName 46(Buffers) 1  "i4"
31                               MemberName 46(Buffers) 2  "u4"
32                               MemberName 46(Buffers) 3  "d4"
33                               Name 49  "data"
34                               Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
35                               Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
36                               Decorate 11 RelaxedPrecision
37                               Decorate 12(gl_SubgroupSize) RelaxedPrecision
38                               Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
39                               Decorate 13 RelaxedPrecision
40                               Decorate 14 RelaxedPrecision
41                               Decorate 16 RelaxedPrecision
42                               Decorate 21(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR
43                               Decorate 23(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR
44                               Decorate 26(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
45                               Decorate 29(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
46                               Decorate 32(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR
47                               MemberDecorate 46(Buffers) 0 Offset 0
48                               MemberDecorate 46(Buffers) 1 Offset 16
49                               MemberDecorate 46(Buffers) 2 Offset 32
50                               MemberDecorate 46(Buffers) 3 Offset 64
51                               Decorate 46(Buffers) Block
52                               Decorate 49(data) DescriptorSet 0
53                               Decorate 49(data) Binding 0
54                               Decorate 416 BuiltIn WorkgroupSize
55                2:             TypeVoid
56                3:             TypeFunction 2
57                6:             TypeInt 32 0
58                7:             TypePointer Function 6(int)
59                9:             TypePointer Input 6(int)
60 10(gl_SubgroupInvocationID):      9(ptr) Variable Input
61 12(gl_SubgroupSize):      9(ptr) Variable Input
62               15:      6(int) Constant 4
63               17:             TypeVector 6(int) 4
64               18:             TypePointer Function 17(ivec4)
65               20:             TypePointer Input 17(ivec4)
66 21(gl_SubgroupEqMask):     20(ptr) Variable Input
67 23(gl_SubgroupGeMask):     20(ptr) Variable Input
68 26(gl_SubgroupGtMask):     20(ptr) Variable Input
69 29(gl_SubgroupLeMask):     20(ptr) Variable Input
70 32(gl_SubgroupLtMask):     20(ptr) Variable Input
71               36:             TypeBool
72               37:    36(bool) ConstantTrue
73               38:      6(int) Constant 3
74               40:             TypeFloat 32
75               41:             TypeVector 40(float) 4
76               42:             TypeInt 32 1
77               43:             TypeVector 42(int) 4
78               44:             TypeFloat 64
79               45:             TypeVector 44(float64_t) 4
80      46(Buffers):             TypeStruct 41(fvec4) 43(ivec4) 17(ivec4) 45(f64vec4)
81               47:             TypeArray 46(Buffers) 15
82               48:             TypePointer StorageBuffer 47
83         49(data):     48(ptr) Variable StorageBuffer
84               51:     42(int) Constant 2
85               54:      6(int) Constant 0
86               55:             TypePointer StorageBuffer 6(int)
87               60:     42(int) Constant 1
88               61:     42(int) Constant 0
89               64:      6(int) Constant 1
90               72:      6(int) Constant 2
91               83:             TypeVector 36(bool) 4
92               88:             TypePointer StorageBuffer 17(ivec4)
93               96:             TypePointer StorageBuffer 40(float)
94              103:             TypeVector 40(float) 2
95              104:             TypePointer StorageBuffer 41(fvec4)
96              114:             TypeVector 40(float) 3
97              124:     42(int) Constant 3
98              131:             TypePointer StorageBuffer 42(int)
99              138:             TypeVector 42(int) 2
100              139:             TypePointer StorageBuffer 43(ivec4)
101              149:             TypeVector 42(int) 3
102              171:             TypeVector 6(int) 2
103              181:             TypeVector 6(int) 3
104              197:             TypePointer StorageBuffer 44(float64_t)
105              204:             TypeVector 44(float64_t) 2
106              205:             TypePointer StorageBuffer 45(f64vec4)
107              215:             TypeVector 44(float64_t) 3
108              242:  138(ivec2) ConstantComposite 61 61
109              243:             TypeVector 36(bool) 2
110              247:  138(ivec2) ConstantComposite 60 60
111              256:  149(ivec3) ConstantComposite 61 61 61
112              257:             TypeVector 36(bool) 3
113              261:  149(ivec3) ConstantComposite 60 60 60
114              269:   43(ivec4) ConstantComposite 61 61 61 61
115              273:   43(ivec4) ConstantComposite 60 60 60 60
116              415:      6(int) Constant 8
117              416:  181(ivec3) ConstantComposite 415 415 64
118          4(main):           2 Function None 3
119                5:             Label
120    8(invocation):      7(ptr) Variable Function
121      19(relMask):     18(ptr) Variable Function
122       35(result):     18(ptr) Variable Function
123               11:      6(int) Load 10(gl_SubgroupInvocationID)
124               13:      6(int) Load 12(gl_SubgroupSize)
125               14:      6(int) IAdd 11 13
126               16:      6(int) UMod 14 15
127                               Store 8(invocation) 16
128               22:   17(ivec4) Load 21(gl_SubgroupEqMask)
129               24:   17(ivec4) Load 23(gl_SubgroupGeMask)
130               25:   17(ivec4) IAdd 22 24
131               27:   17(ivec4) Load 26(gl_SubgroupGtMask)
132               28:   17(ivec4) IAdd 25 27
133               30:   17(ivec4) Load 29(gl_SubgroupLeMask)
134               31:   17(ivec4) IAdd 28 30
135               33:   17(ivec4) Load 32(gl_SubgroupLtMask)
136               34:   17(ivec4) IAdd 31 33
137                               Store 19(relMask) 34
138               39:   17(ivec4) GroupNonUniformBallot 38 37
139                               Store 35(result) 39
140               50:      6(int) Load 8(invocation)
141               52:   17(ivec4) Load 35(result)
142               53:      6(int) GroupNonUniformBallotBitCount 38 Reduce 52
143               56:     55(ptr) AccessChain 49(data) 50 51 54
144                               Store 56 53
145               57:      6(int) Load 8(invocation)
146               58:   17(ivec4) Load 35(result)
147               59:    36(bool) GroupNonUniformBallotBitExtract 38 58 54
148               62:     42(int) Select 59 60 61
149               63:      6(int) Bitcast 62
150               65:     55(ptr) AccessChain 49(data) 57 51 64
151                               Store 65 63
152               66:      6(int) Load 8(invocation)
153               67:   17(ivec4) Load 35(result)
154               68:      6(int) GroupNonUniformBallotBitCount 38 InclusiveScan 67
155               69:   17(ivec4) Load 35(result)
156               70:      6(int) GroupNonUniformBallotBitCount 38 ExclusiveScan 69
157               71:      6(int) IAdd 68 70
158               73:     55(ptr) AccessChain 49(data) 66 51 72
159                               Store 73 71
160               74:      6(int) Load 8(invocation)
161               75:   17(ivec4) Load 35(result)
162               76:      6(int) GroupNonUniformBallotFindLSB 38 75
163               77:   17(ivec4) Load 35(result)
164               78:      6(int) GroupNonUniformBallotFindMSB 38 77
165               79:      6(int) IAdd 76 78
166               80:     55(ptr) AccessChain 49(data) 74 51 38
167                               Store 80 79
168               81:   17(ivec4) Load 19(relMask)
169               82:   17(ivec4) Load 35(result)
170               84:   83(bvec4) IEqual 81 82
171               85:    36(bool) All 84
172                               SelectionMerge 87 None
173                               BranchConditional 85 86 87
174               86:               Label
175               89:     88(ptr)   AccessChain 49(data) 61 51
176               90:   17(ivec4)   Load 89
177               91:    36(bool)   GroupNonUniformInverseBallot 38 90
178                                 Branch 87
179               87:             Label
180               92:    36(bool) Phi 85 5 91 86
181                               SelectionMerge 94 None
182                               BranchConditional 92 93 276
183               93:               Label
184               95:      6(int)   Load 8(invocation)
185               97:     96(ptr)   AccessChain 49(data) 61 61 54
186               98:   40(float)   Load 97
187               99:      6(int)   Load 8(invocation)
188              100:   40(float)   GroupNonUniformBroadcast 38 98 99
189              101:     96(ptr)   AccessChain 49(data) 95 61 54
190                                 Store 101 100
191              102:      6(int)   Load 8(invocation)
192              105:    104(ptr)   AccessChain 49(data) 60 61
193              106:   41(fvec4)   Load 105
194              107:  103(fvec2)   VectorShuffle 106 106 0 1
195              108:      6(int)   Load 8(invocation)
196              109:  103(fvec2)   GroupNonUniformBroadcast 38 107 108
197              110:    104(ptr)   AccessChain 49(data) 102 61
198              111:   41(fvec4)   Load 110
199              112:   41(fvec4)   VectorShuffle 111 109 4 5 2 3
200                                 Store 110 112
201              113:      6(int)   Load 8(invocation)
202              115:    104(ptr)   AccessChain 49(data) 51 61
203              116:   41(fvec4)   Load 115
204              117:  114(fvec3)   VectorShuffle 116 116 0 1 2
205              118:      6(int)   Load 8(invocation)
206              119:  114(fvec3)   GroupNonUniformBroadcast 38 117 118
207              120:    104(ptr)   AccessChain 49(data) 113 61
208              121:   41(fvec4)   Load 120
209              122:   41(fvec4)   VectorShuffle 121 119 4 5 6 3
210                                 Store 120 122
211              123:      6(int)   Load 8(invocation)
212              125:    104(ptr)   AccessChain 49(data) 124 61
213              126:   41(fvec4)   Load 125
214              127:      6(int)   Load 8(invocation)
215              128:   41(fvec4)   GroupNonUniformBroadcast 38 126 127
216              129:    104(ptr)   AccessChain 49(data) 123 61
217                                 Store 129 128
218              130:      6(int)   Load 8(invocation)
219              132:    131(ptr)   AccessChain 49(data) 61 60 54
220              133:     42(int)   Load 132
221              134:      6(int)   Load 8(invocation)
222              135:     42(int)   GroupNonUniformBroadcast 38 133 134
223              136:    131(ptr)   AccessChain 49(data) 130 60 54
224                                 Store 136 135
225              137:      6(int)   Load 8(invocation)
226              140:    139(ptr)   AccessChain 49(data) 60 60
227              141:   43(ivec4)   Load 140
228              142:  138(ivec2)   VectorShuffle 141 141 0 1
229              143:      6(int)   Load 8(invocation)
230              144:  138(ivec2)   GroupNonUniformBroadcast 38 142 143
231              145:    139(ptr)   AccessChain 49(data) 137 60
232              146:   43(ivec4)   Load 145
233              147:   43(ivec4)   VectorShuffle 146 144 4 5 2 3
234                                 Store 145 147
235              148:      6(int)   Load 8(invocation)
236              150:    139(ptr)   AccessChain 49(data) 51 60
237              151:   43(ivec4)   Load 150
238              152:  149(ivec3)   VectorShuffle 151 151 0 1 2
239              153:      6(int)   Load 8(invocation)
240              154:  149(ivec3)   GroupNonUniformBroadcast 38 152 153
241              155:    139(ptr)   AccessChain 49(data) 148 60
242              156:   43(ivec4)   Load 155
243              157:   43(ivec4)   VectorShuffle 156 154 4 5 6 3
244                                 Store 155 157
245              158:      6(int)   Load 8(invocation)
246              159:    139(ptr)   AccessChain 49(data) 124 60
247              160:   43(ivec4)   Load 159
248              161:      6(int)   Load 8(invocation)
249              162:   43(ivec4)   GroupNonUniformBroadcast 38 160 161
250              163:    139(ptr)   AccessChain 49(data) 158 60
251                                 Store 163 162
252              164:      6(int)   Load 8(invocation)
253              165:     55(ptr)   AccessChain 49(data) 61 51 54
254              166:      6(int)   Load 165
255              167:      6(int)   Load 8(invocation)
256              168:      6(int)   GroupNonUniformBroadcast 38 166 167
257              169:     55(ptr)   AccessChain 49(data) 164 51 54
258                                 Store 169 168
259              170:      6(int)   Load 8(invocation)
260              172:     88(ptr)   AccessChain 49(data) 60 51
261              173:   17(ivec4)   Load 172
262              174:  171(ivec2)   VectorShuffle 173 173 0 1
263              175:      6(int)   Load 8(invocation)
264              176:  171(ivec2)   GroupNonUniformBroadcast 38 174 175
265              177:     88(ptr)   AccessChain 49(data) 170 51
266              178:   17(ivec4)   Load 177
267              179:   17(ivec4)   VectorShuffle 178 176 4 5 2 3
268                                 Store 177 179
269              180:      6(int)   Load 8(invocation)
270              182:     88(ptr)   AccessChain 49(data) 51 51
271              183:   17(ivec4)   Load 182
272              184:  181(ivec3)   VectorShuffle 183 183 0 1 2
273              185:      6(int)   Load 8(invocation)
274              186:  181(ivec3)   GroupNonUniformBroadcast 38 184 185
275              187:     88(ptr)   AccessChain 49(data) 180 51
276              188:   17(ivec4)   Load 187
277              189:   17(ivec4)   VectorShuffle 188 186 4 5 6 3
278                                 Store 187 189
279              190:      6(int)   Load 8(invocation)
280              191:     88(ptr)   AccessChain 49(data) 124 51
281              192:   17(ivec4)   Load 191
282              193:      6(int)   Load 8(invocation)
283              194:   17(ivec4)   GroupNonUniformBroadcast 38 192 193
284              195:     88(ptr)   AccessChain 49(data) 190 51
285                                 Store 195 194
286              196:      6(int)   Load 8(invocation)
287              198:    197(ptr)   AccessChain 49(data) 61 124 54
288              199:44(float64_t)   Load 198
289              200:      6(int)   Load 8(invocation)
290              201:44(float64_t)   GroupNonUniformBroadcast 38 199 200
291              202:    197(ptr)   AccessChain 49(data) 196 124 54
292                                 Store 202 201
293              203:      6(int)   Load 8(invocation)
294              206:    205(ptr)   AccessChain 49(data) 60 124
295              207: 45(f64vec4)   Load 206
296              208:204(f64vec2)   VectorShuffle 207 207 0 1
297              209:      6(int)   Load 8(invocation)
298              210:204(f64vec2)   GroupNonUniformBroadcast 38 208 209
299              211:    205(ptr)   AccessChain 49(data) 203 124
300              212: 45(f64vec4)   Load 211
301              213: 45(f64vec4)   VectorShuffle 212 210 4 5 2 3
302                                 Store 211 213
303              214:      6(int)   Load 8(invocation)
304              216:    205(ptr)   AccessChain 49(data) 51 124
305              217: 45(f64vec4)   Load 216
306              218:215(f64vec3)   VectorShuffle 217 217 0 1 2
307              219:      6(int)   Load 8(invocation)
308              220:215(f64vec3)   GroupNonUniformBroadcast 38 218 219
309              221:    205(ptr)   AccessChain 49(data) 214 124
310              222: 45(f64vec4)   Load 221
311              223: 45(f64vec4)   VectorShuffle 222 220 4 5 6 3
312                                 Store 221 223
313              224:      6(int)   Load 8(invocation)
314              225:    205(ptr)   AccessChain 49(data) 124 124
315              226: 45(f64vec4)   Load 225
316              227:      6(int)   Load 8(invocation)
317              228: 45(f64vec4)   GroupNonUniformBroadcast 38 226 227
318              229:    205(ptr)   AccessChain 49(data) 224 124
319                                 Store 229 228
320              230:      6(int)   Load 8(invocation)
321              231:    131(ptr)   AccessChain 49(data) 61 60 54
322              232:     42(int)   Load 231
323              233:    36(bool)   SLessThan 232 61
324              234:      6(int)   Load 8(invocation)
325              235:    36(bool)   GroupNonUniformBroadcast 38 233 234
326              236:     42(int)   Select 235 60 61
327              237:    131(ptr)   AccessChain 49(data) 230 60 54
328                                 Store 237 236
329              238:      6(int)   Load 8(invocation)
330              239:    139(ptr)   AccessChain 49(data) 60 60
331              240:   43(ivec4)   Load 239
332              241:  138(ivec2)   VectorShuffle 240 240 0 1
333              244:  243(bvec2)   SLessThan 241 242
334              245:      6(int)   Load 8(invocation)
335              246:  243(bvec2)   GroupNonUniformBroadcast 38 244 245
336              248:  138(ivec2)   Select 246 247 242
337              249:    139(ptr)   AccessChain 49(data) 238 60
338              250:   43(ivec4)   Load 249
339              251:   43(ivec4)   VectorShuffle 250 248 4 5 2 3
340                                 Store 249 251
341              252:      6(int)   Load 8(invocation)
342              253:    139(ptr)   AccessChain 49(data) 60 60
343              254:   43(ivec4)   Load 253
344              255:  149(ivec3)   VectorShuffle 254 254 0 1 2
345              258:  257(bvec3)   SLessThan 255 256
346              259:      6(int)   Load 8(invocation)
347              260:  257(bvec3)   GroupNonUniformBroadcast 38 258 259
348              262:  149(ivec3)   Select 260 261 256
349              263:    139(ptr)   AccessChain 49(data) 252 60
350              264:   43(ivec4)   Load 263
351              265:   43(ivec4)   VectorShuffle 264 262 4 5 6 3
352                                 Store 263 265
353              266:      6(int)   Load 8(invocation)
354              267:    139(ptr)   AccessChain 49(data) 60 60
355              268:   43(ivec4)   Load 267
356              270:   83(bvec4)   SLessThan 268 269
357              271:      6(int)   Load 8(invocation)
358              272:   83(bvec4)   GroupNonUniformBroadcast 38 270 271
359              274:   43(ivec4)   Select 272 273 269
360              275:    139(ptr)   AccessChain 49(data) 266 60
361                                 Store 275 274
362                                 Branch 94
363              276:               Label
364              277:      6(int)   Load 8(invocation)
365              278:     96(ptr)   AccessChain 49(data) 61 61 54
366              279:   40(float)   Load 278
367              280:   40(float)   GroupNonUniformBroadcastFirst 38 279
368              281:     96(ptr)   AccessChain 49(data) 277 61 54
369                                 Store 281 280
370              282:      6(int)   Load 8(invocation)
371              283:    104(ptr)   AccessChain 49(data) 60 61
372              284:   41(fvec4)   Load 283
373              285:  103(fvec2)   VectorShuffle 284 284 0 1
374              286:  103(fvec2)   GroupNonUniformBroadcastFirst 38 285
375              287:    104(ptr)   AccessChain 49(data) 282 61
376              288:   41(fvec4)   Load 287
377              289:   41(fvec4)   VectorShuffle 288 286 4 5 2 3
378                                 Store 287 289
379              290:      6(int)   Load 8(invocation)
380              291:    104(ptr)   AccessChain 49(data) 51 61
381              292:   41(fvec4)   Load 291
382              293:  114(fvec3)   VectorShuffle 292 292 0 1 2
383              294:  114(fvec3)   GroupNonUniformBroadcastFirst 38 293
384              295:    104(ptr)   AccessChain 49(data) 290 61
385              296:   41(fvec4)   Load 295
386              297:   41(fvec4)   VectorShuffle 296 294 4 5 6 3
387                                 Store 295 297
388              298:      6(int)   Load 8(invocation)
389              299:    104(ptr)   AccessChain 49(data) 124 61
390              300:   41(fvec4)   Load 299
391              301:   41(fvec4)   GroupNonUniformBroadcastFirst 38 300
392              302:    104(ptr)   AccessChain 49(data) 298 61
393                                 Store 302 301
394              303:      6(int)   Load 8(invocation)
395              304:    131(ptr)   AccessChain 49(data) 61 60 54
396              305:     42(int)   Load 304
397              306:     42(int)   GroupNonUniformBroadcastFirst 38 305
398              307:    131(ptr)   AccessChain 49(data) 303 60 54
399                                 Store 307 306
400              308:      6(int)   Load 8(invocation)
401              309:    139(ptr)   AccessChain 49(data) 60 60
402              310:   43(ivec4)   Load 309
403              311:  138(ivec2)   VectorShuffle 310 310 0 1
404              312:  138(ivec2)   GroupNonUniformBroadcastFirst 38 311
405              313:    139(ptr)   AccessChain 49(data) 308 60
406              314:   43(ivec4)   Load 313
407              315:   43(ivec4)   VectorShuffle 314 312 4 5 2 3
408                                 Store 313 315
409              316:      6(int)   Load 8(invocation)
410              317:    139(ptr)   AccessChain 49(data) 51 60
411              318:   43(ivec4)   Load 317
412              319:  149(ivec3)   VectorShuffle 318 318 0 1 2
413              320:  149(ivec3)   GroupNonUniformBroadcastFirst 38 319
414              321:    139(ptr)   AccessChain 49(data) 316 60
415              322:   43(ivec4)   Load 321
416              323:   43(ivec4)   VectorShuffle 322 320 4 5 6 3
417                                 Store 321 323
418              324:      6(int)   Load 8(invocation)
419              325:    139(ptr)   AccessChain 49(data) 124 60
420              326:   43(ivec4)   Load 325
421              327:   43(ivec4)   GroupNonUniformBroadcastFirst 38 326
422              328:    139(ptr)   AccessChain 49(data) 324 60
423                                 Store 328 327
424              329:      6(int)   Load 8(invocation)
425              330:     55(ptr)   AccessChain 49(data) 61 51 54
426              331:      6(int)   Load 330
427              332:      6(int)   GroupNonUniformBroadcastFirst 38 331
428              333:     55(ptr)   AccessChain 49(data) 329 51 54
429                                 Store 333 332
430              334:      6(int)   Load 8(invocation)
431              335:     88(ptr)   AccessChain 49(data) 60 51
432              336:   17(ivec4)   Load 335
433              337:  171(ivec2)   VectorShuffle 336 336 0 1
434              338:  171(ivec2)   GroupNonUniformBroadcastFirst 38 337
435              339:     88(ptr)   AccessChain 49(data) 334 51
436              340:   17(ivec4)   Load 339
437              341:   17(ivec4)   VectorShuffle 340 338 4 5 2 3
438                                 Store 339 341
439              342:      6(int)   Load 8(invocation)
440              343:     88(ptr)   AccessChain 49(data) 51 51
441              344:   17(ivec4)   Load 343
442              345:  181(ivec3)   VectorShuffle 344 344 0 1 2
443              346:  181(ivec3)   GroupNonUniformBroadcastFirst 38 345
444              347:     88(ptr)   AccessChain 49(data) 342 51
445              348:   17(ivec4)   Load 347
446              349:   17(ivec4)   VectorShuffle 348 346 4 5 6 3
447                                 Store 347 349
448              350:      6(int)   Load 8(invocation)
449              351:     88(ptr)   AccessChain 49(data) 124 51
450              352:   17(ivec4)   Load 351
451              353:   17(ivec4)   GroupNonUniformBroadcastFirst 38 352
452              354:     88(ptr)   AccessChain 49(data) 350 51
453                                 Store 354 353
454              355:      6(int)   Load 8(invocation)
455              356:    197(ptr)   AccessChain 49(data) 61 124 54
456              357:44(float64_t)   Load 356
457              358:44(float64_t)   GroupNonUniformBroadcastFirst 38 357
458              359:    197(ptr)   AccessChain 49(data) 355 124 54
459                                 Store 359 358
460              360:      6(int)   Load 8(invocation)
461              361:    205(ptr)   AccessChain 49(data) 60 124
462              362: 45(f64vec4)   Load 361
463              363:204(f64vec2)   VectorShuffle 362 362 0 1
464              364:204(f64vec2)   GroupNonUniformBroadcastFirst 38 363
465              365:    205(ptr)   AccessChain 49(data) 360 124
466              366: 45(f64vec4)   Load 365
467              367: 45(f64vec4)   VectorShuffle 366 364 4 5 2 3
468                                 Store 365 367
469              368:      6(int)   Load 8(invocation)
470              369:    205(ptr)   AccessChain 49(data) 51 124
471              370: 45(f64vec4)   Load 369
472              371:215(f64vec3)   VectorShuffle 370 370 0 1 2
473              372:215(f64vec3)   GroupNonUniformBroadcastFirst 38 371
474              373:    205(ptr)   AccessChain 49(data) 368 124
475              374: 45(f64vec4)   Load 373
476              375: 45(f64vec4)   VectorShuffle 374 372 4 5 6 3
477                                 Store 373 375
478              376:      6(int)   Load 8(invocation)
479              377:    205(ptr)   AccessChain 49(data) 124 124
480              378: 45(f64vec4)   Load 377
481              379: 45(f64vec4)   GroupNonUniformBroadcastFirst 38 378
482              380:    205(ptr)   AccessChain 49(data) 376 124
483                                 Store 380 379
484              381:      6(int)   Load 8(invocation)
485              382:    131(ptr)   AccessChain 49(data) 61 60 54
486              383:     42(int)   Load 382
487              384:    36(bool)   SLessThan 383 61
488              385:    36(bool)   GroupNonUniformBroadcastFirst 38 384
489              386:     42(int)   Select 385 60 61
490              387:    131(ptr)   AccessChain 49(data) 381 60 54
491                                 Store 387 386
492              388:      6(int)   Load 8(invocation)
493              389:    139(ptr)   AccessChain 49(data) 60 60
494              390:   43(ivec4)   Load 389
495              391:  138(ivec2)   VectorShuffle 390 390 0 1
496              392:  243(bvec2)   SLessThan 391 242
497              393:  243(bvec2)   GroupNonUniformBroadcastFirst 38 392
498              394:  138(ivec2)   Select 393 247 242
499              395:    139(ptr)   AccessChain 49(data) 388 60
500              396:   43(ivec4)   Load 395
501              397:   43(ivec4)   VectorShuffle 396 394 4 5 2 3
502                                 Store 395 397
503              398:      6(int)   Load 8(invocation)
504              399:    139(ptr)   AccessChain 49(data) 60 60
505              400:   43(ivec4)   Load 399
506              401:  149(ivec3)   VectorShuffle 400 400 0 1 2
507              402:  257(bvec3)   SLessThan 401 256
508              403:  257(bvec3)   GroupNonUniformBroadcastFirst 38 402
509              404:  149(ivec3)   Select 403 261 256
510              405:    139(ptr)   AccessChain 49(data) 398 60
511              406:   43(ivec4)   Load 405
512              407:   43(ivec4)   VectorShuffle 406 404 4 5 6 3
513                                 Store 405 407
514              408:      6(int)   Load 8(invocation)
515              409:    139(ptr)   AccessChain 49(data) 60 60
516              410:   43(ivec4)   Load 409
517              411:   83(bvec4)   SLessThan 410 269
518              412:   83(bvec4)   GroupNonUniformBroadcastFirst 38 411
519              413:   43(ivec4)   Select 412 273 269
520              414:    139(ptr)   AccessChain 49(data) 408 60
521                                 Store 414 413
522                                 Branch 94
523               94:             Label
524                               Return
525                               FunctionEnd