xemu/subprojects/glslang/Test/baseResults/spv.bfloat16.comp.out

493 lines
24 KiB
Plaintext

spv.bfloat16.comp
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 325
Capability Shader
Capability Float16
Capability Float64
Capability Int64
Capability Int16
Capability Int8
Capability CapabilityBFloat16TypeKHR
Capability CapabilityBFloat16DotProductKHR
Capability CapabilityBFloat16CooperativeMatrixKHR
Capability VulkanMemoryModelKHR
Capability CooperativeMatrixKHR
Extension "SPV_KHR_bfloat16"
Extension "SPV_KHR_cooperative_matrix"
Extension "SPV_KHR_vulkan_memory_model"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical VulkanKHR
EntryPoint GLCompute 4 "main"
ExecutionMode 4 LocalSize 1 1 1
Source GLSL 450
SourceExtension "GL_EXT_bfloat16"
SourceExtension "GL_EXT_scalar_block_layout"
SourceExtension "GL_EXT_shader_explicit_arithmetic_types"
SourceExtension "GL_KHR_cooperative_matrix"
SourceExtension "GL_KHR_memory_scope_semantics"
Name 4 "main"
Name 10 "funcbf16(bf161;"
Name 9 "x"
Name 16 "funcf32(f1;"
Name 15 "x"
Name 22 "funcf64(d1;"
Name 21 "x"
Name 34 "func2(vbf164[2];i1;"
Name 32 "v"
Name 33 "i"
Name 47 "f"
Name 49 "b"
Name 55 "b2"
Name 61 "u8"
Name 65 "u16"
Name 68 "u32"
Name 72 "u64"
Name 76 "i8"
Name 80 "i16"
Name 82 "i32"
Name 86 "i64"
Name 88 "bf16"
Name 92 "f16"
Name 94 "f32"
Name 96 "f64"
Name 149 "B"
MemberName 149(B) 0 "b3"
MemberName 149(B) 1 "b2"
MemberName 149(B) 2 "b1"
Name 151 "buf"
Name 161 "b3"
Name 174 "cmA"
Name 179 "cmAf"
Name 182 "param"
Name 187 "param"
Name 191 "param"
Name 193 "i16_1"
Name 198 "i16_2"
Name 203 "i16_3"
Name 212 "i16_4"
Name 220 "u16_1"
Name 225 "u16_2"
Name 230 "u16_3"
Name 239 "u16_4"
Name 247 "b16_1"
Name 250 "b16_2"
Name 253 "b16_3"
Name 257 "b16_4"
Name 268 "b"
Name 289 "S"
MemberName 289(S) 0 "b"
Name 291 "s"
Name 317 "bsc10"
Name 324 "bfs"
Decorate 149(B) Block
MemberDecorate 149(B) 0 Offset 0
MemberDecorate 149(B) 1 Offset 6
MemberDecorate 149(B) 2 Offset 10
Decorate 151(buf) Binding 0
Decorate 151(buf) DescriptorSet 0
Decorate 313 BuiltIn WorkgroupSize
Decorate 317(bsc10) SpecId 1
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 16 0
7: TypePointer Function 6(bfloat16_t)
8: TypeFunction 6(bfloat16_t) 7(ptr)
12: TypeFloat 32
13: TypePointer Function 12(float)
14: TypeFunction 6(bfloat16_t) 13(ptr)
18: TypeFloat 64
19: TypePointer Function 18(float64_t)
20: TypeFunction 6(bfloat16_t) 19(ptr)
24: TypeVector 6(bfloat16_t) 4
25: TypeInt 32 0
26: 25(int) Constant 2
27: TypeArray 24(bf16vec4) 26
28: TypePointer Function 27
29: TypeInt 32 1
30: TypePointer Function 29(int)
31: TypeFunction 6(bfloat16_t) 28(ptr) 30(ptr)
48: 12(float) Constant 1073741824
50:6(bfloat16_t) Constant 16256
53: TypeVector 6(bfloat16_t) 2
54: TypePointer Function 53(bf16vec2)
59: TypeInt 8 0
60: TypePointer Function 59(int8_t)
62: 59(int8_t) Constant 5
63: TypeInt 16 0
64: TypePointer Function 63(int16_t)
66: 63(int16_t) Constant 5
67: TypePointer Function 25(int)
69: 25(int) Constant 5
70: TypeInt 64 0
71: TypePointer Function 70(int64_t)
73: 70(int64_t) Constant 5 0
74: TypeInt 8 1
75: TypePointer Function 74(int8_t)
77: 74(int8_t) Constant 6
78: TypeInt 16 1
79: TypePointer Function 78(int16_t)
81: 78(int16_t) Constant 6
83: 29(int) Constant 6
84: TypeInt 64 1
85: TypePointer Function 84(int64_t)
87: 84(int64_t) Constant 6 0
89:6(bfloat16_t) Constant 16608
90: TypeFloat 16
91: TypePointer Function 90(float16_t)
93:90(float16_t) Constant 18176
95: 12(float) Constant 1088421888
97:18(float64_t) Constant 0 1075576832
148: TypeVector 6(bfloat16_t) 3
149(B): TypeStruct 148(bf16vec3) 53(bf16vec2) 6(bfloat16_t)
150: TypePointer StorageBuffer 149(B)
151(buf): 150(ptr) Variable StorageBuffer
152: 29(int) Constant 2
153: TypePointer StorageBuffer 6(bfloat16_t)
156: 29(int) Constant 1
157: TypePointer StorageBuffer 53(bf16vec2)
160: TypePointer Function 148(bf16vec3)
162: 29(int) Constant 0
163: TypePointer StorageBuffer 148(bf16vec3)
169: 25(int) Constant 3
170: 25(int) Constant 16
171: 25(int) Constant 0
172: TypeCooperativeMatrixKHR 6(bfloat16_t) 169 170 170 171
173: TypePointer Function 172
175:6(bfloat16_t) Constant 16448
176: 172 ConstantComposite 175
177: TypeCooperativeMatrixKHR 12(float) 169 170 170 171
178: TypePointer Function 177
196: TypeVector 78(int16_t) 2
197: TypePointer Function 196(i16vec2)
201: TypeVector 78(int16_t) 3
202: TypePointer Function 201(i16vec3)
210: TypeVector 78(int16_t) 4
211: TypePointer Function 210(i16vec4)
223: TypeVector 63(int16_t) 2
224: TypePointer Function 223(i16vec2)
228: TypeVector 63(int16_t) 3
229: TypePointer Function 228(i16vec3)
237: TypeVector 63(int16_t) 4
238: TypePointer Function 237(i16vec4)
256: TypePointer Function 24(bf16vec4)
281: 25(int) Constant 1
289(S): TypeStruct 6(bfloat16_t)
290: TypePointer Function 289(S)
295: TypeBool
298:6(bfloat16_t) Constant 16384
312: TypeVector 25(int) 3
313: 312(ivec3) ConstantComposite 281 281 281
314:6(bfloat16_t) Constant 16672
315:6(bfloat16_t) Constant 16800
316:53(bf16vec2) ConstantComposite 315 315
317(bsc10):6(bfloat16_t) SpecConstant 16672
318: 289(S) ConstantComposite 314
319: TypeArray 6(bfloat16_t) 26
320: 319 ConstantComposite 314 314
321: 25(int) Constant 10
322: TypeArray 6(bfloat16_t) 321
323: TypePointer Workgroup 322
324(bfs): 323(ptr) Variable Workgroup
4(main): 2 Function None 3
5: Label
47(f): 13(ptr) Variable Function
49(b): 7(ptr) Variable Function
55(b2): 54(ptr) Variable Function
61(u8): 60(ptr) Variable Function
65(u16): 64(ptr) Variable Function
68(u32): 67(ptr) Variable Function
72(u64): 71(ptr) Variable Function
76(i8): 75(ptr) Variable Function
80(i16): 79(ptr) Variable Function
82(i32): 30(ptr) Variable Function
86(i64): 85(ptr) Variable Function
88(bf16): 7(ptr) Variable Function
92(f16): 91(ptr) Variable Function
94(f32): 13(ptr) Variable Function
96(f64): 19(ptr) Variable Function
161(b3): 160(ptr) Variable Function
174(cmA): 173(ptr) Variable Function
179(cmAf): 178(ptr) Variable Function
182(param): 7(ptr) Variable Function
187(param): 13(ptr) Variable Function
191(param): 19(ptr) Variable Function
193(i16_1): 79(ptr) Variable Function
198(i16_2): 197(ptr) Variable Function
203(i16_3): 202(ptr) Variable Function
212(i16_4): 211(ptr) Variable Function
220(u16_1): 64(ptr) Variable Function
225(u16_2): 224(ptr) Variable Function
230(u16_3): 229(ptr) Variable Function
239(u16_4): 238(ptr) Variable Function
247(b16_1): 7(ptr) Variable Function
250(b16_2): 54(ptr) Variable Function
253(b16_3): 160(ptr) Variable Function
257(b16_4): 256(ptr) Variable Function
Store 47(f) 48
Store 49(b) 50
51: 12(float) Load 47(f)
52:6(bfloat16_t) FConvert 51
56: 12(float) Load 47(f)
57:6(bfloat16_t) FConvert 56
58:53(bf16vec2) CompositeConstruct 57 57
Store 55(b2) 58
Store 61(u8) 62
Store 65(u16) 66
Store 68(u32) 69
Store 72(u64) 73
Store 76(i8) 77
Store 80(i16) 81
Store 82(i32) 83
Store 86(i64) 87
Store 88(bf16) 89
Store 92(f16) 93
Store 94(f32) 95
Store 96(f64) 97
98: 59(int8_t) Load 61(u8)
99:6(bfloat16_t) ConvertUToF 98
Store 49(b) 99
100: 63(int16_t) Load 65(u16)
101:6(bfloat16_t) ConvertUToF 100
Store 49(b) 101
102: 25(int) Load 68(u32)
103:6(bfloat16_t) ConvertUToF 102
Store 49(b) 103
104: 70(int64_t) Load 72(u64)
105:6(bfloat16_t) ConvertUToF 104
Store 49(b) 105
106: 74(int8_t) Load 76(i8)
107:6(bfloat16_t) ConvertSToF 106
Store 49(b) 107
108: 78(int16_t) Load 80(i16)
109:6(bfloat16_t) ConvertSToF 108
Store 49(b) 109
110: 29(int) Load 82(i32)
111:6(bfloat16_t) ConvertSToF 110
Store 49(b) 111
112: 84(int64_t) Load 86(i64)
113:6(bfloat16_t) ConvertSToF 112
Store 49(b) 113
114:6(bfloat16_t) Load 88(bf16)
Store 49(b) 114
115:90(float16_t) Load 92(f16)
116:6(bfloat16_t) FConvert 115
Store 49(b) 116
117: 12(float) Load 94(f32)
118:6(bfloat16_t) FConvert 117
Store 49(b) 118
119:18(float64_t) Load 96(f64)
120:6(bfloat16_t) FConvert 119
Store 49(b) 120
121:6(bfloat16_t) Load 49(b)
122: 59(int8_t) ConvertFToU 121
Store 61(u8) 122
123:6(bfloat16_t) Load 49(b)
124: 63(int16_t) ConvertFToU 123
Store 65(u16) 124
125:6(bfloat16_t) Load 49(b)
126: 25(int) ConvertFToU 125
Store 68(u32) 126
127:6(bfloat16_t) Load 49(b)
128: 70(int64_t) ConvertFToU 127
Store 72(u64) 128
129:6(bfloat16_t) Load 49(b)
130: 74(int8_t) ConvertFToS 129
Store 76(i8) 130
131:6(bfloat16_t) Load 49(b)
132: 78(int16_t) ConvertFToS 131
Store 80(i16) 132
133:6(bfloat16_t) Load 49(b)
134: 29(int) ConvertFToS 133
Store 82(i32) 134
135:6(bfloat16_t) Load 49(b)
136: 84(int64_t) ConvertFToS 135
Store 86(i64) 136
137:6(bfloat16_t) Load 49(b)
Store 88(bf16) 137
138:6(bfloat16_t) Load 49(b)
139:90(float16_t) FConvert 138
Store 92(f16) 139
140:6(bfloat16_t) Load 49(b)
141: 12(float) FConvert 140
Store 94(f32) 141
142:6(bfloat16_t) Load 49(b)
143:18(float64_t) FConvert 142
Store 96(f64) 143
144:6(bfloat16_t) Load 49(b)
145: 12(float) FConvert 144
Store 94(f32) 145
146:6(bfloat16_t) Load 49(b)
147:18(float64_t) FConvert 146
Store 96(f64) 147
154: 153(ptr) AccessChain 151(buf) 152
155:6(bfloat16_t) Load 154
Store 49(b) 155
158: 157(ptr) AccessChain 151(buf) 156
159:53(bf16vec2) Load 158
Store 55(b2) 159
164: 163(ptr) AccessChain 151(buf) 162
165:148(bf16vec3) Load 164
Store 161(b3) 165
166:53(bf16vec2) Load 55(b2)
167:53(bf16vec2) Load 55(b2)
168:6(bfloat16_t) Dot 166 167
Store 174(cmA) 176
180: 172 Load 174(cmA)
181: 177 FConvert 180
Store 179(cmAf) 181
183:6(bfloat16_t) Load 49(b)
Store 182(param) 183
184:6(bfloat16_t) FunctionCall 10(funcbf16(bf161;) 182(param)
185:6(bfloat16_t) Load 49(b)
186: 12(float) FConvert 185
Store 187(param) 186
188:6(bfloat16_t) FunctionCall 16(funcf32(f1;) 187(param)
189:6(bfloat16_t) Load 49(b)
190:18(float64_t) FConvert 189
Store 191(param) 190
192:6(bfloat16_t) FunctionCall 22(funcf64(d1;) 191(param)
194:6(bfloat16_t) Load 49(b)
195: 78(int16_t) Bitcast 194
Store 193(i16_1) 195
199:53(bf16vec2) Load 55(b2)
200:196(i16vec2) Bitcast 199
Store 198(i16_2) 200
204:53(bf16vec2) Load 55(b2)
205:6(bfloat16_t) Load 49(b)
206:6(bfloat16_t) CompositeExtract 204 0
207:6(bfloat16_t) CompositeExtract 204 1
208:148(bf16vec3) CompositeConstruct 206 207 205
209:201(i16vec3) Bitcast 208
Store 203(i16_3) 209
213:53(bf16vec2) Load 55(b2)
214:6(bfloat16_t) CompositeExtract 213 0
215:6(bfloat16_t) CompositeExtract 213 1
216:6(bfloat16_t) CompositeExtract 213 0
217:6(bfloat16_t) CompositeExtract 213 1
218:24(bf16vec4) CompositeConstruct 214 215 216 217
219:210(i16vec4) Bitcast 218
Store 212(i16_4) 219
221:6(bfloat16_t) Load 49(b)
222: 63(int16_t) Bitcast 221
Store 220(u16_1) 222
226:53(bf16vec2) Load 55(b2)
227:223(i16vec2) Bitcast 226
Store 225(u16_2) 227
231:53(bf16vec2) Load 55(b2)
232:6(bfloat16_t) Load 49(b)
233:6(bfloat16_t) CompositeExtract 231 0
234:6(bfloat16_t) CompositeExtract 231 1
235:148(bf16vec3) CompositeConstruct 233 234 232
236:228(i16vec3) Bitcast 235
Store 230(u16_3) 236
240:53(bf16vec2) Load 55(b2)
241:6(bfloat16_t) CompositeExtract 240 0
242:6(bfloat16_t) CompositeExtract 240 1
243:6(bfloat16_t) CompositeExtract 240 0
244:6(bfloat16_t) CompositeExtract 240 1
245:24(bf16vec4) CompositeConstruct 241 242 243 244
246:237(i16vec4) Bitcast 245
Store 239(u16_4) 246
248: 78(int16_t) Load 193(i16_1)
249:6(bfloat16_t) Bitcast 248
Store 247(b16_1) 249
251:196(i16vec2) Load 198(i16_2)
252:53(bf16vec2) Bitcast 251
Store 250(b16_2) 252
254:201(i16vec3) Load 203(i16_3)
255:148(bf16vec3) Bitcast 254
Store 253(b16_3) 255
258:210(i16vec4) Load 212(i16_4)
259:24(bf16vec4) Bitcast 258
Store 257(b16_4) 259
260: 63(int16_t) Load 220(u16_1)
261:6(bfloat16_t) Bitcast 260
Store 247(b16_1) 261
262:223(i16vec2) Load 225(u16_2)
263:53(bf16vec2) Bitcast 262
Store 250(b16_2) 263
264:228(i16vec3) Load 230(u16_3)
265:148(bf16vec3) Bitcast 264
Store 253(b16_3) 265
266:237(i16vec4) Load 239(u16_4)
267:24(bf16vec4) Bitcast 266
Store 257(b16_4) 267
Return
FunctionEnd
10(funcbf16(bf161;):6(bfloat16_t) Function None 8
9(x): 7(ptr) FunctionParameter
11: Label
36:6(bfloat16_t) Load 9(x)
ReturnValue 36
FunctionEnd
16(funcf32(f1;):6(bfloat16_t) Function None 14
15(x): 13(ptr) FunctionParameter
17: Label
39: 12(float) Load 15(x)
40:6(bfloat16_t) FConvert 39
ReturnValue 40
FunctionEnd
22(funcf64(d1;):6(bfloat16_t) Function None 20
21(x): 19(ptr) FunctionParameter
23: Label
43:18(float64_t) Load 21(x)
44:6(bfloat16_t) FConvert 43
ReturnValue 44
FunctionEnd
34(func2(vbf164[2];i1;):6(bfloat16_t) Function None 31
32(v): 28(ptr) FunctionParameter
33(i): 30(ptr) FunctionParameter
35: Label
268(b): 7(ptr) Variable Function
291(s): 290(ptr) Variable Function
269: 256(ptr) AccessChain 32(v) 162
270:24(bf16vec4) Load 269
271:6(bfloat16_t) CompositeExtract 270 0
272:6(bfloat16_t) CompositeExtract 270 1
273:53(bf16vec2) CompositeConstruct 271 272
274: 29(int) Load 33(i)
275:6(bfloat16_t) VectorExtractDynamic 273 274
Store 268(b) 275
276: 256(ptr) AccessChain 32(v) 156
277:24(bf16vec4) Load 276
278:6(bfloat16_t) CompositeExtract 277 0
279:6(bfloat16_t) CompositeExtract 277 1
280:53(bf16vec2) CompositeConstruct 278 279
282:6(bfloat16_t) CompositeExtract 280 1
Store 268(b) 282
283: 29(int) Load 33(i)
284: 29(int) Load 33(i)
285: 29(int) Load 33(i)
286: 7(ptr) AccessChain 32(v) 284 285
287:6(bfloat16_t) Load 286
288: 7(ptr) AccessChain 32(v) 283 26
Store 288 287
292:6(bfloat16_t) Load 268(b)
293: 7(ptr) AccessChain 291(s) 162
Store 293 292
294: 29(int) Load 33(i)
296: 295(bool) INotEqual 294 162
297:6(bfloat16_t) Load 268(b)
299:6(bfloat16_t) Select 296 297 298
Store 268(b) 299
300: 29(int) Load 33(i)
301: 295(bool) IEqual 300 152
SelectionMerge 303 None
BranchConditional 301 302 306
302: Label
304: 7(ptr) AccessChain 32(v) 162 171
305:6(bfloat16_t) Load 304
Store 268(b) 305
Branch 303
306: Label
307: 7(ptr) AccessChain 32(v) 156 281
308:6(bfloat16_t) Load 307
Store 268(b) 308
Branch 303
303: Label
309:6(bfloat16_t) Load 268(b)
ReturnValue 309
FunctionEnd