456 lines
24 KiB
Plaintext
456 lines
24 KiB
Plaintext
spv.intcoopmat.comp
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 286
|
|
|
|
Capability Shader
|
|
Capability Float16
|
|
Capability Int16
|
|
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 224 "i16"
|
|
Name 230 "u16"
|
|
Name 233 "tempArg"
|
|
Name 239 "tempArg"
|
|
Name 249 "miC"
|
|
Name 250 "muC"
|
|
Name 255 "iarr"
|
|
Name 260 "iarr2"
|
|
Name 265 "uarr"
|
|
Name 270 "uarr2"
|
|
Name 275 "S"
|
|
MemberName 275(S) 0 "a"
|
|
MemberName 275(S) 1 "b"
|
|
MemberName 275(S) 2 "c"
|
|
Name 280 "SC"
|
|
Name 285 "scm"
|
|
Decorate 83 ArrayStride 4
|
|
Decorate 84 ArrayStride 4
|
|
Decorate 85(Block) Block
|
|
MemberDecorate 85(Block) 0 Offset 0
|
|
MemberDecorate 85(Block) 1 Offset 4194304
|
|
Decorate 87(block) Binding 0
|
|
Decorate 87(block) DescriptorSet 0
|
|
Decorate 99 ArrayStride 1
|
|
Decorate 101 ArrayStride 1
|
|
Decorate 103(Block16) Block
|
|
MemberDecorate 103(Block16) 0 Offset 0
|
|
MemberDecorate 103(Block16) 1 Offset 1048576
|
|
MemberDecorate 103(Block16) 2 Offset 1048584
|
|
Decorate 104 ArrayStride 4
|
|
Decorate 105 ArrayStride 4
|
|
Decorate 106(Block) Block
|
|
MemberDecorate 106(Block) 0 Offset 0
|
|
MemberDecorate 106(Block) 1 Offset 4194304
|
|
Decorate 108(block8) Binding 0
|
|
Decorate 108(block8) DescriptorSet 0
|
|
Decorate 156(Y) SpecId 0
|
|
Decorate 247 BuiltIn WorkgroupSize
|
|
Decorate 280(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: TypeInt 16 1
|
|
222: TypeCooperativeMatrixNV 221(int16_t) 8 32 9
|
|
223: TypePointer Function 222
|
|
225:221(int16_t) Constant 0
|
|
226: 222 ConstantComposite 225
|
|
227: TypeInt 16 0
|
|
228: TypeCooperativeMatrixNV 227(int16_t) 8 32 9
|
|
229: TypePointer Function 228
|
|
231:227(int16_t) Constant 0
|
|
232: 228 ConstantComposite 231
|
|
245: TypeVector 7(int) 3
|
|
246: 7(int) Constant 64
|
|
247: 245(ivec3) ConstantComposite 246 100 100
|
|
248: TypePointer Private 166
|
|
249(miC): 248(ptr) Variable Private
|
|
250(muC): 162(ptr) Variable Private
|
|
251: 7(int) SpecConstantOp 5362 166
|
|
252: 72(int) SpecConstantOp 128 251 76
|
|
253: TypeArray 72(int) 252
|
|
254: TypePointer Private 253
|
|
255(iarr): 254(ptr) Variable Private
|
|
256: 7(int) SpecConstantOp 5362 166
|
|
257: 72(int) SpecConstantOp 128 256 76
|
|
258: TypeArray 72(int) 257
|
|
259: TypePointer Private 258
|
|
260(iarr2): 259(ptr) Variable Private
|
|
261: 7(int) SpecConstantOp 5362 158
|
|
262: 72(int) SpecConstantOp 128 261 76
|
|
263: TypeArray 72(int) 262
|
|
264: TypePointer Private 263
|
|
265(uarr): 264(ptr) Variable Private
|
|
266: 7(int) SpecConstantOp 5362 158
|
|
267: 72(int) SpecConstantOp 128 266 76
|
|
268: TypeArray 72(int) 267
|
|
269: TypePointer Private 268
|
|
270(uarr2): 269(ptr) Variable Private
|
|
271: TypeCooperativeMatrixNV 72(int) 8 157(Z) 9
|
|
272: 271 ConstantComposite 73
|
|
273: 16(int8_t) Constant 1
|
|
274: 17 ConstantComposite 273
|
|
275(S): TypeStruct 72(int) 72(int) 72(int)
|
|
276: 72(int) Constant 12
|
|
277: 72(int) Constant 23
|
|
278: 72(int) Constant 34
|
|
279: 275(S) ConstantComposite 276 277 278
|
|
280(SC): 72(int) SpecConstant 1
|
|
281: TypeCooperativeMatrixNV 7(int) 8 280(SC) 280(SC)
|
|
282: TypeArray 281 280(SC)
|
|
283: TypeArray 282 280(SC)
|
|
284: TypePointer Private 283
|
|
285(scm): 284(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
|
|
224(i16): 223(ptr) Variable Function
|
|
230(u16): 229(ptr) Variable Function
|
|
233(tempArg): 223(ptr) Variable Function
|
|
239(tempArg): 229(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
|
|
Store 224(i16) 226
|
|
Store 230(u16) 232
|
|
234: 214(ptr) AccessChain 212(shmatrix) 100
|
|
235: 222 CooperativeMatrixLoadNV 234 213 93 MakePointerVisibleKHR NonPrivatePointerKHR 213
|
|
Store 233(tempArg) 235
|
|
236: 222 Load 233(tempArg)
|
|
Store 224(i16) 236
|
|
237: 222 Load 224(i16)
|
|
238: 214(ptr) AccessChain 212(shmatrix) 100
|
|
CooperativeMatrixStoreNV 238 237 213 93 MakePointerAvailableKHR NonPrivatePointerKHR 213
|
|
240: 214(ptr) AccessChain 212(shmatrix) 100
|
|
241: 228 CooperativeMatrixLoadNV 240 213 93 MakePointerVisibleKHR NonPrivatePointerKHR 213
|
|
Store 239(tempArg) 241
|
|
242: 228 Load 239(tempArg)
|
|
Store 230(u16) 242
|
|
243: 228 Load 230(u16)
|
|
244: 214(ptr) AccessChain 212(shmatrix) 100
|
|
CooperativeMatrixStoreNV 244 243 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
|