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