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