spv.subgroupExtendedTypesVote.comp
// Module Version 10300
// Generated by (magic number): 8000a
// Id's are bound by 277

                              Capability Shader
                              Capability Float16
                              Capability Int64
                              Capability Int16
                              Capability Int8
                              Capability GroupNonUniform
                              Capability GroupNonUniformVote
                              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_vote"
                              Name 4  "main"
                              Name 8  "invocation"
                              Name 10  "gl_SubgroupInvocationID"
                              Name 12  "gl_SubgroupSize"
                              Name 32  "Buffers"
                              MemberName 32(Buffers) 0  "i8"
                              MemberName 32(Buffers) 1  "u8"
                              MemberName 32(Buffers) 2  "i16"
                              MemberName 32(Buffers) 3  "u16"
                              MemberName 32(Buffers) 4  "i64"
                              MemberName 32(Buffers) 5  "u64"
                              MemberName 32(Buffers) 6  "f16"
                              MemberName 32(Buffers) 7  "r"
                              Name 35  "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 32(Buffers) 0 Offset 0
                              MemberDecorate 32(Buffers) 1 Offset 4
                              MemberDecorate 32(Buffers) 2 Offset 8
                              MemberDecorate 32(Buffers) 3 Offset 16
                              MemberDecorate 32(Buffers) 4 Offset 32
                              MemberDecorate 32(Buffers) 5 Offset 64
                              MemberDecorate 32(Buffers) 6 Offset 96
                              MemberDecorate 32(Buffers) 7 Offset 104
                              Decorate 32(Buffers) Block
                              Decorate 35(data) DescriptorSet 0
                              Decorate 35(data) Binding 0
                              Decorate 276 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:             TypeInt 32 1
     32(Buffers):             TypeStruct 18(i8vec4) 20(i8vec4) 22(i16vec4) 24(i16vec4) 26(i64vec4) 28(i64vec4) 30(f16vec4) 31(int)
              33:             TypeArray 32(Buffers) 15
              34:             TypePointer StorageBuffer 33
        35(data):     34(ptr) Variable StorageBuffer
              37:     31(int) Constant 7
              38:             TypePointer StorageBuffer 31(int)
              41:     31(int) Constant 0
              42:             TypeBool
              44:      6(int) Constant 3
              49:      6(int) Constant 0
              50:             TypePointer StorageBuffer 17(int8_t)
              54:     31(int) Constant 1
              58:             TypeVector 17(int8_t) 2
              59:             TypePointer StorageBuffer 18(i8vec4)
              67:     31(int) Constant 2
              68:             TypeVector 17(int8_t) 3
              76:     31(int) Constant 3
              83:             TypePointer StorageBuffer 19(int8_t)
              90:             TypeVector 19(int8_t) 2
              91:             TypePointer StorageBuffer 20(i8vec4)
              99:             TypeVector 19(int8_t) 3
             113:             TypePointer StorageBuffer 21(int16_t)
             120:             TypeVector 21(int16_t) 2
             121:             TypePointer StorageBuffer 22(i16vec4)
             129:             TypeVector 21(int16_t) 3
             143:             TypePointer StorageBuffer 23(int16_t)
             150:             TypeVector 23(int16_t) 2
             151:             TypePointer StorageBuffer 24(i16vec4)
             159:             TypeVector 23(int16_t) 3
             181:     31(int) Constant 4
             182:             TypePointer StorageBuffer 25(int64_t)
             189:             TypeVector 25(int64_t) 2
             190:             TypePointer StorageBuffer 26(i64vec4)
             198:             TypeVector 25(int64_t) 3
             212:     31(int) Constant 5
             213:             TypePointer StorageBuffer 27(int64_t)
             220:             TypeVector 27(int64_t) 2
             221:             TypePointer StorageBuffer 28(i64vec4)
             229:             TypeVector 27(int64_t) 3
             243:     31(int) Constant 6
             244:             TypePointer StorageBuffer 29(float16_t)
             251:             TypeVector 29(float16_t) 2
             252:             TypePointer StorageBuffer 30(f16vec4)
             260:             TypeVector 29(float16_t) 3
             273:             TypeVector 6(int) 3
             274:      6(int) Constant 8
             275:      6(int) Constant 1
             276:  273(ivec3) ConstantComposite 274 275 275
         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
              36:      6(int) Load 8(invocation)
              39:     38(ptr) AccessChain 35(data) 36 37
              40:     31(int) Load 39
              43:    42(bool) SLessThan 40 41
              45:    42(bool) GroupNonUniformAll 44 43
                              SelectionMerge 47 None
                              BranchConditional 45 46 172
              46:               Label
              48:      6(int)   Load 8(invocation)
              51:     50(ptr)   AccessChain 35(data) 41 41 49
              52:  17(int8_t)   Load 51
              53:    42(bool)   GroupNonUniformAllEqual 44 52
              55:     31(int)   Select 53 54 41
              56:     38(ptr)   AccessChain 35(data) 48 37
                                Store 56 55
              57:      6(int)   Load 8(invocation)
              60:     59(ptr)   AccessChain 35(data) 54 41
              61:  18(i8vec4)   Load 60
              62:  58(i8vec2)   VectorShuffle 61 61 0 1
              63:    42(bool)   GroupNonUniformAllEqual 44 62
              64:     31(int)   Select 63 54 41
              65:     38(ptr)   AccessChain 35(data) 57 37
                                Store 65 64
              66:      6(int)   Load 8(invocation)
              69:     59(ptr)   AccessChain 35(data) 67 41
              70:  18(i8vec4)   Load 69
              71:  68(i8vec3)   VectorShuffle 70 70 0 1 2
              72:    42(bool)   GroupNonUniformAllEqual 44 71
              73:     31(int)   Select 72 54 41
              74:     38(ptr)   AccessChain 35(data) 66 37
                                Store 74 73
              75:      6(int)   Load 8(invocation)
              77:     59(ptr)   AccessChain 35(data) 76 41
              78:  18(i8vec4)   Load 77
              79:    42(bool)   GroupNonUniformAllEqual 44 78
              80:     31(int)   Select 79 54 41
              81:     38(ptr)   AccessChain 35(data) 75 37
                                Store 81 80
              82:      6(int)   Load 8(invocation)
              84:     83(ptr)   AccessChain 35(data) 41 54 49
              85:  19(int8_t)   Load 84
              86:    42(bool)   GroupNonUniformAllEqual 44 85
              87:     31(int)   Select 86 54 41
              88:     38(ptr)   AccessChain 35(data) 82 37
                                Store 88 87
              89:      6(int)   Load 8(invocation)
              92:     91(ptr)   AccessChain 35(data) 54 54
              93:  20(i8vec4)   Load 92
              94:  90(i8vec2)   VectorShuffle 93 93 0 1
              95:    42(bool)   GroupNonUniformAllEqual 44 94
              96:     31(int)   Select 95 54 41
              97:     38(ptr)   AccessChain 35(data) 89 37
                                Store 97 96
              98:      6(int)   Load 8(invocation)
             100:     91(ptr)   AccessChain 35(data) 67 54
             101:  20(i8vec4)   Load 100
             102:  99(i8vec3)   VectorShuffle 101 101 0 1 2
             103:    42(bool)   GroupNonUniformAllEqual 44 102
             104:     31(int)   Select 103 54 41
             105:     38(ptr)   AccessChain 35(data) 98 37
                                Store 105 104
             106:      6(int)   Load 8(invocation)
             107:     91(ptr)   AccessChain 35(data) 76 54
             108:  20(i8vec4)   Load 107
             109:    42(bool)   GroupNonUniformAllEqual 44 108
             110:     31(int)   Select 109 54 41
             111:     38(ptr)   AccessChain 35(data) 106 37
                                Store 111 110
             112:      6(int)   Load 8(invocation)
             114:    113(ptr)   AccessChain 35(data) 41 67 49
             115: 21(int16_t)   Load 114
             116:    42(bool)   GroupNonUniformAllEqual 44 115
             117:     31(int)   Select 116 54 41
             118:     38(ptr)   AccessChain 35(data) 112 37
                                Store 118 117
             119:      6(int)   Load 8(invocation)
             122:    121(ptr)   AccessChain 35(data) 54 67
             123: 22(i16vec4)   Load 122
             124:120(i16vec2)   VectorShuffle 123 123 0 1
             125:    42(bool)   GroupNonUniformAllEqual 44 124
             126:     31(int)   Select 125 54 41
             127:     38(ptr)   AccessChain 35(data) 119 37
                                Store 127 126
             128:      6(int)   Load 8(invocation)
             130:    121(ptr)   AccessChain 35(data) 67 67
             131: 22(i16vec4)   Load 130
             132:129(i16vec3)   VectorShuffle 131 131 0 1 2
             133:    42(bool)   GroupNonUniformAllEqual 44 132
             134:     31(int)   Select 133 54 41
             135:     38(ptr)   AccessChain 35(data) 128 37
                                Store 135 134
             136:      6(int)   Load 8(invocation)
             137:    121(ptr)   AccessChain 35(data) 76 67
             138: 22(i16vec4)   Load 137
             139:    42(bool)   GroupNonUniformAllEqual 44 138
             140:     31(int)   Select 139 54 41
             141:     38(ptr)   AccessChain 35(data) 136 37
                                Store 141 140
             142:      6(int)   Load 8(invocation)
             144:    143(ptr)   AccessChain 35(data) 41 76 49
             145: 23(int16_t)   Load 144
             146:    42(bool)   GroupNonUniformAllEqual 44 145
             147:     31(int)   Select 146 54 41
             148:     38(ptr)   AccessChain 35(data) 142 37
                                Store 148 147
             149:      6(int)   Load 8(invocation)
             152:    151(ptr)   AccessChain 35(data) 54 76
             153: 24(i16vec4)   Load 152
             154:150(i16vec2)   VectorShuffle 153 153 0 1
             155:    42(bool)   GroupNonUniformAllEqual 44 154
             156:     31(int)   Select 155 54 41
             157:     38(ptr)   AccessChain 35(data) 149 37
                                Store 157 156
             158:      6(int)   Load 8(invocation)
             160:    151(ptr)   AccessChain 35(data) 67 76
             161: 24(i16vec4)   Load 160
             162:159(i16vec3)   VectorShuffle 161 161 0 1 2
             163:    42(bool)   GroupNonUniformAllEqual 44 162
             164:     31(int)   Select 163 54 41
             165:     38(ptr)   AccessChain 35(data) 158 37
                                Store 165 164
             166:      6(int)   Load 8(invocation)
             167:    151(ptr)   AccessChain 35(data) 76 76
             168: 24(i16vec4)   Load 167
             169:    42(bool)   GroupNonUniformAllEqual 44 168
             170:     31(int)   Select 169 54 41
             171:     38(ptr)   AccessChain 35(data) 166 37
                                Store 171 170
                                Branch 47
             172:               Label
             173:      6(int)   Load 8(invocation)
             174:     38(ptr)   AccessChain 35(data) 173 37
             175:     31(int)   Load 174
             176:    42(bool)   SLessThan 175 41
             177:    42(bool)   GroupNonUniformAny 44 176
                                SelectionMerge 179 None
                                BranchConditional 177 178 179
             178:                 Label
             180:      6(int)     Load 8(invocation)
             183:    182(ptr)     AccessChain 35(data) 41 181 49
             184: 25(int64_t)     Load 183
             185:    42(bool)     GroupNonUniformAllEqual 44 184
             186:     31(int)     Select 185 54 41
             187:     38(ptr)     AccessChain 35(data) 180 37
                                  Store 187 186
             188:      6(int)     Load 8(invocation)
             191:    190(ptr)     AccessChain 35(data) 54 181
             192: 26(i64vec4)     Load 191
             193:189(i64vec2)     VectorShuffle 192 192 0 1
             194:    42(bool)     GroupNonUniformAllEqual 44 193
             195:     31(int)     Select 194 54 41
             196:     38(ptr)     AccessChain 35(data) 188 37
                                  Store 196 195
             197:      6(int)     Load 8(invocation)
             199:    190(ptr)     AccessChain 35(data) 67 181
             200: 26(i64vec4)     Load 199
             201:198(i64vec3)     VectorShuffle 200 200 0 1 2
             202:    42(bool)     GroupNonUniformAllEqual 44 201
             203:     31(int)     Select 202 54 41
             204:     38(ptr)     AccessChain 35(data) 197 37
                                  Store 204 203
             205:      6(int)     Load 8(invocation)
             206:    190(ptr)     AccessChain 35(data) 76 181
             207: 26(i64vec4)     Load 206
             208:    42(bool)     GroupNonUniformAllEqual 44 207
             209:     31(int)     Select 208 54 41
             210:     38(ptr)     AccessChain 35(data) 205 37
                                  Store 210 209
             211:      6(int)     Load 8(invocation)
             214:    213(ptr)     AccessChain 35(data) 41 212 49
             215: 27(int64_t)     Load 214
             216:    42(bool)     GroupNonUniformAllEqual 44 215
             217:     31(int)     Select 216 54 41
             218:     38(ptr)     AccessChain 35(data) 211 37
                                  Store 218 217
             219:      6(int)     Load 8(invocation)
             222:    221(ptr)     AccessChain 35(data) 54 212
             223: 28(i64vec4)     Load 222
             224:220(i64vec2)     VectorShuffle 223 223 0 1
             225:    42(bool)     GroupNonUniformAllEqual 44 224
             226:     31(int)     Select 225 54 41
             227:     38(ptr)     AccessChain 35(data) 219 37
                                  Store 227 226
             228:      6(int)     Load 8(invocation)
             230:    221(ptr)     AccessChain 35(data) 67 212
             231: 28(i64vec4)     Load 230
             232:229(i64vec3)     VectorShuffle 231 231 0 1 2
             233:    42(bool)     GroupNonUniformAllEqual 44 232
             234:     31(int)     Select 233 54 41
             235:     38(ptr)     AccessChain 35(data) 228 37
                                  Store 235 234
             236:      6(int)     Load 8(invocation)
             237:    221(ptr)     AccessChain 35(data) 76 212
             238: 28(i64vec4)     Load 237
             239:    42(bool)     GroupNonUniformAllEqual 44 238
             240:     31(int)     Select 239 54 41
             241:     38(ptr)     AccessChain 35(data) 236 37
                                  Store 241 240
             242:      6(int)     Load 8(invocation)
             245:    244(ptr)     AccessChain 35(data) 41 243 49
             246:29(float16_t)     Load 245
             247:    42(bool)     GroupNonUniformAllEqual 44 246
             248:     31(int)     Select 247 54 41
             249:     38(ptr)     AccessChain 35(data) 242 37
                                  Store 249 248
             250:      6(int)     Load 8(invocation)
             253:    252(ptr)     AccessChain 35(data) 54 243
             254: 30(f16vec4)     Load 253
             255:251(f16vec2)     VectorShuffle 254 254 0 1
             256:    42(bool)     GroupNonUniformAllEqual 44 255
             257:     31(int)     Select 256 54 41
             258:     38(ptr)     AccessChain 35(data) 250 37
                                  Store 258 257
             259:      6(int)     Load 8(invocation)
             261:    252(ptr)     AccessChain 35(data) 67 243
             262: 30(f16vec4)     Load 261
             263:260(f16vec3)     VectorShuffle 262 262 0 1 2
             264:    42(bool)     GroupNonUniformAllEqual 44 263
             265:     31(int)     Select 264 54 41
             266:     38(ptr)     AccessChain 35(data) 259 37
                                  Store 266 265
             267:      6(int)     Load 8(invocation)
             268:    252(ptr)     AccessChain 35(data) 76 243
             269: 30(f16vec4)     Load 268
             270:    42(bool)     GroupNonUniformAllEqual 44 269
             271:     31(int)     Select 270 54 41
             272:     38(ptr)     AccessChain 35(data) 267 37
                                  Store 272 271
                                  Branch 179
             179:               Label
                                Branch 47
              47:             Label
                              Return
                              FunctionEnd
