3 profileComplianceMap = {
5 {{{Profile::pro_int}, {{i8T, i32T}}},
6 {{Profile::pro_fp}, {{fp16T, i32T}, {fp32T, i32T}}}}},
8 {{{Profile::pro_int}, {{i8T, i8T, i8T, i32T, i8T}}},
10 {{fp16T, fp16T, fp16T, fp16T, fp16T},
11 {fp16T, fp16T, fp16T, fp32T, fp16T},
12 {fp32T, fp32T, fp32T, fp32T, fp32T}}}}},
14 {{{Profile::pro_int}, {{i8T, i8T, i32T, i8T, i8T, i32T, i32T}}},
16 {{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
17 {fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
18 {fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T}}}}},
20 {{{Profile::pro_int}, {{i8T, i8T, i32T, i8T, i8T, i32T, i32T}}},
22 {{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
23 {fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
24 {fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T}}}}},
25 {
"tosa.depthwise_conv2d",
26 {{{Profile::pro_int}, {{i8T, i8T, i32T, i8T, i8T, i32T, i32T}}},
28 {{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
29 {fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
30 {fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T}}}}},
32 {{{Profile::pro_int}, {{i8T, i8T, i8T, i8T, i32T}}},
34 {{fp16T, fp16T, fp16T, fp16T, fp16T},
35 {fp16T, fp16T, fp16T, fp16T, fp32T},
36 {fp32T, fp32T, fp32T, fp32T, fp32T}}}}},
38 {{{Profile::pro_int}, {{i8T, i8T}}},
39 {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
40 {
"tosa.transpose_conv2d",
41 {{{Profile::pro_int}, {{i8T, i8T, i32T, i8T, i8T, i32T, i32T}}},
43 {{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
44 {fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
45 {fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T}}}}},
47 {{{Profile::pro_int}, {{i8T, i8T}}},
48 {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
49 {
"tosa.erf", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
50 {
"tosa.sigmoid", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
51 {
"tosa.tanh", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
53 {{{Profile::pro_int, Profile::pro_fp}, {{i32T, i32T, i32T}},
anyOf},
54 {{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
55 {
"tosa.arithmetic_right_shift",
57 {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}},
60 {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}},
63 {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}},
66 {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}},
68 {{{Profile::pro_int, Profile::pro_fp}, {{i32T, i32T, i32T}},
anyOf}}},
70 {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT, boolT}},
anyOf}}},
71 {
"tosa.logical_left_shift",
72 {{{Profile::pro_int, Profile::pro_fp},
73 {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}},
75 {
"tosa.logical_right_shift",
76 {{{Profile::pro_int, Profile::pro_fp},
77 {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}},
80 {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT, boolT}},
anyOf}}},
82 {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT, boolT}},
anyOf}}},
84 {{{Profile::pro_int}, {{i32T, i32T, i32T}}},
85 {{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
87 {{{Profile::pro_int}, {{i32T, i32T, i32T}}},
88 {{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
90 {{{Profile::pro_int}, {{i8T, i8T, i32T}, {i16T, i16T, i32T}}},
91 {{Profile::pro_int, Profile::pro_fp}, {{i32T, i32T, i32T}},
anyOf},
92 {{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
94 {{{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
96 {{{Profile::pro_int, Profile::pro_fp}, {{i32T, i32T, i32T}},
anyOf},
97 {{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
98 {
"tosa.table", {{{Profile::pro_int}, {{i8T, i8T, i8T}}}}},
100 {{{Profile::pro_int}, {{i32T, i32T}}},
101 {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
103 {{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}}}},
104 {
"tosa.ceil", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
105 {
"tosa.clz", {{{Profile::pro_int}, {{i32T, i32T}}}}},
106 {
"tosa.cos", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
107 {
"tosa.exp", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
108 {
"tosa.floor", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
109 {
"tosa.log", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
111 {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}},
anyOf}}},
113 {{{Profile::pro_int},
114 {{i8T, i8T, i8T, i8T},
115 {i16T, i16T, i16T, i16T},
116 {i32T, i32T, i32T, i32T}}},
118 {{fp16T, fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T, fp32T}}}}},
120 {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
121 {
"tosa.rsqrt", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
122 {
"tosa.sin", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
124 {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT, boolT}},
anyOf},
126 {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}},
127 {{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
129 {{{Profile::pro_int}, {{i32T, i32T, boolT}}},
130 {{Profile::pro_fp}, {{fp16T, fp16T, boolT}, {fp32T, fp32T, boolT}}}}},
132 {{{Profile::pro_int}, {{i32T, i32T, boolT}}},
133 {{Profile::pro_fp}, {{fp16T, fp16T, boolT}, {fp32T, fp32T, boolT}}}}},
134 {
"tosa.greater_equal",
135 {{{Profile::pro_int}, {{i32T, i32T, boolT}}},
136 {{Profile::pro_fp}, {{fp16T, fp16T, boolT}, {fp32T, fp32T, boolT}}}}},
138 {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}},
anyOf}}},
140 {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}},
anyOf}}},
142 {{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
143 {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
145 {{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
146 {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
147 {
"tosa.reduce_product",
148 {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
150 {{{Profile::pro_int}, {{i32T, i32T}}},
151 {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
153 {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}},
anyOf},
154 {{Profile::pro_int}, {{i8T, i8T}, {i32T, i32T}}},
155 {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
157 {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT, boolT}},
anyOf},
159 {{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}},
160 {{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
162 {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}},
anyOf},
163 {{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
164 {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
166 {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}},
anyOf},
167 {{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
168 {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
170 {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}},
anyOf},
171 {{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
172 {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
174 {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}},
anyOf},
175 {{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
176 {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
178 {{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}},
anyOf},
179 {{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
180 {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
182 {{{Profile::pro_int},
183 {{i8T, i32T, i8T}, {i16T, i32T, i16T}, {i32T, i32T, i32T}}},
184 {{Profile::pro_fp}, {{fp16T, i32T, fp16T}, {fp32T, i32T, fp32T}}}}},
186 {{{Profile::pro_int},
187 {{i8T, i32T, i8T, i8T},
188 {i16T, i32T, i16T, i16T},
189 {i32T, i32T, i32T, i32T}}},
191 {{fp16T, i32T, fp16T, fp16T}, {fp32T, i32T, fp32T, fp32T}}}}},
193 {{{Profile::pro_int}, {{i8T, i32T}, {i8T, i8T}}},
194 {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
196 {{{Profile::pro_int},
225 {{{Profile::pro_int},
226 {{i8T, i8T, i8T, i8T},
227 {i8T, i8T, i16T, i16T},
228 {i8T, i8T, i32T, i32T},
229 {i16T, i16T, i8T, i8T},
230 {i16T, i16T, i16T, i16T},
231 {i16T, i16T, i32T, i32T},
232 {i32T, i32T, i8T, i8T},
233 {i32T, i32T, i16T, i16T},
234 {i32T, i32T, i32T, i32T}}}}},
236 {{{Profile::pro_int, Profile::pro_fp},
237 {{boolT}, {i8T}, {i16T}, {i32T}},
239 {{Profile::pro_fp}, {{fp16T}, {fp32T}}}}},
241 {{{Profile::pro_int, Profile::pro_fp},
242 {{boolT, boolT}, {i8T, i8T}, {i16T, i16T}, {i32T, i32T}},
244 {{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
246 {{{Profile::pro_int}, {{i8T}}}, {{Profile::pro_fp}, {{fp16T}, {fp32T}}}}},
247 {
"tosa.variable_write",
248 {{{Profile::pro_int}, {{i8T}}}, {{Profile::pro_fp}, {{fp16T}, {fp32T}}}}},
249 {
"tosa.variable_read",
250 {{{Profile::pro_int}, {{i8T}}}, {{Profile::pro_fp}, {{fp16T}, {fp32T}}}}},
253 extensionComplianceMap = {
255 {{{Extension::int16}, {{i16T, i32T}}},
256 {{Extension::fp8e4m3}, {{fp8e4m3T, i32T}}},
257 {{Extension::fp8e5m2}, {{fp8e5m2T, i32T}}},
258 {{Extension::bf16}, {{bf16T, i32T}}}}},
260 {{{Extension::int16}, {{i16T, i16T, i16T, i32T, i16T}}},
261 {{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T}}},
262 {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T}}},
263 {{Extension::bf16}, {{bf16T, bf16T, bf16T, fp32T, bf16T}}}}},
265 {{{Extension::int4}, {{i8T, i4T, i32T, i8T, i4T, i32T, i32T}}},
266 {{Extension::int16}, {{i16T, i8T, i48T, i16T, i8T, i48T, i48T}}},
267 {{Extension::fp8e4m3},
268 {{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T}}},
269 {{Extension::fp8e5m2},
270 {{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T}}},
272 {{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T}}}}},
274 {{{Extension::int4}, {{i8T, i4T, i32T, i8T, i4T, i32T, i32T}}},
275 {{Extension::int16}, {{i16T, i8T, i48T, i16T, i8T, i48T, i48T}}},
276 {{Extension::fp8e4m3},
277 {{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T}}},
278 {{Extension::fp8e5m2},
279 {{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T}}},
281 {{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T}}}}},
282 {
"tosa.depthwise_conv2d",
283 {{{Extension::int4}, {{i8T, i4T, i32T, i8T, i4T, i32T, i32T}}},
284 {{Extension::int16}, {{i16T, i8T, i48T, i16T, i8T, i48T, i48T}}},
285 {{Extension::fp8e4m3},
286 {{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T}}},
287 {{Extension::fp8e5m2},
288 {{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T}}},
290 {{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T}}}}},
291 {
"tosa.fft2d", {{{Extension::fft}, {{fp32T, fp32T, fp32T, fp32T}}}}},
293 {{{Extension::int16}, {{i16T, i16T, i16T, i16T, i48T}}},
294 {{Extension::fp8e4m3},
295 {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T},
296 {fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp32T}}},
297 {{Extension::fp8e5m2},
298 {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T},
299 {fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp32T}}},
300 {{Extension::fp8e4m3, Extension::fp8e5m2},
301 {{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp16T},
302 {fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp32T},
303 {fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp16T},
304 {fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp32T}},
306 {{Extension::bf16}, {{bf16T, bf16T, bf16T, bf16T, fp32T}}}}},
308 {{{Extension::int16}, {{i16T, i16T}}},
309 {{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
310 {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
311 {{Extension::bf16}, {{bf16T, bf16T}}}}},
312 {
"tosa.rfft2d", {{{Extension::fft}, {{fp32T, fp32T, fp32T}}}}},
313 {
"tosa.transpose_conv2d",
314 {{{Extension::int4}, {{i8T, i4T, i32T, i8T, i4T, i32T, i32T}}},
315 {{Extension::int16}, {{i16T, i8T, i48T, i16T, i8T, i48T, i48T}}},
316 {{Extension::fp8e4m3},
317 {{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T}}},
318 {{Extension::fp8e5m2},
319 {{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T}}},
321 {{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T}}}}},
323 {{{Extension::int16}, {{i16T, i16T}}},
324 {{Extension::bf16}, {{bf16T, bf16T}}}}},
325 {
"tosa.erf", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
326 {
"tosa.sigmoid", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
327 {
"tosa.tanh", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
328 {
"tosa.add", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
329 {
"tosa.maximum", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
330 {
"tosa.minimum", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
331 {
"tosa.mul", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
332 {
"tosa.pow", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
333 {
"tosa.sub", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
334 {
"tosa.table", {{{Extension::int16}, {{i16T, i16T, i32T}}}}},
335 {
"tosa.abs", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
336 {
"tosa.ceil", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
337 {
"tosa.cos", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
338 {
"tosa.exp", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
339 {
"tosa.floor", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
340 {
"tosa.log", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
341 {
"tosa.negate", {{{Extension::bf16}, {{bf16T, bf16T, bf16T, bf16T}}}}},
342 {
"tosa.reciprocal", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
343 {
"tosa.rsqrt", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
344 {
"tosa.sin", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
345 {
"tosa.select", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
346 {
"tosa.equal", {{{Extension::bf16}, {{bf16T, bf16T, boolT}}}}},
347 {
"tosa.greater", {{{Extension::bf16}, {{bf16T, bf16T, boolT}}}}},
348 {
"tosa.greater_equal", {{{Extension::bf16}, {{bf16T, bf16T, boolT}}}}},
349 {
"tosa.reduce_max", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
350 {
"tosa.reduce_min", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
351 {
"tosa.reduce_product", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
352 {
"tosa.reduce_sum", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
354 {{{Extension::int16}, {{i16T, i16T}}},
355 {{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
356 {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
357 {{Extension::bf16}, {{bf16T, bf16T}}}}},
359 {{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp8e4m3T}}},
360 {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp8e5m2T}}},
361 {{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
363 {{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
364 {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
365 {{Extension::bf16}, {{bf16T, bf16T}}}}},
367 {{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
368 {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
369 {{Extension::bf16}, {{bf16T, bf16T}}}}},
371 {{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
372 {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
373 {{Extension::bf16}, {{bf16T, bf16T}}}}},
375 {{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
376 {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
377 {{Extension::bf16}, {{bf16T, bf16T}}}}},
379 {{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
380 {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
381 {{Extension::bf16}, {{bf16T, bf16T}}}}},
383 {{{Extension::fp8e4m3}, {{fp8e4m3T, i32T, fp8e4m3T}}},
384 {{Extension::fp8e5m2}, {{fp8e5m2T, i32T, fp8e5m2T}}},
385 {{Extension::bf16}, {{bf16T, i32T, bf16T}}}}},
387 {{{Extension::fp8e4m3}, {{fp8e4m3T, i32T, fp8e4m3T, fp8e4m3T}}},
388 {{Extension::fp8e5m2}, {{fp8e5m2T, i32T, fp8e5m2T, fp8e5m2T}}},
389 {{Extension::bf16}, {{bf16T, i32T, bf16T, bf16T}}}}},
391 {{{Extension::int16}, {{i16T, i48T}, {i16T, i16T}}},
392 {{Extension::bf16}, {{bf16T, bf16T}}}}},
403 {{Extension::bf16, Extension::fp8e4m3},
404 {{bf16T, fp8e4m3T}, {fp8e4m3T, bf16T}},
406 {{Extension::bf16, Extension::fp8e5m2},
407 {{bf16T, fp8e5m2T}, {fp8e5m2T, bf16T}},
409 {{Extension::fp8e4m3},
414 {{Extension::fp8e5m2},
418 {fp32T, fp8e5m2T}}}}},
420 {{{Extension::int16},
421 {{i48T, i48T, i8T, i8T},
422 {i48T, i48T, i16T, i16T},
423 {i48T, i48T, i32T, i32T}}}}},
425 {{{Extension::int4}, {{i4T}}},
426 {{Extension::int16}, {{i48T}}},
427 {{Extension::fp8e4m3}, {{fp8e4m3T}}},
428 {{Extension::fp8e5m2}, {{fp8e5m2T}}},
429 {{Extension::bf16}, {{bf16T}}}}},
431 {{{Extension::int4}, {{i4T, i4T}}},
432 {{Extension::int16}, {{i48T, i48T}}},
433 {{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
434 {{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
435 {{Extension::bf16}, {{bf16T, bf16T}}}}},
436 {
"tosa.cond_if", {{{Extension::controlflow}, {{boolT}}}}},
437 {
"tosa.while_loop", {{{Extension::controlflow}, {{boolT}}}}},
438 {
"tosa.variable", {{{Extension::variable}, {{i8T}, {fp16T}, {fp32T}}}}},
439 {
"tosa.variable_write",
440 {{{Extension::variable}, {{i8T}, {fp16T}, {fp32T}}}}},
441 {
"tosa.variable_read",
442 {{{Extension::variable}, {{i8T}, {fp16T}, {fp32T}}}}},