3 profileComplianceMap = {
5 {{{Profile::pro_int}, {{{i8T, i32T}, SpecificationVersion::V_1_0}}},
7 {{{fp16T, i32T}, SpecificationVersion::V_1_0},
8 {{fp32T, i32T}, SpecificationVersion::V_1_0}}}}},
11 {{{i8T, i8T, i8T, i32T, i8T}, SpecificationVersion::V_1_0}}},
13 {{{fp16T, fp16T, fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
14 {{fp16T, fp16T, fp16T, fp32T, fp16T}, SpecificationVersion::V_1_0},
15 {{fp32T, fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
18 {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
20 {{{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
21 SpecificationVersion::V_1_0},
22 {{fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
23 SpecificationVersion::V_1_0},
24 {{fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
25 SpecificationVersion::V_1_0}}}}},
28 {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
30 {{{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
31 SpecificationVersion::V_1_0},
32 {{fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
33 SpecificationVersion::V_1_0},
34 {{fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
35 SpecificationVersion::V_1_0}}}}},
36 {
"tosa.depthwise_conv2d",
38 {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
40 {{{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
41 SpecificationVersion::V_1_0},
42 {{fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
43 SpecificationVersion::V_1_0},
44 {{fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
45 SpecificationVersion::V_1_0}}}}},
48 {{{i8T, i8T, i8T, i8T, i32T}, SpecificationVersion::V_1_0}}},
50 {{{fp16T, fp16T, fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
51 {{fp16T, fp16T, fp16T, fp16T, fp32T}, SpecificationVersion::V_1_0},
52 {{fp32T, fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
54 {{{Profile::pro_int}, {{{i8T, i8T}, SpecificationVersion::V_1_0}}},
56 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
57 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
58 {
"tosa.transpose_conv2d",
60 {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
62 {{{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
63 SpecificationVersion::V_1_0},
64 {{fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
65 SpecificationVersion::V_1_0},
66 {{fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
67 SpecificationVersion::V_1_0}}}}},
69 {{{Profile::pro_int}, {{{i8T, i8T}, SpecificationVersion::V_1_0}}},
71 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
72 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
75 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
76 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
79 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
80 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
83 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
84 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
86 {{{Profile::pro_int, Profile::pro_fp},
87 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
90 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
91 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
92 {
"tosa.arithmetic_right_shift",
94 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
95 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
96 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
99 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
100 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
101 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
103 {{{Profile::pro_int},
104 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
105 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
106 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
108 {{{Profile::pro_int},
109 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
110 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
111 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
113 {{{Profile::pro_int, Profile::pro_fp},
114 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
117 {{{Profile::pro_int, Profile::pro_fp},
118 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
120 {
"tosa.logical_left_shift",
121 {{{Profile::pro_int, Profile::pro_fp},
122 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
123 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
124 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
126 {
"tosa.logical_right_shift",
127 {{{Profile::pro_int, Profile::pro_fp},
128 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
129 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
130 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
133 {{{Profile::pro_int, Profile::pro_fp},
134 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
137 {{{Profile::pro_int, Profile::pro_fp},
138 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
141 {{{Profile::pro_int}, {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
143 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
144 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
146 {{{Profile::pro_int}, {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
148 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
149 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
151 {{{Profile::pro_int},
152 {{{i8T, i8T, i32T}, SpecificationVersion::V_1_0},
153 {{i16T, i16T, i32T}, SpecificationVersion::V_1_0}}},
154 {{Profile::pro_int, Profile::pro_fp},
155 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
158 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
159 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
162 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
163 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
165 {{{Profile::pro_int, Profile::pro_fp},
166 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
169 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
170 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
172 {{{Profile::pro_int}, {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0}}}}},
174 {{{Profile::pro_int}, {{{i32T, i32T}, SpecificationVersion::V_1_0}}},
176 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
177 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
179 {{{Profile::pro_int},
180 {{{i8T, i8T}, SpecificationVersion::V_1_0},
181 {{i16T, i16T}, SpecificationVersion::V_1_0},
182 {{i32T, i32T}, SpecificationVersion::V_1_0}}}}},
185 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
186 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
188 {{{Profile::pro_int}, {{{i32T, i32T}, SpecificationVersion::V_1_0}}}}},
191 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
192 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
195 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
196 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
199 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
200 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
203 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
204 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
206 {{{Profile::pro_int, Profile::pro_fp},
207 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
210 {{{Profile::pro_int},
211 {{{i8T, i8T, i8T, i8T}, SpecificationVersion::V_1_0},
212 {{i16T, i16T, i16T, i16T}, SpecificationVersion::V_1_0},
213 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
215 {{{fp16T, fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
216 {{fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
219 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
220 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
223 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
224 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
227 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
228 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
230 {{{Profile::pro_int, Profile::pro_fp},
231 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
234 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
235 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
236 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
238 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
239 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
241 {{{Profile::pro_int},
242 {{{i32T, i32T, boolT}, SpecificationVersion::V_1_0}}},
244 {{{fp16T, fp16T, boolT}, SpecificationVersion::V_1_0},
245 {{fp32T, fp32T, boolT}, SpecificationVersion::V_1_0}}}}},
247 {{{Profile::pro_int},
248 {{{i32T, i32T, boolT}, SpecificationVersion::V_1_0}}},
250 {{{fp16T, fp16T, boolT}, SpecificationVersion::V_1_0},
251 {{fp32T, fp32T, boolT}, SpecificationVersion::V_1_0}}}}},
252 {
"tosa.greater_equal",
253 {{{Profile::pro_int},
254 {{{i32T, i32T, boolT}, SpecificationVersion::V_1_0}}},
256 {{{fp16T, fp16T, boolT}, SpecificationVersion::V_1_0},
257 {{fp32T, fp32T, boolT}, SpecificationVersion::V_1_0}}}}},
259 {{{Profile::pro_int, Profile::pro_fp},
260 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
263 {{{Profile::pro_int, Profile::pro_fp},
264 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
267 {{{Profile::pro_int},
268 {{{i8T, i8T}, SpecificationVersion::V_1_0},
269 {{i16T, i16T}, SpecificationVersion::V_1_0},
270 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
272 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
273 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
275 {{{Profile::pro_int},
276 {{{i8T, i8T}, SpecificationVersion::V_1_0},
277 {{i16T, i16T}, SpecificationVersion::V_1_0},
278 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
280 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
281 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
282 {
"tosa.reduce_product",
284 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
285 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
287 {{{Profile::pro_int}, {{{i32T, i32T}, SpecificationVersion::V_1_0}}},
289 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
290 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
292 {{{Profile::pro_int, Profile::pro_fp},
293 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
296 {{{i8T, i8T}, SpecificationVersion::V_1_0},
297 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
299 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
300 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
302 {{{Profile::pro_int, Profile::pro_fp},
303 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
306 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
307 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
308 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
310 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
311 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
313 {{{Profile::pro_int, Profile::pro_fp},
314 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
317 {{{i8T, i8T}, SpecificationVersion::V_1_0},
318 {{i16T, i16T}, SpecificationVersion::V_1_0},
319 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
321 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
322 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
324 {{{Profile::pro_int, Profile::pro_fp},
325 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
328 {{{i8T, i8T}, SpecificationVersion::V_1_0},
329 {{i16T, i16T}, SpecificationVersion::V_1_0},
330 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
332 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
333 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
335 {{{Profile::pro_int, Profile::pro_fp},
336 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
339 {{{i8T, i8T}, SpecificationVersion::V_1_0},
340 {{i16T, i16T}, SpecificationVersion::V_1_0},
341 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
343 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
344 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
346 {{{Profile::pro_int, Profile::pro_fp},
347 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
350 {{{i8T, i8T}, SpecificationVersion::V_1_0},
351 {{i16T, i16T}, SpecificationVersion::V_1_0},
352 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
354 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
355 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
357 {{{Profile::pro_int, Profile::pro_fp},
358 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
361 {{{i8T, i8T}, SpecificationVersion::V_1_0},
362 {{i16T, i16T}, SpecificationVersion::V_1_0},
363 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
365 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
366 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
368 {{{Profile::pro_int},
369 {{{i8T, i32T, i8T}, SpecificationVersion::V_1_0},
370 {{i16T, i32T, i16T}, SpecificationVersion::V_1_0},
371 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
373 {{{fp16T, i32T, fp16T}, SpecificationVersion::V_1_0},
374 {{fp32T, i32T, fp32T}, SpecificationVersion::V_1_0}}}}},
376 {{{Profile::pro_int},
377 {{{i8T, i32T, i8T, i8T}, SpecificationVersion::V_1_0},
378 {{i16T, i32T, i16T, i16T}, SpecificationVersion::V_1_0},
379 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
381 {{{fp16T, i32T, fp16T, fp16T}, SpecificationVersion::V_1_0},
382 {{fp32T, i32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
384 {{{Profile::pro_int},
385 {{{i8T, i32T}, SpecificationVersion::V_1_0},
386 {{i8T, i8T}, SpecificationVersion::V_1_0}}},
388 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
389 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
391 {{{Profile::pro_int},
392 {{{boolT, i8T}, SpecificationVersion::V_1_0},
393 {{boolT, i16T}, SpecificationVersion::V_1_0},
394 {{boolT, i32T}, SpecificationVersion::V_1_0},
395 {{i8T, boolT}, SpecificationVersion::V_1_0},
396 {{i8T, i16T}, SpecificationVersion::V_1_0},
397 {{i8T, i32T}, SpecificationVersion::V_1_0},
398 {{i16T, boolT}, SpecificationVersion::V_1_0},
399 {{i16T, i8T}, SpecificationVersion::V_1_0},
400 {{i16T, i32T}, SpecificationVersion::V_1_0},
401 {{i32T, boolT}, SpecificationVersion::V_1_0},
402 {{i32T, i8T}, SpecificationVersion::V_1_0},
403 {{i32T, i16T}, SpecificationVersion::V_1_0}}},
405 {{{i8T, fp16T}, SpecificationVersion::V_1_0},
406 {{i8T, fp32T}, SpecificationVersion::V_1_0},
407 {{i16T, fp16T}, SpecificationVersion::V_1_0},
408 {{i16T, fp32T}, SpecificationVersion::V_1_0},
409 {{i32T, fp16T}, SpecificationVersion::V_1_0},
410 {{i32T, fp32T}, SpecificationVersion::V_1_0},
411 {{fp16T, i8T}, SpecificationVersion::V_1_0},
412 {{fp16T, i16T}, SpecificationVersion::V_1_0},
413 {{fp16T, i32T}, SpecificationVersion::V_1_0},
414 {{fp16T, fp32T}, SpecificationVersion::V_1_0},
415 {{fp32T, i8T}, SpecificationVersion::V_1_0},
416 {{fp32T, i16T}, SpecificationVersion::V_1_0},
417 {{fp32T, i32T}, SpecificationVersion::V_1_0},
418 {{fp32T, fp16T}, SpecificationVersion::V_1_0}}}}},
420 {{{Profile::pro_int},
421 {{{i8T, i8T, i8T, i8T}, SpecificationVersion::V_1_0},
422 {{i8T, i8T, i16T, i16T}, SpecificationVersion::V_1_0},
423 {{i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0},
424 {{i16T, i16T, i8T, i8T}, SpecificationVersion::V_1_0},
425 {{i16T, i16T, i16T, i16T}, SpecificationVersion::V_1_0},
426 {{i16T, i16T, i32T, i32T}, SpecificationVersion::V_1_0},
427 {{i32T, i32T, i8T, i8T}, SpecificationVersion::V_1_0},
428 {{i32T, i32T, i16T, i16T}, SpecificationVersion::V_1_0},
429 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
431 {{{Profile::pro_int, Profile::pro_fp},
432 {{{boolT}, SpecificationVersion::V_1_0},
433 {{i8T}, SpecificationVersion::V_1_0},
434 {{i16T}, SpecificationVersion::V_1_0},
435 {{i32T}, SpecificationVersion::V_1_0}},
438 {{{fp16T}, SpecificationVersion::V_1_0},
439 {{fp32T}, SpecificationVersion::V_1_0}}}}},
441 {{{Profile::pro_int, Profile::pro_fp},
442 {{{boolT, boolT}, SpecificationVersion::V_1_0},
443 {{i8T, i8T}, SpecificationVersion::V_1_0},
444 {{i16T, i16T}, SpecificationVersion::V_1_0},
445 {{i32T, i32T}, SpecificationVersion::V_1_0}},
448 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
449 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
451 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
453 {{{fp16T}, SpecificationVersion::V_1_0},
454 {{fp32T}, SpecificationVersion::V_1_0}}}}},
455 {
"tosa.variable_write",
456 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
458 {{{fp16T}, SpecificationVersion::V_1_0},
459 {{fp32T}, SpecificationVersion::V_1_0}}}}},
460 {
"tosa.variable_read",
461 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
463 {{{fp16T}, SpecificationVersion::V_1_0},
464 {{fp32T}, SpecificationVersion::V_1_0}}}}},
467 extensionComplianceMap = {
469 {{{Extension::int16}, {{{i16T, i32T}, SpecificationVersion::V_1_0}}},
470 {{Extension::fp8e4m3}, {{{fp8e4m3T, i32T}, SpecificationVersion::V_1_0}}},
471 {{Extension::fp8e5m2}, {{{fp8e5m2T, i32T}, SpecificationVersion::V_1_0}}},
472 {{Extension::bf16}, {{{bf16T, i32T}, SpecificationVersion::V_1_0}}}}},
474 {{{Extension::int16},
475 {{{i16T, i16T, i16T, i32T, i16T}, SpecificationVersion::V_1_0}}},
476 {{Extension::fp8e4m3},
477 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T},
478 SpecificationVersion::V_1_0}}},
479 {{Extension::fp8e5m2},
480 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T},
481 SpecificationVersion::V_1_0}}},
483 {{{bf16T, bf16T, bf16T, fp32T, bf16T}, SpecificationVersion::V_1_0}}}}},
486 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
488 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
489 SpecificationVersion::V_1_0}}},
490 {{Extension::fp8e4m3},
491 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
492 SpecificationVersion::V_1_0}}},
493 {{Extension::fp8e5m2},
494 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
495 SpecificationVersion::V_1_0}}},
497 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
498 SpecificationVersion::V_1_0}}}}},
501 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
503 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
504 SpecificationVersion::V_1_0}}},
505 {{Extension::fp8e4m3},
506 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
507 SpecificationVersion::V_1_0}}},
508 {{Extension::fp8e5m2},
509 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
510 SpecificationVersion::V_1_0}}},
512 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
513 SpecificationVersion::V_1_0}}}}},
514 {
"tosa.depthwise_conv2d",
516 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
518 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
519 SpecificationVersion::V_1_0}}},
520 {{Extension::fp8e4m3},
521 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
522 SpecificationVersion::V_1_0}}},
523 {{Extension::fp8e5m2},
524 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
525 SpecificationVersion::V_1_0}}},
527 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
528 SpecificationVersion::V_1_0}}}}},
531 {{{fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
533 {{{Extension::int16},
534 {{{i16T, i16T, i16T, i16T, i48T}, SpecificationVersion::V_1_0}}},
535 {{Extension::fp8e4m3},
536 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T},
537 SpecificationVersion::V_1_0},
538 {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp32T},
539 SpecificationVersion::V_1_1_DRAFT}}},
540 {{Extension::fp8e5m2},
541 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T},
542 SpecificationVersion::V_1_0},
543 {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp32T},
544 SpecificationVersion::V_1_1_DRAFT}}},
545 {{Extension::fp8e4m3, Extension::fp8e5m2},
546 {{{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp16T},
547 SpecificationVersion::V_1_1_DRAFT},
548 {{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp32T},
549 SpecificationVersion::V_1_1_DRAFT},
550 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp16T},
551 SpecificationVersion::V_1_1_DRAFT},
552 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp32T},
553 SpecificationVersion::V_1_1_DRAFT}},
556 {{{bf16T, bf16T, bf16T, bf16T, fp32T}, SpecificationVersion::V_1_0}}}}},
558 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
559 {{Extension::fp8e4m3},
560 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
561 {{Extension::fp8e5m2},
562 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
563 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
566 {{{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
567 {
"tosa.transpose_conv2d",
569 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
571 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
572 SpecificationVersion::V_1_0}}},
573 {{Extension::fp8e4m3},
574 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
575 SpecificationVersion::V_1_0}}},
576 {{Extension::fp8e5m2},
577 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
578 SpecificationVersion::V_1_0}}},
580 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
581 SpecificationVersion::V_1_0}}}}},
583 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
584 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
586 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
588 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
590 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
593 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
596 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
599 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
602 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
605 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
608 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
610 {{{Extension::int16},
611 {{{i16T, i16T, i32T}, SpecificationVersion::V_1_0}}}}},
613 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
615 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
617 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
619 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
621 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
623 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
626 {{{bf16T, bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
628 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
630 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
632 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
635 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
638 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
641 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
642 {
"tosa.greater_equal",
644 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
646 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
648 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
649 {
"tosa.reduce_product",
650 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
652 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
654 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
655 {{Extension::fp8e4m3},
656 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
657 {{Extension::fp8e5m2},
658 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
659 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
661 {{{Extension::fp8e4m3},
662 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
663 {{Extension::fp8e5m2},
664 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
666 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
668 {{{Extension::fp8e4m3},
669 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
670 {{Extension::fp8e5m2},
671 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
672 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
674 {{{Extension::fp8e4m3},
675 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
676 {{Extension::fp8e5m2},
677 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
678 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
680 {{{Extension::fp8e4m3},
681 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
682 {{Extension::fp8e5m2},
683 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
684 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
686 {{{Extension::fp8e4m3},
687 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
688 {{Extension::fp8e5m2},
689 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
690 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
692 {{{Extension::fp8e4m3},
693 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
694 {{Extension::fp8e5m2},
695 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
696 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
698 {{{Extension::fp8e4m3},
699 {{{fp8e4m3T, i32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
700 {{Extension::fp8e5m2},
701 {{{fp8e5m2T, i32T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
703 {{{bf16T, i32T, bf16T}, SpecificationVersion::V_1_0}}}}},
705 {{{Extension::fp8e4m3},
706 {{{fp8e4m3T, i32T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
707 {{Extension::fp8e5m2},
708 {{{fp8e5m2T, i32T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
710 {{{bf16T, i32T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
712 {{{Extension::int16},
713 {{{i16T, i48T}, SpecificationVersion::V_1_0},
714 {{i16T, i16T}, SpecificationVersion::V_1_0}}},
715 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
718 {{{i8T, bf16T}, SpecificationVersion::V_1_0},
719 {{i16T, bf16T}, SpecificationVersion::V_1_0},
720 {{i32T, bf16T}, SpecificationVersion::V_1_0},
721 {{bf16T, i8T}, SpecificationVersion::V_1_0},
722 {{bf16T, i16T}, SpecificationVersion::V_1_0},
723 {{bf16T, i32T}, SpecificationVersion::V_1_0},
724 {{bf16T, fp32T}, SpecificationVersion::V_1_0},
725 {{fp32T, bf16T}, SpecificationVersion::V_1_0}}},
726 {{Extension::bf16, Extension::fp8e4m3},
727 {{{bf16T, fp8e4m3T}, SpecificationVersion::V_1_0},
728 {{fp8e4m3T, bf16T}, SpecificationVersion::V_1_0}},
730 {{Extension::bf16, Extension::fp8e5m2},
731 {{{bf16T, fp8e5m2T}, SpecificationVersion::V_1_0},
732 {{fp8e5m2T, bf16T}, SpecificationVersion::V_1_0}},
734 {{Extension::fp8e4m3},
735 {{{fp8e4m3T, fp16T}, SpecificationVersion::V_1_0},
736 {{fp8e4m3T, fp32T}, SpecificationVersion::V_1_0},
737 {{fp16T, fp8e4m3T}, SpecificationVersion::V_1_0},
738 {{fp32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
739 {{Extension::fp8e5m2},
740 {{{fp8e5m2T, fp16T}, SpecificationVersion::V_1_0},
741 {{fp8e5m2T, fp32T}, SpecificationVersion::V_1_0},
742 {{fp16T, fp8e5m2T}, SpecificationVersion::V_1_0},
743 {{fp32T, fp8e5m2T}, SpecificationVersion::V_1_0}}}}},
745 {{{Extension::int16},
746 {{{i48T, i48T, i8T, i8T}, SpecificationVersion::V_1_0},
747 {{i48T, i48T, i16T, i16T}, SpecificationVersion::V_1_0},
748 {{i48T, i48T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
750 {{{Extension::int4}, {{{i4T}, SpecificationVersion::V_1_0}}},
751 {{Extension::int16}, {{{i48T}, SpecificationVersion::V_1_0}}},
752 {{Extension::fp8e4m3}, {{{fp8e4m3T}, SpecificationVersion::V_1_0}}},
753 {{Extension::fp8e5m2}, {{{fp8e5m2T}, SpecificationVersion::V_1_0}}},
754 {{Extension::bf16}, {{{bf16T}, SpecificationVersion::V_1_0}}}}},
756 {{{Extension::int4}, {{{i4T, i4T}, SpecificationVersion::V_1_0}}},
757 {{Extension::int16}, {{{i48T, i48T}, SpecificationVersion::V_1_0}}},
758 {{Extension::fp8e4m3},
759 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
760 {{Extension::fp8e5m2},
761 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
762 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
764 {{{Extension::variable},
765 {{{i8T}, SpecificationVersion::V_1_0},
766 {{fp16T}, SpecificationVersion::V_1_0},
767 {{fp32T}, SpecificationVersion::V_1_0}}}}},
768 {
"tosa.variable_write",
769 {{{Extension::variable},
770 {{{i8T}, SpecificationVersion::V_1_0},
771 {{fp16T}, SpecificationVersion::V_1_0},
772 {{fp32T}, SpecificationVersion::V_1_0}}}}},
773 {
"tosa.variable_read",
774 {{{Extension::variable},
775 {{{i8T}, SpecificationVersion::V_1_0},
776 {{fp16T}, SpecificationVersion::V_1_0},
777 {{fp32T}, SpecificationVersion::V_1_0}}}}},