| 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 |