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