yum-mirror/glslang

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

Diego NovilloFix inconsistent labeling of capability strings7a5308f4

main
23.5 KiB492 linesraw
1spv.bfloat16.comp
2// Module Version 10300
3// Generated by (magic number): 8000b
4// Id's are bound by 325
5
6                              Capability Shader
7                              Capability Float16
8                              Capability Float64
9                              Capability Int64
10                              Capability Int16
11                              Capability Int8
12                              Capability BFloat16TypeKHR
13                              Capability BFloat16DotProductKHR
14                              Capability BFloat16CooperativeMatrixKHR
15                              Capability VulkanMemoryModelKHR
16                              Capability CooperativeMatrixKHR
17                              Extension  "SPV_KHR_bfloat16"
18                              Extension  "SPV_KHR_cooperative_matrix"
19                              Extension  "SPV_KHR_vulkan_memory_model"
20               1:             ExtInstImport  "GLSL.std.450"
21                              MemoryModel Logical VulkanKHR
22                              EntryPoint GLCompute 4  "main"
23                              ExecutionMode 4 LocalSize 1 1 1
24                              Source GLSL 450
25                              SourceExtension  "GL_EXT_bfloat16"
26                              SourceExtension  "GL_EXT_scalar_block_layout"
27                              SourceExtension  "GL_EXT_shader_explicit_arithmetic_types"
28                              SourceExtension  "GL_KHR_cooperative_matrix"
29                              SourceExtension  "GL_KHR_memory_scope_semantics"
30                              Name 4  "main"
31                              Name 10  "funcbf16(bf161;"
32                              Name 9  "x"
33                              Name 16  "funcf32(f1;"
34                              Name 15  "x"
35                              Name 22  "funcf64(d1;"
36                              Name 21  "x"
37                              Name 34  "func2(vbf164[2];i1;"
38                              Name 32  "v"
39                              Name 33  "i"
40                              Name 47  "f"
41                              Name 49  "b"
42                              Name 55  "b2"
43                              Name 61  "u8"
44                              Name 65  "u16"
45                              Name 68  "u32"
46                              Name 72  "u64"
47                              Name 76  "i8"
48                              Name 80  "i16"
49                              Name 82  "i32"
50                              Name 86  "i64"
51                              Name 88  "bf16"
52                              Name 92  "f16"
53                              Name 94  "f32"
54                              Name 96  "f64"
55                              Name 149  "B"
56                              MemberName 149(B) 0  "b3"
57                              MemberName 149(B) 1  "b2"
58                              MemberName 149(B) 2  "b1"
59                              Name 151  "buf"
60                              Name 161  "b3"
61                              Name 174  "cmA"
62                              Name 179  "cmAf"
63                              Name 182  "param"
64                              Name 187  "param"
65                              Name 191  "param"
66                              Name 193  "i16_1"
67                              Name 198  "i16_2"
68                              Name 203  "i16_3"
69                              Name 212  "i16_4"
70                              Name 220  "u16_1"
71                              Name 225  "u16_2"
72                              Name 230  "u16_3"
73                              Name 239  "u16_4"
74                              Name 247  "b16_1"
75                              Name 250  "b16_2"
76                              Name 253  "b16_3"
77                              Name 257  "b16_4"
78                              Name 268  "b"
79                              Name 289  "S"
80                              MemberName 289(S) 0  "b"
81                              Name 291  "s"
82                              Name 317  "bsc10"
83                              Name 324  "bfs"
84                              Decorate 149(B) Block
85                              MemberDecorate 149(B) 0 Offset 0
86                              MemberDecorate 149(B) 1 Offset 6
87                              MemberDecorate 149(B) 2 Offset 10
88                              Decorate 151(buf) Binding 0
89                              Decorate 151(buf) DescriptorSet 0
90                              Decorate 313 BuiltIn WorkgroupSize
91                              Decorate 317(bsc10) SpecId 1
92               2:             TypeVoid
93               3:             TypeFunction 2
94               6:             TypeFloat 16 0
95               7:             TypePointer Function 6(bfloat16_t)
96               8:             TypeFunction 6(bfloat16_t) 7(ptr)
97              12:             TypeFloat 32
98              13:             TypePointer Function 12(float)
99              14:             TypeFunction 6(bfloat16_t) 13(ptr)
100              18:             TypeFloat 64
101              19:             TypePointer Function 18(float64_t)
102              20:             TypeFunction 6(bfloat16_t) 19(ptr)
103              24:             TypeVector 6(bfloat16_t) 4
104              25:             TypeInt 32 0
105              26:     25(int) Constant 2
106              27:             TypeArray 24(bf16vec4) 26
107              28:             TypePointer Function 27
108              29:             TypeInt 32 1
109              30:             TypePointer Function 29(int)
110              31:             TypeFunction 6(bfloat16_t) 28(ptr) 30(ptr)
111              48:   12(float) Constant 1073741824
112              50:6(bfloat16_t) Constant 16256
113              53:             TypeVector 6(bfloat16_t) 2
114              54:             TypePointer Function 53(bf16vec2)
115              59:             TypeInt 8 0
116              60:             TypePointer Function 59(int8_t)
117              62:  59(int8_t) Constant 5
118              63:             TypeInt 16 0
119              64:             TypePointer Function 63(int16_t)
120              66: 63(int16_t) Constant 5
121              67:             TypePointer Function 25(int)
122              69:     25(int) Constant 5
123              70:             TypeInt 64 0
124              71:             TypePointer Function 70(int64_t)
125              73: 70(int64_t) Constant 5 0
126              74:             TypeInt 8 1
127              75:             TypePointer Function 74(int8_t)
128              77:  74(int8_t) Constant 6
129              78:             TypeInt 16 1
130              79:             TypePointer Function 78(int16_t)
131              81: 78(int16_t) Constant 6
132              83:     29(int) Constant 6
133              84:             TypeInt 64 1
134              85:             TypePointer Function 84(int64_t)
135              87: 84(int64_t) Constant 6 0
136              89:6(bfloat16_t) Constant 16608
137              90:             TypeFloat 16
138              91:             TypePointer Function 90(float16_t)
139              93:90(float16_t) Constant 18176
140              95:   12(float) Constant 1088421888
141              97:18(float64_t) Constant 0 1075576832
142             148:             TypeVector 6(bfloat16_t) 3
143          149(B):             TypeStruct 148(bf16vec3) 53(bf16vec2) 6(bfloat16_t)
144             150:             TypePointer StorageBuffer 149(B)
145        151(buf):    150(ptr) Variable StorageBuffer
146             152:     29(int) Constant 2
147             153:             TypePointer StorageBuffer 6(bfloat16_t)
148             156:     29(int) Constant 1
149             157:             TypePointer StorageBuffer 53(bf16vec2)
150             160:             TypePointer Function 148(bf16vec3)
151             162:     29(int) Constant 0
152             163:             TypePointer StorageBuffer 148(bf16vec3)
153             169:     25(int) Constant 3
154             170:     25(int) Constant 16
155             171:     25(int) Constant 0
156             172:             TypeCooperativeMatrixKHR 6(bfloat16_t) 169 170 170 171
157             173:             TypePointer Function 172
158             175:6(bfloat16_t) Constant 16448
159             176:         172 ConstantComposite 175
160             177:             TypeCooperativeMatrixKHR 12(float) 169 170 170 171
161             178:             TypePointer Function 177
162             196:             TypeVector 78(int16_t) 2
163             197:             TypePointer Function 196(i16vec2)
164             201:             TypeVector 78(int16_t) 3
165             202:             TypePointer Function 201(i16vec3)
166             210:             TypeVector 78(int16_t) 4
167             211:             TypePointer Function 210(i16vec4)
168             223:             TypeVector 63(int16_t) 2
169             224:             TypePointer Function 223(i16vec2)
170             228:             TypeVector 63(int16_t) 3
171             229:             TypePointer Function 228(i16vec3)
172             237:             TypeVector 63(int16_t) 4
173             238:             TypePointer Function 237(i16vec4)
174             256:             TypePointer Function 24(bf16vec4)
175             281:     25(int) Constant 1
176          289(S):             TypeStruct 6(bfloat16_t)
177             290:             TypePointer Function 289(S)
178             295:             TypeBool
179             298:6(bfloat16_t) Constant 16384
180             312:             TypeVector 25(int) 3
181             313:  312(ivec3) ConstantComposite 281 281 281
182             314:6(bfloat16_t) Constant 16672
183             315:6(bfloat16_t) Constant 16800
184             316:53(bf16vec2) ConstantComposite 315 315
185      317(bsc10):6(bfloat16_t) SpecConstant 16672
186             318:      289(S) ConstantComposite 314
187             319:             TypeArray 6(bfloat16_t) 26
188             320:         319 ConstantComposite 314 314
189             321:     25(int) Constant 10
190             322:             TypeArray 6(bfloat16_t) 321
191             323:             TypePointer Workgroup 322
192        324(bfs):    323(ptr) Variable Workgroup
193         4(main):           2 Function None 3
194               5:             Label
195           47(f):     13(ptr) Variable Function
196           49(b):      7(ptr) Variable Function
197          55(b2):     54(ptr) Variable Function
198          61(u8):     60(ptr) Variable Function
199         65(u16):     64(ptr) Variable Function
200         68(u32):     67(ptr) Variable Function
201         72(u64):     71(ptr) Variable Function
202          76(i8):     75(ptr) Variable Function
203         80(i16):     79(ptr) Variable Function
204         82(i32):     30(ptr) Variable Function
205         86(i64):     85(ptr) Variable Function
206        88(bf16):      7(ptr) Variable Function
207         92(f16):     91(ptr) Variable Function
208         94(f32):     13(ptr) Variable Function
209         96(f64):     19(ptr) Variable Function
210         161(b3):    160(ptr) Variable Function
211        174(cmA):    173(ptr) Variable Function
212       179(cmAf):    178(ptr) Variable Function
213      182(param):      7(ptr) Variable Function
214      187(param):     13(ptr) Variable Function
215      191(param):     19(ptr) Variable Function
216      193(i16_1):     79(ptr) Variable Function
217      198(i16_2):    197(ptr) Variable Function
218      203(i16_3):    202(ptr) Variable Function
219      212(i16_4):    211(ptr) Variable Function
220      220(u16_1):     64(ptr) Variable Function
221      225(u16_2):    224(ptr) Variable Function
222      230(u16_3):    229(ptr) Variable Function
223      239(u16_4):    238(ptr) Variable Function
224      247(b16_1):      7(ptr) Variable Function
225      250(b16_2):     54(ptr) Variable Function
226      253(b16_3):    160(ptr) Variable Function
227      257(b16_4):    256(ptr) Variable Function
228                              Store 47(f) 48
229                              Store 49(b) 50
230              51:   12(float) Load 47(f)
231              52:6(bfloat16_t) FConvert 51
232              56:   12(float) Load 47(f)
233              57:6(bfloat16_t) FConvert 56
234              58:53(bf16vec2) CompositeConstruct 57 57
235                              Store 55(b2) 58
236                              Store 61(u8) 62
237                              Store 65(u16) 66
238                              Store 68(u32) 69
239                              Store 72(u64) 73
240                              Store 76(i8) 77
241                              Store 80(i16) 81
242                              Store 82(i32) 83
243                              Store 86(i64) 87
244                              Store 88(bf16) 89
245                              Store 92(f16) 93
246                              Store 94(f32) 95
247                              Store 96(f64) 97
248              98:  59(int8_t) Load 61(u8)
249              99:6(bfloat16_t) ConvertUToF 98
250                              Store 49(b) 99
251             100: 63(int16_t) Load 65(u16)
252             101:6(bfloat16_t) ConvertUToF 100
253                              Store 49(b) 101
254             102:     25(int) Load 68(u32)
255             103:6(bfloat16_t) ConvertUToF 102
256                              Store 49(b) 103
257             104: 70(int64_t) Load 72(u64)
258             105:6(bfloat16_t) ConvertUToF 104
259                              Store 49(b) 105
260             106:  74(int8_t) Load 76(i8)
261             107:6(bfloat16_t) ConvertSToF 106
262                              Store 49(b) 107
263             108: 78(int16_t) Load 80(i16)
264             109:6(bfloat16_t) ConvertSToF 108
265                              Store 49(b) 109
266             110:     29(int) Load 82(i32)
267             111:6(bfloat16_t) ConvertSToF 110
268                              Store 49(b) 111
269             112: 84(int64_t) Load 86(i64)
270             113:6(bfloat16_t) ConvertSToF 112
271                              Store 49(b) 113
272             114:6(bfloat16_t) Load 88(bf16)
273                              Store 49(b) 114
274             115:90(float16_t) Load 92(f16)
275             116:6(bfloat16_t) FConvert 115
276                              Store 49(b) 116
277             117:   12(float) Load 94(f32)
278             118:6(bfloat16_t) FConvert 117
279                              Store 49(b) 118
280             119:18(float64_t) Load 96(f64)
281             120:6(bfloat16_t) FConvert 119
282                              Store 49(b) 120
283             121:6(bfloat16_t) Load 49(b)
284             122:  59(int8_t) ConvertFToU 121
285                              Store 61(u8) 122
286             123:6(bfloat16_t) Load 49(b)
287             124: 63(int16_t) ConvertFToU 123
288                              Store 65(u16) 124
289             125:6(bfloat16_t) Load 49(b)
290             126:     25(int) ConvertFToU 125
291                              Store 68(u32) 126
292             127:6(bfloat16_t) Load 49(b)
293             128: 70(int64_t) ConvertFToU 127
294                              Store 72(u64) 128
295             129:6(bfloat16_t) Load 49(b)
296             130:  74(int8_t) ConvertFToS 129
297                              Store 76(i8) 130
298             131:6(bfloat16_t) Load 49(b)
299             132: 78(int16_t) ConvertFToS 131
300                              Store 80(i16) 132
301             133:6(bfloat16_t) Load 49(b)
302             134:     29(int) ConvertFToS 133
303                              Store 82(i32) 134
304             135:6(bfloat16_t) Load 49(b)
305             136: 84(int64_t) ConvertFToS 135
306                              Store 86(i64) 136
307             137:6(bfloat16_t) Load 49(b)
308                              Store 88(bf16) 137
309             138:6(bfloat16_t) Load 49(b)
310             139:90(float16_t) FConvert 138
311                              Store 92(f16) 139
312             140:6(bfloat16_t) Load 49(b)
313             141:   12(float) FConvert 140
314                              Store 94(f32) 141
315             142:6(bfloat16_t) Load 49(b)
316             143:18(float64_t) FConvert 142
317                              Store 96(f64) 143
318             144:6(bfloat16_t) Load 49(b)
319             145:   12(float) FConvert 144
320                              Store 94(f32) 145
321             146:6(bfloat16_t) Load 49(b)
322             147:18(float64_t) FConvert 146
323                              Store 96(f64) 147
324             154:    153(ptr) AccessChain 151(buf) 152
325             155:6(bfloat16_t) Load 154
326                              Store 49(b) 155
327             158:    157(ptr) AccessChain 151(buf) 156
328             159:53(bf16vec2) Load 158
329                              Store 55(b2) 159
330             164:    163(ptr) AccessChain 151(buf) 162
331             165:148(bf16vec3) Load 164
332                              Store 161(b3) 165
333             166:53(bf16vec2) Load 55(b2)
334             167:53(bf16vec2) Load 55(b2)
335             168:6(bfloat16_t) Dot 166 167
336                              Store 174(cmA) 176
337             180:         172 Load 174(cmA)
338             181:         177 FConvert 180
339                              Store 179(cmAf) 181
340             183:6(bfloat16_t) Load 49(b)
341                              Store 182(param) 183
342             184:6(bfloat16_t) FunctionCall 10(funcbf16(bf161;) 182(param)
343             185:6(bfloat16_t) Load 49(b)
344             186:   12(float) FConvert 185
345                              Store 187(param) 186
346             188:6(bfloat16_t) FunctionCall 16(funcf32(f1;) 187(param)
347             189:6(bfloat16_t) Load 49(b)
348             190:18(float64_t) FConvert 189
349                              Store 191(param) 190
350             192:6(bfloat16_t) FunctionCall 22(funcf64(d1;) 191(param)
351             194:6(bfloat16_t) Load 49(b)
352             195: 78(int16_t) Bitcast 194
353                              Store 193(i16_1) 195
354             199:53(bf16vec2) Load 55(b2)
355             200:196(i16vec2) Bitcast 199
356                              Store 198(i16_2) 200
357             204:53(bf16vec2) Load 55(b2)
358             205:6(bfloat16_t) Load 49(b)
359             206:6(bfloat16_t) CompositeExtract 204 0
360             207:6(bfloat16_t) CompositeExtract 204 1
361             208:148(bf16vec3) CompositeConstruct 206 207 205
362             209:201(i16vec3) Bitcast 208
363                              Store 203(i16_3) 209
364             213:53(bf16vec2) Load 55(b2)
365             214:6(bfloat16_t) CompositeExtract 213 0
366             215:6(bfloat16_t) CompositeExtract 213 1
367             216:6(bfloat16_t) CompositeExtract 213 0
368             217:6(bfloat16_t) CompositeExtract 213 1
369             218:24(bf16vec4) CompositeConstruct 214 215 216 217
370             219:210(i16vec4) Bitcast 218
371                              Store 212(i16_4) 219
372             221:6(bfloat16_t) Load 49(b)
373             222: 63(int16_t) Bitcast 221
374                              Store 220(u16_1) 222
375             226:53(bf16vec2) Load 55(b2)
376             227:223(i16vec2) Bitcast 226
377                              Store 225(u16_2) 227
378             231:53(bf16vec2) Load 55(b2)
379             232:6(bfloat16_t) Load 49(b)
380             233:6(bfloat16_t) CompositeExtract 231 0
381             234:6(bfloat16_t) CompositeExtract 231 1
382             235:148(bf16vec3) CompositeConstruct 233 234 232
383             236:228(i16vec3) Bitcast 235
384                              Store 230(u16_3) 236
385             240:53(bf16vec2) Load 55(b2)
386             241:6(bfloat16_t) CompositeExtract 240 0
387             242:6(bfloat16_t) CompositeExtract 240 1
388             243:6(bfloat16_t) CompositeExtract 240 0
389             244:6(bfloat16_t) CompositeExtract 240 1
390             245:24(bf16vec4) CompositeConstruct 241 242 243 244
391             246:237(i16vec4) Bitcast 245
392                              Store 239(u16_4) 246
393             248: 78(int16_t) Load 193(i16_1)
394             249:6(bfloat16_t) Bitcast 248
395                              Store 247(b16_1) 249
396             251:196(i16vec2) Load 198(i16_2)
397             252:53(bf16vec2) Bitcast 251
398                              Store 250(b16_2) 252
399             254:201(i16vec3) Load 203(i16_3)
400             255:148(bf16vec3) Bitcast 254
401                              Store 253(b16_3) 255
402             258:210(i16vec4) Load 212(i16_4)
403             259:24(bf16vec4) Bitcast 258
404                              Store 257(b16_4) 259
405             260: 63(int16_t) Load 220(u16_1)
406             261:6(bfloat16_t) Bitcast 260
407                              Store 247(b16_1) 261
408             262:223(i16vec2) Load 225(u16_2)
409             263:53(bf16vec2) Bitcast 262
410                              Store 250(b16_2) 263
411             264:228(i16vec3) Load 230(u16_3)
412             265:148(bf16vec3) Bitcast 264
413                              Store 253(b16_3) 265
414             266:237(i16vec4) Load 239(u16_4)
415             267:24(bf16vec4) Bitcast 266
416                              Store 257(b16_4) 267
417                              Return
418                              FunctionEnd
41910(funcbf16(bf161;):6(bfloat16_t) Function None 8
420            9(x):      7(ptr) FunctionParameter
421              11:             Label
422              36:6(bfloat16_t) Load 9(x)
423                              ReturnValue 36
424                              FunctionEnd
425 16(funcf32(f1;):6(bfloat16_t) Function None 14
426           15(x):     13(ptr) FunctionParameter
427              17:             Label
428              39:   12(float) Load 15(x)
429              40:6(bfloat16_t) FConvert 39
430                              ReturnValue 40
431                              FunctionEnd
432 22(funcf64(d1;):6(bfloat16_t) Function None 20
433           21(x):     19(ptr) FunctionParameter
434              23:             Label
435              43:18(float64_t) Load 21(x)
436              44:6(bfloat16_t) FConvert 43
437                              ReturnValue 44
438                              FunctionEnd
43934(func2(vbf164[2];i1;):6(bfloat16_t) Function None 31
440           32(v):     28(ptr) FunctionParameter
441           33(i):     30(ptr) FunctionParameter
442              35:             Label
443          268(b):      7(ptr) Variable Function
444          291(s):    290(ptr) Variable Function
445             269:    256(ptr) AccessChain 32(v) 162
446             270:24(bf16vec4) Load 269
447             271:6(bfloat16_t) CompositeExtract 270 0
448             272:6(bfloat16_t) CompositeExtract 270 1
449             273:53(bf16vec2) CompositeConstruct 271 272
450             274:     29(int) Load 33(i)
451             275:6(bfloat16_t) VectorExtractDynamic 273 274
452                              Store 268(b) 275
453             276:    256(ptr) AccessChain 32(v) 156
454             277:24(bf16vec4) Load 276
455             278:6(bfloat16_t) CompositeExtract 277 0
456             279:6(bfloat16_t) CompositeExtract 277 1
457             280:53(bf16vec2) CompositeConstruct 278 279
458             282:6(bfloat16_t) CompositeExtract 280 1
459                              Store 268(b) 282
460             283:     29(int) Load 33(i)
461             284:     29(int) Load 33(i)
462             285:     29(int) Load 33(i)
463             286:      7(ptr) AccessChain 32(v) 284 285
464             287:6(bfloat16_t) Load 286
465             288:      7(ptr) AccessChain 32(v) 283 26
466                              Store 288 287
467             292:6(bfloat16_t) Load 268(b)
468             293:      7(ptr) AccessChain 291(s) 162
469                              Store 293 292
470             294:     29(int) Load 33(i)
471             296:   295(bool) INotEqual 294 162
472             297:6(bfloat16_t) Load 268(b)
473             299:6(bfloat16_t) Select 296 297 298
474                              Store 268(b) 299
475             300:     29(int) Load 33(i)
476             301:   295(bool) IEqual 300 152
477                              SelectionMerge 303 None
478                              BranchConditional 301 302 306
479             302:               Label
480             304:      7(ptr)   AccessChain 32(v) 162 171
481             305:6(bfloat16_t)   Load 304
482                                Store 268(b) 305
483                                Branch 303
484             306:               Label
485             307:      7(ptr)   AccessChain 32(v) 156 281
486             308:6(bfloat16_t)   Load 307
487                                Store 268(b) 308
488                                Branch 303
489             303:             Label
490             309:6(bfloat16_t) Load 268(b)
491                              ReturnValue 309
492                              FunctionEnd