blob: d72b0678aaa06c5f3c482d3f5e195502a812512a [file] [log] [blame]
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