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}}}}},
16 {
"tosa.avg_pool2d_adaptive",
18 {{{i8T, i8T, i8T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT}}},
20 {{{fp16T, fp16T, fp16T, fp16T, fp16T},
21 SpecificationVersion::V_1_1_DRAFT},
22 {{fp16T, fp16T, fp16T, fp32T, fp16T},
23 SpecificationVersion::V_1_1_DRAFT},
24 {{fp32T, fp32T, fp32T, fp32T, fp32T},
25 SpecificationVersion::V_1_1_DRAFT}}}}},
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}}}}},
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}}}}},
46 {
"tosa.depthwise_conv2d",
48 {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
50 {{{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
51 SpecificationVersion::V_1_0},
52 {{fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
53 SpecificationVersion::V_1_0},
54 {{fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
55 SpecificationVersion::V_1_0}}}}},
58 {{{i8T, i8T, i8T, i8T, i32T}, SpecificationVersion::V_1_0}}},
60 {{{fp16T, fp16T, fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
61 {{fp16T, fp16T, fp16T, fp16T, fp32T}, SpecificationVersion::V_1_0},
62 {{fp32T, fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
64 {{{Profile::pro_int}, {{{i8T, i8T}, SpecificationVersion::V_1_0}}},
66 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
67 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
68 {
"tosa.max_pool2d_adaptive",
69 {{{Profile::pro_int}, {{{i8T, i8T}, SpecificationVersion::V_1_1_DRAFT}}},
71 {{{fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
72 {{fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
73 {
"tosa.transpose_conv2d",
75 {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
77 {{{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
78 SpecificationVersion::V_1_0},
79 {{fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
80 SpecificationVersion::V_1_0},
81 {{fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
82 SpecificationVersion::V_1_0}}}}},
84 {{{Profile::pro_int}, {{{i8T, i8T}, SpecificationVersion::V_1_0}}},
86 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
87 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
90 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
91 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
94 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
95 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
98 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
99 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
101 {{{Profile::pro_int, Profile::pro_fp},
102 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
105 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
106 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
107 {
"tosa.arithmetic_right_shift",
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},
114 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
115 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
116 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
118 {{{Profile::pro_int},
119 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
120 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
121 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
123 {{{Profile::pro_int},
124 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
125 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
126 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
128 {{{Profile::pro_int, Profile::pro_fp},
129 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
132 {{{Profile::pro_int, Profile::pro_fp},
133 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
135 {
"tosa.logical_left_shift",
136 {{{Profile::pro_int, Profile::pro_fp},
137 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
138 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
139 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
141 {
"tosa.logical_right_shift",
142 {{{Profile::pro_int, Profile::pro_fp},
143 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
144 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
145 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
148 {{{Profile::pro_int, Profile::pro_fp},
149 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
152 {{{Profile::pro_int, Profile::pro_fp},
153 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
156 {{{Profile::pro_int}, {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
158 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
159 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
161 {{{Profile::pro_int}, {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
163 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
164 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
166 {{{Profile::pro_int},
167 {{{i8T, i8T, i32T}, SpecificationVersion::V_1_0},
168 {{i16T, i16T, i32T}, SpecificationVersion::V_1_0}}},
169 {{Profile::pro_int, Profile::pro_fp},
170 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
173 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
174 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
177 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
178 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
180 {{{Profile::pro_int, Profile::pro_fp},
181 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
184 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
185 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
187 {{{Profile::pro_int}, {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0}}}}},
189 {{{Profile::pro_int}, {{{i32T, i32T}, SpecificationVersion::V_1_0}}},
191 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
192 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
194 {{{Profile::pro_int},
195 {{{i8T, i8T}, SpecificationVersion::V_1_0},
196 {{i16T, i16T}, SpecificationVersion::V_1_0},
197 {{i32T, i32T}, SpecificationVersion::V_1_0}}}}},
200 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
201 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
203 {{{Profile::pro_int}, {{{i32T, i32T}, SpecificationVersion::V_1_0}}}}},
206 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
207 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
210 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
211 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
214 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
215 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
218 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
219 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
221 {{{Profile::pro_int, Profile::pro_fp},
222 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
225 {{{Profile::pro_int},
226 {{{i8T, i8T, i8T, i8T}, SpecificationVersion::V_1_0},
227 {{i16T, i16T, i16T, i16T}, SpecificationVersion::V_1_0},
228 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
230 {{{fp16T, fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
231 {{fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
234 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
235 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
238 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
239 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
242 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
243 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
245 {{{Profile::pro_int, Profile::pro_fp},
246 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
249 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
250 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
251 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
253 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
254 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
256 {{{Profile::pro_int},
257 {{{i32T, i32T, boolT}, SpecificationVersion::V_1_0}}},
259 {{{fp16T, fp16T, boolT}, SpecificationVersion::V_1_0},
260 {{fp32T, fp32T, boolT}, SpecificationVersion::V_1_0}}}}},
262 {{{Profile::pro_int},
263 {{{i32T, i32T, boolT}, SpecificationVersion::V_1_0}}},
265 {{{fp16T, fp16T, boolT}, SpecificationVersion::V_1_0},
266 {{fp32T, fp32T, boolT}, SpecificationVersion::V_1_0}}}}},
267 {
"tosa.greater_equal",
268 {{{Profile::pro_int},
269 {{{i32T, i32T, boolT}, SpecificationVersion::V_1_0}}},
271 {{{fp16T, fp16T, boolT}, SpecificationVersion::V_1_0},
272 {{fp32T, fp32T, boolT}, SpecificationVersion::V_1_0}}}}},
274 {{{Profile::pro_int, Profile::pro_fp},
275 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
278 {{{Profile::pro_int, Profile::pro_fp},
279 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
282 {{{Profile::pro_int},
283 {{{i8T, i8T}, SpecificationVersion::V_1_0},
284 {{i16T, i16T}, SpecificationVersion::V_1_0},
285 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
287 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
288 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
290 {{{Profile::pro_int},
291 {{{i8T, i8T}, SpecificationVersion::V_1_0},
292 {{i16T, i16T}, SpecificationVersion::V_1_0},
293 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
295 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
296 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
297 {
"tosa.reduce_product",
299 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
300 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
302 {{{Profile::pro_int}, {{{i32T, i32T}, SpecificationVersion::V_1_0}}},
304 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
305 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
307 {{{Profile::pro_int, Profile::pro_fp},
308 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
311 {{{i8T, i8T}, SpecificationVersion::V_1_0},
312 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
314 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
315 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
317 {{{Profile::pro_int, Profile::pro_fp},
318 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
321 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
322 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
323 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
325 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
326 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
328 {{{Profile::pro_int, Profile::pro_fp},
329 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
332 {{{i8T, i8T}, SpecificationVersion::V_1_0},
333 {{i16T, i16T}, SpecificationVersion::V_1_0},
334 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
336 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
337 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
339 {{{Profile::pro_int, Profile::pro_fp},
340 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
343 {{{i8T, i8T}, SpecificationVersion::V_1_0},
344 {{i16T, i16T}, SpecificationVersion::V_1_0},
345 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
347 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
348 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
350 {{{Profile::pro_int, Profile::pro_fp},
351 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
354 {{{i8T, i8T}, SpecificationVersion::V_1_0},
355 {{i16T, i16T}, SpecificationVersion::V_1_0},
356 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
358 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
359 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
361 {{{Profile::pro_int, Profile::pro_fp},
362 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
365 {{{i8T, i8T}, SpecificationVersion::V_1_0},
366 {{i16T, i16T}, SpecificationVersion::V_1_0},
367 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
369 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
370 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
372 {{{Profile::pro_int, Profile::pro_fp},
373 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
376 {{{i8T, i8T}, SpecificationVersion::V_1_0},
377 {{i16T, i16T}, SpecificationVersion::V_1_0},
378 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
380 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
381 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
383 {{{Profile::pro_int},
384 {{{i8T, i32T, i8T}, SpecificationVersion::V_1_0},
385 {{i16T, i32T, i16T}, SpecificationVersion::V_1_0},
386 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
388 {{{i8T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
389 {{i16T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
390 {{i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
391 {{fp16T, i32T, fp16T}, SpecificationVersion::V_1_0},
392 {{fp32T, i32T, fp32T}, SpecificationVersion::V_1_0}}},
393 {{Profile::pro_fp, Profile::pro_int},
394 {{{boolT, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT},
395 {{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
396 {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
397 {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT}},
399 {
"tosa.row_gather_block_scaled",
400 {{{Profile::pro_int},
401 {{{i8T, i32T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
402 {{i16T, i32T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
403 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT}}},
405 {{{i8T, i32T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
406 {{i16T, i32T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
407 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
408 {{fp16T, i32T, i32T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
409 {{fp32T, i32T, i32T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
410 {{Profile::pro_fp, Profile::pro_int},
411 {{{boolT, i32T, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT},
412 {{i8T, i64T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
413 {{i16T, i64T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
414 {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
415 {{i64T, i64T, i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
416 {{boolT, i64T, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT}},
419 {{{Profile::pro_int},
420 {{{i8T, i32T, i8T, i8T}, SpecificationVersion::V_1_0},
421 {{i16T, i32T, i16T, i16T}, SpecificationVersion::V_1_0},
422 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
424 {{{i8T, i32T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
425 {{i16T, i32T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
426 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
427 {{fp16T, i32T, fp16T, fp16T}, SpecificationVersion::V_1_0},
428 {{fp32T, i32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}},
429 {{Profile::pro_fp, Profile::pro_int},
430 {{{boolT, i32T, boolT, boolT}, SpecificationVersion::V_1_1_DRAFT},
431 {{i8T, i64T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
432 {{i16T, i64T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
433 {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT}},
436 {{{Profile::pro_int},
437 {{{i8T, i32T}, SpecificationVersion::V_1_0},
438 {{i8T, i8T}, SpecificationVersion::V_1_0}}},
440 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
441 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
443 {{{Profile::pro_int},
444 {{{boolT, i8T}, SpecificationVersion::V_1_0},
445 {{boolT, i16T}, SpecificationVersion::V_1_0},
446 {{boolT, i32T}, SpecificationVersion::V_1_0},
447 {{i8T, boolT}, SpecificationVersion::V_1_0},
448 {{i8T, i16T}, SpecificationVersion::V_1_0},
449 {{i8T, i32T}, SpecificationVersion::V_1_0},
450 {{i16T, boolT}, SpecificationVersion::V_1_0},
451 {{i16T, i8T}, SpecificationVersion::V_1_0},
452 {{i16T, i32T}, SpecificationVersion::V_1_0},
453 {{i32T, boolT}, SpecificationVersion::V_1_0},
454 {{i32T, i8T}, SpecificationVersion::V_1_0},
455 {{i32T, i16T}, SpecificationVersion::V_1_0}}},
457 {{{boolT, fp32T}, SpecificationVersion::V_1_1_DRAFT},
458 {{i8T, fp16T}, SpecificationVersion::V_1_0},
459 {{i8T, fp32T}, SpecificationVersion::V_1_0},
460 {{i16T, fp16T}, SpecificationVersion::V_1_0},
461 {{i16T, fp32T}, SpecificationVersion::V_1_0},
462 {{i32T, fp16T}, SpecificationVersion::V_1_0},
463 {{i32T, fp32T}, SpecificationVersion::V_1_0},
464 {{fp16T, i8T}, SpecificationVersion::V_1_0},
465 {{fp16T, i16T}, SpecificationVersion::V_1_0},
466 {{fp16T, i32T}, SpecificationVersion::V_1_0},
467 {{fp16T, fp32T}, SpecificationVersion::V_1_0},
468 {{fp32T, i8T}, SpecificationVersion::V_1_0},
469 {{fp32T, i16T}, SpecificationVersion::V_1_0},
470 {{fp32T, i32T}, SpecificationVersion::V_1_0},
471 {{fp32T, fp16T}, SpecificationVersion::V_1_0},
472 {{fp32T, boolT}, SpecificationVersion::V_1_1_DRAFT}}}}},
474 {{{Profile::pro_int},
475 {{{i8T, i8T, i8T, i8T}, SpecificationVersion::V_1_0},
476 {{i8T, i8T, i16T, i16T}, SpecificationVersion::V_1_0},
477 {{i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0},
478 {{i16T, i16T, i8T, i8T}, SpecificationVersion::V_1_0},
479 {{i16T, i16T, i16T, i16T}, SpecificationVersion::V_1_0},
480 {{i16T, i16T, i32T, i32T}, SpecificationVersion::V_1_0},
481 {{i32T, i32T, i8T, i8T}, SpecificationVersion::V_1_0},
482 {{i32T, i32T, i16T, i16T}, SpecificationVersion::V_1_0},
483 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
485 {{{Profile::pro_int, Profile::pro_fp},
486 {{{boolT}, SpecificationVersion::V_1_0},
487 {{i8T}, SpecificationVersion::V_1_0},
488 {{i16T}, SpecificationVersion::V_1_0},
489 {{i32T}, SpecificationVersion::V_1_0}},
492 {{{fp16T}, SpecificationVersion::V_1_0},
493 {{fp32T}, SpecificationVersion::V_1_0}}}}},
495 {{{Profile::pro_int, Profile::pro_fp},
496 {{{boolT, boolT}, SpecificationVersion::V_1_0},
497 {{i8T, i8T}, SpecificationVersion::V_1_0},
498 {{i16T, i16T}, SpecificationVersion::V_1_0},
499 {{i32T, i32T}, SpecificationVersion::V_1_0}},
502 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
503 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
505 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
507 {{{fp16T}, SpecificationVersion::V_1_0},
508 {{fp32T}, SpecificationVersion::V_1_0}}}}},
509 {
"tosa.variable_write",
510 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
512 {{{fp16T}, SpecificationVersion::V_1_0},
513 {{fp32T}, SpecificationVersion::V_1_0}}}}},
514 {
"tosa.variable_read",
515 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
517 {{{fp16T}, SpecificationVersion::V_1_0},
518 {{fp32T}, SpecificationVersion::V_1_0}}}}},
521extensionComplianceMap = {
523 {{{Extension::int16}, {{{i16T, i32T}, SpecificationVersion::V_1_0}}},
525 {{{i8T, i64T}, SpecificationVersion::V_1_1_DRAFT},
526 {{i16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
527 {{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
528 {{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
529 {{fp16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
530 {{fp32T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
531 {{Extension::fp8e4m3}, {{{fp8e4m3T, i32T}, SpecificationVersion::V_1_0}}},
532 {{Extension::fp8e5m2}, {{{fp8e5m2T, i32T}, SpecificationVersion::V_1_0}}},
533 {{Extension::bf16}, {{{bf16T, i32T}, SpecificationVersion::V_1_0}}},
534 {{Extension::fp8e4m3, Extension::int64},
535 {{{fp8e4m3T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
537 {{Extension::fp8e5m2, Extension::int64},
538 {{{fp8e5m2T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
540 {{Extension::bf16, Extension::int64},
541 {{{bf16T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
544 {{{Extension::int16},
545 {{{i16T, i16T, i16T, i32T, i16T}, SpecificationVersion::V_1_0}}},
546 {{Extension::fp8e4m3},
547 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T},
548 SpecificationVersion::V_1_0}}},
549 {{Extension::fp8e5m2},
550 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T},
551 SpecificationVersion::V_1_0}}},
553 {{{bf16T, bf16T, bf16T, fp32T, bf16T}, SpecificationVersion::V_1_0}}}}},
554 {
"tosa.avg_pool2d_adaptive",
555 {{{Extension::int16},
556 {{{i16T, i16T, i16T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT}}},
557 {{Extension::fp8e4m3},
558 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T},
559 SpecificationVersion::V_1_1_DRAFT}}},
560 {{Extension::fp8e5m2},
561 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T},
562 SpecificationVersion::V_1_1_DRAFT}}},
564 {{{bf16T, bf16T, bf16T, fp32T, bf16T},
565 SpecificationVersion::V_1_1_DRAFT}}}}},
568 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
570 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
571 SpecificationVersion::V_1_0}}},
572 {{Extension::fp8e4m3},
573 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
574 SpecificationVersion::V_1_0},
575 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
576 SpecificationVersion::V_1_1_DRAFT}}},
577 {{Extension::fp8e5m2},
578 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
579 SpecificationVersion::V_1_0},
580 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
581 SpecificationVersion::V_1_1_DRAFT}}},
583 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
584 SpecificationVersion::V_1_0}}}}},
585 {
"tosa.conv2d_block_scaled",
586 {{{Extension::mxfp_conv},
587 {{{fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T, fp32T},
588 SpecificationVersion::V_1_1_DRAFT},
589 {{fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, fp32T, fp32T},
590 SpecificationVersion::V_1_1_DRAFT},
591 {{fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T, fp32T},
592 SpecificationVersion::V_1_1_DRAFT},
593 {{fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T, fp32T},
594 SpecificationVersion::V_1_1_DRAFT},
595 {{fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T, fp32T},
596 SpecificationVersion::V_1_1_DRAFT}}}}},
599 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
601 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
602 SpecificationVersion::V_1_0}}},
603 {{Extension::fp8e4m3},
604 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
605 SpecificationVersion::V_1_0},
606 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
607 SpecificationVersion::V_1_1_DRAFT}}},
608 {{Extension::fp8e5m2},
609 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
610 SpecificationVersion::V_1_0},
611 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
612 SpecificationVersion::V_1_1_DRAFT}}},
614 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
615 SpecificationVersion::V_1_0}}}}},
616 {
"tosa.depthwise_conv2d",
618 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
620 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
621 SpecificationVersion::V_1_0}}},
622 {{Extension::fp8e4m3},
623 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
624 SpecificationVersion::V_1_0},
625 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
626 SpecificationVersion::V_1_1_DRAFT}}},
627 {{Extension::fp8e5m2},
628 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
629 SpecificationVersion::V_1_0},
630 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
631 SpecificationVersion::V_1_1_DRAFT}}},
633 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
634 SpecificationVersion::V_1_0}}}}},
637 {{{fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
639 {{{Extension::int16},
640 {{{i16T, i16T, i16T, i16T, i48T}, SpecificationVersion::V_1_0}}},
641 {{Extension::fp8e4m3},
642 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T},
643 SpecificationVersion::V_1_0},
644 {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp32T},
645 SpecificationVersion::V_1_1_DRAFT}}},
646 {{Extension::fp8e5m2},
647 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T},
648 SpecificationVersion::V_1_0},
649 {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp32T},
650 SpecificationVersion::V_1_1_DRAFT}}},
651 {{Extension::fp8e4m3, Extension::fp8e5m2},
652 {{{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp16T},
653 SpecificationVersion::V_1_1_DRAFT},
654 {{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp32T},
655 SpecificationVersion::V_1_1_DRAFT},
656 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp16T},
657 SpecificationVersion::V_1_1_DRAFT},
658 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp32T},
659 SpecificationVersion::V_1_1_DRAFT}},
662 {{{bf16T, bf16T, bf16T, bf16T, fp32T}, SpecificationVersion::V_1_0}}}}},
663 {
"tosa.matmul_t_block_scaled",
665 {{{fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T},
666 SpecificationVersion::V_1_1_DRAFT},
667 {{fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, fp32T},
668 SpecificationVersion::V_1_1_DRAFT},
669 {{fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T},
670 SpecificationVersion::V_1_1_DRAFT},
671 {{fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T},
672 SpecificationVersion::V_1_1_DRAFT},
673 {{fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T},
674 SpecificationVersion::V_1_1_DRAFT},
675 {{mxint8T, fp8ue8m0T, mxint8T, fp8ue8m0T, fp32T},
676 SpecificationVersion::V_1_1_DRAFT}}}}},
678 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
679 {{Extension::fp8e4m3},
680 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
681 {{Extension::fp8e5m2},
682 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
683 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
684 {
"tosa.max_pool2d_adaptive",
685 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_1_DRAFT}}},
686 {{Extension::fp8e4m3},
687 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}}},
688 {{Extension::fp8e5m2},
689 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}}},
691 {{{bf16T, bf16T}, SpecificationVersion::V_1_1_DRAFT}}}}},
694 {{{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
695 {
"tosa.transpose_conv2d",
697 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
699 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
700 SpecificationVersion::V_1_0}}},
701 {{Extension::fp8e4m3},
702 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
703 SpecificationVersion::V_1_0},
704 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
705 SpecificationVersion::V_1_1_DRAFT}}},
706 {{Extension::fp8e5m2},
707 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
708 SpecificationVersion::V_1_0},
709 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
710 SpecificationVersion::V_1_1_DRAFT}}},
712 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
713 SpecificationVersion::V_1_0}}}}},
715 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
716 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
718 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
720 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
722 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
724 {{{Extension::int64},
725 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
727 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
728 {
"tosa.arithmetic_right_shift",
729 {{{Extension::int64},
730 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
732 {{{Extension::int64},
733 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
735 {{{Extension::int64},
736 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
738 {{{Extension::int64},
739 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
741 {{{Extension::int64},
742 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
743 {
"tosa.logical_left_shift",
744 {{{Extension::int64},
745 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
746 {
"tosa.logical_right_shift",
747 {{{Extension::int64},
748 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
750 {{{Extension::int64},
751 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
753 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
755 {{{Extension::int64},
756 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
758 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
760 {{{Extension::int64},
761 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
763 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
766 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
768 {{{Extension::int64},
769 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
771 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
773 {{{Extension::int16},
774 {{{i16T, i16T, i32T}, SpecificationVersion::V_1_0}}}}},
776 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
777 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
779 {{{Extension::int64},
780 {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
782 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
784 {{{Extension::int64},
785 {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
787 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
789 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
791 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
793 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
795 {{{Extension::int64},
796 {{{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
798 {{{bf16T, bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
800 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
802 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
804 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
806 {{{Extension::int64},
807 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
809 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
811 {{{Extension::int64},
812 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
814 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
816 {{{Extension::int64},
817 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
819 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
820 {
"tosa.greater_equal",
821 {{{Extension::int64},
822 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
824 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
826 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
827 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
829 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
830 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
831 {
"tosa.reduce_product",
832 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
834 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
835 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
837 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
838 {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
839 {{Extension::fp8e4m3},
840 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
841 {{Extension::fp8e5m2},
842 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
843 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
845 {{{Extension::int64},
846 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
847 {{Extension::fp8e4m3},
848 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
849 {{Extension::fp8e5m2},
850 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
852 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
854 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
855 {{Extension::fp8e4m3},
856 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
857 {{Extension::fp8e5m2},
858 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
859 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
861 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
862 {{Extension::fp8e4m3},
863 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
864 {{Extension::fp8e5m2},
865 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
866 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
868 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
869 {{Extension::fp8e4m3},
870 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
871 {{Extension::fp8e5m2},
872 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
873 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
875 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
876 {{Extension::fp8e4m3},
877 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
878 {{Extension::fp8e5m2},
879 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
880 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
882 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
883 {{Extension::fp8e4m3},
884 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
885 {{Extension::fp8e5m2},
886 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
887 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
889 {{{Extension::fp8e4m3},
890 {{{fp8e4m3T, i32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
891 {{Extension::fp8e5m2},
892 {{{fp8e5m2T, i32T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
894 {{{bf16T, i32T, bf16T}, SpecificationVersion::V_1_0}}},
896 {{{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
897 {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
898 {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
899 {{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
900 {{fp16T, i64T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
901 {{fp32T, i64T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
902 {{boolT, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
903 {{Extension::fp8e4m3, Extension::int64},
904 {{{fp8e4m3T, i64T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
906 {{Extension::fp8e5m2, Extension::int64},
907 {{{fp8e5m2T, i64T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
909 {{Extension::bf16, Extension::int64},
910 {{{bf16T, i64T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
912 {
"tosa.row_gather_block_scaled",
913 {{{Extension::fp8e4m3},
914 {{{fp8e4m3T, i32T, i32T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}}},
915 {{Extension::fp8e5m2},
916 {{{fp8e5m2T, i32T, i32T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}}},
918 {{{bf16T, i32T, i32T, bf16T}, SpecificationVersion::V_1_1_DRAFT}}},
920 {{{i8T, i64T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
921 {{i16T, i64T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
922 {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
923 {{i64T, i64T, i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
924 {{fp16T, i64T, i32T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
925 {{fp32T, i64T, i32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
926 {{boolT, i64T, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
927 {{Extension::fp8e4m3, Extension::int64},
928 {{{fp8e4m3T, i64T, i32T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
930 {{Extension::fp8e5m2, Extension::int64},
931 {{{fp8e5m2T, i64T, i32T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
933 {{Extension::bf16, Extension::int64},
934 {{{bf16T, i64T, i32T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
937 {{{fp4e2m1T, fp8ue8m0T, i32T, i32T, fp4e2m1T, fp8ue8m0T},
938 SpecificationVersion::V_1_1_DRAFT},
939 {{fp6e2m3T, fp8ue8m0T, i32T, i32T, fp6e2m3T, fp8ue8m0T},
940 SpecificationVersion::V_1_1_DRAFT},
941 {{fp6e3m2T, fp8ue8m0T, i32T, i32T, fp6e3m2T, fp8ue8m0T},
942 SpecificationVersion::V_1_1_DRAFT},
943 {{fp8e4m3T, fp8ue8m0T, i32T, i32T, fp8e4m3T, fp8ue8m0T},
944 SpecificationVersion::V_1_1_DRAFT},
945 {{fp8e5m2T, fp8ue8m0T, i32T, i32T, fp8e5m2T, fp8ue8m0T},
946 SpecificationVersion::V_1_1_DRAFT},
947 {{mxint8T, fp8ue8m0T, i32T, i32T, mxint8T, fp8ue8m0T},
948 SpecificationVersion::V_1_1_DRAFT}}},
949 {{Extension::mxfp, Extension::int64},
950 {{{fp4e2m1T, fp8ue8m0T, i64T, i32T, fp4e2m1T, fp8ue8m0T},
951 SpecificationVersion::V_1_1_DRAFT},
952 {{fp6e2m3T, fp8ue8m0T, i64T, i32T, fp6e2m3T, fp8ue8m0T},
953 SpecificationVersion::V_1_1_DRAFT},
954 {{fp6e3m2T, fp8ue8m0T, i64T, i32T, fp6e3m2T, fp8ue8m0T},
955 SpecificationVersion::V_1_1_DRAFT},
956 {{fp8e4m3T, fp8ue8m0T, i64T, i32T, fp8e4m3T, fp8ue8m0T},
957 SpecificationVersion::V_1_1_DRAFT},
958 {{fp8e5m2T, fp8ue8m0T, i64T, i32T, fp8e5m2T, fp8ue8m0T},
959 SpecificationVersion::V_1_1_DRAFT},
960 {{mxint8T, fp8ue8m0T, i64T, i32T, mxint8T, fp8ue8m0T},
961 SpecificationVersion::V_1_1_DRAFT}},
964 {{{Extension::fp8e4m3},
965 {{{fp8e4m3T, i32T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
966 {{Extension::fp8e5m2},
967 {{{fp8e5m2T, i32T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
969 {{{bf16T, i32T, bf16T, bf16T}, SpecificationVersion::V_1_0}}},
971 {{{i8T, i64T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
972 {{i16T, i64T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
973 {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
974 {{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
975 {{fp16T, i64T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
976 {{fp32T, i64T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
977 {{boolT, i64T, boolT, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
978 {{Extension::fp8e4m3, Extension::int64},
979 {{{fp8e4m3T, i64T, fp8e4m3T, fp8e4m3T},
980 SpecificationVersion::V_1_1_DRAFT}},
982 {{Extension::fp8e5m2, Extension::int64},
983 {{{fp8e5m2T, i64T, fp8e5m2T, fp8e5m2T},
984 SpecificationVersion::V_1_1_DRAFT}},
986 {{Extension::bf16, Extension::int64},
987 {{{bf16T, i64T, bf16T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
990 {{{Extension::int16},
991 {{{i16T, i48T}, SpecificationVersion::V_1_0},
992 {{i16T, i16T}, SpecificationVersion::V_1_0}}},
993 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
996 {{{i8T, bf16T}, SpecificationVersion::V_1_0},
997 {{i16T, bf16T}, SpecificationVersion::V_1_0},
998 {{i32T, bf16T}, SpecificationVersion::V_1_0},
999 {{bf16T, i8T}, SpecificationVersion::V_1_0},
1000 {{bf16T, i16T}, SpecificationVersion::V_1_0},
1001 {{bf16T, i32T}, SpecificationVersion::V_1_0},
1002 {{bf16T, fp32T}, SpecificationVersion::V_1_0},
1003 {{fp32T, bf16T}, SpecificationVersion::V_1_0}}},
1004 {{Extension::int64},
1005 {{{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
1006 {{i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
1007 {{boolT, i64T}, SpecificationVersion::V_1_1_DRAFT},
1008 {{i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
1009 {{Extension::bf16, Extension::fp8e4m3},
1010 {{{bf16T, fp8e4m3T}, SpecificationVersion::V_1_0},
1011 {{fp8e4m3T, bf16T}, SpecificationVersion::V_1_0}},
1013 {{Extension::bf16, Extension::fp8e5m2},
1014 {{{bf16T, fp8e5m2T}, SpecificationVersion::V_1_0},
1015 {{fp8e5m2T, bf16T}, SpecificationVersion::V_1_0}},
1017 {{Extension::fp8e4m3},
1018 {{{fp8e4m3T, fp16T}, SpecificationVersion::V_1_0},
1019 {{fp8e4m3T, fp32T}, SpecificationVersion::V_1_0},
1020 {{fp16T, fp8e4m3T}, SpecificationVersion::V_1_0},
1021 {{fp32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
1022 {{Extension::fp8e5m2},
1023 {{{fp8e5m2T, fp16T}, SpecificationVersion::V_1_0},
1024 {{fp8e5m2T, fp32T}, SpecificationVersion::V_1_0},
1025 {{fp16T, fp8e5m2T}, SpecificationVersion::V_1_0},
1026 {{fp32T, fp8e5m2T}, SpecificationVersion::V_1_0}}}}},
1027 {
"tosa.cast_from_block_scaled",
1028 {{{Extension::bf16, Extension::mxfp},
1029 {{{fp4e2m1T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
1030 {{fp6e2m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
1031 {{fp6e3m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
1032 {{fp8e4m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
1033 {{fp8e5m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
1034 {{mxint8T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
1037 {{{fp4e2m1T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
1038 {{fp6e2m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
1039 {{fp6e3m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
1040 {{fp8e4m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
1041 {{fp8e5m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
1042 {{mxint8T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
1043 {
"tosa.cast_to_block_scaled",
1044 {{{Extension::mxfp},
1045 {{{bf16T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1046 {{fp32T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1047 {{fp32T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1048 {{fp32T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1049 {{fp32T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1050 {{fp32T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1051 {{fp32T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}}},
1052 {{Extension::bf16, Extension::mxfp},
1053 {{{bf16T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1054 {{bf16T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1055 {{bf16T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1056 {{bf16T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1057 {{bf16T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}},
1060 {{{Extension::int16},
1061 {{{i48T, i48T, i8T, i8T}, SpecificationVersion::V_1_0},
1062 {{i48T, i48T, i16T, i16T}, SpecificationVersion::V_1_0},
1063 {{i48T, i48T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
1065 {{{Extension::int4}, {{{i4T}, SpecificationVersion::V_1_0}}},
1066 {{Extension::int16}, {{{i48T}, SpecificationVersion::V_1_0}}},
1067 {{Extension::int64}, {{{i64T}, SpecificationVersion::V_1_1_DRAFT}}},
1068 {{Extension::fp8e4m3}, {{{fp8e4m3T}, SpecificationVersion::V_1_0}}},
1069 {{Extension::fp8e5m2}, {{{fp8e5m2T}, SpecificationVersion::V_1_0}}},
1070 {{Extension::bf16}, {{{bf16T}, SpecificationVersion::V_1_0}}},
1072 {{{fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1073 {{fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
1074 {{fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
1075 {{fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
1076 {{mxint8T}, SpecificationVersion::V_1_1_DRAFT}}}}},
1078 {{{Extension::int4}, {{{i4T, i4T}, SpecificationVersion::V_1_0}}},
1079 {{Extension::int16}, {{{i48T, i48T}, SpecificationVersion::V_1_0}}},
1080 {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
1081 {{Extension::fp8e4m3},
1082 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
1083 {{Extension::fp8e5m2},
1084 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
1085 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
1087 {{{Extension::variable},
1088 {{{i8T}, SpecificationVersion::V_1_0},
1089 {{fp16T}, SpecificationVersion::V_1_0},
1090 {{fp32T}, SpecificationVersion::V_1_0}}}}},
1091 {
"tosa.variable_write",
1092 {{{Extension::variable},
1093 {{{i8T}, SpecificationVersion::V_1_0},
1094 {{fp16T}, SpecificationVersion::V_1_0},
1095 {{fp32T}, SpecificationVersion::V_1_0}}}}},
1096 {
"tosa.variable_read",
1097 {{{Extension::variable},
1098 {{{i8T}, SpecificationVersion::V_1_0},
1099 {{fp16T}, SpecificationVersion::V_1_0},
1100 {{fp32T}, SpecificationVersion::V_1_0}}}}},
1102 {{{Extension::shape},
1103 {{{boolT}, SpecificationVersion::V_1_1_DRAFT},
1104 {{i8T}, SpecificationVersion::V_1_1_DRAFT},
1105 {{i16T}, SpecificationVersion::V_1_1_DRAFT},
1106 {{i32T}, SpecificationVersion::V_1_1_DRAFT},
1107 {{fp16T}, SpecificationVersion::V_1_1_DRAFT},
1108 {{fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
1109 {{Extension::fp8e4m3, Extension::shape},
1110 {{{fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
1112 {{Extension::fp8e5m2, Extension::shape},
1113 {{{fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
1115 {{Extension::bf16, Extension::shape},
1116 {{{bf16T}, SpecificationVersion::V_1_1_DRAFT}},
1118 {{Extension::mxfp, Extension::shape},
1119 {{{fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
1120 {{fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
1121 {{fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
1122 {{mxint8T}, SpecificationVersion::V_1_1_DRAFT},
1123 {{fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}},
1125 {{Extension::int64, Extension::shape},
1126 {{{i64T}, SpecificationVersion::V_1_1_DRAFT}},