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