yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
7a5308f4
main
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