yum-mirror/glslang

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

alelenvFix bug in handling slice of array being passed cooperative matrix load/store functions and strengthen error checks. (#4007)8e12361e

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