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