spv.coopmatKHR.comp // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 250 Capability Shader Capability Float16 Capability Int16 Capability Int8 Capability StorageUniformBufferBlock16 Capability VulkanMemoryModelKHR Capability PhysicalStorageBufferAddressesEXT Capability CooperativeMatrixKHR Extension "SPV_KHR_16bit_storage" Extension "SPV_KHR_cooperative_matrix" Extension "SPV_KHR_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" Extension "SPV_KHR_vulkan_memory_model" 1: ExtInstImport "GLSL.std.450" MemoryModel PhysicalStorageBuffer64EXT VulkanKHR EntryPoint GLCompute 4 "main" ExecutionMode 4 LocalSize 64 1 1 Source GLSL 450 SourceExtension "GL_EXT_buffer_reference" SourceExtension "GL_EXT_shader_explicit_arithmetic_types" SourceExtension "GL_KHR_cooperative_matrix" SourceExtension "GL_KHR_memory_scope_semantics" Name 4 "main" Name 15 "f16(f161;" Name 14 "m" Name 22 "f32(f1;" Name 21 "m" Name 35 "m" Name 53 "m2" Name 57 "x" Name 65 "tempArg" Name 69 "Block" MemberName 69(Block) 0 "y" MemberName 69(Block) 1 "x" Name 71 "block" Name 80 "tempArg" Name 85 "Block16" MemberName 85(Block16) 0 "y" MemberName 85(Block16) 1 "x" MemberName 85(Block16) 2 "b" Name 88 "Block" MemberName 88(Block) 0 "y" MemberName 88(Block) 1 "x" Name 90 "block16" Name 97 "tempArg" Name 110 "D" Name 114 "A" Name 118 "B" Name 120 "C" Name 124 "l" Name 128 "Y" Name 129 "Z" Name 132 "F" Name 137 "a" Name 141 "md1" Name 152 "mC2" Name 157 "tempArg" Name 163 "tempArg" Name 169 "p1" Name 170 "param" Name 173 "p2" Name 174 "param" Name 188 "tempArg" Name 193 "shmatrix" Name 197 "ms" Name 204 "ms8A" Name 208 "ms8B" Name 212 "ms8C" Name 227 "m16" Name 233 "mC" Name 234 "F" Name 239 "S" MemberName 239(S) 0 "a" MemberName 239(S) 1 "b" MemberName 239(S) 2 "c" Name 244 "SC" Name 249 "scm" Decorate 67 ArrayStride 4 Decorate 68 ArrayStride 4 Decorate 69(Block) Block MemberDecorate 69(Block) 0 Offset 0 MemberDecorate 69(Block) 1 Offset 4194304 Decorate 71(block) Binding 0 Decorate 71(block) DescriptorSet 0 Decorate 81 ArrayStride 2 Decorate 83 ArrayStride 2 Decorate 85(Block16) Block MemberDecorate 85(Block16) 0 Offset 0 MemberDecorate 85(Block16) 1 Offset 2097152 MemberDecorate 85(Block16) 2 Offset 2097160 Decorate 86 ArrayStride 4 Decorate 87 ArrayStride 4 Decorate 88(Block) Block MemberDecorate 88(Block) 0 Offset 0 MemberDecorate 88(Block) 1 Offset 4194304 Decorate 90(block16) Binding 0 Decorate 90(block16) DescriptorSet 0 Decorate 128(Y) SpecId 0 Decorate 232 BuiltIn WorkgroupSize Decorate 234(F) SpecId 1 Decorate 244(SC) SpecId 2 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 16 7: TypeInt 32 0 8: 7(int) Constant 3 9: 7(int) Constant 8 10: 7(int) Constant 2 11: TypeCooperativeMatrixKHR 6(float16_t) 8 9 9 10 12: TypePointer Function 11 13: TypeFunction 11 12(ptr) 17: TypeFloat 32 18: TypeCooperativeMatrixKHR 17(float) 8 9 9 10 19: TypePointer Function 18 20: TypeFunction 18 19(ptr) 32: 7(int) Constant 16 33: TypeCooperativeMatrixKHR 17(float) 8 32 9 10 34: TypePointer Function 33 36: 17(float) Constant 0 37: 33 ConstantComposite 36 46: 17(float) Constant 1073741824 51: TypeCooperativeMatrixKHR 6(float16_t) 8 32 9 10 52: TypePointer Function 51 56: TypePointer Function 17(float) 58: TypeInt 32 1 59: 58(int) Constant 1 62: 58(int) Constant 0 66: 7(int) Constant 1048576 67: TypeArray 17(float) 66 68: TypeRuntimeArray 17(float) 69(Block): TypeStruct 67 68 70: TypePointer StorageBuffer 69(Block) 71(block): 70(ptr) Variable StorageBuffer 72: 7(int) Constant 5 73: TypePointer StorageBuffer 17(float) 75: 7(int) Constant 128 81: TypeArray 6(float16_t) 66 82: 7(int) Constant 1 83: TypeArray 6(float16_t) 82 TypeForwardPointer 84 PhysicalStorageBufferEXT 85(Block16): TypeStruct 81 83 84 86: TypeArray 17(float) 66 87: TypeRuntimeArray 17(float) 88(Block): TypeStruct 86 87 84: TypePointer PhysicalStorageBufferEXT 88(Block) 89: TypePointer StorageBuffer 85(Block16) 90(block16): 89(ptr) Variable StorageBuffer 91: TypePointer StorageBuffer 6(float16_t) 98: 58(int) Constant 2 99: TypePointer StorageBuffer 84(ptr) 102: TypePointer PhysicalStorageBufferEXT 17(float) 111: 7(int) Constant 0 112: TypeCooperativeMatrixKHR 6(float16_t) 8 32 9 111 113: TypePointer Function 112 116: TypeCooperativeMatrixKHR 6(float16_t) 8 9 9 82 117: TypePointer Function 116 123: TypePointer Function 58(int) 127: 58(int) Constant 8 128(Y): 58(int) SpecConstant 2 129(Z): 58(int) SpecConstantOp 132 127 128(Y) 130: TypeCooperativeMatrixKHR 6(float16_t) 8 129(Z) 129(Z) 10 131: TypePointer Function 130 133:6(float16_t) Constant 0 134: 130 ConstantComposite 133 135: TypeArray 33 72 136: TypePointer Function 135 138: 58(int) Constant 3 139: 17(float) Constant 1065353216 145: 58(int) Constant 1234 149: TypeCooperativeMatrixKHR 6(float16_t) 8 129(Z) 9 10 150: TypeArray 149 8 151: TypePointer Private 150 152(mC2): 151(ptr) Variable Private 153: TypePointer Private 149 177: 11 ConstantComposite 133 178: 18 ConstantComposite 36 182:6(float16_t) Constant 16384 185: 17(float) Constant 1082130432 189: TypeVector 7(int) 4 190: 7(int) Constant 32 191: TypeArray 189(ivec4) 190 192: TypePointer Workgroup 191 193(shmatrix): 192(ptr) Variable Workgroup 194: TypePointer Workgroup 189(ivec4) 201: TypeInt 8 1 202: TypeCooperativeMatrixKHR 201(int8_t) 8 9 9 111 203: TypePointer Function 202 206: TypeCooperativeMatrixKHR 201(int8_t) 8 9 9 82 207: TypePointer Function 206 210: TypeCooperativeMatrixKHR 201(int8_t) 8 9 9 10 211: TypePointer Function 210 222: 58(int) Constant 16 224: TypeInt 16 1 225: TypeCooperativeMatrixKHR 224(int16_t) 8 9 9 111 226: TypePointer Function 225 230: TypeVector 7(int) 3 231: 7(int) Constant 64 232: 230(ivec3) ConstantComposite 231 82 82 233(mC): 153(ptr) Variable Private 234(F): 17(float) SpecConstant 1077936128 235: TypeCooperativeMatrixKHR 17(float) 8 129(Z) 9 10 236: 235 ConstantComposite 36 237:6(float16_t) Constant 15360 238: 11 ConstantComposite 237 239(S): TypeStruct 58(int) 58(int) 58(int) 240: 58(int) Constant 12 241: 58(int) Constant 23 242: 58(int) Constant 34 243: 239(S) ConstantComposite 240 241 242 244(SC): 58(int) SpecConstant 1 245: TypeCooperativeMatrixKHR 6(float16_t) 8 244(SC) 244(SC) 10 246: TypeArray 245 244(SC) 247: TypeArray 246 244(SC) 248: TypePointer Private 247 249(scm): 248(ptr) Variable Private 4(main): 2 Function None 3 5: Label 35(m): 34(ptr) Variable Function 53(m2): 52(ptr) Variable Function 57(x): 56(ptr) Variable Function 65(tempArg): 34(ptr) Variable Function 80(tempArg): 52(ptr) Variable Function 97(tempArg): 34(ptr) Variable Function 110(D): 34(ptr) Variable Function 114(A): 113(ptr) Variable Function 118(B): 117(ptr) Variable Function 120(C): 34(ptr) Variable Function 124(l): 123(ptr) Variable Function 132(F): 131(ptr) Variable Function 137(a): 136(ptr) Variable Function 141(md1): 56(ptr) Variable Function 157(tempArg): 34(ptr) Variable Function 163(tempArg): 52(ptr) Variable Function 169(p1): 12(ptr) Variable Function 170(param): 12(ptr) Variable Function 173(p2): 19(ptr) Variable Function 174(param): 19(ptr) Variable Function 188(tempArg): 52(ptr) Variable Function 197(ms): 52(ptr) Variable Function 204(ms8A): 203(ptr) Variable Function 208(ms8B): 207(ptr) Variable Function 212(ms8C): 211(ptr) Variable Function 227(m16): 226(ptr) Variable Function Store 35(m) 37 38: 33 Load 35(m) 39: 33 Load 35(m) 40: 33 FAdd 38 39 Store 35(m) 40 41: 33 Load 35(m) 42: 33 Load 35(m) 43: 33 FSub 41 42 Store 35(m) 43 44: 33 Load 35(m) 45: 33 FNegate 44 Store 35(m) 45 47: 33 Load 35(m) 48: 33 MatrixTimesScalar 47 46 Store 35(m) 48 49: 33 Load 35(m) 50: 33 MatrixTimesScalar 49 46 Store 35(m) 50 54: 33 Load 35(m) 55: 51 FConvert 54 Store 53(m2) 55 60: 56(ptr) AccessChain 35(m) 59 61: 17(float) Load 60 Store 57(x) 61 63: 17(float) Load 57(x) 64: 56(ptr) AccessChain 35(m) 62 Store 64 63 74: 73(ptr) AccessChain 71(block) 59 32 76: 33 CooperativeMatrixLoadKHR 74 62 75 MakePointerVisibleKHR NonPrivatePointerKHR 72 Store 65(tempArg) 76 77: 33 Load 65(tempArg) Store 35(m) 77 78: 33 Load 35(m) 79: 73(ptr) AccessChain 71(block) 59 32 CooperativeMatrixStoreKHR 79 78 62 75 MakePointerAvailableKHR NonPrivatePointerKHR 72 92: 91(ptr) AccessChain 90(block16) 59 32 93: 51 CooperativeMatrixLoadKHR 92 62 75 MakePointerVisibleKHR NonPrivatePointerKHR 72 Store 80(tempArg) 93 94: 51 Load 80(tempArg) Store 53(m2) 94 95: 51 Load 53(m2) 96: 91(ptr) AccessChain 90(block16) 59 32 CooperativeMatrixStoreKHR 96 95 62 75 MakePointerAvailableKHR NonPrivatePointerKHR 72 100: 99(ptr) AccessChain 90(block16) 98 101: 84(ptr) Load 100 MakePointerVisibleKHR NonPrivatePointerKHR 72 103: 102(ptr) AccessChain 101 59 32 104: 33 CooperativeMatrixLoadKHR 103 62 75 Aligned MakePointerVisibleKHR NonPrivatePointerKHR 16 72 Store 97(tempArg) 104 105: 33 Load 97(tempArg) Store 35(m) 105 106: 33 Load 35(m) 107: 99(ptr) AccessChain 90(block16) 98 108: 84(ptr) Load 107 MakePointerVisibleKHR NonPrivatePointerKHR 72 109: 102(ptr) AccessChain 108 59 32 CooperativeMatrixStoreKHR 109 106 62 75 Aligned MakePointerAvailableKHR NonPrivatePointerKHR 16 72 115: 112 Load 114(A) 119: 116 Load 118(B) 121: 33 Load 120(C) 122: 33 CooperativeMatrixMulAddKHR 115 119 121 Store 110(D) 122 125: 7(int) CooperativeMatrixLengthKHR 33 126: 58(int) Bitcast 125 Store 124(l) 126 Store 132(F) 134 140: 56(ptr) AccessChain 137(a) 138 62 Store 140 139 Store 141(md1) 36 142: 33 Load 35(m) 143: 33 Load 35(m) 144: 33 FAdd 143 142 Store 35(m) 144 146: 17(float) CompositeExtract 144 1234 147: 17(float) Load 141(md1) 148: 17(float) FAdd 147 146 Store 141(md1) 148 154: 153(ptr) AccessChain 152(mC2) 98 155: 149 Load 154 156: 153(ptr) AccessChain 152(mC2) 59 Store 156 155 158: 73(ptr) AccessChain 71(block) 62 32 159: 33 CooperativeMatrixLoadKHR 158 62 75 MakePointerVisibleKHR NonPrivatePointerKHR 72 Store 157(tempArg) 159 160: 33 Load 157(tempArg) Store 35(m) 160 161: 33 Load 35(m) 162: 73(ptr) AccessChain 71(block) 62 32 CooperativeMatrixStoreKHR 162 161 62 75 MakePointerAvailableKHR NonPrivatePointerKHR 72 164: 91(ptr) AccessChain 90(block16) 62 32 165: 51 CooperativeMatrixLoadKHR 164 62 75 MakePointerVisibleKHR NonPrivatePointerKHR 72 Store 163(tempArg) 165 166: 51 Load 163(tempArg) Store 53(m2) 166 167: 51 Load 53(m2) 168: 91(ptr) AccessChain 90(block16) 62 32 CooperativeMatrixStoreKHR 168 167 62 75 MakePointerAvailableKHR NonPrivatePointerKHR 72 171: 11 Load 169(p1) Store 170(param) 171 172: 11 FunctionCall 15(f16(f161;) 170(param) Store 169(p1) 172 175: 18 Load 173(p2) Store 174(param) 175 176: 18 FunctionCall 22(f32(f1;) 174(param) Store 173(p2) 176 Store 169(p1) 177 Store 173(p2) 178 179: 11 Load 169(p1) 180: 11 Load 169(p1) 181: 11 FDiv 180 179 Store 169(p1) 181 183: 11 Load 169(p1) 184: 11 MatrixTimesScalar 183 182 Store 169(p1) 184 186: 18 Load 173(p2) 187: 18 MatrixTimesScalar 186 185 Store 173(p2) 187 195: 194(ptr) AccessChain 193(shmatrix) 82 196: 51 CooperativeMatrixLoadKHR 195 62 10 MakePointerVisibleKHR NonPrivatePointerKHR 10 Store 188(tempArg) 196 198: 51 Load 188(tempArg) Store 197(ms) 198 199: 51 Load 197(ms) 200: 194(ptr) AccessChain 193(shmatrix) 82 CooperativeMatrixStoreKHR 200 199 62 10 MakePointerAvailableKHR NonPrivatePointerKHR 10 205: 202 Load 204(ms8A) 209: 206 Load 208(ms8B) 213: 210 Load 212(ms8C) 214: 210 CooperativeMatrixMulAddKHR 205 209 213 ASignedComponentsKHR BSignedComponentsKHR CSignedComponentsKHR ResultSignedComponentsKHR 215: 202 Load 204(ms8A) 216: 206 Load 208(ms8B) 217: 210 Load 212(ms8C) 218: 210 CooperativeMatrixMulAddKHR 215 216 217 ASignedComponentsKHR BSignedComponentsKHR CSignedComponentsKHR ResultSignedComponentsKHR 219: 202 Load 204(ms8A) 220: 206 Load 208(ms8B) 221: 210 Load 212(ms8C) 223: 210 CooperativeMatrixMulAddKHR 219 220 221 ASignedComponentsKHR BSignedComponentsKHR CSignedComponentsKHR ResultSignedComponentsKHR SaturatingAccumulationKHR 228: 225 Load 227(m16) 229: 194(ptr) AccessChain 193(shmatrix) 82 CooperativeMatrixStoreKHR 229 228 62 10 MakePointerAvailableKHR NonPrivatePointerKHR 10 Return FunctionEnd 15(f16(f161;): 11 Function None 13 14(m): 12(ptr) FunctionParameter 16: Label 24: 11 Load 14(m) 25: 11 FNegate 24 ReturnValue 25 FunctionEnd 22(f32(f1;): 18 Function None 20 21(m): 19(ptr) FunctionParameter 23: Label 28: 18 Load 21(m) 29: 18 FNegate 28 ReturnValue 29 FunctionEnd