spv.intcoopmat.comp // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 286 Capability Shader Capability Float16 Capability Int16 Capability Int8 Capability StorageBuffer8BitAccess Capability VulkanMemoryModelKHR Capability PhysicalStorageBufferAddressesEXT Capability CooperativeMatrixNV Extension "SPV_KHR_8bit_storage" Extension "SPV_KHR_physical_storage_buffer" Extension "SPV_KHR_storage_buffer_storage_class" Extension "SPV_KHR_vulkan_memory_model" Extension "SPV_NV_cooperative_matrix" 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_memory_scope_semantics" SourceExtension "GL_NV_cooperative_matrix" SourceExtension "GL_NV_integer_cooperative_matrix" Name 4 "main" Name 14 "ineg(i81;" Name 13 "m" Name 21 "umul(u81;" Name 20 "m" Name 35 "mu" Name 39 "mi" Name 55 "mf16_0" Name 61 "mf32_0" Name 64 "mf16_1" Name 67 "mf32_1" Name 71 "x" Name 81 "tempArg" Name 85 "Block" MemberName 85(Block) 0 "y" MemberName 85(Block) 1 "x" Name 87 "block" Name 98 "tempArg" Name 103 "Block16" MemberName 103(Block16) 0 "y" MemberName 103(Block16) 1 "x" MemberName 103(Block16) 2 "b" Name 106 "Block" MemberName 106(Block) 0 "y" MemberName 106(Block) 1 "x" Name 108 "block8" Name 115 "tempArg" Name 128 "D" Name 129 "A" Name 131 "B" Name 133 "C" Name 137 "l" Name 142 "a" Name 146 "md1" Name 156 "Y" Name 157 "Z" Name 161 "muC2" Name 169 "miC2" Name 176 "tempArg" Name 182 "tempArg" Name 188 "p1" Name 189 "param" Name 192 "p2" Name 193 "param" Name 207 "tempArg" Name 212 "shmatrix" Name 217 "ms" Name 224 "i16" Name 230 "u16" Name 233 "tempArg" Name 239 "tempArg" Name 249 "miC" Name 250 "muC" Name 255 "iarr" Name 260 "iarr2" Name 265 "uarr" Name 270 "uarr2" Name 275 "S" MemberName 275(S) 0 "a" MemberName 275(S) 1 "b" MemberName 275(S) 2 "c" Name 280 "SC" Name 285 "scm" 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(block) Binding 0 Decorate 87(block) DescriptorSet 0 Decorate 99 ArrayStride 1 Decorate 101 ArrayStride 1 Decorate 103(Block16) Block MemberDecorate 103(Block16) 0 Offset 0 MemberDecorate 103(Block16) 1 Offset 1048576 MemberDecorate 103(Block16) 2 Offset 1048584 Decorate 104 ArrayStride 4 Decorate 105 ArrayStride 4 Decorate 106(Block) Block MemberDecorate 106(Block) 0 Offset 0 MemberDecorate 106(Block) 1 Offset 4194304 Decorate 108(block8) Binding 0 Decorate 108(block8) DescriptorSet 0 Decorate 156(Y) SpecId 0 Decorate 247 BuiltIn WorkgroupSize Decorate 280(SC) SpecId 2 2: TypeVoid 3: TypeFunction 2 6: TypeInt 8 1 7: TypeInt 32 0 8: 7(int) Constant 3 9: 7(int) Constant 8 10: TypeCooperativeMatrixNV 6(int8_t) 8 9 9 11: TypePointer Function 10 12: TypeFunction 10 11(ptr) 16: TypeInt 8 0 17: TypeCooperativeMatrixNV 16(int8_t) 8 9 9 18: TypePointer Function 17 19: TypeFunction 17 18(ptr) 28: 16(int8_t) Constant 2 32: 7(int) Constant 16 33: TypeCooperativeMatrixNV 16(int8_t) 8 32 9 34: TypePointer Function 33 36: 33 ConstantComposite 28 37: TypeCooperativeMatrixNV 6(int8_t) 8 32 9 38: TypePointer Function 37 40: 6(int8_t) Constant 2 41: 37 ConstantComposite 40 52: TypeFloat 16 53: TypeCooperativeMatrixNV 52(float16_t) 8 32 9 54: TypePointer Function 53 58: TypeFloat 32 59: TypeCooperativeMatrixNV 58(float) 8 32 9 60: TypePointer Function 59 70: TypePointer Function 16(int8_t) 72: TypeInt 32 1 73: 72(int) Constant 1 76: 72(int) Constant 0 79: TypePointer Function 6(int8_t) 82: 7(int) Constant 1048576 83: TypeArray 7(int) 82 84: TypeRuntimeArray 7(int) 85(Block): TypeStruct 83 84 86: TypePointer StorageBuffer 85(Block) 87(block): 86(ptr) Variable StorageBuffer 88: 7(int) Constant 5 89: TypePointer StorageBuffer 7(int) 91: 7(int) Constant 128 92: TypeBool 93: 92(bool) ConstantFalse 99: TypeArray 6(int8_t) 82 100: 7(int) Constant 1 101: TypeArray 6(int8_t) 100 TypeForwardPointer 102 PhysicalStorageBufferEXT 103(Block16): TypeStruct 99 101 102 104: TypeArray 7(int) 82 105: TypeRuntimeArray 7(int) 106(Block): TypeStruct 104 105 102: TypePointer PhysicalStorageBufferEXT 106(Block) 107: TypePointer StorageBuffer 103(Block16) 108(block8): 107(ptr) Variable StorageBuffer 109: TypePointer StorageBuffer 6(int8_t) 116: 72(int) Constant 2 117: TypePointer StorageBuffer 102(ptr) 120: TypePointer PhysicalStorageBufferEXT 7(int) 136: TypePointer Function 72(int) 138: 7(int) SpecConstantOp 5362 33 139: 72(int) SpecConstantOp 128 138 76 140: TypeArray 37 88 141: TypePointer Function 140 143: 72(int) Constant 3 144: 6(int8_t) Constant 1 150: 72(int) Constant 1234 155: 72(int) Constant 8 156(Y): 72(int) SpecConstant 2 157(Z): 72(int) SpecConstantOp 132 155 156(Y) 158: TypeCooperativeMatrixNV 16(int8_t) 8 157(Z) 9 159: TypeArray 158 8 160: TypePointer Private 159 161(muC2): 160(ptr) Variable Private 162: TypePointer Private 158 166: TypeCooperativeMatrixNV 6(int8_t) 8 157(Z) 9 167: TypeArray 166 8 168: TypePointer Private 167 169(miC2): 168(ptr) Variable Private 170: TypePointer Private 6(int8_t) 174: TypePointer Private 16(int8_t) 204: 16(int8_t) Constant 4 208: TypeVector 7(int) 4 209: 7(int) Constant 32 210: TypeArray 208(ivec4) 209 211: TypePointer Workgroup 210 212(shmatrix): 211(ptr) Variable Workgroup 213: 7(int) Constant 2 214: TypePointer Workgroup 208(ivec4) 221: TypeInt 16 1 222: TypeCooperativeMatrixNV 221(int16_t) 8 32 9 223: TypePointer Function 222 225:221(int16_t) Constant 0 226: 222 ConstantComposite 225 227: TypeInt 16 0 228: TypeCooperativeMatrixNV 227(int16_t) 8 32 9 229: TypePointer Function 228 231:227(int16_t) Constant 0 232: 228 ConstantComposite 231 245: TypeVector 7(int) 3 246: 7(int) Constant 64 247: 245(ivec3) ConstantComposite 246 100 100 248: TypePointer Private 166 249(miC): 248(ptr) Variable Private 250(muC): 162(ptr) Variable Private 251: 7(int) SpecConstantOp 5362 166 252: 72(int) SpecConstantOp 128 251 76 253: TypeArray 72(int) 252 254: TypePointer Private 253 255(iarr): 254(ptr) Variable Private 256: 7(int) SpecConstantOp 5362 166 257: 72(int) SpecConstantOp 128 256 76 258: TypeArray 72(int) 257 259: TypePointer Private 258 260(iarr2): 259(ptr) Variable Private 261: 7(int) SpecConstantOp 5362 158 262: 72(int) SpecConstantOp 128 261 76 263: TypeArray 72(int) 262 264: TypePointer Private 263 265(uarr): 264(ptr) Variable Private 266: 7(int) SpecConstantOp 5362 158 267: 72(int) SpecConstantOp 128 266 76 268: TypeArray 72(int) 267 269: TypePointer Private 268 270(uarr2): 269(ptr) Variable Private 271: TypeCooperativeMatrixNV 72(int) 8 157(Z) 9 272: 271 ConstantComposite 73 273: 16(int8_t) Constant 1 274: 17 ConstantComposite 273 275(S): TypeStruct 72(int) 72(int) 72(int) 276: 72(int) Constant 12 277: 72(int) Constant 23 278: 72(int) Constant 34 279: 275(S) ConstantComposite 276 277 278 280(SC): 72(int) SpecConstant 1 281: TypeCooperativeMatrixNV 7(int) 8 280(SC) 280(SC) 282: TypeArray 281 280(SC) 283: TypeArray 282 280(SC) 284: TypePointer Private 283 285(scm): 284(ptr) Variable Private 4(main): 2 Function None 3 5: Label 35(mu): 34(ptr) Variable Function 39(mi): 38(ptr) Variable Function 55(mf16_0): 54(ptr) Variable Function 61(mf32_0): 60(ptr) Variable Function 64(mf16_1): 54(ptr) Variable Function 67(mf32_1): 60(ptr) Variable Function 71(x): 70(ptr) Variable Function 81(tempArg): 38(ptr) Variable Function 98(tempArg): 34(ptr) Variable Function 115(tempArg): 38(ptr) Variable Function 128(D): 34(ptr) Variable Function 129(A): 34(ptr) Variable Function 131(B): 18(ptr) Variable Function 133(C): 34(ptr) Variable Function 137(l): 136(ptr) Variable Function 142(a): 141(ptr) Variable Function 146(md1): 136(ptr) Variable Function 176(tempArg): 38(ptr) Variable Function 182(tempArg): 34(ptr) Variable Function 188(p1): 11(ptr) Variable Function 189(param): 11(ptr) Variable Function 192(p2): 18(ptr) Variable Function 193(param): 18(ptr) Variable Function 207(tempArg): 38(ptr) Variable Function 217(ms): 38(ptr) Variable Function 224(i16): 223(ptr) Variable Function 230(u16): 229(ptr) Variable Function 233(tempArg): 223(ptr) Variable Function 239(tempArg): 229(ptr) Variable Function Store 35(mu) 36 Store 39(mi) 41 42: 33 Load 35(mu) 43: 33 Load 35(mu) 44: 33 IAdd 42 43 Store 35(mu) 44 45: 33 Load 35(mu) 46: 33 Load 35(mu) 47: 33 ISub 45 46 Store 35(mu) 47 48: 37 Load 39(mi) 49: 37 SNegate 48 Store 39(mi) 49 50: 37 Load 39(mi) 51: 37 MatrixTimesScalar 50 40 Store 39(mi) 51 56: 33 Load 35(mu) 57: 53 ConvertUToF 56 Store 55(mf16_0) 57 62: 33 Load 35(mu) 63: 59 ConvertUToF 62 Store 61(mf32_0) 63 65: 37 Load 39(mi) 66: 53 ConvertSToF 65 Store 64(mf16_1) 66 68: 37 Load 39(mi) 69: 59 ConvertSToF 68 Store 67(mf32_1) 69 74: 70(ptr) AccessChain 35(mu) 73 75: 16(int8_t) Load 74 Store 71(x) 75 77: 16(int8_t) Load 71(x) 78: 6(int8_t) Bitcast 77 80: 79(ptr) AccessChain 39(mi) 76 Store 80 78 90: 89(ptr) AccessChain 87(block) 73 32 94: 37 CooperativeMatrixLoadNV 90 91 93 MakePointerVisibleKHR NonPrivatePointerKHR 88 Store 81(tempArg) 94 95: 37 Load 81(tempArg) Store 39(mi) 95 96: 37 Load 39(mi) 97: 89(ptr) AccessChain 87(block) 73 32 CooperativeMatrixStoreNV 97 96 91 93 MakePointerAvailableKHR NonPrivatePointerKHR 88 110: 109(ptr) AccessChain 108(block8) 73 32 111: 33 CooperativeMatrixLoadNV 110 91 93 MakePointerVisibleKHR NonPrivatePointerKHR 88 Store 98(tempArg) 111 112: 33 Load 98(tempArg) Store 35(mu) 112 113: 33 Load 35(mu) 114: 109(ptr) AccessChain 108(block8) 73 32 CooperativeMatrixStoreNV 114 113 91 93 MakePointerAvailableKHR NonPrivatePointerKHR 88 118: 117(ptr) AccessChain 108(block8) 116 119: 102(ptr) Load 118 MakePointerVisibleKHR NonPrivatePointerKHR 88 121: 120(ptr) AccessChain 119 73 32 122: 37 CooperativeMatrixLoadNV 121 91 93 Aligned MakePointerVisibleKHR NonPrivatePointerKHR 16 88 Store 115(tempArg) 122 123: 37 Load 115(tempArg) Store 39(mi) 123 124: 37 Load 39(mi) 125: 117(ptr) AccessChain 108(block8) 116 126: 102(ptr) Load 125 MakePointerVisibleKHR NonPrivatePointerKHR 88 127: 120(ptr) AccessChain 126 73 32 CooperativeMatrixStoreNV 127 124 91 93 Aligned MakePointerAvailableKHR NonPrivatePointerKHR 16 88 130: 33 Load 129(A) 132: 17 Load 131(B) 134: 33 Load 133(C) 135: 33 CooperativeMatrixMulAddNV 130 132 134 Store 128(D) 135 Store 137(l) 139 145: 79(ptr) AccessChain 142(a) 143 76 Store 145 144 Store 146(md1) 73 147: 37 Load 39(mi) 148: 37 Load 39(mi) 149: 37 IAdd 148 147 Store 39(mi) 149 151: 6(int8_t) CompositeExtract 149 1234 152: 72(int) SConvert 151 153: 72(int) Load 146(md1) 154: 72(int) IAdd 153 152 Store 146(md1) 154 163: 162(ptr) AccessChain 161(muC2) 73 164: 158 Load 163 165: 162(ptr) AccessChain 161(muC2) 76 Store 165 164 171: 170(ptr) AccessChain 169(miC2) 116 76 172: 6(int8_t) Load 171 173: 16(int8_t) Bitcast 172 175: 174(ptr) AccessChain 161(muC2) 73 76 Store 175 173 177: 89(ptr) AccessChain 87(block) 76 32 178: 37 CooperativeMatrixLoadNV 177 91 93 MakePointerVisibleKHR NonPrivatePointerKHR 88 Store 176(tempArg) 178 179: 37 Load 176(tempArg) Store 39(mi) 179 180: 37 Load 39(mi) 181: 89(ptr) AccessChain 87(block) 76 32 CooperativeMatrixStoreNV 181 180 91 93 MakePointerAvailableKHR NonPrivatePointerKHR 88 183: 109(ptr) AccessChain 108(block8) 76 32 184: 33 CooperativeMatrixLoadNV 183 91 93 MakePointerVisibleKHR NonPrivatePointerKHR 88 Store 182(tempArg) 184 185: 33 Load 182(tempArg) Store 35(mu) 185 186: 33 Load 35(mu) 187: 109(ptr) AccessChain 108(block8) 76 32 CooperativeMatrixStoreNV 187 186 91 93 MakePointerAvailableKHR NonPrivatePointerKHR 88 190: 10 Load 188(p1) Store 189(param) 190 191: 10 FunctionCall 14(ineg(i81;) 189(param) Store 188(p1) 191 194: 17 Load 192(p2) Store 193(param) 194 195: 17 FunctionCall 21(umul(u81;) 193(param) Store 192(p2) 195 196: 10 Load 188(p1) 197: 10 Load 188(p1) 198: 10 SDiv 197 196 Store 188(p1) 198 199: 17 Load 192(p2) 200: 17 Load 192(p2) 201: 17 UDiv 200 199 Store 192(p2) 201 202: 10 Load 188(p1) 203: 10 MatrixTimesScalar 202 40 Store 188(p1) 203 205: 17 Load 192(p2) 206: 17 MatrixTimesScalar 205 204 Store 192(p2) 206 215: 214(ptr) AccessChain 212(shmatrix) 100 216: 37 CooperativeMatrixLoadNV 215 213 93 MakePointerVisibleKHR NonPrivatePointerKHR 213 Store 207(tempArg) 216 218: 37 Load 207(tempArg) Store 217(ms) 218 219: 37 Load 217(ms) 220: 214(ptr) AccessChain 212(shmatrix) 100 CooperativeMatrixStoreNV 220 219 213 93 MakePointerAvailableKHR NonPrivatePointerKHR 213 Store 224(i16) 226 Store 230(u16) 232 234: 214(ptr) AccessChain 212(shmatrix) 100 235: 222 CooperativeMatrixLoadNV 234 213 93 MakePointerVisibleKHR NonPrivatePointerKHR 213 Store 233(tempArg) 235 236: 222 Load 233(tempArg) Store 224(i16) 236 237: 222 Load 224(i16) 238: 214(ptr) AccessChain 212(shmatrix) 100 CooperativeMatrixStoreNV 238 237 213 93 MakePointerAvailableKHR NonPrivatePointerKHR 213 240: 214(ptr) AccessChain 212(shmatrix) 100 241: 228 CooperativeMatrixLoadNV 240 213 93 MakePointerVisibleKHR NonPrivatePointerKHR 213 Store 239(tempArg) 241 242: 228 Load 239(tempArg) Store 230(u16) 242 243: 228 Load 230(u16) 244: 214(ptr) AccessChain 212(shmatrix) 100 CooperativeMatrixStoreNV 244 243 213 93 MakePointerAvailableKHR NonPrivatePointerKHR 213 Return FunctionEnd 14(ineg(i81;): 10 Function None 12 13(m): 11(ptr) FunctionParameter 15: Label 23: 10 Load 13(m) 24: 10 SNegate 23 ReturnValue 24 FunctionEnd 21(umul(u81;): 17 Function None 19 20(m): 18(ptr) FunctionParameter 22: Label 27: 17 Load 20(m) 29: 17 MatrixTimesScalar 27 28 ReturnValue 29 FunctionEnd