1617a3babSopenharmony_cispv.subgroupVote.comp
2617a3babSopenharmony_ci// Module Version 10300
3617a3babSopenharmony_ci// Generated by (magic number): 8000b
4617a3babSopenharmony_ci// Id's are bound by 216
5617a3babSopenharmony_ci
6617a3babSopenharmony_ci                              Capability Shader
7617a3babSopenharmony_ci                              Capability Float64
8617a3babSopenharmony_ci                              Capability GroupNonUniform
9617a3babSopenharmony_ci                              Capability GroupNonUniformVote
10617a3babSopenharmony_ci               1:             ExtInstImport  "GLSL.std.450"
11617a3babSopenharmony_ci                              MemoryModel Logical GLSL450
12617a3babSopenharmony_ci                              EntryPoint GLCompute 4  "main" 10 12
13617a3babSopenharmony_ci                              ExecutionMode 4 LocalSize 8 8 1
14617a3babSopenharmony_ci                              Source GLSL 450
15617a3babSopenharmony_ci                              SourceExtension  "GL_KHR_shader_subgroup_basic"
16617a3babSopenharmony_ci                              SourceExtension  "GL_KHR_shader_subgroup_vote"
17617a3babSopenharmony_ci                              Name 4  "main"
18617a3babSopenharmony_ci                              Name 8  "invocation"
19617a3babSopenharmony_ci                              Name 10  "gl_SubgroupInvocationID"
20617a3babSopenharmony_ci                              Name 12  "gl_SubgroupSize"
21617a3babSopenharmony_ci                              Name 24  "Buffers"
22617a3babSopenharmony_ci                              MemberName 24(Buffers) 0  "f4"
23617a3babSopenharmony_ci                              MemberName 24(Buffers) 1  "i4"
24617a3babSopenharmony_ci                              MemberName 24(Buffers) 2  "u4"
25617a3babSopenharmony_ci                              MemberName 24(Buffers) 3  "d4"
26617a3babSopenharmony_ci                              MemberName 24(Buffers) 4  "r"
27617a3babSopenharmony_ci                              Name 27  "data"
28617a3babSopenharmony_ci                              Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
29617a3babSopenharmony_ci                              Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
30617a3babSopenharmony_ci                              Decorate 11 RelaxedPrecision
31617a3babSopenharmony_ci                              Decorate 12(gl_SubgroupSize) RelaxedPrecision
32617a3babSopenharmony_ci                              Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
33617a3babSopenharmony_ci                              Decorate 13 RelaxedPrecision
34617a3babSopenharmony_ci                              Decorate 14 RelaxedPrecision
35617a3babSopenharmony_ci                              Decorate 16 RelaxedPrecision
36617a3babSopenharmony_ci                              MemberDecorate 24(Buffers) 0 Offset 0
37617a3babSopenharmony_ci                              MemberDecorate 24(Buffers) 1 Offset 16
38617a3babSopenharmony_ci                              MemberDecorate 24(Buffers) 2 Offset 32
39617a3babSopenharmony_ci                              MemberDecorate 24(Buffers) 3 Offset 64
40617a3babSopenharmony_ci                              MemberDecorate 24(Buffers) 4 Offset 96
41617a3babSopenharmony_ci                              Decorate 24(Buffers) Block
42617a3babSopenharmony_ci                              Decorate 27(data) DescriptorSet 0
43617a3babSopenharmony_ci                              Decorate 27(data) Binding 0
44617a3babSopenharmony_ci                              Decorate 215 BuiltIn WorkgroupSize
45617a3babSopenharmony_ci               2:             TypeVoid
46617a3babSopenharmony_ci               3:             TypeFunction 2
47617a3babSopenharmony_ci               6:             TypeInt 32 0
48617a3babSopenharmony_ci               7:             TypePointer Function 6(int)
49617a3babSopenharmony_ci               9:             TypePointer Input 6(int)
50617a3babSopenharmony_ci10(gl_SubgroupInvocationID):      9(ptr) Variable Input
51617a3babSopenharmony_ci12(gl_SubgroupSize):      9(ptr) Variable Input
52617a3babSopenharmony_ci              15:      6(int) Constant 4
53617a3babSopenharmony_ci              17:             TypeFloat 32
54617a3babSopenharmony_ci              18:             TypeVector 17(float) 4
55617a3babSopenharmony_ci              19:             TypeInt 32 1
56617a3babSopenharmony_ci              20:             TypeVector 19(int) 4
57617a3babSopenharmony_ci              21:             TypeVector 6(int) 4
58617a3babSopenharmony_ci              22:             TypeFloat 64
59617a3babSopenharmony_ci              23:             TypeVector 22(float64_t) 4
60617a3babSopenharmony_ci     24(Buffers):             TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(f64vec4) 19(int)
61617a3babSopenharmony_ci              25:             TypeArray 24(Buffers) 15
62617a3babSopenharmony_ci              26:             TypePointer StorageBuffer 25
63617a3babSopenharmony_ci        27(data):     26(ptr) Variable StorageBuffer
64617a3babSopenharmony_ci              29:     19(int) Constant 4
65617a3babSopenharmony_ci              30:             TypePointer StorageBuffer 19(int)
66617a3babSopenharmony_ci              33:     19(int) Constant 0
67617a3babSopenharmony_ci              34:             TypeBool
68617a3babSopenharmony_ci              36:      6(int) Constant 3
69617a3babSopenharmony_ci              41:      6(int) Constant 0
70617a3babSopenharmony_ci              42:             TypePointer StorageBuffer 17(float)
71617a3babSopenharmony_ci              46:     19(int) Constant 1
72617a3babSopenharmony_ci              50:             TypeVector 17(float) 2
73617a3babSopenharmony_ci              51:             TypePointer StorageBuffer 18(fvec4)
74617a3babSopenharmony_ci              59:     19(int) Constant 2
75617a3babSopenharmony_ci              60:             TypeVector 17(float) 3
76617a3babSopenharmony_ci              68:     19(int) Constant 3
77617a3babSopenharmony_ci              81:             TypeVector 19(int) 2
78617a3babSopenharmony_ci              82:             TypePointer StorageBuffer 20(ivec4)
79617a3babSopenharmony_ci              90:             TypeVector 19(int) 3
80617a3babSopenharmony_ci             104:             TypePointer StorageBuffer 6(int)
81617a3babSopenharmony_ci             111:             TypeVector 6(int) 2
82617a3babSopenharmony_ci             112:             TypePointer StorageBuffer 21(ivec4)
83617a3babSopenharmony_ci             120:             TypeVector 6(int) 3
84617a3babSopenharmony_ci             142:             TypePointer StorageBuffer 22(float64_t)
85617a3babSopenharmony_ci             149:             TypeVector 22(float64_t) 2
86617a3babSopenharmony_ci             150:             TypePointer StorageBuffer 23(f64vec4)
87617a3babSopenharmony_ci             158:             TypeVector 22(float64_t) 3
88617a3babSopenharmony_ci             182:   81(ivec2) ConstantComposite 33 33
89617a3babSopenharmony_ci             183:             TypeVector 34(bool) 2
90617a3babSopenharmony_ci             194:   90(ivec3) ConstantComposite 33 33 33
91617a3babSopenharmony_ci             195:             TypeVector 34(bool) 3
92617a3babSopenharmony_ci             205:   20(ivec4) ConstantComposite 33 33 33 33
93617a3babSopenharmony_ci             206:             TypeVector 34(bool) 4
94617a3babSopenharmony_ci             213:      6(int) Constant 8
95617a3babSopenharmony_ci             214:      6(int) Constant 1
96617a3babSopenharmony_ci             215:  120(ivec3) ConstantComposite 213 213 214
97617a3babSopenharmony_ci         4(main):           2 Function None 3
98617a3babSopenharmony_ci               5:             Label
99617a3babSopenharmony_ci   8(invocation):      7(ptr) Variable Function
100617a3babSopenharmony_ci              11:      6(int) Load 10(gl_SubgroupInvocationID)
101617a3babSopenharmony_ci              13:      6(int) Load 12(gl_SubgroupSize)
102617a3babSopenharmony_ci              14:      6(int) IAdd 11 13
103617a3babSopenharmony_ci              16:      6(int) UMod 14 15
104617a3babSopenharmony_ci                              Store 8(invocation) 16
105617a3babSopenharmony_ci              28:      6(int) Load 8(invocation)
106617a3babSopenharmony_ci              31:     30(ptr) AccessChain 27(data) 28 29
107617a3babSopenharmony_ci              32:     19(int) Load 31
108617a3babSopenharmony_ci              35:    34(bool) SLessThan 32 33
109617a3babSopenharmony_ci              37:    34(bool) GroupNonUniformAll 36 35
110617a3babSopenharmony_ci                              SelectionMerge 39 None
111617a3babSopenharmony_ci                              BranchConditional 37 38 133
112617a3babSopenharmony_ci              38:               Label
113617a3babSopenharmony_ci              40:      6(int)   Load 8(invocation)
114617a3babSopenharmony_ci              43:     42(ptr)   AccessChain 27(data) 33 33 41
115617a3babSopenharmony_ci              44:   17(float)   Load 43
116617a3babSopenharmony_ci              45:    34(bool)   GroupNonUniformAllEqual 36 44
117617a3babSopenharmony_ci              47:     19(int)   Select 45 46 33
118617a3babSopenharmony_ci              48:     30(ptr)   AccessChain 27(data) 40 29
119617a3babSopenharmony_ci                                Store 48 47
120617a3babSopenharmony_ci              49:      6(int)   Load 8(invocation)
121617a3babSopenharmony_ci              52:     51(ptr)   AccessChain 27(data) 46 33
122617a3babSopenharmony_ci              53:   18(fvec4)   Load 52
123617a3babSopenharmony_ci              54:   50(fvec2)   VectorShuffle 53 53 0 1
124617a3babSopenharmony_ci              55:    34(bool)   GroupNonUniformAllEqual 36 54
125617a3babSopenharmony_ci              56:     19(int)   Select 55 46 33
126617a3babSopenharmony_ci              57:     30(ptr)   AccessChain 27(data) 49 29
127617a3babSopenharmony_ci                                Store 57 56
128617a3babSopenharmony_ci              58:      6(int)   Load 8(invocation)
129617a3babSopenharmony_ci              61:     51(ptr)   AccessChain 27(data) 59 33
130617a3babSopenharmony_ci              62:   18(fvec4)   Load 61
131617a3babSopenharmony_ci              63:   60(fvec3)   VectorShuffle 62 62 0 1 2
132617a3babSopenharmony_ci              64:    34(bool)   GroupNonUniformAllEqual 36 63
133617a3babSopenharmony_ci              65:     19(int)   Select 64 46 33
134617a3babSopenharmony_ci              66:     30(ptr)   AccessChain 27(data) 58 29
135617a3babSopenharmony_ci                                Store 66 65
136617a3babSopenharmony_ci              67:      6(int)   Load 8(invocation)
137617a3babSopenharmony_ci              69:     51(ptr)   AccessChain 27(data) 68 33
138617a3babSopenharmony_ci              70:   18(fvec4)   Load 69
139617a3babSopenharmony_ci              71:    34(bool)   GroupNonUniformAllEqual 36 70
140617a3babSopenharmony_ci              72:     19(int)   Select 71 46 33
141617a3babSopenharmony_ci              73:     30(ptr)   AccessChain 27(data) 67 29
142617a3babSopenharmony_ci                                Store 73 72
143617a3babSopenharmony_ci              74:      6(int)   Load 8(invocation)
144617a3babSopenharmony_ci              75:     30(ptr)   AccessChain 27(data) 33 46 41
145617a3babSopenharmony_ci              76:     19(int)   Load 75
146617a3babSopenharmony_ci              77:    34(bool)   GroupNonUniformAllEqual 36 76
147617a3babSopenharmony_ci              78:     19(int)   Select 77 46 33
148617a3babSopenharmony_ci              79:     30(ptr)   AccessChain 27(data) 74 29
149617a3babSopenharmony_ci                                Store 79 78
150617a3babSopenharmony_ci              80:      6(int)   Load 8(invocation)
151617a3babSopenharmony_ci              83:     82(ptr)   AccessChain 27(data) 46 46
152617a3babSopenharmony_ci              84:   20(ivec4)   Load 83
153617a3babSopenharmony_ci              85:   81(ivec2)   VectorShuffle 84 84 0 1
154617a3babSopenharmony_ci              86:    34(bool)   GroupNonUniformAllEqual 36 85
155617a3babSopenharmony_ci              87:     19(int)   Select 86 46 33
156617a3babSopenharmony_ci              88:     30(ptr)   AccessChain 27(data) 80 29
157617a3babSopenharmony_ci                                Store 88 87
158617a3babSopenharmony_ci              89:      6(int)   Load 8(invocation)
159617a3babSopenharmony_ci              91:     82(ptr)   AccessChain 27(data) 59 46
160617a3babSopenharmony_ci              92:   20(ivec4)   Load 91
161617a3babSopenharmony_ci              93:   90(ivec3)   VectorShuffle 92 92 0 1 2
162617a3babSopenharmony_ci              94:    34(bool)   GroupNonUniformAllEqual 36 93
163617a3babSopenharmony_ci              95:     19(int)   Select 94 46 33
164617a3babSopenharmony_ci              96:     30(ptr)   AccessChain 27(data) 89 29
165617a3babSopenharmony_ci                                Store 96 95
166617a3babSopenharmony_ci              97:      6(int)   Load 8(invocation)
167617a3babSopenharmony_ci              98:     82(ptr)   AccessChain 27(data) 68 46
168617a3babSopenharmony_ci              99:   20(ivec4)   Load 98
169617a3babSopenharmony_ci             100:    34(bool)   GroupNonUniformAllEqual 36 99
170617a3babSopenharmony_ci             101:     19(int)   Select 100 46 33
171617a3babSopenharmony_ci             102:     30(ptr)   AccessChain 27(data) 97 29
172617a3babSopenharmony_ci                                Store 102 101
173617a3babSopenharmony_ci             103:      6(int)   Load 8(invocation)
174617a3babSopenharmony_ci             105:    104(ptr)   AccessChain 27(data) 33 59 41
175617a3babSopenharmony_ci             106:      6(int)   Load 105
176617a3babSopenharmony_ci             107:    34(bool)   GroupNonUniformAllEqual 36 106
177617a3babSopenharmony_ci             108:     19(int)   Select 107 46 33
178617a3babSopenharmony_ci             109:     30(ptr)   AccessChain 27(data) 103 29
179617a3babSopenharmony_ci                                Store 109 108
180617a3babSopenharmony_ci             110:      6(int)   Load 8(invocation)
181617a3babSopenharmony_ci             113:    112(ptr)   AccessChain 27(data) 46 59
182617a3babSopenharmony_ci             114:   21(ivec4)   Load 113
183617a3babSopenharmony_ci             115:  111(ivec2)   VectorShuffle 114 114 0 1
184617a3babSopenharmony_ci             116:    34(bool)   GroupNonUniformAllEqual 36 115
185617a3babSopenharmony_ci             117:     19(int)   Select 116 46 33
186617a3babSopenharmony_ci             118:     30(ptr)   AccessChain 27(data) 110 29
187617a3babSopenharmony_ci                                Store 118 117
188617a3babSopenharmony_ci             119:      6(int)   Load 8(invocation)
189617a3babSopenharmony_ci             121:    112(ptr)   AccessChain 27(data) 59 59
190617a3babSopenharmony_ci             122:   21(ivec4)   Load 121
191617a3babSopenharmony_ci             123:  120(ivec3)   VectorShuffle 122 122 0 1 2
192617a3babSopenharmony_ci             124:    34(bool)   GroupNonUniformAllEqual 36 123
193617a3babSopenharmony_ci             125:     19(int)   Select 124 46 33
194617a3babSopenharmony_ci             126:     30(ptr)   AccessChain 27(data) 119 29
195617a3babSopenharmony_ci                                Store 126 125
196617a3babSopenharmony_ci             127:      6(int)   Load 8(invocation)
197617a3babSopenharmony_ci             128:    112(ptr)   AccessChain 27(data) 68 59
198617a3babSopenharmony_ci             129:   21(ivec4)   Load 128
199617a3babSopenharmony_ci             130:    34(bool)   GroupNonUniformAllEqual 36 129
200617a3babSopenharmony_ci             131:     19(int)   Select 130 46 33
201617a3babSopenharmony_ci             132:     30(ptr)   AccessChain 27(data) 127 29
202617a3babSopenharmony_ci                                Store 132 131
203617a3babSopenharmony_ci                                Branch 39
204617a3babSopenharmony_ci             133:               Label
205617a3babSopenharmony_ci             134:      6(int)   Load 8(invocation)
206617a3babSopenharmony_ci             135:     30(ptr)   AccessChain 27(data) 134 29
207617a3babSopenharmony_ci             136:     19(int)   Load 135
208617a3babSopenharmony_ci             137:    34(bool)   SLessThan 136 33
209617a3babSopenharmony_ci             138:    34(bool)   GroupNonUniformAny 36 137
210617a3babSopenharmony_ci                                SelectionMerge 140 None
211617a3babSopenharmony_ci                                BranchConditional 138 139 140
212617a3babSopenharmony_ci             139:                 Label
213617a3babSopenharmony_ci             141:      6(int)     Load 8(invocation)
214617a3babSopenharmony_ci             143:    142(ptr)     AccessChain 27(data) 33 68 41
215617a3babSopenharmony_ci             144:22(float64_t)     Load 143
216617a3babSopenharmony_ci             145:    34(bool)     GroupNonUniformAllEqual 36 144
217617a3babSopenharmony_ci             146:     19(int)     Select 145 46 33
218617a3babSopenharmony_ci             147:     30(ptr)     AccessChain 27(data) 141 29
219617a3babSopenharmony_ci                                  Store 147 146
220617a3babSopenharmony_ci             148:      6(int)     Load 8(invocation)
221617a3babSopenharmony_ci             151:    150(ptr)     AccessChain 27(data) 46 68
222617a3babSopenharmony_ci             152: 23(f64vec4)     Load 151
223617a3babSopenharmony_ci             153:149(f64vec2)     VectorShuffle 152 152 0 1
224617a3babSopenharmony_ci             154:    34(bool)     GroupNonUniformAllEqual 36 153
225617a3babSopenharmony_ci             155:     19(int)     Select 154 46 33
226617a3babSopenharmony_ci             156:     30(ptr)     AccessChain 27(data) 148 29
227617a3babSopenharmony_ci                                  Store 156 155
228617a3babSopenharmony_ci             157:      6(int)     Load 8(invocation)
229617a3babSopenharmony_ci             159:    150(ptr)     AccessChain 27(data) 59 68
230617a3babSopenharmony_ci             160: 23(f64vec4)     Load 159
231617a3babSopenharmony_ci             161:158(f64vec3)     VectorShuffle 160 160 0 1 2
232617a3babSopenharmony_ci             162:    34(bool)     GroupNonUniformAllEqual 36 161
233617a3babSopenharmony_ci             163:     19(int)     Select 162 46 33
234617a3babSopenharmony_ci             164:     30(ptr)     AccessChain 27(data) 157 29
235617a3babSopenharmony_ci                                  Store 164 163
236617a3babSopenharmony_ci             165:      6(int)     Load 8(invocation)
237617a3babSopenharmony_ci             166:    150(ptr)     AccessChain 27(data) 68 68
238617a3babSopenharmony_ci             167: 23(f64vec4)     Load 166
239617a3babSopenharmony_ci             168:    34(bool)     GroupNonUniformAllEqual 36 167
240617a3babSopenharmony_ci             169:     19(int)     Select 168 46 33
241617a3babSopenharmony_ci             170:     30(ptr)     AccessChain 27(data) 165 29
242617a3babSopenharmony_ci                                  Store 170 169
243617a3babSopenharmony_ci             171:      6(int)     Load 8(invocation)
244617a3babSopenharmony_ci             172:     30(ptr)     AccessChain 27(data) 33 46 41
245617a3babSopenharmony_ci             173:     19(int)     Load 172
246617a3babSopenharmony_ci             174:    34(bool)     SLessThan 173 33
247617a3babSopenharmony_ci             175:    34(bool)     GroupNonUniformAllEqual 36 174
248617a3babSopenharmony_ci             176:     19(int)     Select 175 46 33
249617a3babSopenharmony_ci             177:     30(ptr)     AccessChain 27(data) 171 29
250617a3babSopenharmony_ci                                  Store 177 176
251617a3babSopenharmony_ci             178:      6(int)     Load 8(invocation)
252617a3babSopenharmony_ci             179:     82(ptr)     AccessChain 27(data) 46 46
253617a3babSopenharmony_ci             180:   20(ivec4)     Load 179
254617a3babSopenharmony_ci             181:   81(ivec2)     VectorShuffle 180 180 0 1
255617a3babSopenharmony_ci             184:  183(bvec2)     SLessThan 181 182
256617a3babSopenharmony_ci             185:    34(bool)     GroupNonUniformAllEqual 36 184
257617a3babSopenharmony_ci             186:     19(int)     Select 185 46 33
258617a3babSopenharmony_ci             187:   81(ivec2)     CompositeConstruct 186 186
259617a3babSopenharmony_ci             188:     19(int)     CompositeExtract 187 0
260617a3babSopenharmony_ci             189:     30(ptr)     AccessChain 27(data) 178 29
261617a3babSopenharmony_ci                                  Store 189 188
262617a3babSopenharmony_ci             190:      6(int)     Load 8(invocation)
263617a3babSopenharmony_ci             191:     82(ptr)     AccessChain 27(data) 46 46
264617a3babSopenharmony_ci             192:   20(ivec4)     Load 191
265617a3babSopenharmony_ci             193:   90(ivec3)     VectorShuffle 192 192 0 1 2
266617a3babSopenharmony_ci             196:  195(bvec3)     SLessThan 193 194
267617a3babSopenharmony_ci             197:    34(bool)     GroupNonUniformAllEqual 36 196
268617a3babSopenharmony_ci             198:     19(int)     Select 197 46 33
269617a3babSopenharmony_ci             199:   90(ivec3)     CompositeConstruct 198 198 198
270617a3babSopenharmony_ci             200:     19(int)     CompositeExtract 199 0
271617a3babSopenharmony_ci             201:     30(ptr)     AccessChain 27(data) 190 29
272617a3babSopenharmony_ci                                  Store 201 200
273617a3babSopenharmony_ci             202:      6(int)     Load 8(invocation)
274617a3babSopenharmony_ci             203:     82(ptr)     AccessChain 27(data) 46 46
275617a3babSopenharmony_ci             204:   20(ivec4)     Load 203
276617a3babSopenharmony_ci             207:  206(bvec4)     SLessThan 204 205
277617a3babSopenharmony_ci             208:    34(bool)     GroupNonUniformAllEqual 36 207
278617a3babSopenharmony_ci             209:     19(int)     Select 208 46 33
279617a3babSopenharmony_ci             210:   20(ivec4)     CompositeConstruct 209 209 209 209
280617a3babSopenharmony_ci             211:     19(int)     CompositeExtract 210 0
281617a3babSopenharmony_ci             212:     30(ptr)     AccessChain 27(data) 202 29
282617a3babSopenharmony_ci                                  Store 212 211
283617a3babSopenharmony_ci                                  Branch 140
284617a3babSopenharmony_ci             140:               Label
285617a3babSopenharmony_ci                                Branch 39
286617a3babSopenharmony_ci              39:             Label
287617a3babSopenharmony_ci                              Return
288617a3babSopenharmony_ci                              FunctionEnd
289