spv.coopmat.comp
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 228

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