3profileComplianceMap = {
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}}}}},
467extensionComplianceMap = {
469 {{{Extension::int16}, {{{i16T, i32T}, SpecificationVersion::V_1_0}}},
471 {{{i8T, i64T}, SpecificationVersion::V_1_1_DRAFT},
472 {{i16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
473 {{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
474 {{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
475 {{fp16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
476 {{fp32T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
477 {{Extension::fp8e4m3}, {{{fp8e4m3T, i32T}, SpecificationVersion::V_1_0}}},
478 {{Extension::fp8e5m2}, {{{fp8e5m2T, i32T}, SpecificationVersion::V_1_0}}},
479 {{Extension::bf16}, {{{bf16T, i32T}, SpecificationVersion::V_1_0}}},
480 {{Extension::fp8e4m3, Extension::int64},
481 {{{fp8e4m3T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
483 {{Extension::fp8e5m2, Extension::int64},
484 {{{fp8e5m2T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
486 {{Extension::bf16, Extension::int64},
487 {{{bf16T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
490 {{{Extension::int16},
491 {{{i16T, i16T, i16T, i32T, i16T}, SpecificationVersion::V_1_0}}},
492 {{Extension::fp8e4m3},
493 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T},
494 SpecificationVersion::V_1_0}}},
495 {{Extension::fp8e5m2},
496 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T},
497 SpecificationVersion::V_1_0}}},
499 {{{bf16T, bf16T, bf16T, fp32T, bf16T}, SpecificationVersion::V_1_0}}}}},
502 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
504 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
505 SpecificationVersion::V_1_0}}},
506 {{Extension::fp8e4m3},
507 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
508 SpecificationVersion::V_1_0},
509 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
510 SpecificationVersion::V_1_1_DRAFT}}},
511 {{Extension::fp8e5m2},
512 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
513 SpecificationVersion::V_1_0},
514 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
515 SpecificationVersion::V_1_1_DRAFT}}},
517 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
518 SpecificationVersion::V_1_0}}}}},
519 {
"tosa.conv2d_block_scaled",
520 {{{Extension::mxfp_conv},
521 {{{fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T, fp32T},
522 SpecificationVersion::V_1_1_DRAFT},
523 {{fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, fp32T, fp32T},
524 SpecificationVersion::V_1_1_DRAFT},
525 {{fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T, fp32T},
526 SpecificationVersion::V_1_1_DRAFT},
527 {{fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T, fp32T},
528 SpecificationVersion::V_1_1_DRAFT},
529 {{fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T, fp32T},
530 SpecificationVersion::V_1_1_DRAFT}}}}},
533 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
535 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
536 SpecificationVersion::V_1_0}}},
537 {{Extension::fp8e4m3},
538 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
539 SpecificationVersion::V_1_0},
540 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
541 SpecificationVersion::V_1_1_DRAFT}}},
542 {{Extension::fp8e5m2},
543 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
544 SpecificationVersion::V_1_0},
545 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
546 SpecificationVersion::V_1_1_DRAFT}}},
548 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
549 SpecificationVersion::V_1_0}}}}},
550 {
"tosa.depthwise_conv2d",
552 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
554 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
555 SpecificationVersion::V_1_0}}},
556 {{Extension::fp8e4m3},
557 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
558 SpecificationVersion::V_1_0},
559 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
560 SpecificationVersion::V_1_1_DRAFT}}},
561 {{Extension::fp8e5m2},
562 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
563 SpecificationVersion::V_1_0},
564 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
565 SpecificationVersion::V_1_1_DRAFT}}},
567 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
568 SpecificationVersion::V_1_0}}}}},
571 {{{fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
573 {{{Extension::int16},
574 {{{i16T, i16T, i16T, i16T, i48T}, SpecificationVersion::V_1_0}}},
575 {{Extension::fp8e4m3},
576 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T},
577 SpecificationVersion::V_1_0},
578 {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp32T},
579 SpecificationVersion::V_1_1_DRAFT}}},
580 {{Extension::fp8e5m2},
581 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T},
582 SpecificationVersion::V_1_0},
583 {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp32T},
584 SpecificationVersion::V_1_1_DRAFT}}},
585 {{Extension::fp8e4m3, Extension::fp8e5m2},
586 {{{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp16T},
587 SpecificationVersion::V_1_1_DRAFT},
588 {{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp32T},
589 SpecificationVersion::V_1_1_DRAFT},
590 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp16T},
591 SpecificationVersion::V_1_1_DRAFT},
592 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp32T},
593 SpecificationVersion::V_1_1_DRAFT}},
596 {{{bf16T, bf16T, bf16T, bf16T, fp32T}, SpecificationVersion::V_1_0}}}}},
597 {
"tosa.matmul_t_block_scaled",
599 {{{fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T},
600 SpecificationVersion::V_1_1_DRAFT},
601 {{fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, fp32T},
602 SpecificationVersion::V_1_1_DRAFT},
603 {{fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T},
604 SpecificationVersion::V_1_1_DRAFT},
605 {{fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T},
606 SpecificationVersion::V_1_1_DRAFT},
607 {{fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T},
608 SpecificationVersion::V_1_1_DRAFT},
609 {{mxint8T, fp8ue8m0T, mxint8T, fp8ue8m0T, fp32T},
610 SpecificationVersion::V_1_1_DRAFT}}}}},
612 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
613 {{Extension::fp8e4m3},
614 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
615 {{Extension::fp8e5m2},
616 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
617 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
620 {{{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
621 {
"tosa.transpose_conv2d",
623 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
625 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
626 SpecificationVersion::V_1_0}}},
627 {{Extension::fp8e4m3},
628 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
629 SpecificationVersion::V_1_0},
630 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
631 SpecificationVersion::V_1_1_DRAFT}}},
632 {{Extension::fp8e5m2},
633 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
634 SpecificationVersion::V_1_0},
635 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
636 SpecificationVersion::V_1_1_DRAFT}}},
638 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
639 SpecificationVersion::V_1_0}}}}},
641 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
642 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
644 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
646 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
648 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
650 {{{Extension::int64},
651 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
653 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
654 {
"tosa.arithmetic_right_shift",
655 {{{Extension::int64},
656 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
658 {{{Extension::int64},
659 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
661 {{{Extension::int64},
662 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
664 {{{Extension::int64},
665 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
667 {{{Extension::int64},
668 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
669 {
"tosa.logical_left_shift",
670 {{{Extension::int64},
671 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
672 {
"tosa.logical_right_shift",
673 {{{Extension::int64},
674 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
676 {{{Extension::int64},
677 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
679 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
681 {{{Extension::int64},
682 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
684 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
686 {{{Extension::int64},
687 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
689 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
692 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
694 {{{Extension::int64},
695 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
697 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
699 {{{Extension::int16},
700 {{{i16T, i16T, i32T}, SpecificationVersion::V_1_0}}}}},
702 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
703 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
705 {{{Extension::int64},
706 {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
708 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
710 {{{Extension::int64},
711 {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
713 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
715 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
717 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
719 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
721 {{{Extension::int64},
722 {{{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
724 {{{bf16T, bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
726 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
728 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
730 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
732 {{{Extension::int64},
733 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
735 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
737 {{{Extension::int64},
738 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
740 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
742 {{{Extension::int64},
743 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
745 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
746 {
"tosa.greater_equal",
747 {{{Extension::int64},
748 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
750 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
752 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
753 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
755 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
756 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
757 {
"tosa.reduce_product",
758 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
760 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
761 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
763 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
764 {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
765 {{Extension::fp8e4m3},
766 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
767 {{Extension::fp8e5m2},
768 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
769 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
771 {{{Extension::int64},
772 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
773 {{Extension::fp8e4m3},
774 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
775 {{Extension::fp8e5m2},
776 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
778 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
780 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
781 {{Extension::fp8e4m3},
782 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
783 {{Extension::fp8e5m2},
784 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
785 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
787 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
788 {{Extension::fp8e4m3},
789 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
790 {{Extension::fp8e5m2},
791 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
792 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
794 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
795 {{Extension::fp8e4m3},
796 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
797 {{Extension::fp8e5m2},
798 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
799 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
801 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
802 {{Extension::fp8e4m3},
803 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
804 {{Extension::fp8e5m2},
805 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
806 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
808 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
809 {{Extension::fp8e4m3},
810 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
811 {{Extension::fp8e5m2},
812 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
813 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
815 {{{Extension::fp8e4m3},
816 {{{fp8e4m3T, i32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
817 {{Extension::fp8e5m2},
818 {{{fp8e5m2T, i32T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
820 {{{bf16T, i32T, bf16T}, SpecificationVersion::V_1_0}}},
822 {{{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
823 {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
824 {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
825 {{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
826 {{fp16T, i64T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
827 {{fp32T, i64T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
828 {{Extension::fp8e4m3, Extension::int64},
829 {{{fp8e4m3T, i64T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
831 {{Extension::fp8e5m2, Extension::int64},
832 {{{fp8e5m2T, i64T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
834 {{Extension::bf16, Extension::int64},
835 {{{bf16T, i64T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
838 {{{Extension::fp8e4m3},
839 {{{fp8e4m3T, i32T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
840 {{Extension::fp8e5m2},
841 {{{fp8e5m2T, i32T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
843 {{{bf16T, i32T, bf16T, bf16T}, SpecificationVersion::V_1_0}}},
845 {{{i8T, i64T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
846 {{i16T, i64T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
847 {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
848 {{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
849 {{fp16T, i64T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
850 {{fp32T, i64T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
851 {{Extension::fp8e4m3, Extension::int64},
852 {{{fp8e4m3T, i64T, fp8e4m3T, fp8e4m3T},
853 SpecificationVersion::V_1_1_DRAFT}},
855 {{Extension::fp8e5m2, Extension::int64},
856 {{{fp8e5m2T, i64T, fp8e5m2T, fp8e5m2T},
857 SpecificationVersion::V_1_1_DRAFT}},
859 {{Extension::bf16, Extension::int64},
860 {{{bf16T, i64T, bf16T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
863 {{{Extension::int16},
864 {{{i16T, i48T}, SpecificationVersion::V_1_0},
865 {{i16T, i16T}, SpecificationVersion::V_1_0}}},
866 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
869 {{{i8T, bf16T}, SpecificationVersion::V_1_0},
870 {{i16T, bf16T}, SpecificationVersion::V_1_0},
871 {{i32T, bf16T}, SpecificationVersion::V_1_0},
872 {{bf16T, i8T}, SpecificationVersion::V_1_0},
873 {{bf16T, i16T}, SpecificationVersion::V_1_0},
874 {{bf16T, i32T}, SpecificationVersion::V_1_0},
875 {{bf16T, fp32T}, SpecificationVersion::V_1_0},
876 {{fp32T, bf16T}, SpecificationVersion::V_1_0}}},
878 {{{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
879 {{i64T, i32T}, SpecificationVersion::V_1_1_DRAFT}}},
880 {{Extension::bf16, Extension::fp8e4m3},
881 {{{bf16T, fp8e4m3T}, SpecificationVersion::V_1_0},
882 {{fp8e4m3T, bf16T}, SpecificationVersion::V_1_0}},
884 {{Extension::bf16, Extension::fp8e5m2},
885 {{{bf16T, fp8e5m2T}, SpecificationVersion::V_1_0},
886 {{fp8e5m2T, bf16T}, SpecificationVersion::V_1_0}},
888 {{Extension::fp8e4m3},
889 {{{fp8e4m3T, fp16T}, SpecificationVersion::V_1_0},
890 {{fp8e4m3T, fp32T}, SpecificationVersion::V_1_0},
891 {{fp16T, fp8e4m3T}, SpecificationVersion::V_1_0},
892 {{fp32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
893 {{Extension::fp8e5m2},
894 {{{fp8e5m2T, fp16T}, SpecificationVersion::V_1_0},
895 {{fp8e5m2T, fp32T}, SpecificationVersion::V_1_0},
896 {{fp16T, fp8e5m2T}, SpecificationVersion::V_1_0},
897 {{fp32T, fp8e5m2T}, SpecificationVersion::V_1_0}}}}},
898 {
"tosa.cast_from_block_scaled",
899 {{{Extension::bf16, Extension::mxfp},
900 {{{fp4e2m1T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
901 {{fp6e2m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
902 {{fp6e3m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
903 {{fp8e4m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
904 {{fp8e5m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
905 {{mxint8T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
908 {{{fp4e2m1T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
909 {{fp6e2m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
910 {{fp6e3m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
911 {{fp8e4m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
912 {{fp8e5m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
913 {{mxint8T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
914 {
"tosa.cast_to_block_scaled",
916 {{{bf16T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
917 {{fp32T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
918 {{fp32T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
919 {{fp32T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
920 {{fp32T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
921 {{fp32T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
922 {{fp32T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}}},
923 {{Extension::bf16, Extension::mxfp},
924 {{{bf16T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
925 {{bf16T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
926 {{bf16T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
927 {{bf16T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
928 {{bf16T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}},
931 {{{Extension::int16},
932 {{{i48T, i48T, i8T, i8T}, SpecificationVersion::V_1_0},
933 {{i48T, i48T, i16T, i16T}, SpecificationVersion::V_1_0},
934 {{i48T, i48T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
936 {{{Extension::int4}, {{{i4T}, SpecificationVersion::V_1_0}}},
937 {{Extension::int16}, {{{i48T}, SpecificationVersion::V_1_0}}},
938 {{Extension::int64}, {{{i64T}, SpecificationVersion::V_1_1_DRAFT}}},
939 {{Extension::fp8e4m3}, {{{fp8e4m3T}, SpecificationVersion::V_1_0}}},
940 {{Extension::fp8e5m2}, {{{fp8e5m2T}, SpecificationVersion::V_1_0}}},
941 {{Extension::bf16}, {{{bf16T}, SpecificationVersion::V_1_0}}},
943 {{{fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
944 {{fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
945 {{fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
946 {{fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
947 {{mxint8T}, SpecificationVersion::V_1_1_DRAFT}}}}},
949 {{{Extension::int4}, {{{i4T, i4T}, SpecificationVersion::V_1_0}}},
950 {{Extension::int16}, {{{i48T, i48T}, SpecificationVersion::V_1_0}}},
951 {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
952 {{Extension::fp8e4m3},
953 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
954 {{Extension::fp8e5m2},
955 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
956 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
958 {{{Extension::variable},
959 {{{i8T}, SpecificationVersion::V_1_0},
960 {{fp16T}, SpecificationVersion::V_1_0},
961 {{fp32T}, SpecificationVersion::V_1_0}}}}},
962 {
"tosa.variable_write",
963 {{{Extension::variable},
964 {{{i8T}, SpecificationVersion::V_1_0},
965 {{fp16T}, SpecificationVersion::V_1_0},
966 {{fp32T}, SpecificationVersion::V_1_0}}}}},
967 {
"tosa.variable_read",
968 {{{Extension::variable},
969 {{{i8T}, SpecificationVersion::V_1_0},
970 {{fp16T}, SpecificationVersion::V_1_0},
971 {{fp32T}, SpecificationVersion::V_1_0}}}}},
973 {{{Extension::shape},
974 {{{boolT}, SpecificationVersion::V_1_1_DRAFT},
975 {{i8T}, SpecificationVersion::V_1_1_DRAFT},
976 {{i16T}, SpecificationVersion::V_1_1_DRAFT},
977 {{i32T}, SpecificationVersion::V_1_1_DRAFT},
978 {{fp16T}, SpecificationVersion::V_1_1_DRAFT},
979 {{fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
980 {{Extension::fp8e4m3, Extension::shape},
981 {{{fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
983 {{Extension::fp8e5m2, Extension::shape},
984 {{{fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
986 {{Extension::bf16, Extension::shape},
987 {{{bf16T}, SpecificationVersion::V_1_1_DRAFT}},
989 {{Extension::mxfp, Extension::shape},
990 {{{fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
991 {{fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
992 {{fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
993 {{mxint8T}, SpecificationVersion::V_1_1_DRAFT},
994 {{fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}},
996 {{Extension::int64, Extension::shape},
997 {{{i64T}, SpecificationVersion::V_1_1_DRAFT}},