aboutsummaryrefslogtreecommitdiff
path: root/Test/baseResults/spv.subgroupExtendedTypesShuffle.comp.out
blob: b798bae2139f5e3f98df2a70657bbd9466d09288 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
spv.subgroupExtendedTypesShuffle.comp
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 497

                              Capability Shader
                              Capability Float16
                              Capability Int64
                              Capability Int16
                              Capability Int8
                              Capability GroupNonUniform
                              Capability GroupNonUniformShuffle
                              Capability StorageUniformBufferBlock16
                              Capability StorageBuffer8BitAccess
                              Extension  "SPV_KHR_8bit_storage"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main" 10 12
                              ExecutionMode 4 LocalSize 8 1 1
                              Source GLSL 450
                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_float16"
                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int16"
                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int64"
                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int8"
                              SourceExtension  "GL_EXT_shader_subgroup_extended_types_float16"
                              SourceExtension  "GL_EXT_shader_subgroup_extended_types_int16"
                              SourceExtension  "GL_EXT_shader_subgroup_extended_types_int64"
                              SourceExtension  "GL_EXT_shader_subgroup_extended_types_int8"
                              SourceExtension  "GL_KHR_shader_subgroup_basic"
                              SourceExtension  "GL_KHR_shader_subgroup_shuffle"
                              Name 4  "main"
                              Name 8  "invocation"
                              Name 10  "gl_SubgroupInvocationID"
                              Name 12  "gl_SubgroupSize"
                              Name 31  "Buffers"
                              MemberName 31(Buffers) 0  "i8"
                              MemberName 31(Buffers) 1  "u8"
                              MemberName 31(Buffers) 2  "i16"
                              MemberName 31(Buffers) 3  "u16"
                              MemberName 31(Buffers) 4  "i64"
                              MemberName 31(Buffers) 5  "u64"
                              MemberName 31(Buffers) 6  "f16"
                              Name 34  "data"
                              Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
                              Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
                              Decorate 11 RelaxedPrecision
                              Decorate 12(gl_SubgroupSize) RelaxedPrecision
                              Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
                              Decorate 13 RelaxedPrecision
                              Decorate 14 RelaxedPrecision
                              Decorate 16 RelaxedPrecision
                              MemberDecorate 31(Buffers) 0 Offset 0
                              MemberDecorate 31(Buffers) 1 Offset 4
                              MemberDecorate 31(Buffers) 2 Offset 8
                              MemberDecorate 31(Buffers) 3 Offset 16
                              MemberDecorate 31(Buffers) 4 Offset 32
                              MemberDecorate 31(Buffers) 5 Offset 64
                              MemberDecorate 31(Buffers) 6 Offset 96
                              Decorate 31(Buffers) Block
                              Decorate 34(data) DescriptorSet 0
                              Decorate 34(data) Binding 0
                              Decorate 496 BuiltIn WorkgroupSize
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypePointer Function 6(int)
               9:             TypePointer Input 6(int)
10(gl_SubgroupInvocationID):      9(ptr) Variable Input
12(gl_SubgroupSize):      9(ptr) Variable Input
              15:      6(int) Constant 4
              17:             TypeInt 8 1
              18:             TypeVector 17(int8_t) 4
              19:             TypeInt 8 0
              20:             TypeVector 19(int8_t) 4
              21:             TypeInt 16 1
              22:             TypeVector 21(int16_t) 4
              23:             TypeInt 16 0
              24:             TypeVector 23(int16_t) 4
              25:             TypeInt 64 1
              26:             TypeVector 25(int64_t) 4
              27:             TypeInt 64 0
              28:             TypeVector 27(int64_t) 4
              29:             TypeFloat 16
              30:             TypeVector 29(float16_t) 4
     31(Buffers):             TypeStruct 18(i8vec4) 20(i8vec4) 22(i16vec4) 24(i16vec4) 26(i64vec4) 28(i64vec4) 30(f16vec4)
              32:             TypeArray 31(Buffers) 15
              33:             TypePointer StorageBuffer 32
        34(data):     33(ptr) Variable StorageBuffer
              36:             TypeInt 32 1
              37:     36(int) Constant 0
              38:      6(int) Constant 0
              39:             TypePointer StorageBuffer 17(int8_t)
              43:      6(int) Constant 3
              47:     36(int) Constant 1
              48:             TypeVector 17(int8_t) 2
              49:             TypePointer StorageBuffer 18(i8vec4)
              59:     36(int) Constant 2
              60:             TypeVector 17(int8_t) 3
              70:     36(int) Constant 3
             107:             TypePointer StorageBuffer 19(int8_t)
             114:             TypeVector 19(int8_t) 2
             115:             TypePointer StorageBuffer 20(i8vec4)
             125:             TypeVector 19(int8_t) 3
             171:             TypePointer StorageBuffer 21(int16_t)
             178:             TypeVector 21(int16_t) 2
             179:             TypePointer StorageBuffer 22(i16vec4)
             189:             TypeVector 21(int16_t) 3
             235:             TypePointer StorageBuffer 23(int16_t)
             242:             TypeVector 23(int16_t) 2
             243:             TypePointer StorageBuffer 24(i16vec4)
             253:             TypeVector 23(int16_t) 3
             299:     36(int) Constant 4
             300:             TypePointer StorageBuffer 25(int64_t)
             307:             TypeVector 25(int64_t) 2
             308:             TypePointer StorageBuffer 26(i64vec4)
             318:             TypeVector 25(int64_t) 3
             364:     36(int) Constant 5
             365:             TypePointer StorageBuffer 27(int64_t)
             372:             TypeVector 27(int64_t) 2
             373:             TypePointer StorageBuffer 28(i64vec4)
             383:             TypeVector 27(int64_t) 3
             429:     36(int) Constant 6
             430:             TypePointer StorageBuffer 29(float16_t)
             437:             TypeVector 29(float16_t) 2
             438:             TypePointer StorageBuffer 30(f16vec4)
             448:             TypeVector 29(float16_t) 3
             493:             TypeVector 6(int) 3
             494:      6(int) Constant 8
             495:      6(int) Constant 1
             496:  493(ivec3) ConstantComposite 494 495 495
         4(main):           2 Function None 3
               5:             Label
   8(invocation):      7(ptr) Variable Function
              11:      6(int) Load 10(gl_SubgroupInvocationID)
              13:      6(int) Load 12(gl_SubgroupSize)
              14:      6(int) IAdd 11 13
              16:      6(int) UMod 14 15
                              Store 8(invocation) 16
              35:      6(int) Load 8(invocation)
              40:     39(ptr) AccessChain 34(data) 37 37 38
              41:  17(int8_t) Load 40
              42:      6(int) Load 8(invocation)
              44:  17(int8_t) GroupNonUniformShuffle 43 41 42
              45:     39(ptr) AccessChain 34(data) 35 37 38
                              Store 45 44
              46:      6(int) Load 8(invocation)
              50:     49(ptr) AccessChain 34(data) 47 37
              51:  18(i8vec4) Load 50
              52:  48(i8vec2) VectorShuffle 51 51 0 1
              53:      6(int) Load 8(invocation)
              54:  48(i8vec2) GroupNonUniformShuffle 43 52 53
              55:     49(ptr) AccessChain 34(data) 46 37
              56:  18(i8vec4) Load 55
              57:  18(i8vec4) VectorShuffle 56 54 4 5 2 3
                              Store 55 57
              58:      6(int) Load 8(invocation)
              61:     49(ptr) AccessChain 34(data) 59 37
              62:  18(i8vec4) Load 61
              63:  60(i8vec3) VectorShuffle 62 62 0 1 2
              64:      6(int) Load 8(invocation)
              65:  60(i8vec3) GroupNonUniformShuffle 43 63 64
              66:     49(ptr) AccessChain 34(data) 58 37
              67:  18(i8vec4) Load 66
              68:  18(i8vec4) VectorShuffle 67 65 4 5 6 3
                              Store 66 68
              69:      6(int) Load 8(invocation)
              71:     49(ptr) AccessChain 34(data) 70 37
              72:  18(i8vec4) Load 71
              73:      6(int) Load 8(invocation)
              74:  18(i8vec4) GroupNonUniformShuffle 43 72 73
              75:     49(ptr) AccessChain 34(data) 69 37
                              Store 75 74
              76:      6(int) Load 8(invocation)
              77:     39(ptr) AccessChain 34(data) 37 37 38
              78:  17(int8_t) Load 77
              79:      6(int) Load 8(invocation)
              80:  17(int8_t) GroupNonUniformShuffleXor 43 78 79
              81:     39(ptr) AccessChain 34(data) 76 37 38
                              Store 81 80
              82:      6(int) Load 8(invocation)
              83:     49(ptr) AccessChain 34(data) 47 37
              84:  18(i8vec4) Load 83
              85:  48(i8vec2) VectorShuffle 84 84 0 1
              86:      6(int) Load 8(invocation)
              87:  48(i8vec2) GroupNonUniformShuffleXor 43 85 86
              88:     49(ptr) AccessChain 34(data) 82 37
              89:  18(i8vec4) Load 88
              90:  18(i8vec4) VectorShuffle 89 87 4 5 2 3
                              Store 88 90
              91:      6(int) Load 8(invocation)
              92:     49(ptr) AccessChain 34(data) 59 37
              93:  18(i8vec4) Load 92
              94:  60(i8vec3) VectorShuffle 93 93 0 1 2
              95:      6(int) Load 8(invocation)
              96:  60(i8vec3) GroupNonUniformShuffleXor 43 94 95
              97:     49(ptr) AccessChain 34(data) 91 37
              98:  18(i8vec4) Load 97
              99:  18(i8vec4) VectorShuffle 98 96 4 5 6 3
                              Store 97 99
             100:      6(int) Load 8(invocation)
             101:     49(ptr) AccessChain 34(data) 70 37
             102:  18(i8vec4) Load 101
             103:      6(int) Load 8(invocation)
             104:  18(i8vec4) GroupNonUniformShuffleXor 43 102 103
             105:     49(ptr) AccessChain 34(data) 100 37
                              Store 105 104
             106:      6(int) Load 8(invocation)
             108:    107(ptr) AccessChain 34(data) 37 47 38
             109:  19(int8_t) Load 108
             110:      6(int) Load 8(invocation)
             111:  19(int8_t) GroupNonUniformShuffle 43 109 110
             112:    107(ptr) AccessChain 34(data) 106 47 38
                              Store 112 111
             113:      6(int) Load 8(invocation)
             116:    115(ptr) AccessChain 34(data) 47 47
             117:  20(i8vec4) Load 116
             118: 114(i8vec2) VectorShuffle 117 117 0 1
             119:      6(int) Load 8(invocation)
             120: 114(i8vec2) GroupNonUniformShuffle 43 118 119
             121:    115(ptr) AccessChain 34(data) 113 47
             122:  20(i8vec4) Load 121
             123:  20(i8vec4) VectorShuffle 122 120 4 5 2 3
                              Store 121 123
             124:      6(int) Load 8(invocation)
             126:    115(ptr) AccessChain 34(data) 59 47
             127:  20(i8vec4) Load 126
             128: 125(i8vec3) VectorShuffle 127 127 0 1 2
             129:      6(int) Load 8(invocation)
             130: 125(i8vec3) GroupNonUniformShuffle 43 128 129
             131:    115(ptr) AccessChain 34(data) 124 47
             132:  20(i8vec4) Load 131
             133:  20(i8vec4) VectorShuffle 132 130 4 5 6 3
                              Store 131 133
             134:      6(int) Load 8(invocation)
             135:    115(ptr) AccessChain 34(data) 70 47
             136:  20(i8vec4) Load 135
             137:      6(int) Load 8(invocation)
             138:  20(i8vec4) GroupNonUniformShuffle 43 136 137
             139:    115(ptr) AccessChain 34(data) 134 47
                              Store 139 138
             140:      6(int) Load 8(invocation)
             141:    107(ptr) AccessChain 34(data) 37 47 38
             142:  19(int8_t) Load 141
             143:      6(int) Load 8(invocation)
             144:  19(int8_t) GroupNonUniformShuffleXor 43 142 143
             145:    107(ptr) AccessChain 34(data) 140 47 38
                              Store 145 144
             146:      6(int) Load 8(invocation)
             147:    115(ptr) AccessChain 34(data) 47 47
             148:  20(i8vec4) Load 147
             149: 114(i8vec2) VectorShuffle 148 148 0 1
             150:      6(int) Load 8(invocation)
             151: 114(i8vec2) GroupNonUniformShuffleXor 43 149 150
             152:    115(ptr) AccessChain 34(data) 146 47
             153:  20(i8vec4) Load 152
             154:  20(i8vec4) VectorShuffle 153 151 4 5 2 3
                              Store 152 154
             155:      6(int) Load 8(invocation)
             156:    115(ptr) AccessChain 34(data) 59 47
             157:  20(i8vec4) Load 156
             158: 125(i8vec3) VectorShuffle 157 157 0 1 2
             159:      6(int) Load 8(invocation)
             160: 125(i8vec3) GroupNonUniformShuffleXor 43 158 159
             161:    115(ptr) AccessChain 34(data) 155 47
             162:  20(i8vec4) Load 161
             163:  20(i8vec4) VectorShuffle 162 160 4 5 6 3
                              Store 161 163
             164:      6(int) Load 8(invocation)
             165:    115(ptr) AccessChain 34(data) 70 47
             166:  20(i8vec4) Load 165
             167:      6(int) Load 8(invocation)
             168:  20(i8vec4) GroupNonUniformShuffleXor 43 166 167
             169:    115(ptr) AccessChain 34(data) 164 47
                              Store 169 168
             170:      6(int) Load 8(invocation)
             172:    171(ptr) AccessChain 34(data) 37 59 38
             173: 21(int16_t) Load 172
             174:      6(int) Load 8(invocation)
             175: 21(int16_t) GroupNonUniformShuffle 43 173 174
             176:    171(ptr) AccessChain 34(data) 170 59 38
                              Store 176 175
             177:      6(int) Load 8(invocation)
             180:    179(ptr) AccessChain 34(data) 47 59
             181: 22(i16vec4) Load 180
             182:178(i16vec2) VectorShuffle 181 181 0 1
             183:      6(int) Load 8(invocation)
             184:178(i16vec2) GroupNonUniformShuffle 43 182 183
             185:    179(ptr) AccessChain 34(data) 177 59
             186: 22(i16vec4) Load 185
             187: 22(i16vec4) VectorShuffle 186 184 4 5 2 3
                              Store 185 187
             188:      6(int) Load 8(invocation)
             190:    179(ptr) AccessChain 34(data) 59 59
             191: 22(i16vec4) Load 190
             192:189(i16vec3) VectorShuffle 191 191 0 1 2
             193:      6(int) Load 8(invocation)
             194:189(i16vec3) GroupNonUniformShuffle 43 192 193
             195:    179(ptr) AccessChain 34(data) 188 59
             196: 22(i16vec4) Load 195
             197: 22(i16vec4) VectorShuffle 196 194 4 5 6 3
                              Store 195 197
             198:      6(int) Load 8(invocation)
             199:    179(ptr) AccessChain 34(data) 70 59
             200: 22(i16vec4) Load 199
             201:      6(int) Load 8(invocation)
             202: 22(i16vec4) GroupNonUniformShuffle 43 200 201
             203:    179(ptr) AccessChain 34(data) 198 59
                              Store 203 202
             204:      6(int) Load 8(invocation)
             205:    171(ptr) AccessChain 34(data) 37 59 38
             206: 21(int16_t) Load 205
             207:      6(int) Load 8(invocation)
             208: 21(int16_t) GroupNonUniformShuffleXor 43 206 207
             209:    171(ptr) AccessChain 34(data) 204 59 38
                              Store 209 208
             210:      6(int) Load 8(invocation)
             211:    179(ptr) AccessChain 34(data) 47 59
             212: 22(i16vec4) Load 211
             213:178(i16vec2) VectorShuffle 212 212 0 1
             214:      6(int) Load 8(invocation)
             215:178(i16vec2) GroupNonUniformShuffleXor 43 213 214
             216:    179(ptr) AccessChain 34(data) 210 59
             217: 22(i16vec4) Load 216
             218: 22(i16vec4) VectorShuffle 217 215 4 5 2 3
                              Store 216 218
             219:      6(int) Load 8(invocation)
             220:    179(ptr) AccessChain 34(data) 59 59
             221: 22(i16vec4) Load 220
             222:189(i16vec3) VectorShuffle 221 221 0 1 2
             223:      6(int) Load 8(invocation)
             224:189(i16vec3) GroupNonUniformShuffleXor 43 222 223
             225:    179(ptr) AccessChain 34(data) 219 59
             226: 22(i16vec4) Load 225
             227: 22(i16vec4) VectorShuffle 226 224 4 5 6 3
                              Store 225 227
             228:      6(int) Load 8(invocation)
             229:    179(ptr) AccessChain 34(data) 70 59
             230: 22(i16vec4) Load 229
             231:      6(int) Load 8(invocation)
             232: 22(i16vec4) GroupNonUniformShuffleXor 43 230 231
             233:    179(ptr) AccessChain 34(data) 228 59
                              Store 233 232
             234:      6(int) Load 8(invocation)
             236:    235(ptr) AccessChain 34(data) 37 70 38
             237: 23(int16_t) Load 236
             238:      6(int) Load 8(invocation)
             239: 23(int16_t) GroupNonUniformShuffle 43 237 238
             240:    235(ptr) AccessChain 34(data) 234 70 38
                              Store 240 239
             241:      6(int) Load 8(invocation)
             244:    243(ptr) AccessChain 34(data) 47 70
             245: 24(i16vec4) Load 244
             246:242(i16vec2) VectorShuffle 245 245 0 1
             247:      6(int) Load 8(invocation)
             248:242(i16vec2) GroupNonUniformShuffle 43 246 247
             249:    243(ptr) AccessChain 34(data) 241 70
             250: 24(i16vec4) Load 249
             251: 24(i16vec4) VectorShuffle 250 248 4 5 2 3
                              Store 249 251
             252:      6(int) Load 8(invocation)
             254:    243(ptr) AccessChain 34(data) 59 70
             255: 24(i16vec4) Load 254
             256:253(i16vec3) VectorShuffle 255 255 0 1 2
             257:      6(int) Load 8(invocation)
             258:253(i16vec3) GroupNonUniformShuffle 43 256 257
             259:    243(ptr) AccessChain 34(data) 252 70
             260: 24(i16vec4) Load 259
             261: 24(i16vec4) VectorShuffle 260 258 4 5 6 3
                              Store 259 261
             262:      6(int) Load 8(invocation)
             263:    243(ptr) AccessChain 34(data) 70 70
             264: 24(i16vec4) Load 263
             265:      6(int) Load 8(invocation)
             266: 24(i16vec4) GroupNonUniformShuffle 43 264 265
             267:    243(ptr) AccessChain 34(data) 262 70
                              Store 267 266
             268:      6(int) Load 8(invocation)
             269:    235(ptr) AccessChain 34(data) 37 70 38
             270: 23(int16_t) Load 269
             271:      6(int) Load 8(invocation)
             272: 23(int16_t) GroupNonUniformShuffleXor 43 270 271
             273:    235(ptr) AccessChain 34(data) 268 70 38
                              Store 273 272
             274:      6(int) Load 8(invocation)
             275:    243(ptr) AccessChain 34(data) 47 70
             276: 24(i16vec4) Load 275
             277:242(i16vec2) VectorShuffle 276 276 0 1
             278:      6(int) Load 8(invocation)
             279:242(i16vec2) GroupNonUniformShuffleXor 43 277 278
             280:    243(ptr) AccessChain 34(data) 274 70
             281: 24(i16vec4) Load 280
             282: 24(i16vec4) VectorShuffle 281 279 4 5 2 3
                              Store 280 282
             283:      6(int) Load 8(invocation)
             284:    243(ptr) AccessChain 34(data) 59 70
             285: 24(i16vec4) Load 284
             286:253(i16vec3) VectorShuffle 285 285 0 1 2
             287:      6(int) Load 8(invocation)
             288:253(i16vec3) GroupNonUniformShuffleXor 43 286 287
             289:    243(ptr) AccessChain 34(data) 283 70
             290: 24(i16vec4) Load 289
             291: 24(i16vec4) VectorShuffle 290 288 4 5 6 3
                              Store 289 291
             292:      6(int) Load 8(invocation)
             293:    243(ptr) AccessChain 34(data) 70 70
             294: 24(i16vec4) Load 293
             295:      6(int) Load 8(invocation)
             296: 24(i16vec4) GroupNonUniformShuffleXor 43 294 295
             297:    243(ptr) AccessChain 34(data) 292 70
                              Store 297 296
             298:      6(int) Load 8(invocation)
             301:    300(ptr) AccessChain 34(data) 37 299 38
             302: 25(int64_t) Load 301
             303:      6(int) Load 8(invocation)
             304: 25(int64_t) GroupNonUniformShuffle 43 302 303
             305:    300(ptr) AccessChain 34(data) 298 299 38
                              Store 305 304
             306:      6(int) Load 8(invocation)
             309:    308(ptr) AccessChain 34(data) 47 299
             310: 26(i64vec4) Load 309
             311:307(i64vec2) VectorShuffle 310 310 0 1
             312:      6(int) Load 8(invocation)
             313:307(i64vec2) GroupNonUniformShuffle 43 311 312
             314:    308(ptr) AccessChain 34(data) 306 299
             315: 26(i64vec4) Load 314
             316: 26(i64vec4) VectorShuffle 315 313 4 5 2 3
                              Store 314 316
             317:      6(int) Load 8(invocation)
             319:    308(ptr) AccessChain 34(data) 59 299
             320: 26(i64vec4) Load 319
             321:318(i64vec3) VectorShuffle 320 320 0 1 2
             322:      6(int) Load 8(invocation)
             323:318(i64vec3) GroupNonUniformShuffle 43 321 322
             324:    308(ptr) AccessChain 34(data) 317 299
             325: 26(i64vec4) Load 324
             326: 26(i64vec4) VectorShuffle 325 323 4 5 6 3
                              Store 324 326
             327:      6(int) Load 8(invocation)
             328:    308(ptr) AccessChain 34(data) 70 299
             329: 26(i64vec4) Load 328
             330:      6(int) Load 8(invocation)
             331: 26(i64vec4) GroupNonUniformShuffle 43 329 330
             332:    308(ptr) AccessChain 34(data) 327 299
                              Store 332 331
             333:      6(int) Load 8(invocation)
             334:    300(ptr) AccessChain 34(data) 37 299 38
             335: 25(int64_t) Load 334
             336:      6(int) Load 8(invocation)
             337: 25(int64_t) GroupNonUniformShuffleXor 43 335 336
             338:    300(ptr) AccessChain 34(data) 333 299 38
                              Store 338 337
             339:      6(int) Load 8(invocation)
             340:    308(ptr) AccessChain 34(data) 47 299
             341: 26(i64vec4) Load 340
             342:307(i64vec2) VectorShuffle 341 341 0 1
             343:      6(int) Load 8(invocation)
             344:307(i64vec2) GroupNonUniformShuffleXor 43 342 343
             345:    308(ptr) AccessChain 34(data) 339 299
             346: 26(i64vec4) Load 345
             347: 26(i64vec4) VectorShuffle 346 344 4 5 2 3
                              Store 345 347
             348:      6(int) Load 8(invocation)
             349:    308(ptr) AccessChain 34(data) 59 299
             350: 26(i64vec4) Load 349
             351:318(i64vec3) VectorShuffle 350 350 0 1 2
             352:      6(int) Load 8(invocation)
             353:318(i64vec3) GroupNonUniformShuffleXor 43 351 352
             354:    308(ptr) AccessChain 34(data) 348 299
             355: 26(i64vec4) Load 354
             356: 26(i64vec4) VectorShuffle 355 353 4 5 6 3
                              Store 354 356
             357:      6(int) Load 8(invocation)
             358:    308(ptr) AccessChain 34(data) 70 299
             359: 26(i64vec4) Load 358
             360:      6(int) Load 8(invocation)
             361: 26(i64vec4) GroupNonUniformShuffleXor 43 359 360
             362:    308(ptr) AccessChain 34(data) 357 299
                              Store 362 361
             363:      6(int) Load 8(invocation)
             366:    365(ptr) AccessChain 34(data) 37 364 38
             367: 27(int64_t) Load 366
             368:      6(int) Load 8(invocation)
             369: 27(int64_t) GroupNonUniformShuffle 43 367 368
             370:    365(ptr) AccessChain 34(data) 363 364 38
                              Store 370 369
             371:      6(int) Load 8(invocation)
             374:    373(ptr) AccessChain 34(data) 47 364
             375: 28(i64vec4) Load 374
             376:372(i64vec2) VectorShuffle 375 375 0 1
             377:      6(int) Load 8(invocation)
             378:372(i64vec2) GroupNonUniformShuffle 43 376 377
             379:    373(ptr) AccessChain 34(data) 371 364
             380: 28(i64vec4) Load 379
             381: 28(i64vec4) VectorShuffle 380 378 4 5 2 3
                              Store 379 381
             382:      6(int) Load 8(invocation)
             384:    373(ptr) AccessChain 34(data) 59 364
             385: 28(i64vec4) Load 384
             386:383(i64vec3) VectorShuffle 385 385 0 1 2
             387:      6(int) Load 8(invocation)
             388:383(i64vec3) GroupNonUniformShuffle 43 386 387
             389:    373(ptr) AccessChain 34(data) 382 364
             390: 28(i64vec4) Load 389
             391: 28(i64vec4) VectorShuffle 390 388 4 5 6 3
                              Store 389 391
             392:      6(int) Load 8(invocation)
             393:    373(ptr) AccessChain 34(data) 70 364
             394: 28(i64vec4) Load 393
             395:      6(int) Load 8(invocation)
             396: 28(i64vec4) GroupNonUniformShuffle 43 394 395
             397:    373(ptr) AccessChain 34(data) 392 364
                              Store 397 396
             398:      6(int) Load 8(invocation)
             399:    365(ptr) AccessChain 34(data) 37 364 38
             400: 27(int64_t) Load 399
             401:      6(int) Load 8(invocation)
             402: 27(int64_t) GroupNonUniformShuffleXor 43 400 401
             403:    365(ptr) AccessChain 34(data) 398 364 38
                              Store 403 402
             404:      6(int) Load 8(invocation)
             405:    373(ptr) AccessChain 34(data) 47 364
             406: 28(i64vec4) Load 405
             407:372(i64vec2) VectorShuffle 406 406 0 1
             408:      6(int) Load 8(invocation)
             409:372(i64vec2) GroupNonUniformShuffleXor 43 407 408
             410:    373(ptr) AccessChain 34(data) 404 364
             411: 28(i64vec4) Load 410
             412: 28(i64vec4) VectorShuffle 411 409 4 5 2 3
                              Store 410 412
             413:      6(int) Load 8(invocation)
             414:    373(ptr) AccessChain 34(data) 59 364
             415: 28(i64vec4) Load 414
             416:383(i64vec3) VectorShuffle 415 415 0 1 2
             417:      6(int) Load 8(invocation)
             418:383(i64vec3) GroupNonUniformShuffleXor 43 416 417
             419:    373(ptr) AccessChain 34(data) 413 364
             420: 28(i64vec4) Load 419
             421: 28(i64vec4) VectorShuffle 420 418 4 5 6 3
                              Store 419 421
             422:      6(int) Load 8(invocation)
             423:    373(ptr) AccessChain 34(data) 70 364
             424: 28(i64vec4) Load 423
             425:      6(int) Load 8(invocation)
             426: 28(i64vec4) GroupNonUniformShuffleXor 43 424 425
             427:    373(ptr) AccessChain 34(data) 422 364
                              Store 427 426
             428:      6(int) Load 8(invocation)
             431:    430(ptr) AccessChain 34(data) 37 429 38
             432:29(float16_t) Load 431
             433:      6(int) Load 8(invocation)
             434:29(float16_t) GroupNonUniformShuffle 43 432 433
             435:    430(ptr) AccessChain 34(data) 428 429 38
                              Store 435 434
             436:      6(int) Load 8(invocation)
             439:    438(ptr) AccessChain 34(data) 47 429
             440: 30(f16vec4) Load 439
             441:437(f16vec2) VectorShuffle 440 440 0 1
             442:      6(int) Load 8(invocation)
             443:437(f16vec2) GroupNonUniformShuffle 43 441 442
             444:    438(ptr) AccessChain 34(data) 436 429
             445: 30(f16vec4) Load 444
             446: 30(f16vec4) VectorShuffle 445 443 4 5 2 3
                              Store 444 446
             447:      6(int) Load 8(invocation)
             449:    438(ptr) AccessChain 34(data) 59 429
             450: 30(f16vec4) Load 449
             451:448(f16vec3) VectorShuffle 450 450 0 1 2
             452:      6(int) Load 8(invocation)
             453:448(f16vec3) GroupNonUniformShuffle 43 451 452
             454:    438(ptr) AccessChain 34(data) 447 429
             455: 30(f16vec4) Load 454
             456: 30(f16vec4) VectorShuffle 455 453 4 5 6 3
                              Store 454 456
             457:      6(int) Load 8(invocation)
             458:    438(ptr) AccessChain 34(data) 70 429
             459: 30(f16vec4) Load 458
             460:      6(int) Load 8(invocation)
             461: 30(f16vec4) GroupNonUniformShuffle 43 459 460
             462:    438(ptr) AccessChain 34(data) 457 429
                              Store 462 461
             463:      6(int) Load 8(invocation)
             464:    430(ptr) AccessChain 34(data) 37 429 38
             465:29(float16_t) Load 464
             466:      6(int) Load 8(invocation)
             467:29(float16_t) GroupNonUniformShuffleXor 43 465 466
             468:    430(ptr) AccessChain 34(data) 463 429 38
                              Store 468 467
             469:      6(int) Load 8(invocation)
             470:    438(ptr) AccessChain 34(data) 47 429
             471: 30(f16vec4) Load 470
             472:437(f16vec2) VectorShuffle 471 471 0 1
             473:      6(int) Load 8(invocation)
             474:437(f16vec2) GroupNonUniformShuffleXor 43 472 473
             475:    438(ptr) AccessChain 34(data) 469 429
             476: 30(f16vec4) Load 475
             477: 30(f16vec4) VectorShuffle 476 474 4 5 2 3
                              Store 475 477
             478:      6(int) Load 8(invocation)
             479:    438(ptr) AccessChain 34(data) 59 429
             480: 30(f16vec4) Load 479
             481:448(f16vec3) VectorShuffle 480 480 0 1 2
             482:      6(int) Load 8(invocation)
             483:448(f16vec3) GroupNonUniformShuffleXor 43 481 482
             484:    438(ptr) AccessChain 34(data) 478 429
             485: 30(f16vec4) Load 484
             486: 30(f16vec4) VectorShuffle 485 483 4 5 6 3
                              Store 484 486
             487:      6(int) Load 8(invocation)
             488:    438(ptr) AccessChain 34(data) 70 429
             489: 30(f16vec4) Load 488
             490:      6(int) Load 8(invocation)
             491: 30(f16vec4) GroupNonUniformShuffleXor 43 489 490
             492:    438(ptr) AccessChain 34(data) 487 429
                              Store 492 491
                              Return
                              FunctionEnd