aboutsummaryrefslogtreecommitdiff
path: root/Test/baseResults/spv.subgroupShuffle.comp.out
blob: 14fc0b5f85ead6e00a62b4fc67cd172ae3a5166f (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
spv.subgroupShuffle.comp
// Module Version 10300
// Generated by (magic number): 80006
// Id's are bound by 379

                              Capability Shader
                              Capability Float64
                              Capability GroupNonUniform
                              Capability GroupNonUniformShuffle
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint GLCompute 4  "main" 10 12
                              ExecutionMode 4 LocalSize 8 8 1
                              Source GLSL 450
                              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 24  "Buffers"
                              MemberName 24(Buffers) 0  "f4"
                              MemberName 24(Buffers) 1  "i4"
                              MemberName 24(Buffers) 2  "u4"
                              MemberName 24(Buffers) 3  "d4"
                              Name 27  "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 24(Buffers) 0 Offset 0
                              MemberDecorate 24(Buffers) 1 Offset 16
                              MemberDecorate 24(Buffers) 2 Offset 32
                              MemberDecorate 24(Buffers) 3 Offset 64
                              Decorate 24(Buffers) BufferBlock
                              Decorate 27(data) DescriptorSet 0
                              Decorate 27(data) Binding 0
                              Decorate 378 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:             TypeFloat 32
              18:             TypeVector 17(float) 4
              19:             TypeInt 32 1
              20:             TypeVector 19(int) 4
              21:             TypeVector 6(int) 4
              22:             TypeFloat 64
              23:             TypeVector 22(float) 4
     24(Buffers):             TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(fvec4)
              25:             TypeArray 24(Buffers) 15
              26:             TypePointer Uniform 25
        27(data):     26(ptr) Variable Uniform
              29:     19(int) Constant 0
              30:      6(int) Constant 0
              31:             TypePointer Uniform 17(float)
              35:      6(int) Constant 3
              39:     19(int) Constant 1
              40:             TypeVector 17(float) 2
              41:             TypePointer Uniform 18(fvec4)
              51:     19(int) Constant 2
              52:             TypeVector 17(float) 3
              62:     19(int) Constant 3
              69:             TypePointer Uniform 19(int)
              76:             TypeVector 19(int) 2
              77:             TypePointer Uniform 20(ivec4)
              87:             TypeVector 19(int) 3
             103:             TypePointer Uniform 6(int)
             110:             TypeVector 6(int) 2
             111:             TypePointer Uniform 21(ivec4)
             121:             TypeVector 6(int) 3
             137:             TypePointer Uniform 22(float)
             144:             TypeVector 22(float) 2
             145:             TypePointer Uniform 23(fvec4)
             155:             TypeVector 22(float) 3
             173:             TypeBool
             183:   76(ivec2) ConstantComposite 29 29
             184:             TypeVector 173(bool) 2
             188:   76(ivec2) ConstantComposite 39 39
             197:   87(ivec3) ConstantComposite 29 29 29
             198:             TypeVector 173(bool) 3
             202:   87(ivec3) ConstantComposite 39 39 39
             210:   20(ivec4) ConstantComposite 29 29 29 29
             211:             TypeVector 173(bool) 4
             215:   20(ivec4) ConstantComposite 39 39 39 39
             376:      6(int) Constant 8
             377:      6(int) Constant 1
             378:  121(ivec3) ConstantComposite 376 376 377
         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
              28:      6(int) Load 8(invocation)
              32:     31(ptr) AccessChain 27(data) 29 29 30
              33:   17(float) Load 32
              34:      6(int) Load 8(invocation)
              36:   17(float) GroupNonUniformShuffle 35 33 34
              37:     31(ptr) AccessChain 27(data) 28 29 30
                              Store 37 36
              38:      6(int) Load 8(invocation)
              42:     41(ptr) AccessChain 27(data) 39 29
              43:   18(fvec4) Load 42
              44:   40(fvec2) VectorShuffle 43 43 0 1
              45:      6(int) Load 8(invocation)
              46:   40(fvec2) GroupNonUniformShuffle 35 44 45
              47:     41(ptr) AccessChain 27(data) 38 29
              48:   18(fvec4) Load 47
              49:   18(fvec4) VectorShuffle 48 46 4 5 2 3
                              Store 47 49
              50:      6(int) Load 8(invocation)
              53:     41(ptr) AccessChain 27(data) 51 29
              54:   18(fvec4) Load 53
              55:   52(fvec3) VectorShuffle 54 54 0 1 2
              56:      6(int) Load 8(invocation)
              57:   52(fvec3) GroupNonUniformShuffle 35 55 56
              58:     41(ptr) AccessChain 27(data) 50 29
              59:   18(fvec4) Load 58
              60:   18(fvec4) VectorShuffle 59 57 4 5 6 3
                              Store 58 60
              61:      6(int) Load 8(invocation)
              63:     41(ptr) AccessChain 27(data) 62 29
              64:   18(fvec4) Load 63
              65:      6(int) Load 8(invocation)
              66:   18(fvec4) GroupNonUniformShuffle 35 64 65
              67:     41(ptr) AccessChain 27(data) 61 29
                              Store 67 66
              68:      6(int) Load 8(invocation)
              70:     69(ptr) AccessChain 27(data) 29 39 30
              71:     19(int) Load 70
              72:      6(int) Load 8(invocation)
              73:     19(int) GroupNonUniformShuffle 35 71 72
              74:     69(ptr) AccessChain 27(data) 68 39 30
                              Store 74 73
              75:      6(int) Load 8(invocation)
              78:     77(ptr) AccessChain 27(data) 39 39
              79:   20(ivec4) Load 78
              80:   76(ivec2) VectorShuffle 79 79 0 1
              81:      6(int) Load 8(invocation)
              82:   76(ivec2) GroupNonUniformShuffle 35 80 81
              83:     77(ptr) AccessChain 27(data) 75 39
              84:   20(ivec4) Load 83
              85:   20(ivec4) VectorShuffle 84 82 4 5 2 3
                              Store 83 85
              86:      6(int) Load 8(invocation)
              88:     77(ptr) AccessChain 27(data) 51 39
              89:   20(ivec4) Load 88
              90:   87(ivec3) VectorShuffle 89 89 0 1 2
              91:      6(int) Load 8(invocation)
              92:   87(ivec3) GroupNonUniformShuffle 35 90 91
              93:     77(ptr) AccessChain 27(data) 86 39
              94:   20(ivec4) Load 93
              95:   20(ivec4) VectorShuffle 94 92 4 5 6 3
                              Store 93 95
              96:      6(int) Load 8(invocation)
              97:     77(ptr) AccessChain 27(data) 62 39
              98:   20(ivec4) Load 97
              99:      6(int) Load 8(invocation)
             100:   20(ivec4) GroupNonUniformShuffle 35 98 99
             101:     77(ptr) AccessChain 27(data) 96 39
                              Store 101 100
             102:      6(int) Load 8(invocation)
             104:    103(ptr) AccessChain 27(data) 29 51 30
             105:      6(int) Load 104
             106:      6(int) Load 8(invocation)
             107:      6(int) GroupNonUniformShuffle 35 105 106
             108:    103(ptr) AccessChain 27(data) 102 51 30
                              Store 108 107
             109:      6(int) Load 8(invocation)
             112:    111(ptr) AccessChain 27(data) 39 51
             113:   21(ivec4) Load 112
             114:  110(ivec2) VectorShuffle 113 113 0 1
             115:      6(int) Load 8(invocation)
             116:  110(ivec2) GroupNonUniformShuffle 35 114 115
             117:    111(ptr) AccessChain 27(data) 109 51
             118:   21(ivec4) Load 117
             119:   21(ivec4) VectorShuffle 118 116 4 5 2 3
                              Store 117 119
             120:      6(int) Load 8(invocation)
             122:    111(ptr) AccessChain 27(data) 51 51
             123:   21(ivec4) Load 122
             124:  121(ivec3) VectorShuffle 123 123 0 1 2
             125:      6(int) Load 8(invocation)
             126:  121(ivec3) GroupNonUniformShuffle 35 124 125
             127:    111(ptr) AccessChain 27(data) 120 51
             128:   21(ivec4) Load 127
             129:   21(ivec4) VectorShuffle 128 126 4 5 6 3
                              Store 127 129
             130:      6(int) Load 8(invocation)
             131:    111(ptr) AccessChain 27(data) 62 51
             132:   21(ivec4) Load 131
             133:      6(int) Load 8(invocation)
             134:   21(ivec4) GroupNonUniformShuffle 35 132 133
             135:    111(ptr) AccessChain 27(data) 130 51
                              Store 135 134
             136:      6(int) Load 8(invocation)
             138:    137(ptr) AccessChain 27(data) 29 62 30
             139:   22(float) Load 138
             140:      6(int) Load 8(invocation)
             141:   22(float) GroupNonUniformShuffle 35 139 140
             142:    137(ptr) AccessChain 27(data) 136 62 30
                              Store 142 141
             143:      6(int) Load 8(invocation)
             146:    145(ptr) AccessChain 27(data) 39 62
             147:   23(fvec4) Load 146
             148:  144(fvec2) VectorShuffle 147 147 0 1
             149:      6(int) Load 8(invocation)
             150:  144(fvec2) GroupNonUniformShuffle 35 148 149
             151:    145(ptr) AccessChain 27(data) 143 62
             152:   23(fvec4) Load 151
             153:   23(fvec4) VectorShuffle 152 150 4 5 2 3
                              Store 151 153
             154:      6(int) Load 8(invocation)
             156:    145(ptr) AccessChain 27(data) 51 62
             157:   23(fvec4) Load 156
             158:  155(fvec3) VectorShuffle 157 157 0 1 2
             159:      6(int) Load 8(invocation)
             160:  155(fvec3) GroupNonUniformShuffle 35 158 159
             161:    145(ptr) AccessChain 27(data) 154 62
             162:   23(fvec4) Load 161
             163:   23(fvec4) VectorShuffle 162 160 4 5 6 3
                              Store 161 163
             164:      6(int) Load 8(invocation)
             165:    145(ptr) AccessChain 27(data) 62 62
             166:   23(fvec4) Load 165
             167:      6(int) Load 8(invocation)
             168:   23(fvec4) GroupNonUniformShuffle 35 166 167
             169:    145(ptr) AccessChain 27(data) 164 62
                              Store 169 168
             170:      6(int) Load 8(invocation)
             171:     69(ptr) AccessChain 27(data) 29 39 30
             172:     19(int) Load 171
             174:   173(bool) SLessThan 172 29
             175:      6(int) Load 8(invocation)
             176:   173(bool) GroupNonUniformShuffle 35 174 175
             177:     19(int) Select 176 39 29
             178:     69(ptr) AccessChain 27(data) 170 39 30
                              Store 178 177
             179:      6(int) Load 8(invocation)
             180:     77(ptr) AccessChain 27(data) 39 39
             181:   20(ivec4) Load 180
             182:   76(ivec2) VectorShuffle 181 181 0 1
             185:  184(bvec2) SLessThan 182 183
             186:      6(int) Load 8(invocation)
             187:  184(bvec2) GroupNonUniformShuffle 35 185 186
             189:   76(ivec2) Select 187 188 183
             190:     77(ptr) AccessChain 27(data) 179 39
             191:   20(ivec4) Load 190
             192:   20(ivec4) VectorShuffle 191 189 4 5 2 3
                              Store 190 192
             193:      6(int) Load 8(invocation)
             194:     77(ptr) AccessChain 27(data) 39 39
             195:   20(ivec4) Load 194
             196:   87(ivec3) VectorShuffle 195 195 0 1 2
             199:  198(bvec3) SLessThan 196 197
             200:      6(int) Load 8(invocation)
             201:  198(bvec3) GroupNonUniformShuffle 35 199 200
             203:   87(ivec3) Select 201 202 197
             204:     77(ptr) AccessChain 27(data) 193 39
             205:   20(ivec4) Load 204
             206:   20(ivec4) VectorShuffle 205 203 4 5 6 3
                              Store 204 206
             207:      6(int) Load 8(invocation)
             208:     77(ptr) AccessChain 27(data) 39 39
             209:   20(ivec4) Load 208
             212:  211(bvec4) SLessThan 209 210
             213:      6(int) Load 8(invocation)
             214:  211(bvec4) GroupNonUniformShuffle 35 212 213
             216:   20(ivec4) Select 214 215 210
             217:     77(ptr) AccessChain 27(data) 207 39
                              Store 217 216
             218:      6(int) Load 8(invocation)
             219:     31(ptr) AccessChain 27(data) 29 29 30
             220:   17(float) Load 219
             221:      6(int) Load 8(invocation)
             222:   17(float) GroupNonUniformShuffleXor 35 220 221
             223:     31(ptr) AccessChain 27(data) 218 29 30
                              Store 223 222
             224:      6(int) Load 8(invocation)
             225:     41(ptr) AccessChain 27(data) 39 29
             226:   18(fvec4) Load 225
             227:   40(fvec2) VectorShuffle 226 226 0 1
             228:      6(int) Load 8(invocation)
             229:   40(fvec2) GroupNonUniformShuffleXor 35 227 228
             230:     41(ptr) AccessChain 27(data) 224 29
             231:   18(fvec4) Load 230
             232:   18(fvec4) VectorShuffle 231 229 4 5 2 3
                              Store 230 232
             233:      6(int) Load 8(invocation)
             234:     41(ptr) AccessChain 27(data) 51 29
             235:   18(fvec4) Load 234
             236:   52(fvec3) VectorShuffle 235 235 0 1 2
             237:      6(int) Load 8(invocation)
             238:   52(fvec3) GroupNonUniformShuffleXor 35 236 237
             239:     41(ptr) AccessChain 27(data) 233 29
             240:   18(fvec4) Load 239
             241:   18(fvec4) VectorShuffle 240 238 4 5 6 3
                              Store 239 241
             242:      6(int) Load 8(invocation)
             243:     41(ptr) AccessChain 27(data) 62 29
             244:   18(fvec4) Load 243
             245:      6(int) Load 8(invocation)
             246:   18(fvec4) GroupNonUniformShuffleXor 35 244 245
             247:     41(ptr) AccessChain 27(data) 242 29
                              Store 247 246
             248:      6(int) Load 8(invocation)
             249:     69(ptr) AccessChain 27(data) 29 39 30
             250:     19(int) Load 249
             251:      6(int) Load 8(invocation)
             252:     19(int) GroupNonUniformShuffleXor 35 250 251
             253:     69(ptr) AccessChain 27(data) 248 39 30
                              Store 253 252
             254:      6(int) Load 8(invocation)
             255:     77(ptr) AccessChain 27(data) 39 39
             256:   20(ivec4) Load 255
             257:   76(ivec2) VectorShuffle 256 256 0 1
             258:      6(int) Load 8(invocation)
             259:   76(ivec2) GroupNonUniformShuffleXor 35 257 258
             260:     77(ptr) AccessChain 27(data) 254 39
             261:   20(ivec4) Load 260
             262:   20(ivec4) VectorShuffle 261 259 4 5 2 3
                              Store 260 262
             263:      6(int) Load 8(invocation)
             264:     77(ptr) AccessChain 27(data) 51 39
             265:   20(ivec4) Load 264
             266:   87(ivec3) VectorShuffle 265 265 0 1 2
             267:      6(int) Load 8(invocation)
             268:   87(ivec3) GroupNonUniformShuffleXor 35 266 267
             269:     77(ptr) AccessChain 27(data) 263 39
             270:   20(ivec4) Load 269
             271:   20(ivec4) VectorShuffle 270 268 4 5 6 3
                              Store 269 271
             272:      6(int) Load 8(invocation)
             273:     77(ptr) AccessChain 27(data) 62 39
             274:   20(ivec4) Load 273
             275:      6(int) Load 8(invocation)
             276:   20(ivec4) GroupNonUniformShuffleXor 35 274 275
             277:     77(ptr) AccessChain 27(data) 272 39
                              Store 277 276
             278:      6(int) Load 8(invocation)
             279:    103(ptr) AccessChain 27(data) 29 51 30
             280:      6(int) Load 279
             281:      6(int) Load 8(invocation)
             282:      6(int) GroupNonUniformShuffleXor 35 280 281
             283:    103(ptr) AccessChain 27(data) 278 51 30
                              Store 283 282
             284:      6(int) Load 8(invocation)
             285:    111(ptr) AccessChain 27(data) 39 51
             286:   21(ivec4) Load 285
             287:  110(ivec2) VectorShuffle 286 286 0 1
             288:      6(int) Load 8(invocation)
             289:  110(ivec2) GroupNonUniformShuffleXor 35 287 288
             290:    111(ptr) AccessChain 27(data) 284 51
             291:   21(ivec4) Load 290
             292:   21(ivec4) VectorShuffle 291 289 4 5 2 3
                              Store 290 292
             293:      6(int) Load 8(invocation)
             294:    111(ptr) AccessChain 27(data) 51 51
             295:   21(ivec4) Load 294
             296:  121(ivec3) VectorShuffle 295 295 0 1 2
             297:      6(int) Load 8(invocation)
             298:  121(ivec3) GroupNonUniformShuffleXor 35 296 297
             299:    111(ptr) AccessChain 27(data) 293 51
             300:   21(ivec4) Load 299
             301:   21(ivec4) VectorShuffle 300 298 4 5 6 3
                              Store 299 301
             302:      6(int) Load 8(invocation)
             303:    111(ptr) AccessChain 27(data) 62 51
             304:   21(ivec4) Load 303
             305:      6(int) Load 8(invocation)
             306:   21(ivec4) GroupNonUniformShuffleXor 35 304 305
             307:    111(ptr) AccessChain 27(data) 302 51
                              Store 307 306
             308:      6(int) Load 8(invocation)
             309:    137(ptr) AccessChain 27(data) 29 62 30
             310:   22(float) Load 309
             311:      6(int) Load 8(invocation)
             312:   22(float) GroupNonUniformShuffleXor 35 310 311
             313:    137(ptr) AccessChain 27(data) 308 62 30
                              Store 313 312
             314:      6(int) Load 8(invocation)
             315:    145(ptr) AccessChain 27(data) 39 62
             316:   23(fvec4) Load 315
             317:  144(fvec2) VectorShuffle 316 316 0 1
             318:      6(int) Load 8(invocation)
             319:  144(fvec2) GroupNonUniformShuffleXor 35 317 318
             320:    145(ptr) AccessChain 27(data) 314 62
             321:   23(fvec4) Load 320
             322:   23(fvec4) VectorShuffle 321 319 4 5 2 3
                              Store 320 322
             323:      6(int) Load 8(invocation)
             324:    145(ptr) AccessChain 27(data) 51 62
             325:   23(fvec4) Load 324
             326:  155(fvec3) VectorShuffle 325 325 0 1 2
             327:      6(int) Load 8(invocation)
             328:  155(fvec3) GroupNonUniformShuffleXor 35 326 327
             329:    145(ptr) AccessChain 27(data) 323 62
             330:   23(fvec4) Load 329
             331:   23(fvec4) VectorShuffle 330 328 4 5 6 3
                              Store 329 331
             332:      6(int) Load 8(invocation)
             333:    145(ptr) AccessChain 27(data) 62 62
             334:   23(fvec4) Load 333
             335:      6(int) Load 8(invocation)
             336:   23(fvec4) GroupNonUniformShuffleXor 35 334 335
             337:    145(ptr) AccessChain 27(data) 332 62
                              Store 337 336
             338:      6(int) Load 8(invocation)
             339:     69(ptr) AccessChain 27(data) 29 39 30
             340:     19(int) Load 339
             341:   173(bool) SLessThan 340 29
             342:      6(int) Load 8(invocation)
             343:   173(bool) GroupNonUniformShuffleXor 35 341 342
             344:     19(int) Select 343 39 29
             345:     69(ptr) AccessChain 27(data) 338 39 30
                              Store 345 344
             346:      6(int) Load 8(invocation)
             347:     77(ptr) AccessChain 27(data) 39 39
             348:   20(ivec4) Load 347
             349:   76(ivec2) VectorShuffle 348 348 0 1
             350:  184(bvec2) SLessThan 349 183
             351:      6(int) Load 8(invocation)
             352:  184(bvec2) GroupNonUniformShuffleXor 35 350 351
             353:   76(ivec2) Select 352 188 183
             354:     77(ptr) AccessChain 27(data) 346 39
             355:   20(ivec4) Load 354
             356:   20(ivec4) VectorShuffle 355 353 4 5 2 3
                              Store 354 356
             357:      6(int) Load 8(invocation)
             358:     77(ptr) AccessChain 27(data) 39 39
             359:   20(ivec4) Load 358
             360:   87(ivec3) VectorShuffle 359 359 0 1 2
             361:  198(bvec3) SLessThan 360 197
             362:      6(int) Load 8(invocation)
             363:  198(bvec3) GroupNonUniformShuffleXor 35 361 362
             364:   87(ivec3) Select 363 202 197
             365:     77(ptr) AccessChain 27(data) 357 39
             366:   20(ivec4) Load 365
             367:   20(ivec4) VectorShuffle 366 364 4 5 6 3
                              Store 365 367
             368:      6(int) Load 8(invocation)
             369:     77(ptr) AccessChain 27(data) 39 39
             370:   20(ivec4) Load 369
             371:  211(bvec4) SLessThan 370 210
             372:      6(int) Load 8(invocation)
             373:  211(bvec4) GroupNonUniformShuffleXor 35 371 372
             374:   20(ivec4) Select 373 215 210
             375:     77(ptr) AccessChain 27(data) 368 39
                              Store 375 374
                              Return
                              FunctionEnd