blob: 23fb28f4cccf2ea7b0f847742022ad0d70dc9cbf [file] [log] [blame]
spv.intcoopmat.comp
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 270
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_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<8><3><8><8>;"
Name 13 "m"
Name 21 "umul(u81<8><3><8><8>;"
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 84 "Block"
MemberName 84(Block) 0 "y"
MemberName 84(Block) 1 "x"
Name 86 "block"
Name 100 "Block16"
MemberName 100(Block16) 0 "y"
MemberName 100(Block16) 1 "x"
MemberName 100(Block16) 2 "b"
Name 103 "Block"
MemberName 103(Block) 0 "y"
MemberName 103(Block) 1 "x"
Name 105 "block8"
Name 122 "D"
Name 123 "A"
Name 125 "B"
Name 127 "C"
Name 131 "l"
Name 136 "a"
Name 140 "md1"
Name 150 "Y"
Name 151 "Z"
Name 155 "muC2"
Name 163 "miC2"
Name 178 "p1"
Name 179 "param"
Name 182 "p2"
Name 183 "param"
Name 197 "ms"
Name 202 "shmatrix"
Name 212 "i16"
Name 218 "u16"
Name 233 "miC"
Name 234 "muC"
Name 239 "iarr"
Name 244 "iarr2"
Name 249 "uarr"
Name 254 "uarr2"
Name 259 "S"
MemberName 259(S) 0 "a"
MemberName 259(S) 1 "b"
MemberName 259(S) 2 "c"
Name 264 "SC"
Name 269 "scm"
Decorate 82 ArrayStride 4
Decorate 83 ArrayStride 4
Decorate 84(Block) Block
MemberDecorate 84(Block) 0 Offset 0
MemberDecorate 84(Block) 1 Offset 4194304
Decorate 86(block) Binding 0
Decorate 86(block) DescriptorSet 0
Decorate 96 ArrayStride 1
Decorate 98 ArrayStride 1
Decorate 100(Block16) Block
MemberDecorate 100(Block16) 0 Offset 0
MemberDecorate 100(Block16) 1 Offset 1048576
MemberDecorate 100(Block16) 2 Offset 1048584
Decorate 101 ArrayStride 4
Decorate 102 ArrayStride 4
Decorate 103(Block) Block
MemberDecorate 103(Block) 0 Offset 0
MemberDecorate 103(Block) 1 Offset 4194304
Decorate 105(block8) Binding 0
Decorate 105(block8) DescriptorSet 0
Decorate 150(Y) SpecId 0
Decorate 231 BuiltIn WorkgroupSize
Decorate 264(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)
81: 7(int) Constant 1048576
82: TypeArray 7(int) 81
83: TypeRuntimeArray 7(int)
84(Block): TypeStruct 82 83
85: TypePointer StorageBuffer 84(Block)
86(block): 85(ptr) Variable StorageBuffer
87: 7(int) Constant 5
88: TypePointer StorageBuffer 7(int)
90: 7(int) Constant 128
91: TypeBool
92: 91(bool) ConstantFalse
96: TypeArray 6(int8_t) 81
97: 7(int) Constant 1
98: TypeArray 6(int8_t) 97
TypeForwardPointer 99 PhysicalStorageBufferEXT
100(Block16): TypeStruct 96 98 99
101: TypeArray 7(int) 81
102: TypeRuntimeArray 7(int)
103(Block): TypeStruct 101 102
99: TypePointer PhysicalStorageBufferEXT 103(Block)
104: TypePointer StorageBuffer 100(Block16)
105(block8): 104(ptr) Variable StorageBuffer
106: TypePointer StorageBuffer 6(int8_t)
111: 72(int) Constant 2
112: TypePointer StorageBuffer 99(ptr)
115: TypePointer PhysicalStorageBufferEXT 7(int)
130: TypePointer Function 72(int)
132: 7(int) SpecConstantOp 5362 33
133: 72(int) SpecConstantOp 128 132 76
134: TypeArray 37 87
135: TypePointer Function 134
137: 72(int) Constant 3
138: 6(int8_t) Constant 1
144: 72(int) Constant 1234
149: 72(int) Constant 8
150(Y): 72(int) SpecConstant 2
151(Z): 72(int) SpecConstantOp 132 149 150(Y)
152: TypeCooperativeMatrixNV 16(int8_t) 8 151(Z) 9
153: TypeArray 152 8
154: TypePointer Private 153
155(muC2): 154(ptr) Variable Private
156: TypePointer Private 152
160: TypeCooperativeMatrixNV 6(int8_t) 8 151(Z) 9
161: TypeArray 160 8
162: TypePointer Private 161
163(miC2): 162(ptr) Variable Private
164: TypePointer Private 6(int8_t)
168: TypePointer Private 16(int8_t)
194: 16(int8_t) Constant 4
198: TypeVector 7(int) 4
199: 7(int) Constant 32
200: TypeArray 198(ivec4) 199
201: TypePointer Workgroup 200
202(shmatrix): 201(ptr) Variable Workgroup
203: 7(int) Constant 2
204: TypePointer Workgroup 198(ivec4)
209: TypeInt 16 1
210: TypeCooperativeMatrixNV 209(int16_t) 8 32 9
211: TypePointer Function 210
213:209(int16_t) Constant 0
214: 210 ConstantComposite 213
215: TypeInt 16 0
216: TypeCooperativeMatrixNV 215(int16_t) 8 32 9
217: TypePointer Function 216
219:215(int16_t) Constant 0
220: 216 ConstantComposite 219
229: TypeVector 7(int) 3
230: 7(int) Constant 64
231: 229(ivec3) ConstantComposite 230 97 97
232: TypePointer Private 160
233(miC): 232(ptr) Variable Private
234(muC): 156(ptr) Variable Private
235: 7(int) SpecConstantOp 5362 160
236: 72(int) SpecConstantOp 128 235 76
237: TypeArray 72(int) 236
238: TypePointer Private 237
239(iarr): 238(ptr) Variable Private
240: 7(int) SpecConstantOp 5362 160
241: 72(int) SpecConstantOp 128 240 76
242: TypeArray 72(int) 241
243: TypePointer Private 242
244(iarr2): 243(ptr) Variable Private
245: 7(int) SpecConstantOp 5362 152
246: 72(int) SpecConstantOp 128 245 76
247: TypeArray 72(int) 246
248: TypePointer Private 247
249(uarr): 248(ptr) Variable Private
250: 7(int) SpecConstantOp 5362 152
251: 72(int) SpecConstantOp 128 250 76
252: TypeArray 72(int) 251
253: TypePointer Private 252
254(uarr2): 253(ptr) Variable Private
255: TypeCooperativeMatrixNV 72(int) 8 151(Z) 9
256: 255 ConstantComposite 73
257: 16(int8_t) Constant 1
258: 17 ConstantComposite 257
259(S): TypeStruct 72(int) 72(int) 72(int)
260: 72(int) Constant 12
261: 72(int) Constant 23
262: 72(int) Constant 34
263: 259(S) ConstantComposite 260 261 262
264(SC): 72(int) SpecConstant 1
265: TypeCooperativeMatrixNV 7(int) 8 264(SC) 264(SC)
266: TypeArray 265 264(SC)
267: TypeArray 266 264(SC)
268: TypePointer Private 267
269(scm): 268(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
122(D): 34(ptr) Variable Function
123(A): 34(ptr) Variable Function
125(B): 18(ptr) Variable Function
127(C): 34(ptr) Variable Function
131(l): 130(ptr) Variable Function
136(a): 135(ptr) Variable Function
140(md1): 130(ptr) Variable Function
178(p1): 11(ptr) Variable Function
179(param): 11(ptr) Variable Function
182(p2): 18(ptr) Variable Function
183(param): 18(ptr) Variable Function
197(ms): 38(ptr) Variable Function
212(i16): 211(ptr) Variable Function
218(u16): 217(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
89: 88(ptr) AccessChain 86(block) 73 32
93: 37 CooperativeMatrixLoadNV 89 90 92 MakePointerVisibleKHR NonPrivatePointerKHR 87
Store 39(mi) 93
94: 37 Load 39(mi)
95: 88(ptr) AccessChain 86(block) 73 32
CooperativeMatrixStoreNV 95 94 90 92 MakePointerAvailableKHR NonPrivatePointerKHR 87
107: 106(ptr) AccessChain 105(block8) 73 32
108: 33 CooperativeMatrixLoadNV 107 90 92 MakePointerVisibleKHR NonPrivatePointerKHR 87
Store 35(mu) 108
109: 33 Load 35(mu)
110: 106(ptr) AccessChain 105(block8) 73 32
CooperativeMatrixStoreNV 110 109 90 92 MakePointerAvailableKHR NonPrivatePointerKHR 87
113: 112(ptr) AccessChain 105(block8) 111
114: 99(ptr) Load 113 MakePointerVisibleKHR NonPrivatePointerKHR 87
116: 115(ptr) AccessChain 114 73 32
117: 37 CooperativeMatrixLoadNV 116 90 92 Aligned MakePointerVisibleKHR NonPrivatePointerKHR 16 87
Store 39(mi) 117
118: 37 Load 39(mi)
119: 112(ptr) AccessChain 105(block8) 111
120: 99(ptr) Load 119 MakePointerVisibleKHR NonPrivatePointerKHR 87
121: 115(ptr) AccessChain 120 73 32
CooperativeMatrixStoreNV 121 118 90 92 Aligned MakePointerAvailableKHR NonPrivatePointerKHR 16 87
124: 33 Load 123(A)
126: 17 Load 125(B)
128: 33 Load 127(C)
129: 33 CooperativeMatrixMulAddNV 124 126 128
Store 122(D) 129
Store 131(l) 133
139: 79(ptr) AccessChain 136(a) 137 76
Store 139 138
Store 140(md1) 73
141: 37 Load 39(mi)
142: 37 Load 39(mi)
143: 37 IAdd 142 141
Store 39(mi) 143
145: 6(int8_t) CompositeExtract 143 1234
146: 72(int) SConvert 145
147: 72(int) Load 140(md1)
148: 72(int) IAdd 147 146
Store 140(md1) 148
157: 156(ptr) AccessChain 155(muC2) 73
158: 152 Load 157
159: 156(ptr) AccessChain 155(muC2) 76
Store 159 158
165: 164(ptr) AccessChain 163(miC2) 111 76
166: 6(int8_t) Load 165
167: 16(int8_t) Bitcast 166
169: 168(ptr) AccessChain 155(muC2) 73 76
Store 169 167
170: 88(ptr) AccessChain 86(block) 76 32
171: 37 CooperativeMatrixLoadNV 170 90 92 MakePointerVisibleKHR NonPrivatePointerKHR 87
Store 39(mi) 171
172: 37 Load 39(mi)
173: 88(ptr) AccessChain 86(block) 76 32
CooperativeMatrixStoreNV 173 172 90 92 MakePointerAvailableKHR NonPrivatePointerKHR 87
174: 106(ptr) AccessChain 105(block8) 76 32
175: 33 CooperativeMatrixLoadNV 174 90 92 MakePointerVisibleKHR NonPrivatePointerKHR 87
Store 35(mu) 175
176: 33 Load 35(mu)
177: 106(ptr) AccessChain 105(block8) 76 32
CooperativeMatrixStoreNV 177 176 90 92 MakePointerAvailableKHR NonPrivatePointerKHR 87
180: 10 Load 178(p1)
Store 179(param) 180
181: 10 FunctionCall 14(ineg(i81<8><3><8><8>;) 179(param)
Store 178(p1) 181
184: 17 Load 182(p2)
Store 183(param) 184
185: 17 FunctionCall 21(umul(u81<8><3><8><8>;) 183(param)
Store 182(p2) 185
186: 10 Load 178(p1)
187: 10 Load 178(p1)
188: 10 SDiv 187 186
Store 178(p1) 188
189: 17 Load 182(p2)
190: 17 Load 182(p2)
191: 17 UDiv 190 189
Store 182(p2) 191
192: 10 Load 178(p1)
193: 10 MatrixTimesScalar 192 40
Store 178(p1) 193
195: 17 Load 182(p2)
196: 17 MatrixTimesScalar 195 194
Store 182(p2) 196
205: 204(ptr) AccessChain 202(shmatrix) 97
206: 37 CooperativeMatrixLoadNV 205 203 92 MakePointerVisibleKHR NonPrivatePointerKHR 203
Store 197(ms) 206
207: 37 Load 197(ms)
208: 204(ptr) AccessChain 202(shmatrix) 97
CooperativeMatrixStoreNV 208 207 203 92 MakePointerAvailableKHR NonPrivatePointerKHR 203
Store 212(i16) 214
Store 218(u16) 220
221: 204(ptr) AccessChain 202(shmatrix) 97
222: 210 CooperativeMatrixLoadNV 221 203 92 MakePointerVisibleKHR NonPrivatePointerKHR 203
Store 212(i16) 222
223: 210 Load 212(i16)
224: 204(ptr) AccessChain 202(shmatrix) 97
CooperativeMatrixStoreNV 224 223 203 92 MakePointerAvailableKHR NonPrivatePointerKHR 203
225: 204(ptr) AccessChain 202(shmatrix) 97
226: 216 CooperativeMatrixLoadNV 225 203 92 MakePointerVisibleKHR NonPrivatePointerKHR 203
Store 218(u16) 226
227: 216 Load 218(u16)
228: 204(ptr) AccessChain 202(shmatrix) 97
CooperativeMatrixStoreNV 228 227 203 92 MakePointerAvailableKHR NonPrivatePointerKHR 203
Return
FunctionEnd
14(ineg(i81<8><3><8><8>;): 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<8><3><8><8>;): 17 Function None 19
20(m): 18(ptr) FunctionParameter
22: Label
27: 17 Load 20(m)
29: 17 MatrixTimesScalar 27 28
ReturnValue 29
FunctionEnd