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