spv.coopmatKHR.comp
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 250

                              Capability Shader
                              Capability Float16
                              Capability Int16
                              Capability Int8
                              Capability StorageUniformBufferBlock16
                              Capability VulkanMemoryModelKHR
                              Capability PhysicalStorageBufferAddressesEXT
                              Capability CooperativeMatrixKHR
                              Extension  "SPV_KHR_16bit_storage"
                              Extension  "SPV_KHR_cooperative_matrix"
                              Extension  "SPV_KHR_physical_storage_buffer"
                              Extension  "SPV_KHR_storage_buffer_storage_class"
                              Extension  "SPV_KHR_vulkan_memory_model"
               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_cooperative_matrix"
                              SourceExtension  "GL_KHR_memory_scope_semantics"
                              Name 4  "main"
                              Name 15  "f16(f161;"
                              Name 14  "m"
                              Name 22  "f32(f1;"
                              Name 21  "m"
                              Name 35  "m"
                              Name 53  "m2"
                              Name 57  "x"
                              Name 65  "tempArg"
                              Name 69  "Block"
                              MemberName 69(Block) 0  "y"
                              MemberName 69(Block) 1  "x"
                              Name 71  "block"
                              Name 80  "tempArg"
                              Name 85  "Block16"
                              MemberName 85(Block16) 0  "y"
                              MemberName 85(Block16) 1  "x"
                              MemberName 85(Block16) 2  "b"
                              Name 88  "Block"
                              MemberName 88(Block) 0  "y"
                              MemberName 88(Block) 1  "x"
                              Name 90  "block16"
                              Name 97  "tempArg"
                              Name 110  "D"
                              Name 114  "A"
                              Name 118  "B"
                              Name 120  "C"
                              Name 124  "l"
                              Name 128  "Y"
                              Name 129  "Z"
                              Name 132  "F"
                              Name 137  "a"
                              Name 141  "md1"
                              Name 152  "mC2"
                              Name 157  "tempArg"
                              Name 163  "tempArg"
                              Name 169  "p1"
                              Name 170  "param"
                              Name 173  "p2"
                              Name 174  "param"
                              Name 188  "tempArg"
                              Name 193  "shmatrix"
                              Name 197  "ms"
                              Name 204  "ms8A"
                              Name 208  "ms8B"
                              Name 212  "ms8C"
                              Name 227  "m16"
                              Name 233  "mC"
                              Name 234  "F"
                              Name 239  "S"
                              MemberName 239(S) 0  "a"
                              MemberName 239(S) 1  "b"
                              MemberName 239(S) 2  "c"
                              Name 244  "SC"
                              Name 249  "scm"
                              Decorate 67 ArrayStride 4
                              Decorate 68 ArrayStride 4
                              MemberDecorate 69(Block) 0 Offset 0
                              MemberDecorate 69(Block) 1 Offset 4194304
                              Decorate 69(Block) Block
                              Decorate 71(block) DescriptorSet 0
                              Decorate 71(block) Binding 0
                              Decorate 81 ArrayStride 2
                              Decorate 83 ArrayStride 2
                              MemberDecorate 85(Block16) 0 Offset 0
                              MemberDecorate 85(Block16) 1 Offset 2097152
                              MemberDecorate 85(Block16) 2 Offset 2097160
                              Decorate 85(Block16) Block
                              Decorate 86 ArrayStride 4
                              Decorate 87 ArrayStride 4
                              MemberDecorate 88(Block) 0 Offset 0
                              MemberDecorate 88(Block) 1 Offset 4194304
                              Decorate 88(Block) Block
                              Decorate 90(block16) DescriptorSet 0
                              Decorate 90(block16) Binding 0
                              Decorate 128(Y) SpecId 0
                              Decorate 232 BuiltIn WorkgroupSize
                              Decorate 234(F) SpecId 1
                              Decorate 244(SC) SpecId 2
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 16
               7:             TypeInt 32 0
               8:      7(int) Constant 3
               9:      7(int) Constant 8
              10:      7(int) Constant 2
              11:             TypeCooperativeMatrixKHR 6(float16_t) 8 9 9 10
              12:             TypePointer Function 11
              13:             TypeFunction 11 12(ptr)
              17:             TypeFloat 32
              18:             TypeCooperativeMatrixKHR 17(float) 8 9 9 10
              19:             TypePointer Function 18
              20:             TypeFunction 18 19(ptr)
              32:      7(int) Constant 16
              33:             TypeCooperativeMatrixKHR 17(float) 8 32 9 10
              34:             TypePointer Function 33
              36:   17(float) Constant 0
              37:          33 ConstantComposite 36
              46:   17(float) Constant 1073741824
              51:             TypeCooperativeMatrixKHR 6(float16_t) 8 32 9 10
              52:             TypePointer Function 51
              56:             TypePointer Function 17(float)
              58:             TypeInt 32 1
              59:     58(int) Constant 1
              62:     58(int) Constant 0
              66:      7(int) Constant 1048576
              67:             TypeArray 17(float) 66
              68:             TypeRuntimeArray 17(float)
       69(Block):             TypeStruct 67 68
              70:             TypePointer StorageBuffer 69(Block)
       71(block):     70(ptr) Variable StorageBuffer
              72:      7(int) Constant 5
              73:             TypePointer StorageBuffer 17(float)
              75:      7(int) Constant 128
              81:             TypeArray 6(float16_t) 66
              82:      7(int) Constant 1
              83:             TypeArray 6(float16_t) 82
                              TypeForwardPointer 84 PhysicalStorageBufferEXT
     85(Block16):             TypeStruct 81 83 84
              86:             TypeArray 17(float) 66
              87:             TypeRuntimeArray 17(float)
       88(Block):             TypeStruct 86 87
              84:             TypePointer PhysicalStorageBufferEXT 88(Block)
              89:             TypePointer StorageBuffer 85(Block16)
     90(block16):     89(ptr) Variable StorageBuffer
              91:             TypePointer StorageBuffer 6(float16_t)
              98:     58(int) Constant 2
              99:             TypePointer StorageBuffer 84(ptr)
             102:             TypePointer PhysicalStorageBufferEXT 17(float)
             111:      7(int) Constant 0
             112:             TypeCooperativeMatrixKHR 6(float16_t) 8 32 9 111
             113:             TypePointer Function 112
             116:             TypeCooperativeMatrixKHR 6(float16_t) 8 9 9 82
             117:             TypePointer Function 116
             123:             TypePointer Function 58(int)
             127:     58(int) Constant 8
          128(Y):     58(int) SpecConstant 2
          129(Z):     58(int) SpecConstantOp 132 127 128(Y)
             130:             TypeCooperativeMatrixKHR 6(float16_t) 8 129(Z) 129(Z) 10
             131:             TypePointer Function 130
             133:6(float16_t) Constant 0
             134:         130 ConstantComposite 133
             135:             TypeArray 33 72
             136:             TypePointer Function 135
             138:     58(int) Constant 3
             139:   17(float) Constant 1065353216
             145:     58(int) Constant 1234
             149:             TypeCooperativeMatrixKHR 6(float16_t) 8 129(Z) 9 10
             150:             TypeArray 149 8
             151:             TypePointer Private 150
        152(mC2):    151(ptr) Variable Private
             153:             TypePointer Private 149
             177:          11 ConstantComposite 133
             178:          18 ConstantComposite 36
             182:6(float16_t) Constant 16384
             185:   17(float) Constant 1082130432
             189:             TypeVector 7(int) 4
             190:      7(int) Constant 32
             191:             TypeArray 189(ivec4) 190
             192:             TypePointer Workgroup 191
   193(shmatrix):    192(ptr) Variable Workgroup
             194:             TypePointer Workgroup 189(ivec4)
             201:             TypeInt 8 1
             202:             TypeCooperativeMatrixKHR 201(int8_t) 8 9 9 111
             203:             TypePointer Function 202
             206:             TypeCooperativeMatrixKHR 201(int8_t) 8 9 9 82
             207:             TypePointer Function 206
             210:             TypeCooperativeMatrixKHR 201(int8_t) 8 9 9 10
             211:             TypePointer Function 210
             222:     58(int) Constant 16
             224:             TypeInt 16 1
             225:             TypeCooperativeMatrixKHR 224(int16_t) 8 9 9 111
             226:             TypePointer Function 225
             230:             TypeVector 7(int) 3
             231:      7(int) Constant 64
             232:  230(ivec3) ConstantComposite 231 82 82
         233(mC):    153(ptr) Variable Private
          234(F):   17(float) SpecConstant 1077936128
             235:             TypeCooperativeMatrixKHR 17(float) 8 129(Z) 9 10
             236:         235 ConstantComposite 36
             237:6(float16_t) Constant 15360
             238:          11 ConstantComposite 237
          239(S):             TypeStruct 58(int) 58(int) 58(int)
             240:     58(int) Constant 12
             241:     58(int) Constant 23
             242:     58(int) Constant 34
             243:      239(S) ConstantComposite 240 241 242
         244(SC):     58(int) SpecConstant 1
             245:             TypeCooperativeMatrixKHR 6(float16_t) 8 244(SC) 244(SC) 10
             246:             TypeArray 245 244(SC)
             247:             TypeArray 246 244(SC)
             248:             TypePointer Private 247
        249(scm):    248(ptr) Variable Private
         4(main):           2 Function None 3
               5:             Label
           35(m):     34(ptr) Variable Function
          53(m2):     52(ptr) Variable Function
           57(x):     56(ptr) Variable Function
     65(tempArg):     34(ptr) Variable Function
     80(tempArg):     52(ptr) Variable Function
     97(tempArg):     34(ptr) Variable Function
          110(D):     34(ptr) Variable Function
          114(A):    113(ptr) Variable Function
          118(B):    117(ptr) Variable Function
          120(C):     34(ptr) Variable Function
          124(l):    123(ptr) Variable Function
          132(F):    131(ptr) Variable Function
          137(a):    136(ptr) Variable Function
        141(md1):     56(ptr) Variable Function
    157(tempArg):     34(ptr) Variable Function
    163(tempArg):     52(ptr) Variable Function
         169(p1):     12(ptr) Variable Function
      170(param):     12(ptr) Variable Function
         173(p2):     19(ptr) Variable Function
      174(param):     19(ptr) Variable Function
    188(tempArg):     52(ptr) Variable Function
         197(ms):     52(ptr) Variable Function
       204(ms8A):    203(ptr) Variable Function
       208(ms8B):    207(ptr) Variable Function
       212(ms8C):    211(ptr) Variable Function
        227(m16):    226(ptr) Variable Function
                              Store 35(m) 37
              38:          33 Load 35(m)
              39:          33 Load 35(m)
              40:          33 FAdd 38 39
                              Store 35(m) 40
              41:          33 Load 35(m)
              42:          33 Load 35(m)
              43:          33 FSub 41 42
                              Store 35(m) 43
              44:          33 Load 35(m)
              45:          33 FNegate 44
                              Store 35(m) 45
              47:          33 Load 35(m)
              48:          33 MatrixTimesScalar 47 46
                              Store 35(m) 48
              49:          33 Load 35(m)
              50:          33 MatrixTimesScalar 49 46
                              Store 35(m) 50
              54:          33 Load 35(m)
              55:          51 FConvert 54
                              Store 53(m2) 55
              60:     56(ptr) AccessChain 35(m) 59
              61:   17(float) Load 60
                              Store 57(x) 61
              63:   17(float) Load 57(x)
              64:     56(ptr) AccessChain 35(m) 62
                              Store 64 63
              74:     73(ptr) AccessChain 71(block) 59 32
              76:          33 CooperativeMatrixLoadKHR 74 62 75 MakePointerVisibleKHR NonPrivatePointerKHR 72
                              Store 65(tempArg) 76
              77:          33 Load 65(tempArg)
                              Store 35(m) 77
              78:          33 Load 35(m)
              79:     73(ptr) AccessChain 71(block) 59 32
                              CooperativeMatrixStoreKHR 79 78 62 75 MakePointerAvailableKHR NonPrivatePointerKHR 72
              92:     91(ptr) AccessChain 90(block16) 59 32
              93:          51 CooperativeMatrixLoadKHR 92 62 75 MakePointerVisibleKHR NonPrivatePointerKHR 72
                              Store 80(tempArg) 93
              94:          51 Load 80(tempArg)
                              Store 53(m2) 94
              95:          51 Load 53(m2)
              96:     91(ptr) AccessChain 90(block16) 59 32
                              CooperativeMatrixStoreKHR 96 95 62 75 MakePointerAvailableKHR NonPrivatePointerKHR 72
             100:     99(ptr) AccessChain 90(block16) 98
             101:     84(ptr) Load 100 MakePointerVisibleKHR NonPrivatePointerKHR 72
             103:    102(ptr) AccessChain 101 59 32
             104:          33 CooperativeMatrixLoadKHR 103 62 75 Aligned MakePointerVisibleKHR NonPrivatePointerKHR 16 72
                              Store 97(tempArg) 104
             105:          33 Load 97(tempArg)
                              Store 35(m) 105
             106:          33 Load 35(m)
             107:     99(ptr) AccessChain 90(block16) 98
             108:     84(ptr) Load 107 MakePointerVisibleKHR NonPrivatePointerKHR 72
             109:    102(ptr) AccessChain 108 59 32
                              CooperativeMatrixStoreKHR 109 106 62 75 Aligned MakePointerAvailableKHR NonPrivatePointerKHR 16 72
             115:         112 Load 114(A)
             119:         116 Load 118(B)
             121:          33 Load 120(C)
             122:          33 CooperativeMatrixMulAddKHR 115 119 121
                              Store 110(D) 122
             125:      7(int) CooperativeMatrixLengthKHR 33
             126:     58(int) Bitcast 125
                              Store 124(l) 126
                              Store 132(F) 134
             140:     56(ptr) AccessChain 137(a) 138 62
                              Store 140 139
                              Store 141(md1) 36
             142:          33 Load 35(m)
             143:          33 Load 35(m)
             144:          33 FAdd 143 142
                              Store 35(m) 144
             146:   17(float) CompositeExtract 144 1234
             147:   17(float) Load 141(md1)
             148:   17(float) FAdd 147 146
                              Store 141(md1) 148
             154:    153(ptr) AccessChain 152(mC2) 98
             155:         149 Load 154
             156:    153(ptr) AccessChain 152(mC2) 59
                              Store 156 155
             158:     73(ptr) AccessChain 71(block) 62 32
             159:          33 CooperativeMatrixLoadKHR 158 62 75 MakePointerVisibleKHR NonPrivatePointerKHR 72
                              Store 157(tempArg) 159
             160:          33 Load 157(tempArg)
                              Store 35(m) 160
             161:          33 Load 35(m)
             162:     73(ptr) AccessChain 71(block) 62 32
                              CooperativeMatrixStoreKHR 162 161 62 75 MakePointerAvailableKHR NonPrivatePointerKHR 72
             164:     91(ptr) AccessChain 90(block16) 62 32
             165:          51 CooperativeMatrixLoadKHR 164 62 75 MakePointerVisibleKHR NonPrivatePointerKHR 72
                              Store 163(tempArg) 165
             166:          51 Load 163(tempArg)
                              Store 53(m2) 166
             167:          51 Load 53(m2)
             168:     91(ptr) AccessChain 90(block16) 62 32
                              CooperativeMatrixStoreKHR 168 167 62 75 MakePointerAvailableKHR NonPrivatePointerKHR 72
             171:          11 Load 169(p1)
                              Store 170(param) 171
             172:          11 FunctionCall 15(f16(f161;) 170(param)
                              Store 169(p1) 172
             175:          18 Load 173(p2)
                              Store 174(param) 175
             176:          18 FunctionCall 22(f32(f1;) 174(param)
                              Store 173(p2) 176
                              Store 169(p1) 177
                              Store 173(p2) 178
             179:          11 Load 169(p1)
             180:          11 Load 169(p1)
             181:          11 FDiv 180 179
                              Store 169(p1) 181
             183:          11 Load 169(p1)
             184:          11 MatrixTimesScalar 183 182
                              Store 169(p1) 184
             186:          18 Load 173(p2)
             187:          18 MatrixTimesScalar 186 185
                              Store 173(p2) 187
             195:    194(ptr) AccessChain 193(shmatrix) 82
             196:          51 CooperativeMatrixLoadKHR 195 62 10 MakePointerVisibleKHR NonPrivatePointerKHR 10
                              Store 188(tempArg) 196
             198:          51 Load 188(tempArg)
                              Store 197(ms) 198
             199:          51 Load 197(ms)
             200:    194(ptr) AccessChain 193(shmatrix) 82
                              CooperativeMatrixStoreKHR 200 199 62 10 MakePointerAvailableKHR NonPrivatePointerKHR 10
             205:         202 Load 204(ms8A)
             209:         206 Load 208(ms8B)
             213:         210 Load 212(ms8C)
             214:         210 CooperativeMatrixMulAddKHR 205 209 213 ASignedComponents BSignedComponents CSignedComponents ResultSignedComponents 
             215:         202 Load 204(ms8A)
             216:         206 Load 208(ms8B)
             217:         210 Load 212(ms8C)
             218:         210 CooperativeMatrixMulAddKHR 215 216 217 ASignedComponents BSignedComponents CSignedComponents ResultSignedComponents 
             219:         202 Load 204(ms8A)
             220:         206 Load 208(ms8B)
             221:         210 Load 212(ms8C)
             223:         210 CooperativeMatrixMulAddKHR 219 220 221 ASignedComponents BSignedComponents CSignedComponents ResultSignedComponents SaturatingAccumulation 
             228:         225 Load 227(m16)
             229:    194(ptr) AccessChain 193(shmatrix) 82
                              CooperativeMatrixStoreKHR 229 228 62 10 MakePointerAvailableKHR NonPrivatePointerKHR 10
                              Return
                              FunctionEnd
   15(f16(f161;):          11 Function None 13
           14(m):     12(ptr) FunctionParameter
              16:             Label
              24:          11 Load 14(m)
              25:          11 FNegate 24
                              ReturnValue 25
                              FunctionEnd
     22(f32(f1;):          18 Function None 20
           21(m):     19(ptr) FunctionParameter
              23:             Label
              28:          18 Load 21(m)
              29:          18 FNegate 28
                              ReturnValue 29
                              FunctionEnd
