blob: e3417268ea1110ad655f653e106e107aa437837f [file] [log] [blame]
spv.coopvec.comp
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 250
Capability Shader
Capability Float16
Capability Int8
Capability StorageUniformBufferBlock16
Capability StorageBuffer8BitAccess
Capability VulkanMemoryModelKHR
Capability CooperativeVectorNV
Capability CapabilityReplicatedCompositesEXT
Extension "SPV_EXT_replicated_composites"
Extension "SPV_KHR_8bit_storage"
Extension "SPV_KHR_vulkan_memory_model"
Extension "SPV_NV_cooperative_vector"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical VulkanKHR
EntryPoint GLCompute 4 "main"
ExecutionMode 4 LocalSize 64 1 1
Source GLSL 450
SourceExtension "GL_EXT_buffer_reference"
SourceExtension "GL_EXT_nonuniform_qualifier"
SourceExtension "GL_EXT_shader_explicit_arithmetic_types"
SourceExtension "GL_KHR_memory_scope_semantics"
SourceExtension "GL_NV_cooperative_vector"
Name 4 "main"
Name 13 "foo(coopvecf161<1>;"
Name 12 "x"
Name 20 "foo(coopvecf161<2>;"
Name 19 "x"
Name 26 "v"
Name 31 "x"
Name 34 "y"
Name 37 "v2"
Name 46 "v3"
Name 48 "x3"
Name 53 "y3"
Name 58 "v4"
Name 71 "v5"
Name 74 "v6"
Name 100 "f"
Name 108 "len"
Name 125 "tempArg"
Name 129 "v7"
Name 132 "MatrixBuf"
MemberName 132(MatrixBuf) 0 "matrixData"
Name 134 "matrixBuf"
Name 142 "v8"
Name 145 "matrixOffset"
Name 148 "tempArg"
Name 152 "v9"
Name 156 "MatrixBuf2"
MemberName 156(MatrixBuf2) 0 "matrixData"
Name 158 "matrixBuf2"
Name 165 "v10"
Name 167 "f162"
Name 171 "f161"
Name 173 "f16"
Name 179 "v11"
Name 181 "v12"
Name 192 "v13"
Name 207 "tempArg"
Name 214 "biasOffset"
Name 215 "tempArg"
Name 223 "tempArg"
Name 226 "v14"
Name 231 "matrixLayout"
Decorate 131 ArrayStride 2
Decorate 132(MatrixBuf) Block
MemberDecorate 132(MatrixBuf) 0 Offset 0
Decorate 134(matrixBuf) Binding 0
Decorate 134(matrixBuf) DescriptorSet 0
Decorate 155 ArrayStride 1
Decorate 156(MatrixBuf2) Block
MemberDecorate 156(MatrixBuf2) 0 Offset 0
Decorate 158(matrixBuf2) Binding 0
Decorate 158(matrixBuf2) DescriptorSet 0
Decorate 231(matrixLayout) SpecId 0
Decorate 249 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 16
7: TypeInt 32 0
8: 7(int) Constant 1
9: TypeCooperativeVectorNV 6(float16_t) 8
10: TypePointer Function 9
11: TypeFunction 9 10(ptr)
15: 7(int) Constant 2
16: TypeCooperativeVectorNV 6(float16_t) 15
17: TypePointer Function 16
18: TypeFunction 16 17(ptr)
22: TypeFloat 32
23: 7(int) Constant 5
24: TypeCooperativeVectorNV 22(float) 23
25: TypePointer Function 24
27: 22(float) Constant 0
28: 24 ConstantCompositeReplicateEXT 27
29: TypeVector 22(float) 3
30: TypePointer Function 29(fvec3)
32: 22(float) Constant 1065353216
33: 29(fvec3) ConstantComposite 32 32 32
35: 22(float) Constant 1073741824
36: 29(fvec3) ConstantComposite 35 35 35
47: 24 ConstantComposite 32 32 32 35 35
49: 22(float) Constant 1082130432
50: 22(float) Constant 1084227584
51: 22(float) Constant 1086324736
52: 29(fvec3) ConstantComposite 49 50 51
54: 22(float) Constant 1088421888
55: 22(float) Constant 1090519040
56: 22(float) Constant 1091567616
57: 29(fvec3) ConstantComposite 54 55 56
69: TypeCooperativeVectorNV 6(float16_t) 23
70: TypePointer Function 69
99: TypePointer Function 22(float)
106: TypeInt 32 1
107: TypePointer Function 106(int)
110: 106(int) Constant 0
113: 106(int) Constant 4
122: 7(int) Constant 100
123: TypeCooperativeVectorNV 22(float) 122
124: TypePointer Function 123
126: 7(int) Constant 20
127: TypeCooperativeVectorNV 22(float) 126
128: TypePointer Function 127
131: TypeRuntimeArray 6(float16_t)
132(MatrixBuf): TypeStruct 131
133: TypePointer StorageBuffer 132(MatrixBuf)
134(matrixBuf): 133(ptr) Variable StorageBuffer
135: TypePointer StorageBuffer 131
137: 7(int) Constant 11
138: TypeBool
139: 138(bool) ConstantFalse
140: 7(int) Constant 300
144: TypePointer Function 7(int)
146: TypeCooperativeVectorNV 106(int) 122
147: TypePointer Function 146
149: TypeInt 8 1
150: TypeCooperativeVectorNV 149(int8_t) 126
151: TypePointer Function 150
154: 106(int) Constant 3
155: TypeRuntimeArray 149(int8_t)
156(MatrixBuf2): TypeStruct 155
157: TypePointer StorageBuffer 156(MatrixBuf2)
158(matrixBuf2): 157(ptr) Variable StorageBuffer
159: TypePointer StorageBuffer 155
162: 106(int) Constant 1
163: 138(bool) ConstantTrue
172: TypePointer Function 6(float16_t)
176: 7(int) Constant 7
177: TypeCooperativeVectorNV 6(float16_t) 176
178: TypePointer Function 177
211: 7(int) Constant 50
224: TypeCooperativeVectorNV 7(int) 126
225: TypePointer Function 224
228: 106(int) Constant 1000491000
231(matrixLayout): 106(int) SpecConstant 1
247: TypeVector 7(int) 3
248: 7(int) Constant 64
249: 247(ivec3) ConstantComposite 248 8 8
4(main): 2 Function None 3
5: Label
26(v): 25(ptr) Variable Function
31(x): 30(ptr) Variable Function
34(y): 30(ptr) Variable Function
37(v2): 25(ptr) Variable Function
46(v3): 25(ptr) Variable Function
48(x3): 30(ptr) Variable Function
53(y3): 30(ptr) Variable Function
58(v4): 25(ptr) Variable Function
71(v5): 70(ptr) Variable Function
74(v6): 25(ptr) Variable Function
100(f): 99(ptr) Variable Function
108(len): 107(ptr) Variable Function
125(tempArg): 124(ptr) Variable Function
129(v7): 128(ptr) Variable Function
142(v8): 124(ptr) Variable Function
145(matrixOffset): 144(ptr) Variable Function
148(tempArg): 147(ptr) Variable Function
152(v9): 151(ptr) Variable Function
165(v10): 147(ptr) Variable Function
167(f162): 17(ptr) Variable Function
171(f161): 10(ptr) Variable Function
173(f16): 172(ptr) Variable Function
179(v11): 178(ptr) Variable Function
181(v12): 178(ptr) Variable Function
192(v13): 178(ptr) Variable Function
207(tempArg): 124(ptr) Variable Function
214(biasOffset): 144(ptr) Variable Function
215(tempArg): 147(ptr) Variable Function
223(tempArg): 147(ptr) Variable Function
226(v14): 225(ptr) Variable Function
Store 26(v) 28
Store 31(x) 33
Store 34(y) 36
38: 29(fvec3) Load 31(x)
39: 29(fvec3) Load 34(y)
40: 22(float) CompositeExtract 38 0
41: 22(float) CompositeExtract 38 1
42: 22(float) CompositeExtract 38 2
43: 22(float) CompositeExtract 39 0
44: 22(float) CompositeExtract 39 1
45: 24 CompositeConstruct 40 41 42 43 44
Store 37(v2) 45
Store 46(v3) 47
Store 48(x3) 52
Store 53(y3) 57
59: 29(fvec3) Load 48(x3)
60: 29(fvec3) VectorShuffle 59 59 2 1 0
61: 29(fvec3) Load 53(y3)
62: 29(fvec3) VectorShuffle 61 61 2 2 1
63: 22(float) CompositeExtract 60 0
64: 22(float) CompositeExtract 60 1
65: 22(float) CompositeExtract 60 2
66: 22(float) CompositeExtract 62 0
67: 22(float) CompositeExtract 62 1
68: 24 CompositeConstruct 63 64 65 66 67
Store 58(v4) 68
72: 24 Load 58(v4)
73: 69 FConvert 72
Store 71(v5) 73
75: 24 Load 26(v)
76: 24 Load 37(v2)
77: 24 FAdd 75 76
Store 74(v6) 77
78: 24 Load 26(v)
79: 24 Load 37(v2)
80: 24 FSub 78 79
Store 74(v6) 80
81: 24 Load 26(v)
82: 24 Load 37(v2)
83: 24 FMul 81 82
Store 74(v6) 83
84: 24 Load 26(v)
85: 24 Load 37(v2)
86: 24 FDiv 84 85
Store 74(v6) 86
87: 24 Load 26(v)
88: 24 Load 74(v6)
89: 24 FAdd 88 87
Store 74(v6) 89
90: 24 Load 26(v)
91: 24 Load 74(v6)
92: 24 FSub 91 90
Store 74(v6) 92
93: 24 Load 26(v)
94: 24 Load 74(v6)
95: 24 FMul 94 93
Store 74(v6) 95
96: 24 Load 26(v)
97: 24 Load 74(v6)
98: 24 FDiv 97 96
Store 74(v6) 98
101: 22(float) Load 100(f)
102: 24 Load 74(v6)
103: 24 VectorTimesScalar 102 101
Store 74(v6) 103
104: 24 Load 74(v6)
105: 24 VectorTimesScalar 104 50
Store 74(v6) 105
109: 106(int) Bitcast 23
Store 108(len) 109
111: 22(float) Load 100(f)
112: 99(ptr) AccessChain 74(v6) 110
Store 112 111
114: 99(ptr) AccessChain 74(v6) 113
Store 114 50
115: 24 Load 26(v)
116: 24 Load 26(v)
117: 24 FAdd 116 115
Store 26(v) 117
118: 22(float) CompositeExtract 117 4
119: 22(float) Load 100(f)
120: 22(float) FAdd 119 118
Store 100(f) 120
121: 24 Load 26(v)
Store 74(v6) 121
130: 127 Load 129(v7)
136: 135(ptr) AccessChain 134(matrixBuf) 110
141: 123 CooperativeVectorMatrixMulNV 130 110 136 137 110 122 126 110 139 140
Store 125(tempArg) 141
143: 123 Load 125(tempArg)
Store 142(v8) 143
Store 145(matrixOffset) 137
153: 150 Load 152(v9)
160: 159(ptr) AccessChain 158(matrixBuf2) 110
161: 7(int) Load 145(matrixOffset)
164: 146 CooperativeVectorMatrixMulNV 153 154 160 161 154 122 126 162 163 140 BSignedComponentsKHR ResultSignedComponentsKHR
Store 148(tempArg) 164
166: 146 Load 148(tempArg)
Store 165(v10) 166
168: 106(int) Bitcast 126
169:6(float16_t) ConvertSToF 168
170: 16 CompositeConstructReplicateEXT 169
Store 167(f162) 170
174:6(float16_t) Load 173(f16)
175: 9 CompositeConstructReplicateEXT 174
Store 171(f161) 175
180: 177 Load 179(v11)
182: 177 Load 181(v12)
183: 177 ExtInst 1(GLSL.std.450) 40(FMax) 180 182
Store 179(v11) 183
184: 177 Load 179(v11)
185: 177 Load 181(v12)
186: 177 ExtInst 1(GLSL.std.450) 37(FMin) 184 185
Store 179(v11) 186
187: 177 Load 179(v11)
188: 177 Load 181(v12)
189: 177 ExtInst 1(GLSL.std.450) 48(Step) 187 188
Store 179(v11) 189
190: 177 Load 179(v11)
191: 177 Load 181(v12)
193: 177 Load 192(v13)
194: 177 ExtInst 1(GLSL.std.450) 43(FClamp) 190 191 193
Store 179(v11) 194
195: 177 Load 179(v11)
196: 177 ExtInst 1(GLSL.std.450) 27(Exp) 195
Store 179(v11) 196
197: 177 Load 179(v11)
198: 177 ExtInst 1(GLSL.std.450) 28(Log) 197
Store 179(v11) 198
199: 177 Load 179(v11)
200: 177 ExtInst 1(GLSL.std.450) 21(Tanh) 199
Store 179(v11) 200
201: 177 Load 179(v11)
202: 177 ExtInst 1(GLSL.std.450) 18(Atan) 201
Store 179(v11) 202
203: 177 Load 179(v11)
204: 177 Load 181(v12)
205: 177 Load 192(v13)
206: 177 ExtInst 1(GLSL.std.450) 50(Fma) 203 204 205
Store 179(v11) 206
208: 127 Load 129(v7)
209: 135(ptr) AccessChain 134(matrixBuf) 110
210: 135(ptr) AccessChain 134(matrixBuf) 110
212: 123 CooperativeVectorMatrixMulAddNV 208 110 209 137 110 210 211 110 122 126 110 139 140
Store 207(tempArg) 212
213: 123 Load 207(tempArg)
Store 142(v8) 213
Store 214(biasOffset) 137
216: 150 Load 152(v9)
217: 159(ptr) AccessChain 158(matrixBuf2) 110
218: 7(int) Load 145(matrixOffset)
219: 159(ptr) AccessChain 158(matrixBuf2) 110
220: 7(int) Load 214(biasOffset)
221: 146 CooperativeVectorMatrixMulAddNV 216 154 217 218 154 219 220 154 122 126 162 163 140 BSignedComponentsKHR ResultSignedComponentsKHR
Store 215(tempArg) 221
222: 146 Load 215(tempArg)
Store 165(v10) 222
227: 224 Load 226(v14)
229: 159(ptr) AccessChain 158(matrixBuf2) 110
230: 7(int) Load 145(matrixOffset)
232: 146 CooperativeVectorMatrixMulNV 227 228 229 230 154 122 126 231(matrixLayout) 163 140 ResultSignedComponentsKHR
Store 223(tempArg) 232
233: 146 Load 223(tempArg)
Store 165(v10) 233
234: 24 Load 26(v)
235: 24 Load 26(v)
236: 24 FAdd 235 234
Store 26(v) 236
237: 106(int) Load 108(len)
238: 22(float) VectorExtractDynamic 236 237
239: 22(float) Load 100(f)
240: 22(float) FAdd 239 238
Store 100(f) 240
Return
FunctionEnd
13(foo(coopvecf161<1>;): 9 Function None 11
12(x): 10(ptr) FunctionParameter
14: Label
241: 9 Load 12(x)
ReturnValue 241
FunctionEnd
20(foo(coopvecf161<2>;): 16 Function None 18
19(x): 17(ptr) FunctionParameter
21: Label
244: 16 Load 19(x)
ReturnValue 244
FunctionEnd