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