1spv.coopmatKHR.comp
2// Module Version 10000
3// Generated by (magic number): 8000b
4// Id's are bound by 250
5
6                              Capability Shader
7                              Capability Float16
8                              Capability Int16
9                              Capability Int8
10                              Capability StorageUniformBufferBlock16
11                              Capability VulkanMemoryModelKHR
12                              Capability PhysicalStorageBufferAddressesEXT
13                              Capability CooperativeMatrixKHR
14                              Extension  "SPV_KHR_16bit_storage"
15                              Extension  "SPV_KHR_cooperative_matrix"
16                              Extension  "SPV_KHR_physical_storage_buffer"
17                              Extension  "SPV_KHR_storage_buffer_storage_class"
18                              Extension  "SPV_KHR_vulkan_memory_model"
19               1:             ExtInstImport  "GLSL.std.450"
20                              MemoryModel PhysicalStorageBuffer64EXT VulkanKHR
21                              EntryPoint GLCompute 4  "main"
22                              ExecutionMode 4 LocalSize 64 1 1
23                              Source GLSL 450
24                              SourceExtension  "GL_EXT_buffer_reference"
25                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types"
26                              SourceExtension  "GL_KHR_cooperative_matrix"
27                              SourceExtension  "GL_KHR_memory_scope_semantics"
28                              Name 4  "main"
29                              Name 15  "f16(f161;"
30                              Name 14  "m"
31                              Name 22  "f32(f1;"
32                              Name 21  "m"
33                              Name 35  "m"
34                              Name 53  "m2"
35                              Name 57  "x"
36                              Name 65  "tempArg"
37                              Name 69  "Block"
38                              MemberName 69(Block) 0  "y"
39                              MemberName 69(Block) 1  "x"
40                              Name 71  "block"
41                              Name 80  "tempArg"
42                              Name 85  "Block16"
43                              MemberName 85(Block16) 0  "y"
44                              MemberName 85(Block16) 1  "x"
45                              MemberName 85(Block16) 2  "b"
46                              Name 88  "Block"
47                              MemberName 88(Block) 0  "y"
48                              MemberName 88(Block) 1  "x"
49                              Name 90  "block16"
50                              Name 97  "tempArg"
51                              Name 110  "D"
52                              Name 114  "A"
53                              Name 118  "B"
54                              Name 120  "C"
55                              Name 124  "l"
56                              Name 128  "Y"
57                              Name 129  "Z"
58                              Name 132  "F"
59                              Name 137  "a"
60                              Name 141  "md1"
61                              Name 152  "mC2"
62                              Name 157  "tempArg"
63                              Name 163  "tempArg"
64                              Name 169  "p1"
65                              Name 170  "param"
66                              Name 173  "p2"
67                              Name 174  "param"
68                              Name 188  "tempArg"
69                              Name 193  "shmatrix"
70                              Name 197  "ms"
71                              Name 204  "ms8A"
72                              Name 208  "ms8B"
73                              Name 212  "ms8C"
74                              Name 227  "m16"
75                              Name 233  "mC"
76                              Name 234  "F"
77                              Name 239  "S"
78                              MemberName 239(S) 0  "a"
79                              MemberName 239(S) 1  "b"
80                              MemberName 239(S) 2  "c"
81                              Name 244  "SC"
82                              Name 249  "scm"
83                              Decorate 67 ArrayStride 4
84                              Decorate 68 ArrayStride 4
85                              MemberDecorate 69(Block) 0 Offset 0
86                              MemberDecorate 69(Block) 1 Offset 4194304
87                              Decorate 69(Block) Block
88                              Decorate 71(block) DescriptorSet 0
89                              Decorate 71(block) Binding 0
90                              Decorate 81 ArrayStride 2
91                              Decorate 83 ArrayStride 2
92                              MemberDecorate 85(Block16) 0 Offset 0
93                              MemberDecorate 85(Block16) 1 Offset 2097152
94                              MemberDecorate 85(Block16) 2 Offset 2097160
95                              Decorate 85(Block16) Block
96                              Decorate 86 ArrayStride 4
97                              Decorate 87 ArrayStride 4
98                              MemberDecorate 88(Block) 0 Offset 0
99                              MemberDecorate 88(Block) 1 Offset 4194304
100                              Decorate 88(Block) Block
101                              Decorate 90(block16) DescriptorSet 0
102                              Decorate 90(block16) Binding 0
103                              Decorate 128(Y) SpecId 0
104                              Decorate 232 BuiltIn WorkgroupSize
105                              Decorate 234(F) SpecId 1
106                              Decorate 244(SC) SpecId 2
107               2:             TypeVoid
108               3:             TypeFunction 2
109               6:             TypeFloat 16
110               7:             TypeInt 32 0
111               8:      7(int) Constant 3
112               9:      7(int) Constant 8
113              10:      7(int) Constant 2
114              11:             TypeCooperativeMatrixKHR 6(float16_t) 8 9 9 10
115              12:             TypePointer Function 11
116              13:             TypeFunction 11 12(ptr)
117              17:             TypeFloat 32
118              18:             TypeCooperativeMatrixKHR 17(float) 8 9 9 10
119              19:             TypePointer Function 18
120              20:             TypeFunction 18 19(ptr)
121              32:      7(int) Constant 16
122              33:             TypeCooperativeMatrixKHR 17(float) 8 32 9 10
123              34:             TypePointer Function 33
124              36:   17(float) Constant 0
125              37:          33 ConstantComposite 36
126              46:   17(float) Constant 1073741824
127              51:             TypeCooperativeMatrixKHR 6(float16_t) 8 32 9 10
128              52:             TypePointer Function 51
129              56:             TypePointer Function 17(float)
130              58:             TypeInt 32 1
131              59:     58(int) Constant 1
132              62:     58(int) Constant 0
133              66:      7(int) Constant 1048576
134              67:             TypeArray 17(float) 66
135              68:             TypeRuntimeArray 17(float)
136       69(Block):             TypeStruct 67 68
137              70:             TypePointer StorageBuffer 69(Block)
138       71(block):     70(ptr) Variable StorageBuffer
139              72:      7(int) Constant 5
140              73:             TypePointer StorageBuffer 17(float)
141              75:      7(int) Constant 128
142              81:             TypeArray 6(float16_t) 66
143              82:      7(int) Constant 1
144              83:             TypeArray 6(float16_t) 82
145                              TypeForwardPointer 84 PhysicalStorageBufferEXT
146     85(Block16):             TypeStruct 81 83 84
147              86:             TypeArray 17(float) 66
148              87:             TypeRuntimeArray 17(float)
149       88(Block):             TypeStruct 86 87
150              84:             TypePointer PhysicalStorageBufferEXT 88(Block)
151              89:             TypePointer StorageBuffer 85(Block16)
152     90(block16):     89(ptr) Variable StorageBuffer
153              91:             TypePointer StorageBuffer 6(float16_t)
154              98:     58(int) Constant 2
155              99:             TypePointer StorageBuffer 84(ptr)
156             102:             TypePointer PhysicalStorageBufferEXT 17(float)
157             111:      7(int) Constant 0
158             112:             TypeCooperativeMatrixKHR 6(float16_t) 8 32 9 111
159             113:             TypePointer Function 112
160             116:             TypeCooperativeMatrixKHR 6(float16_t) 8 9 9 82
161             117:             TypePointer Function 116
162             123:             TypePointer Function 58(int)
163             127:     58(int) Constant 8
164          128(Y):     58(int) SpecConstant 2
165          129(Z):     58(int) SpecConstantOp 132 127 128(Y)
166             130:             TypeCooperativeMatrixKHR 6(float16_t) 8 129(Z) 129(Z) 10
167             131:             TypePointer Function 130
168             133:6(float16_t) Constant 0
169             134:         130 ConstantComposite 133
170             135:             TypeArray 33 72
171             136:             TypePointer Function 135
172             138:     58(int) Constant 3
173             139:   17(float) Constant 1065353216
174             145:     58(int) Constant 1234
175             149:             TypeCooperativeMatrixKHR 6(float16_t) 8 129(Z) 9 10
176             150:             TypeArray 149 8
177             151:             TypePointer Private 150
178        152(mC2):    151(ptr) Variable Private
179             153:             TypePointer Private 149
180             177:          11 ConstantComposite 133
181             178:          18 ConstantComposite 36
182             182:6(float16_t) Constant 16384
183             185:   17(float) Constant 1082130432
184             189:             TypeVector 7(int) 4
185             190:      7(int) Constant 32
186             191:             TypeArray 189(ivec4) 190
187             192:             TypePointer Workgroup 191
188   193(shmatrix):    192(ptr) Variable Workgroup
189             194:             TypePointer Workgroup 189(ivec4)
190             201:             TypeInt 8 1
191             202:             TypeCooperativeMatrixKHR 201(int8_t) 8 9 9 111
192             203:             TypePointer Function 202
193             206:             TypeCooperativeMatrixKHR 201(int8_t) 8 9 9 82
194             207:             TypePointer Function 206
195             210:             TypeCooperativeMatrixKHR 201(int8_t) 8 9 9 10
196             211:             TypePointer Function 210
197             222:     58(int) Constant 16
198             224:             TypeInt 16 1
199             225:             TypeCooperativeMatrixKHR 224(int16_t) 8 9 9 111
200             226:             TypePointer Function 225
201             230:             TypeVector 7(int) 3
202             231:      7(int) Constant 64
203             232:  230(ivec3) ConstantComposite 231 82 82
204         233(mC):    153(ptr) Variable Private
205          234(F):   17(float) SpecConstant 1077936128
206             235:             TypeCooperativeMatrixKHR 17(float) 8 129(Z) 9 10
207             236:         235 ConstantComposite 36
208             237:6(float16_t) Constant 15360
209             238:          11 ConstantComposite 237
210          239(S):             TypeStruct 58(int) 58(int) 58(int)
211             240:     58(int) Constant 12
212             241:     58(int) Constant 23
213             242:     58(int) Constant 34
214             243:      239(S) ConstantComposite 240 241 242
215         244(SC):     58(int) SpecConstant 1
216             245:             TypeCooperativeMatrixKHR 6(float16_t) 8 244(SC) 244(SC) 10
217             246:             TypeArray 245 244(SC)
218             247:             TypeArray 246 244(SC)
219             248:             TypePointer Private 247
220        249(scm):    248(ptr) Variable Private
221         4(main):           2 Function None 3
222               5:             Label
223           35(m):     34(ptr) Variable Function
224          53(m2):     52(ptr) Variable Function
225           57(x):     56(ptr) Variable Function
226     65(tempArg):     34(ptr) Variable Function
227     80(tempArg):     52(ptr) Variable Function
228     97(tempArg):     34(ptr) Variable Function
229          110(D):     34(ptr) Variable Function
230          114(A):    113(ptr) Variable Function
231          118(B):    117(ptr) Variable Function
232          120(C):     34(ptr) Variable Function
233          124(l):    123(ptr) Variable Function
234          132(F):    131(ptr) Variable Function
235          137(a):    136(ptr) Variable Function
236        141(md1):     56(ptr) Variable Function
237    157(tempArg):     34(ptr) Variable Function
238    163(tempArg):     52(ptr) Variable Function
239         169(p1):     12(ptr) Variable Function
240      170(param):     12(ptr) Variable Function
241         173(p2):     19(ptr) Variable Function
242      174(param):     19(ptr) Variable Function
243    188(tempArg):     52(ptr) Variable Function
244         197(ms):     52(ptr) Variable Function
245       204(ms8A):    203(ptr) Variable Function
246       208(ms8B):    207(ptr) Variable Function
247       212(ms8C):    211(ptr) Variable Function
248        227(m16):    226(ptr) Variable Function
249                              Store 35(m) 37
250              38:          33 Load 35(m)
251              39:          33 Load 35(m)
252              40:          33 FAdd 38 39
253                              Store 35(m) 40
254              41:          33 Load 35(m)
255              42:          33 Load 35(m)
256              43:          33 FSub 41 42
257                              Store 35(m) 43
258              44:          33 Load 35(m)
259              45:          33 FNegate 44
260                              Store 35(m) 45
261              47:          33 Load 35(m)
262              48:          33 MatrixTimesScalar 47 46
263                              Store 35(m) 48
264              49:          33 Load 35(m)
265              50:          33 MatrixTimesScalar 49 46
266                              Store 35(m) 50
267              54:          33 Load 35(m)
268              55:          51 FConvert 54
269                              Store 53(m2) 55
270              60:     56(ptr) AccessChain 35(m) 59
271              61:   17(float) Load 60
272                              Store 57(x) 61
273              63:   17(float) Load 57(x)
274              64:     56(ptr) AccessChain 35(m) 62
275                              Store 64 63
276              74:     73(ptr) AccessChain 71(block) 59 32
277              76:          33 CooperativeMatrixLoadKHR 74 62 75 MakePointerVisibleKHR NonPrivatePointerKHR 72
278                              Store 65(tempArg) 76
279              77:          33 Load 65(tempArg)
280                              Store 35(m) 77
281              78:          33 Load 35(m)
282              79:     73(ptr) AccessChain 71(block) 59 32
283                              CooperativeMatrixStoreKHR 79 78 62 75 MakePointerAvailableKHR NonPrivatePointerKHR 72
284              92:     91(ptr) AccessChain 90(block16) 59 32
285              93:          51 CooperativeMatrixLoadKHR 92 62 75 MakePointerVisibleKHR NonPrivatePointerKHR 72
286                              Store 80(tempArg) 93
287              94:          51 Load 80(tempArg)
288                              Store 53(m2) 94
289              95:          51 Load 53(m2)
290              96:     91(ptr) AccessChain 90(block16) 59 32
291                              CooperativeMatrixStoreKHR 96 95 62 75 MakePointerAvailableKHR NonPrivatePointerKHR 72
292             100:     99(ptr) AccessChain 90(block16) 98
293             101:     84(ptr) Load 100 MakePointerVisibleKHR NonPrivatePointerKHR 72
294             103:    102(ptr) AccessChain 101 59 32
295             104:          33 CooperativeMatrixLoadKHR 103 62 75 Aligned MakePointerVisibleKHR NonPrivatePointerKHR 16 72
296                              Store 97(tempArg) 104
297             105:          33 Load 97(tempArg)
298                              Store 35(m) 105
299             106:          33 Load 35(m)
300             107:     99(ptr) AccessChain 90(block16) 98
301             108:     84(ptr) Load 107 MakePointerVisibleKHR NonPrivatePointerKHR 72
302             109:    102(ptr) AccessChain 108 59 32
303                              CooperativeMatrixStoreKHR 109 106 62 75 Aligned MakePointerAvailableKHR NonPrivatePointerKHR 16 72
304             115:         112 Load 114(A)
305             119:         116 Load 118(B)
306             121:          33 Load 120(C)
307             122:          33 CooperativeMatrixMulAddKHR 115 119 121
308                              Store 110(D) 122
309             125:      7(int) CooperativeMatrixLengthKHR 33
310             126:     58(int) Bitcast 125
311                              Store 124(l) 126
312                              Store 132(F) 134
313             140:     56(ptr) AccessChain 137(a) 138 62
314                              Store 140 139
315                              Store 141(md1) 36
316             142:          33 Load 35(m)
317             143:          33 Load 35(m)
318             144:          33 FAdd 143 142
319                              Store 35(m) 144
320             146:   17(float) CompositeExtract 144 1234
321             147:   17(float) Load 141(md1)
322             148:   17(float) FAdd 147 146
323                              Store 141(md1) 148
324             154:    153(ptr) AccessChain 152(mC2) 98
325             155:         149 Load 154
326             156:    153(ptr) AccessChain 152(mC2) 59
327                              Store 156 155
328             158:     73(ptr) AccessChain 71(block) 62 32
329             159:          33 CooperativeMatrixLoadKHR 158 62 75 MakePointerVisibleKHR NonPrivatePointerKHR 72
330                              Store 157(tempArg) 159
331             160:          33 Load 157(tempArg)
332                              Store 35(m) 160
333             161:          33 Load 35(m)
334             162:     73(ptr) AccessChain 71(block) 62 32
335                              CooperativeMatrixStoreKHR 162 161 62 75 MakePointerAvailableKHR NonPrivatePointerKHR 72
336             164:     91(ptr) AccessChain 90(block16) 62 32
337             165:          51 CooperativeMatrixLoadKHR 164 62 75 MakePointerVisibleKHR NonPrivatePointerKHR 72
338                              Store 163(tempArg) 165
339             166:          51 Load 163(tempArg)
340                              Store 53(m2) 166
341             167:          51 Load 53(m2)
342             168:     91(ptr) AccessChain 90(block16) 62 32
343                              CooperativeMatrixStoreKHR 168 167 62 75 MakePointerAvailableKHR NonPrivatePointerKHR 72
344             171:          11 Load 169(p1)
345                              Store 170(param) 171
346             172:          11 FunctionCall 15(f16(f161;) 170(param)
347                              Store 169(p1) 172
348             175:          18 Load 173(p2)
349                              Store 174(param) 175
350             176:          18 FunctionCall 22(f32(f1;) 174(param)
351                              Store 173(p2) 176
352                              Store 169(p1) 177
353                              Store 173(p2) 178
354             179:          11 Load 169(p1)
355             180:          11 Load 169(p1)
356             181:          11 FDiv 180 179
357                              Store 169(p1) 181
358             183:          11 Load 169(p1)
359             184:          11 MatrixTimesScalar 183 182
360                              Store 169(p1) 184
361             186:          18 Load 173(p2)
362             187:          18 MatrixTimesScalar 186 185
363                              Store 173(p2) 187
364             195:    194(ptr) AccessChain 193(shmatrix) 82
365             196:          51 CooperativeMatrixLoadKHR 195 62 10 MakePointerVisibleKHR NonPrivatePointerKHR 10
366                              Store 188(tempArg) 196
367             198:          51 Load 188(tempArg)
368                              Store 197(ms) 198
369             199:          51 Load 197(ms)
370             200:    194(ptr) AccessChain 193(shmatrix) 82
371                              CooperativeMatrixStoreKHR 200 199 62 10 MakePointerAvailableKHR NonPrivatePointerKHR 10
372             205:         202 Load 204(ms8A)
373             209:         206 Load 208(ms8B)
374             213:         210 Load 212(ms8C)
375             214:         210 CooperativeMatrixMulAddKHR 205 209 213 ASignedComponentsKHR BSignedComponentsKHR CSignedComponentsKHR ResultSignedComponentsKHR 
376             215:         202 Load 204(ms8A)
377             216:         206 Load 208(ms8B)
378             217:         210 Load 212(ms8C)
379             218:         210 CooperativeMatrixMulAddKHR 215 216 217 ASignedComponentsKHR BSignedComponentsKHR CSignedComponentsKHR ResultSignedComponentsKHR 
380             219:         202 Load 204(ms8A)
381             220:         206 Load 208(ms8B)
382             221:         210 Load 212(ms8C)
383             223:         210 CooperativeMatrixMulAddKHR 219 220 221 ASignedComponentsKHR BSignedComponentsKHR CSignedComponentsKHR ResultSignedComponentsKHR SaturatingAccumulationKHR 
384             228:         225 Load 227(m16)
385             229:    194(ptr) AccessChain 193(shmatrix) 82
386                              CooperativeMatrixStoreKHR 229 228 62 10 MakePointerAvailableKHR NonPrivatePointerKHR 10
387                              Return
388                              FunctionEnd
389   15(f16(f161;):          11 Function None 13
390           14(m):     12(ptr) FunctionParameter
391              16:             Label
392              24:          11 Load 14(m)
393              25:          11 FNegate 24
394                              ReturnValue 25
395                              FunctionEnd
396     22(f32(f1;):          18 Function None 20
397           21(m):     19(ptr) FunctionParameter
398              23:             Label
399              28:          18 Load 21(m)
400              29:          18 FNegate 28
401                              ReturnValue 29
402                              FunctionEnd
403