yum-mirror/glslang

git clone https://git.yummers.dev/yum-mirror/glslang

Alan BakerSwitch tests using Vulkan memory model to spir-v 1.3be201bfb

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