| spv.intcoopmat.comp |
| // Module Version 10000 |
| // Generated by (magic number): 80007 |
| // Id's are bound by 262 |
| |
| Capability Shader |
| Capability Float16 |
| Capability Int8 |
| Capability StorageBuffer8BitAccess |
| Capability VulkanMemoryModelKHR |
| Capability PhysicalStorageBufferAddressesEXT |
| Capability CooperativeMatrixNV |
| Extension "SPV_EXT_physical_storage_buffer" |
| Extension "SPV_KHR_8bit_storage" |
| 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 225 "miC" |
| Name 226 "muC" |
| Name 231 "iarr" |
| Name 236 "iarr2" |
| Name 241 "uarr" |
| Name 246 "uarr2" |
| Name 251 "S" |
| MemberName 251(S) 0 "a" |
| MemberName 251(S) 1 "b" |
| MemberName 251(S) 2 "c" |
| Name 256 "SC" |
| Name 261 "scm" |
| Decorate 83 ArrayStride 4 |
| Decorate 84 ArrayStride 4 |
| MemberDecorate 85(Block) 0 Offset 0 |
| MemberDecorate 85(Block) 1 Offset 4194304 |
| Decorate 85(Block) Block |
| Decorate 87(block) DescriptorSet 0 |
| Decorate 87(block) Binding 0 |
| Decorate 99 ArrayStride 1 |
| Decorate 101 ArrayStride 1 |
| MemberDecorate 103(Block16) 0 Offset 0 |
| MemberDecorate 103(Block16) 1 Offset 1048576 |
| MemberDecorate 103(Block16) 2 Offset 1048584 |
| Decorate 103(Block16) Block |
| Decorate 104 ArrayStride 4 |
| Decorate 105 ArrayStride 4 |
| MemberDecorate 106(Block) 0 Offset 0 |
| MemberDecorate 106(Block) 1 Offset 4194304 |
| Decorate 106(Block) Block |
| Decorate 108(block8) DescriptorSet 0 |
| Decorate 108(block8) Binding 0 |
| Decorate 156(Y) SpecId 0 |
| Decorate 223 BuiltIn WorkgroupSize |
| Decorate 256(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: TypeVector 7(int) 3 |
| 222: 7(int) Constant 64 |
| 223: 221(ivec3) ConstantComposite 222 100 100 |
| 224: TypePointer Private 166 |
| 225(miC): 224(ptr) Variable Private |
| 226(muC): 162(ptr) Variable Private |
| 227: 7(int) SpecConstantOp 5362 166 |
| 228: 72(int) SpecConstantOp 128 227 76 |
| 229: TypeArray 72(int) 228 |
| 230: TypePointer Private 229 |
| 231(iarr): 230(ptr) Variable Private |
| 232: 7(int) SpecConstantOp 5362 166 |
| 233: 72(int) SpecConstantOp 128 232 76 |
| 234: TypeArray 72(int) 233 |
| 235: TypePointer Private 234 |
| 236(iarr2): 235(ptr) Variable Private |
| 237: 7(int) SpecConstantOp 5362 158 |
| 238: 72(int) SpecConstantOp 128 237 76 |
| 239: TypeArray 72(int) 238 |
| 240: TypePointer Private 239 |
| 241(uarr): 240(ptr) Variable Private |
| 242: 7(int) SpecConstantOp 5362 158 |
| 243: 72(int) SpecConstantOp 128 242 76 |
| 244: TypeArray 72(int) 243 |
| 245: TypePointer Private 244 |
| 246(uarr2): 245(ptr) Variable Private |
| 247: TypeCooperativeMatrixNV 72(int) 8 157(Z) 9 |
| 248: 247 ConstantComposite 73 |
| 249: 16(int8_t) Constant 1 |
| 250: 17 ConstantComposite 249 |
| 251(S): TypeStruct 72(int) 72(int) 72(int) |
| 252: 72(int) Constant 12 |
| 253: 72(int) Constant 23 |
| 254: 72(int) Constant 34 |
| 255: 251(S) ConstantComposite 252 253 254 |
| 256(SC): 72(int) SpecConstant 1 |
| 257: TypeCooperativeMatrixNV 7(int) 8 256(SC) 256(SC) |
| 258: TypeArray 257 256(SC) |
| 259: TypeArray 258 256(SC) |
| 260: TypePointer Private 259 |
| 261(scm): 260(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 |
| 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 |
| 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 |