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