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 {{{i8T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
374 {{i16T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
375 {{i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
376 {{fp16T, i32T, fp16T}, SpecificationVersion::V_1_0},
377 {{fp32T, i32T, fp32T}, SpecificationVersion::V_1_0}}},
378 {{Profile::pro_fp, Profile::pro_int},
379 {{{boolT, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT},
380 {{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
381 {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
382 {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT}},
385 {{{Profile::pro_int},
386 {{{i8T, i32T, i8T, i8T}, SpecificationVersion::V_1_0},
387 {{i16T, i32T, i16T, i16T}, SpecificationVersion::V_1_0},
388 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
390 {{{i8T, i32T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
391 {{i16T, i32T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
392 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
393 {{fp16T, i32T, fp16T, fp16T}, SpecificationVersion::V_1_0},
394 {{fp32T, i32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}},
395 {{Profile::pro_fp, Profile::pro_int},
396 {{{boolT, i32T, boolT, boolT}, SpecificationVersion::V_1_1_DRAFT},
397 {{i8T, i64T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
398 {{i16T, i64T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
399 {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT}},
402 {{{Profile::pro_int},
403 {{{i8T, i32T}, SpecificationVersion::V_1_0},
404 {{i8T, i8T}, SpecificationVersion::V_1_0}}},
406 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
407 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
409 {{{Profile::pro_int},
410 {{{boolT, i8T}, SpecificationVersion::V_1_0},
411 {{boolT, i16T}, SpecificationVersion::V_1_0},
412 {{boolT, i32T}, SpecificationVersion::V_1_0},
413 {{i8T, boolT}, SpecificationVersion::V_1_0},
414 {{i8T, i16T}, SpecificationVersion::V_1_0},
415 {{i8T, i32T}, SpecificationVersion::V_1_0},
416 {{i16T, boolT}, SpecificationVersion::V_1_0},
417 {{i16T, i8T}, SpecificationVersion::V_1_0},
418 {{i16T, i32T}, SpecificationVersion::V_1_0},
419 {{i32T, boolT}, SpecificationVersion::V_1_0},
420 {{i32T, i8T}, SpecificationVersion::V_1_0},
421 {{i32T, i16T}, SpecificationVersion::V_1_0}}},
423 {{{boolT, fp32T}, SpecificationVersion::V_1_1_DRAFT},
424 {{i8T, fp16T}, SpecificationVersion::V_1_0},
425 {{i8T, fp32T}, SpecificationVersion::V_1_0},
426 {{i16T, fp16T}, SpecificationVersion::V_1_0},
427 {{i16T, fp32T}, SpecificationVersion::V_1_0},
428 {{i32T, fp16T}, SpecificationVersion::V_1_0},
429 {{i32T, fp32T}, SpecificationVersion::V_1_0},
430 {{fp16T, i8T}, SpecificationVersion::V_1_0},
431 {{fp16T, i16T}, SpecificationVersion::V_1_0},
432 {{fp16T, i32T}, SpecificationVersion::V_1_0},
433 {{fp16T, fp32T}, SpecificationVersion::V_1_0},
434 {{fp32T, i8T}, SpecificationVersion::V_1_0},
435 {{fp32T, i16T}, SpecificationVersion::V_1_0},
436 {{fp32T, i32T}, SpecificationVersion::V_1_0},
437 {{fp32T, fp16T}, SpecificationVersion::V_1_0},
438 {{fp32T, boolT}, SpecificationVersion::V_1_1_DRAFT}}}}},
440 {{{Profile::pro_int},
441 {{{i8T, i8T, i8T, i8T}, SpecificationVersion::V_1_0},
442 {{i8T, i8T, i16T, i16T}, SpecificationVersion::V_1_0},
443 {{i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0},
444 {{i16T, i16T, i8T, i8T}, SpecificationVersion::V_1_0},
445 {{i16T, i16T, i16T, i16T}, SpecificationVersion::V_1_0},
446 {{i16T, i16T, i32T, i32T}, SpecificationVersion::V_1_0},
447 {{i32T, i32T, i8T, i8T}, SpecificationVersion::V_1_0},
448 {{i32T, i32T, i16T, i16T}, SpecificationVersion::V_1_0},
449 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
451 {{{Profile::pro_int, Profile::pro_fp},
452 {{{boolT}, SpecificationVersion::V_1_0},
453 {{i8T}, SpecificationVersion::V_1_0},
454 {{i16T}, SpecificationVersion::V_1_0},
455 {{i32T}, SpecificationVersion::V_1_0}},
458 {{{fp16T}, SpecificationVersion::V_1_0},
459 {{fp32T}, SpecificationVersion::V_1_0}}}}},
461 {{{Profile::pro_int, Profile::pro_fp},
462 {{{boolT, boolT}, SpecificationVersion::V_1_0},
463 {{i8T, i8T}, SpecificationVersion::V_1_0},
464 {{i16T, i16T}, SpecificationVersion::V_1_0},
465 {{i32T, i32T}, SpecificationVersion::V_1_0}},
468 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
469 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
471 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
473 {{{fp16T}, SpecificationVersion::V_1_0},
474 {{fp32T}, SpecificationVersion::V_1_0}}}}},
475 {
"tosa.variable_write",
476 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
478 {{{fp16T}, SpecificationVersion::V_1_0},
479 {{fp32T}, SpecificationVersion::V_1_0}}}}},
480 {
"tosa.variable_read",
481 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
483 {{{fp16T}, SpecificationVersion::V_1_0},
484 {{fp32T}, SpecificationVersion::V_1_0}}}}},
487extensionComplianceMap = {
489 {{{Extension::int16}, {{{i16T, i32T}, SpecificationVersion::V_1_0}}},
491 {{{i8T, i64T}, SpecificationVersion::V_1_1_DRAFT},
492 {{i16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
493 {{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
494 {{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
495 {{fp16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
496 {{fp32T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
497 {{Extension::fp8e4m3}, {{{fp8e4m3T, i32T}, SpecificationVersion::V_1_0}}},
498 {{Extension::fp8e5m2}, {{{fp8e5m2T, i32T}, SpecificationVersion::V_1_0}}},
499 {{Extension::bf16}, {{{bf16T, i32T}, SpecificationVersion::V_1_0}}},
500 {{Extension::fp8e4m3, Extension::int64},
501 {{{fp8e4m3T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
503 {{Extension::fp8e5m2, Extension::int64},
504 {{{fp8e5m2T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
506 {{Extension::bf16, Extension::int64},
507 {{{bf16T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
510 {{{Extension::int16},
511 {{{i16T, i16T, i16T, i32T, i16T}, SpecificationVersion::V_1_0}}},
512 {{Extension::fp8e4m3},
513 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T},
514 SpecificationVersion::V_1_0}}},
515 {{Extension::fp8e5m2},
516 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T},
517 SpecificationVersion::V_1_0}}},
519 {{{bf16T, bf16T, bf16T, fp32T, bf16T}, SpecificationVersion::V_1_0}}}}},
522 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
524 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
525 SpecificationVersion::V_1_0}}},
526 {{Extension::fp8e4m3},
527 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
528 SpecificationVersion::V_1_0},
529 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
530 SpecificationVersion::V_1_1_DRAFT}}},
531 {{Extension::fp8e5m2},
532 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
533 SpecificationVersion::V_1_0},
534 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
535 SpecificationVersion::V_1_1_DRAFT}}},
537 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
538 SpecificationVersion::V_1_0}}}}},
539 {
"tosa.conv2d_block_scaled",
540 {{{Extension::mxfp_conv},
541 {{{fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T, fp32T},
542 SpecificationVersion::V_1_1_DRAFT},
543 {{fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, fp32T, fp32T},
544 SpecificationVersion::V_1_1_DRAFT},
545 {{fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T, fp32T},
546 SpecificationVersion::V_1_1_DRAFT},
547 {{fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T, fp32T},
548 SpecificationVersion::V_1_1_DRAFT},
549 {{fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T, fp32T},
550 SpecificationVersion::V_1_1_DRAFT}}}}},
553 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
555 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
556 SpecificationVersion::V_1_0}}},
557 {{Extension::fp8e4m3},
558 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
559 SpecificationVersion::V_1_0},
560 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
561 SpecificationVersion::V_1_1_DRAFT}}},
562 {{Extension::fp8e5m2},
563 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
564 SpecificationVersion::V_1_0},
565 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
566 SpecificationVersion::V_1_1_DRAFT}}},
568 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
569 SpecificationVersion::V_1_0}}}}},
570 {
"tosa.depthwise_conv2d",
572 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
574 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
575 SpecificationVersion::V_1_0}}},
576 {{Extension::fp8e4m3},
577 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
578 SpecificationVersion::V_1_0},
579 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
580 SpecificationVersion::V_1_1_DRAFT}}},
581 {{Extension::fp8e5m2},
582 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
583 SpecificationVersion::V_1_0},
584 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
585 SpecificationVersion::V_1_1_DRAFT}}},
587 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
588 SpecificationVersion::V_1_0}}}}},
591 {{{fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
593 {{{Extension::int16},
594 {{{i16T, i16T, i16T, i16T, i48T}, SpecificationVersion::V_1_0}}},
595 {{Extension::fp8e4m3},
596 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T},
597 SpecificationVersion::V_1_0},
598 {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp32T},
599 SpecificationVersion::V_1_1_DRAFT}}},
600 {{Extension::fp8e5m2},
601 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T},
602 SpecificationVersion::V_1_0},
603 {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp32T},
604 SpecificationVersion::V_1_1_DRAFT}}},
605 {{Extension::fp8e4m3, Extension::fp8e5m2},
606 {{{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp16T},
607 SpecificationVersion::V_1_1_DRAFT},
608 {{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp32T},
609 SpecificationVersion::V_1_1_DRAFT},
610 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp16T},
611 SpecificationVersion::V_1_1_DRAFT},
612 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp32T},
613 SpecificationVersion::V_1_1_DRAFT}},
616 {{{bf16T, bf16T, bf16T, bf16T, fp32T}, SpecificationVersion::V_1_0}}}}},
617 {
"tosa.matmul_t_block_scaled",
619 {{{fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T},
620 SpecificationVersion::V_1_1_DRAFT},
621 {{fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, fp32T},
622 SpecificationVersion::V_1_1_DRAFT},
623 {{fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T},
624 SpecificationVersion::V_1_1_DRAFT},
625 {{fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T},
626 SpecificationVersion::V_1_1_DRAFT},
627 {{fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T},
628 SpecificationVersion::V_1_1_DRAFT},
629 {{mxint8T, fp8ue8m0T, mxint8T, fp8ue8m0T, fp32T},
630 SpecificationVersion::V_1_1_DRAFT}}}}},
632 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
633 {{Extension::fp8e4m3},
634 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
635 {{Extension::fp8e5m2},
636 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
637 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
640 {{{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
641 {
"tosa.transpose_conv2d",
643 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
645 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
646 SpecificationVersion::V_1_0}}},
647 {{Extension::fp8e4m3},
648 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
649 SpecificationVersion::V_1_0},
650 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
651 SpecificationVersion::V_1_1_DRAFT}}},
652 {{Extension::fp8e5m2},
653 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
654 SpecificationVersion::V_1_0},
655 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
656 SpecificationVersion::V_1_1_DRAFT}}},
658 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
659 SpecificationVersion::V_1_0}}}}},
661 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
662 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
664 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
666 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
668 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
670 {{{Extension::int64},
671 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
673 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
674 {
"tosa.arithmetic_right_shift",
675 {{{Extension::int64},
676 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
678 {{{Extension::int64},
679 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
681 {{{Extension::int64},
682 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
684 {{{Extension::int64},
685 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
687 {{{Extension::int64},
688 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
689 {
"tosa.logical_left_shift",
690 {{{Extension::int64},
691 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
692 {
"tosa.logical_right_shift",
693 {{{Extension::int64},
694 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
696 {{{Extension::int64},
697 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
699 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
701 {{{Extension::int64},
702 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
704 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
706 {{{Extension::int64},
707 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
709 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
712 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
714 {{{Extension::int64},
715 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
717 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
719 {{{Extension::int16},
720 {{{i16T, i16T, i32T}, SpecificationVersion::V_1_0}}}}},
722 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
723 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
725 {{{Extension::int64},
726 {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
728 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
730 {{{Extension::int64},
731 {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
733 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
735 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
737 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
739 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
741 {{{Extension::int64},
742 {{{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
744 {{{bf16T, bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
746 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
748 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
750 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
752 {{{Extension::int64},
753 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
755 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
757 {{{Extension::int64},
758 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
760 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
762 {{{Extension::int64},
763 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
765 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
766 {
"tosa.greater_equal",
767 {{{Extension::int64},
768 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
770 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
772 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
773 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
775 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
776 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
777 {
"tosa.reduce_product",
778 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
780 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
781 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
783 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
784 {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
785 {{Extension::fp8e4m3},
786 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
787 {{Extension::fp8e5m2},
788 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
789 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
791 {{{Extension::int64},
792 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
793 {{Extension::fp8e4m3},
794 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
795 {{Extension::fp8e5m2},
796 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
798 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
800 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
801 {{Extension::fp8e4m3},
802 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
803 {{Extension::fp8e5m2},
804 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
805 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
807 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
808 {{Extension::fp8e4m3},
809 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
810 {{Extension::fp8e5m2},
811 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
812 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
814 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
815 {{Extension::fp8e4m3},
816 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
817 {{Extension::fp8e5m2},
818 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
819 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
821 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
822 {{Extension::fp8e4m3},
823 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
824 {{Extension::fp8e5m2},
825 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
826 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
828 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
829 {{Extension::fp8e4m3},
830 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
831 {{Extension::fp8e5m2},
832 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
833 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
835 {{{Extension::fp8e4m3},
836 {{{fp8e4m3T, i32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
837 {{Extension::fp8e5m2},
838 {{{fp8e5m2T, i32T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
840 {{{bf16T, i32T, bf16T}, SpecificationVersion::V_1_0}}},
842 {{{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
843 {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
844 {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
845 {{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
846 {{fp16T, i64T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
847 {{fp32T, i64T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
848 {{boolT, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
849 {{Extension::fp8e4m3, Extension::int64},
850 {{{fp8e4m3T, i64T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
852 {{Extension::fp8e5m2, Extension::int64},
853 {{{fp8e5m2T, i64T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
855 {{Extension::bf16, Extension::int64},
856 {{{bf16T, i64T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
859 {{{Extension::fp8e4m3},
860 {{{fp8e4m3T, i32T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
861 {{Extension::fp8e5m2},
862 {{{fp8e5m2T, i32T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
864 {{{bf16T, i32T, bf16T, bf16T}, SpecificationVersion::V_1_0}}},
866 {{{i8T, i64T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
867 {{i16T, i64T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
868 {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
869 {{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
870 {{fp16T, i64T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
871 {{fp32T, i64T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
872 {{boolT, i64T, boolT, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
873 {{Extension::fp8e4m3, Extension::int64},
874 {{{fp8e4m3T, i64T, fp8e4m3T, fp8e4m3T},
875 SpecificationVersion::V_1_1_DRAFT}},
877 {{Extension::fp8e5m2, Extension::int64},
878 {{{fp8e5m2T, i64T, fp8e5m2T, fp8e5m2T},
879 SpecificationVersion::V_1_1_DRAFT}},
881 {{Extension::bf16, Extension::int64},
882 {{{bf16T, i64T, bf16T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
885 {{{Extension::int16},
886 {{{i16T, i48T}, SpecificationVersion::V_1_0},
887 {{i16T, i16T}, SpecificationVersion::V_1_0}}},
888 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
891 {{{i8T, bf16T}, SpecificationVersion::V_1_0},
892 {{i16T, bf16T}, SpecificationVersion::V_1_0},
893 {{i32T, bf16T}, SpecificationVersion::V_1_0},
894 {{bf16T, i8T}, SpecificationVersion::V_1_0},
895 {{bf16T, i16T}, SpecificationVersion::V_1_0},
896 {{bf16T, i32T}, SpecificationVersion::V_1_0},
897 {{bf16T, fp32T}, SpecificationVersion::V_1_0},
898 {{fp32T, bf16T}, SpecificationVersion::V_1_0}}},
900 {{{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
901 {{i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
902 {{boolT, i64T}, SpecificationVersion::V_1_1_DRAFT},
903 {{i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
904 {{Extension::bf16, Extension::fp8e4m3},
905 {{{bf16T, fp8e4m3T}, SpecificationVersion::V_1_0},
906 {{fp8e4m3T, bf16T}, SpecificationVersion::V_1_0}},
908 {{Extension::bf16, Extension::fp8e5m2},
909 {{{bf16T, fp8e5m2T}, SpecificationVersion::V_1_0},
910 {{fp8e5m2T, bf16T}, SpecificationVersion::V_1_0}},
912 {{Extension::fp8e4m3},
913 {{{fp8e4m3T, fp16T}, SpecificationVersion::V_1_0},
914 {{fp8e4m3T, fp32T}, SpecificationVersion::V_1_0},
915 {{fp16T, fp8e4m3T}, SpecificationVersion::V_1_0},
916 {{fp32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
917 {{Extension::fp8e5m2},
918 {{{fp8e5m2T, fp16T}, SpecificationVersion::V_1_0},
919 {{fp8e5m2T, fp32T}, SpecificationVersion::V_1_0},
920 {{fp16T, fp8e5m2T}, SpecificationVersion::V_1_0},
921 {{fp32T, fp8e5m2T}, SpecificationVersion::V_1_0}}}}},
922 {
"tosa.cast_from_block_scaled",
923 {{{Extension::bf16, Extension::mxfp},
924 {{{fp4e2m1T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
925 {{fp6e2m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
926 {{fp6e3m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
927 {{fp8e4m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
928 {{fp8e5m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
929 {{mxint8T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
932 {{{fp4e2m1T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
933 {{fp6e2m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
934 {{fp6e3m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
935 {{fp8e4m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
936 {{fp8e5m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
937 {{mxint8T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
938 {
"tosa.cast_to_block_scaled",
940 {{{bf16T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
941 {{fp32T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
942 {{fp32T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
943 {{fp32T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
944 {{fp32T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
945 {{fp32T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
946 {{fp32T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}}},
947 {{Extension::bf16, Extension::mxfp},
948 {{{bf16T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
949 {{bf16T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
950 {{bf16T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
951 {{bf16T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
952 {{bf16T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}},
955 {{{Extension::int16},
956 {{{i48T, i48T, i8T, i8T}, SpecificationVersion::V_1_0},
957 {{i48T, i48T, i16T, i16T}, SpecificationVersion::V_1_0},
958 {{i48T, i48T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
960 {{{Extension::int4}, {{{i4T}, SpecificationVersion::V_1_0}}},
961 {{Extension::int16}, {{{i48T}, SpecificationVersion::V_1_0}}},
962 {{Extension::int64}, {{{i64T}, SpecificationVersion::V_1_1_DRAFT}}},
963 {{Extension::fp8e4m3}, {{{fp8e4m3T}, SpecificationVersion::V_1_0}}},
964 {{Extension::fp8e5m2}, {{{fp8e5m2T}, SpecificationVersion::V_1_0}}},
965 {{Extension::bf16}, {{{bf16T}, SpecificationVersion::V_1_0}}},
967 {{{fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
968 {{fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
969 {{fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
970 {{fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
971 {{mxint8T}, SpecificationVersion::V_1_1_DRAFT}}}}},
973 {{{Extension::int4}, {{{i4T, i4T}, SpecificationVersion::V_1_0}}},
974 {{Extension::int16}, {{{i48T, i48T}, SpecificationVersion::V_1_0}}},
975 {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
976 {{Extension::fp8e4m3},
977 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
978 {{Extension::fp8e5m2},
979 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
980 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
982 {{{Extension::variable},
983 {{{i8T}, SpecificationVersion::V_1_0},
984 {{fp16T}, SpecificationVersion::V_1_0},
985 {{fp32T}, SpecificationVersion::V_1_0}}}}},
986 {
"tosa.variable_write",
987 {{{Extension::variable},
988 {{{i8T}, SpecificationVersion::V_1_0},
989 {{fp16T}, SpecificationVersion::V_1_0},
990 {{fp32T}, SpecificationVersion::V_1_0}}}}},
991 {
"tosa.variable_read",
992 {{{Extension::variable},
993 {{{i8T}, SpecificationVersion::V_1_0},
994 {{fp16T}, SpecificationVersion::V_1_0},
995 {{fp32T}, SpecificationVersion::V_1_0}}}}},
997 {{{Extension::shape},
998 {{{boolT}, SpecificationVersion::V_1_1_DRAFT},
999 {{i8T}, SpecificationVersion::V_1_1_DRAFT},
1000 {{i16T}, SpecificationVersion::V_1_1_DRAFT},
1001 {{i32T}, SpecificationVersion::V_1_1_DRAFT},
1002 {{fp16T}, SpecificationVersion::V_1_1_DRAFT},
1003 {{fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
1004 {{Extension::fp8e4m3, Extension::shape},
1005 {{{fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
1007 {{Extension::fp8e5m2, Extension::shape},
1008 {{{fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
1010 {{Extension::bf16, Extension::shape},
1011 {{{bf16T}, SpecificationVersion::V_1_1_DRAFT}},
1013 {{Extension::mxfp, Extension::shape},
1014 {{{fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
1015 {{fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
1016 {{fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
1017 {{mxint8T}, SpecificationVersion::V_1_1_DRAFT},
1018 {{fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}},
1020 {{Extension::int64, Extension::shape},
1021 {{{i64T}, SpecificationVersion::V_1_1_DRAFT}},