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