spv.shaderBallot.comp
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 397

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