MLIR 23.0.0git
TosaComplianceData.h.inc
Go to the documentation of this file.
1// The profile-based compliance content below is auto-generated by the script
2// `tools/genspec.py` in https://github.com/arm/tosa-specification
3profileComplianceMap = {
4 {"tosa.argmax",
5 {{{Profile::pro_int}, {{{i8T, i32T}, SpecificationVersion::V_1_0}}},
6 {{Profile::pro_fp},
7 {{{fp16T, i32T}, SpecificationVersion::V_1_0},
8 {{fp32T, i32T}, SpecificationVersion::V_1_0}}}}},
9 {"tosa.avg_pool2d",
10 {{{Profile::pro_int},
11 {{{i8T, i8T, i8T, i32T, i8T}, SpecificationVersion::V_1_0}}},
12 {{Profile::pro_fp},
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",
17 {{{Profile::pro_int},
18 {{{i8T, i8T, i8T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT}}},
19 {{Profile::pro_fp},
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}}}}},
26 {"tosa.conv2d",
27 {{{Profile::pro_int},
28 {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
29 {{Profile::pro_fp},
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.conv3d",
37 {{{Profile::pro_int},
38 {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
39 {{Profile::pro_fp},
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",
47 {{{Profile::pro_int},
48 {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
49 {{Profile::pro_fp},
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}}}}},
56 {"tosa.matmul",
57 {{{Profile::pro_int},
58 {{{i8T, i8T, i8T, i8T, i32T}, SpecificationVersion::V_1_0}}},
59 {{Profile::pro_fp},
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}}}}},
63 {"tosa.matmul_t",
64 {{{Profile::pro_int},
65 {{{i8T, i8T, i32T}, SpecificationVersion::V_1_1_DRAFT}}},
66 {{Profile::pro_fp},
67 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
68 {{fp16T, fp16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
69 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
70 {"tosa.max_pool2d",
71 {{{Profile::pro_int}, {{{i8T, i8T}, SpecificationVersion::V_1_0}}},
72 {{Profile::pro_fp},
73 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
74 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
75 {"tosa.max_pool2d_adaptive",
76 {{{Profile::pro_int}, {{{i8T, i8T}, SpecificationVersion::V_1_1_DRAFT}}},
77 {{Profile::pro_fp},
78 {{{fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
79 {{fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
80 {"tosa.transpose_conv2d",
81 {{{Profile::pro_int},
82 {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
83 {{Profile::pro_fp},
84 {{{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
85 SpecificationVersion::V_1_0},
86 {{fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
87 SpecificationVersion::V_1_0},
88 {{fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
89 SpecificationVersion::V_1_0}}}}},
90 {"tosa.clamp",
91 {{{Profile::pro_int}, {{{i8T, i8T}, SpecificationVersion::V_1_0}}},
92 {{Profile::pro_fp},
93 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
94 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
95 {"tosa.erf",
96 {{{Profile::pro_fp},
97 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
98 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
99 {"tosa.sigmoid",
100 {{{Profile::pro_fp},
101 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
102 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
103 {"tosa.tanh",
104 {{{Profile::pro_fp},
105 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
106 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
107 {"tosa.add",
108 {{{Profile::pro_int, Profile::pro_fp},
109 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
110 anyOf},
111 {{Profile::pro_fp},
112 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
113 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
114 {"tosa.arithmetic_right_shift",
115 {{{Profile::pro_int},
116 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
117 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
118 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
119 {"tosa.bitwise_and",
120 {{{Profile::pro_int},
121 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
122 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
123 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
124 {"tosa.bitwise_or",
125 {{{Profile::pro_int},
126 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
127 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
128 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
129 {"tosa.bitwise_xor",
130 {{{Profile::pro_int},
131 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
132 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
133 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
134 {"tosa.intdiv",
135 {{{Profile::pro_int, Profile::pro_fp},
136 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
137 anyOf}}},
138 {"tosa.logical_and",
139 {{{Profile::pro_int, Profile::pro_fp},
140 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
141 anyOf}}},
142 {"tosa.logical_left_shift",
143 {{{Profile::pro_int, Profile::pro_fp},
144 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
145 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
146 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
147 anyOf}}},
148 {"tosa.logical_right_shift",
149 {{{Profile::pro_int, Profile::pro_fp},
150 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
151 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
152 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
153 anyOf}}},
154 {"tosa.logical_or",
155 {{{Profile::pro_int, Profile::pro_fp},
156 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
157 anyOf}}},
158 {"tosa.logical_xor",
159 {{{Profile::pro_int, Profile::pro_fp},
160 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
161 anyOf}}},
162 {"tosa.maximum",
163 {{{Profile::pro_int}, {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
164 {{Profile::pro_fp},
165 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
166 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
167 {"tosa.minimum",
168 {{{Profile::pro_int}, {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
169 {{Profile::pro_fp},
170 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
171 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
172 {"tosa.mul",
173 {{{Profile::pro_int},
174 {{{i8T, i8T, i32T}, SpecificationVersion::V_1_0},
175 {{i16T, i16T, i32T}, SpecificationVersion::V_1_0}}},
176 {{Profile::pro_int, Profile::pro_fp},
177 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
178 anyOf},
179 {{Profile::pro_fp},
180 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
181 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
182 {"tosa.pow",
183 {{{Profile::pro_fp},
184 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
185 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
186 {"tosa.sub",
187 {{{Profile::pro_int, Profile::pro_fp},
188 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
189 anyOf},
190 {{Profile::pro_fp},
191 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
192 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
193 {"tosa.table",
194 {{{Profile::pro_int}, {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0}}}}},
195 {"tosa.abs",
196 {{{Profile::pro_int}, {{{i32T, i32T}, SpecificationVersion::V_1_0}}},
197 {{Profile::pro_fp},
198 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
199 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
200 {"tosa.bitwise_not",
201 {{{Profile::pro_int},
202 {{{i8T, i8T}, SpecificationVersion::V_1_0},
203 {{i16T, i16T}, SpecificationVersion::V_1_0},
204 {{i32T, i32T}, SpecificationVersion::V_1_0}}}}},
205 {"tosa.ceil",
206 {{{Profile::pro_fp},
207 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
208 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
209 {"tosa.clz",
210 {{{Profile::pro_int}, {{{i32T, i32T}, SpecificationVersion::V_1_0}}}}},
211 {"tosa.cos",
212 {{{Profile::pro_fp},
213 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
214 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
215 {"tosa.exp",
216 {{{Profile::pro_fp},
217 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
218 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
219 {"tosa.floor",
220 {{{Profile::pro_fp},
221 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
222 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
223 {"tosa.log",
224 {{{Profile::pro_fp},
225 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
226 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
227 {"tosa.logical_not",
228 {{{Profile::pro_int, Profile::pro_fp},
229 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
230 anyOf}}},
231 {"tosa.negate",
232 {{{Profile::pro_int},
233 {{{i8T, i8T, i8T, i8T}, SpecificationVersion::V_1_0},
234 {{i16T, i16T, i16T, i16T}, SpecificationVersion::V_1_0},
235 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
236 {{Profile::pro_fp},
237 {{{fp16T, fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
238 {{fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
239 {"tosa.reciprocal",
240 {{{Profile::pro_fp},
241 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
242 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
243 {"tosa.rsqrt",
244 {{{Profile::pro_fp},
245 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
246 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
247 {"tosa.sin",
248 {{{Profile::pro_fp},
249 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
250 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
251 {"tosa.select",
252 {{{Profile::pro_int, Profile::pro_fp},
253 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
254 anyOf},
255 {{Profile::pro_int},
256 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
257 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
258 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
259 {{Profile::pro_fp},
260 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
261 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
262 {"tosa.equal",
263 {{{Profile::pro_int},
264 {{{i32T, i32T, boolT}, SpecificationVersion::V_1_0}}},
265 {{Profile::pro_fp},
266 {{{fp16T, fp16T, boolT}, SpecificationVersion::V_1_0},
267 {{fp32T, fp32T, boolT}, SpecificationVersion::V_1_0}}}}},
268 {"tosa.greater",
269 {{{Profile::pro_int},
270 {{{i32T, i32T, boolT}, SpecificationVersion::V_1_0}}},
271 {{Profile::pro_fp},
272 {{{fp16T, fp16T, boolT}, SpecificationVersion::V_1_0},
273 {{fp32T, fp32T, boolT}, SpecificationVersion::V_1_0}}}}},
274 {"tosa.greater_equal",
275 {{{Profile::pro_int},
276 {{{i32T, i32T, boolT}, SpecificationVersion::V_1_0}}},
277 {{Profile::pro_fp},
278 {{{fp16T, fp16T, boolT}, SpecificationVersion::V_1_0},
279 {{fp32T, fp32T, boolT}, SpecificationVersion::V_1_0}}}}},
280 {"tosa.reduce_all",
281 {{{Profile::pro_int, Profile::pro_fp},
282 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
283 anyOf}}},
284 {"tosa.reduce_any",
285 {{{Profile::pro_int, Profile::pro_fp},
286 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
287 anyOf}}},
288 {"tosa.reduce_max",
289 {{{Profile::pro_int},
290 {{{i8T, i8T}, SpecificationVersion::V_1_0},
291 {{i16T, i16T}, SpecificationVersion::V_1_0},
292 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
293 {{Profile::pro_fp},
294 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
295 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
296 {"tosa.reduce_min",
297 {{{Profile::pro_int},
298 {{{i8T, i8T}, SpecificationVersion::V_1_0},
299 {{i16T, i16T}, SpecificationVersion::V_1_0},
300 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
301 {{Profile::pro_fp},
302 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
303 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
304 {"tosa.reduce_product",
305 {{{Profile::pro_fp},
306 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
307 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
308 {"tosa.reduce_sum",
309 {{{Profile::pro_int}, {{{i32T, i32T}, SpecificationVersion::V_1_0}}},
310 {{Profile::pro_fp},
311 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
312 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
313 {"tosa.concat",
314 {{{Profile::pro_int, Profile::pro_fp},
315 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
316 anyOf},
317 {{Profile::pro_int},
318 {{{i8T, i8T}, SpecificationVersion::V_1_0},
319 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
320 {{Profile::pro_fp},
321 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
322 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
323 {"tosa.pad",
324 {{{Profile::pro_int, Profile::pro_fp},
325 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
326 anyOf},
327 {{Profile::pro_int},
328 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
329 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
330 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
331 {{Profile::pro_fp},
332 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
333 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
334 {"tosa.reshape",
335 {{{Profile::pro_int, Profile::pro_fp},
336 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
337 anyOf},
338 {{Profile::pro_int},
339 {{{i8T, i8T}, SpecificationVersion::V_1_0},
340 {{i16T, i16T}, SpecificationVersion::V_1_0},
341 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
342 {{Profile::pro_fp},
343 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
344 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
345 {"tosa.reverse",
346 {{{Profile::pro_int, Profile::pro_fp},
347 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
348 anyOf},
349 {{Profile::pro_int},
350 {{{i8T, i8T}, SpecificationVersion::V_1_0},
351 {{i16T, i16T}, SpecificationVersion::V_1_0},
352 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
353 {{Profile::pro_fp},
354 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
355 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
356 {"tosa.slice",
357 {{{Profile::pro_int, Profile::pro_fp},
358 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
359 anyOf},
360 {{Profile::pro_int},
361 {{{i8T, i8T}, SpecificationVersion::V_1_0},
362 {{i16T, i16T}, SpecificationVersion::V_1_0},
363 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
364 {{Profile::pro_fp},
365 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
366 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
367 {"tosa.tile",
368 {{{Profile::pro_int, Profile::pro_fp},
369 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
370 anyOf},
371 {{Profile::pro_int},
372 {{{i8T, i8T}, SpecificationVersion::V_1_0},
373 {{i16T, i16T}, SpecificationVersion::V_1_0},
374 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
375 {{Profile::pro_fp},
376 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
377 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
378 {"tosa.transpose",
379 {{{Profile::pro_int, Profile::pro_fp},
380 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
381 anyOf},
382 {{Profile::pro_int},
383 {{{i8T, i8T}, SpecificationVersion::V_1_0},
384 {{i16T, i16T}, SpecificationVersion::V_1_0},
385 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
386 {{Profile::pro_fp},
387 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
388 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
389 {"tosa.gather",
390 {{{Profile::pro_int},
391 {{{i8T, i32T, i8T}, SpecificationVersion::V_1_0},
392 {{i16T, i32T, i16T}, SpecificationVersion::V_1_0},
393 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
394 {{Profile::pro_fp},
395 {{{i8T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
396 {{i16T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
397 {{i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
398 {{fp16T, i32T, fp16T}, SpecificationVersion::V_1_0},
399 {{fp32T, i32T, fp32T}, SpecificationVersion::V_1_0}}},
400 {{Profile::pro_fp, Profile::pro_int},
401 {{{boolT, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT},
402 {{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
403 {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
404 {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT}},
405 anyOf}}},
406 {"tosa.row_gather",
407 {{{Profile::pro_int},
408 {{{boolT, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT},
409 {{i8T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
410 {{i16T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
411 {{i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
412 {{i64T, i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
413 {{boolT, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT},
414 {{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
415 {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
416 {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
417 {{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
418 {{Profile::pro_fp},
419 {{{boolT, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT},
420 {{i8T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
421 {{i16T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
422 {{i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
423 {{i64T, i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
424 {{fp16T, i32T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
425 {{fp32T, i32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
426 {{boolT, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT},
427 {{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
428 {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
429 {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
430 {{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
431 {{fp16T, i64T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
432 {{fp32T, i64T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
433 {"tosa.row_gather_block_scaled",
434 {{{Profile::pro_int},
435 {{{i8T, i32T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
436 {{i16T, i32T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
437 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT}}},
438 {{Profile::pro_fp},
439 {{{i8T, i32T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
440 {{i16T, i32T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
441 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
442 {{fp16T, i32T, i32T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
443 {{fp32T, i32T, i32T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
444 {{Profile::pro_fp, Profile::pro_int},
445 {{{boolT, i32T, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT},
446 {{i8T, i64T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
447 {{i16T, i64T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
448 {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
449 {{i64T, i64T, i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
450 {{boolT, i64T, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT}},
451 anyOf}}},
452 {"tosa.scatter",
453 {{{Profile::pro_int},
454 {{{i8T, i32T, i8T, i8T}, SpecificationVersion::V_1_0},
455 {{i16T, i32T, i16T, i16T}, SpecificationVersion::V_1_0},
456 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
457 {{Profile::pro_fp},
458 {{{i8T, i32T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
459 {{i16T, i32T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
460 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
461 {{fp16T, i32T, fp16T, fp16T}, SpecificationVersion::V_1_0},
462 {{fp32T, i32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}},
463 {{Profile::pro_fp, Profile::pro_int},
464 {{{boolT, i32T, boolT, boolT}, SpecificationVersion::V_1_1_DRAFT},
465 {{i8T, i64T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
466 {{i16T, i64T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
467 {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT}},
468 anyOf}}},
469 {"tosa.resize",
470 {{{Profile::pro_int},
471 {{{i8T, i32T}, SpecificationVersion::V_1_0},
472 {{i8T, i8T}, SpecificationVersion::V_1_0}}},
473 {{Profile::pro_fp},
474 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
475 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
476 {"tosa.cast",
477 {{{Profile::pro_int},
478 {{{boolT, i8T}, SpecificationVersion::V_1_0},
479 {{boolT, i16T}, SpecificationVersion::V_1_0},
480 {{boolT, i32T}, SpecificationVersion::V_1_0},
481 {{i8T, boolT}, SpecificationVersion::V_1_0},
482 {{i8T, i16T}, SpecificationVersion::V_1_0},
483 {{i8T, i32T}, SpecificationVersion::V_1_0},
484 {{i16T, boolT}, SpecificationVersion::V_1_0},
485 {{i16T, i8T}, SpecificationVersion::V_1_0},
486 {{i16T, i32T}, SpecificationVersion::V_1_0},
487 {{i32T, boolT}, SpecificationVersion::V_1_0},
488 {{i32T, i8T}, SpecificationVersion::V_1_0},
489 {{i32T, i16T}, SpecificationVersion::V_1_0}}},
490 {{Profile::pro_fp},
491 {{{boolT, fp32T}, SpecificationVersion::V_1_1_DRAFT},
492 {{i8T, fp16T}, SpecificationVersion::V_1_0},
493 {{i8T, fp32T}, SpecificationVersion::V_1_0},
494 {{i16T, fp16T}, SpecificationVersion::V_1_0},
495 {{i16T, fp32T}, SpecificationVersion::V_1_0},
496 {{i32T, fp16T}, SpecificationVersion::V_1_0},
497 {{i32T, fp32T}, SpecificationVersion::V_1_0},
498 {{fp16T, i8T}, SpecificationVersion::V_1_0},
499 {{fp16T, i16T}, SpecificationVersion::V_1_0},
500 {{fp16T, i32T}, SpecificationVersion::V_1_0},
501 {{fp16T, fp32T}, SpecificationVersion::V_1_0},
502 {{fp32T, i8T}, SpecificationVersion::V_1_0},
503 {{fp32T, i16T}, SpecificationVersion::V_1_0},
504 {{fp32T, i32T}, SpecificationVersion::V_1_0},
505 {{fp32T, fp16T}, SpecificationVersion::V_1_0},
506 {{fp32T, boolT}, SpecificationVersion::V_1_1_DRAFT}}}}},
507 {"tosa.rescale",
508 {{{Profile::pro_int},
509 {{{i8T, i8T, i8T, i8T}, SpecificationVersion::V_1_0},
510 {{i8T, i8T, i16T, i16T}, SpecificationVersion::V_1_0},
511 {{i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0},
512 {{i16T, i16T, i8T, i8T}, SpecificationVersion::V_1_0},
513 {{i16T, i16T, i16T, i16T}, SpecificationVersion::V_1_0},
514 {{i16T, i16T, i32T, i32T}, SpecificationVersion::V_1_0},
515 {{i32T, i32T, i8T, i8T}, SpecificationVersion::V_1_0},
516 {{i32T, i32T, i16T, i16T}, SpecificationVersion::V_1_0},
517 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
518 {"tosa.const",
519 {{{Profile::pro_int, Profile::pro_fp},
520 {{{boolT}, SpecificationVersion::V_1_0},
521 {{i8T}, SpecificationVersion::V_1_0},
522 {{i16T}, SpecificationVersion::V_1_0},
523 {{i32T}, SpecificationVersion::V_1_0}},
524 anyOf},
525 {{Profile::pro_fp},
526 {{{fp16T}, SpecificationVersion::V_1_0},
527 {{fp32T}, SpecificationVersion::V_1_0}}}}},
528 {"tosa.identity",
529 {{{Profile::pro_int, Profile::pro_fp},
530 {{{boolT, boolT}, SpecificationVersion::V_1_0},
531 {{i8T, i8T}, SpecificationVersion::V_1_0},
532 {{i16T, i16T}, SpecificationVersion::V_1_0},
533 {{i32T, i32T}, SpecificationVersion::V_1_0}},
534 anyOf},
535 {{Profile::pro_fp},
536 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
537 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
538 {"tosa.variable",
539 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
540 {{Profile::pro_fp},
541 {{{fp16T}, SpecificationVersion::V_1_0},
542 {{fp32T}, SpecificationVersion::V_1_0}}}}},
543 {"tosa.variable_write",
544 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
545 {{Profile::pro_fp},
546 {{{fp16T}, SpecificationVersion::V_1_0},
547 {{fp32T}, SpecificationVersion::V_1_0}}}}},
548 {"tosa.variable_read",
549 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
550 {{Profile::pro_fp},
551 {{{fp16T}, SpecificationVersion::V_1_0},
552 {{fp32T}, SpecificationVersion::V_1_0}}}}},
553};
554
555extensionComplianceMap = {
556 {"tosa.argmax",
557 {{{Extension::int16}, {{{i16T, i32T}, SpecificationVersion::V_1_0}}},
558 {{Extension::int64},
559 {{{i8T, i64T}, SpecificationVersion::V_1_1_DRAFT},
560 {{i16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
561 {{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
562 {{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
563 {{fp16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
564 {{fp32T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
565 {{Extension::fp8e4m3}, {{{fp8e4m3T, i32T}, SpecificationVersion::V_1_0}}},
566 {{Extension::fp8e5m2}, {{{fp8e5m2T, i32T}, SpecificationVersion::V_1_0}}},
567 {{Extension::bf16}, {{{bf16T, i32T}, SpecificationVersion::V_1_0}}},
568 {{Extension::fp8e4m3, Extension::int64},
569 {{{fp8e4m3T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
570 allOf},
571 {{Extension::fp8e5m2, Extension::int64},
572 {{{fp8e5m2T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
573 allOf},
574 {{Extension::bf16, Extension::int64},
575 {{{bf16T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
576 allOf}}},
577 {"tosa.avg_pool2d",
578 {{{Extension::int16},
579 {{{i16T, i16T, i16T, i32T, i16T}, SpecificationVersion::V_1_0}}},
580 {{Extension::fp8e4m3},
581 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T},
582 SpecificationVersion::V_1_0}}},
583 {{Extension::fp8e5m2},
584 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T},
585 SpecificationVersion::V_1_0}}},
586 {{Extension::bf16},
587 {{{bf16T, bf16T, bf16T, fp32T, bf16T}, SpecificationVersion::V_1_0}}}}},
588 {"tosa.avg_pool2d_adaptive",
589 {{{Extension::int16},
590 {{{i16T, i16T, i16T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT}}},
591 {{Extension::fp8e4m3},
592 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T},
593 SpecificationVersion::V_1_1_DRAFT}}},
594 {{Extension::fp8e5m2},
595 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T},
596 SpecificationVersion::V_1_1_DRAFT}}},
597 {{Extension::bf16},
598 {{{bf16T, bf16T, bf16T, fp32T, bf16T},
599 SpecificationVersion::V_1_1_DRAFT}}}}},
600 {"tosa.conv2d",
601 {{{Extension::int4},
602 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
603 {{Extension::int16},
604 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
605 SpecificationVersion::V_1_0}}},
606 {{Extension::fp8e4m3},
607 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
608 SpecificationVersion::V_1_0},
609 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
610 SpecificationVersion::V_1_1_DRAFT}}},
611 {{Extension::fp8e5m2},
612 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
613 SpecificationVersion::V_1_0},
614 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
615 SpecificationVersion::V_1_1_DRAFT}}},
616 {{Extension::bf16},
617 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
618 SpecificationVersion::V_1_0}}}}},
619 {"tosa.conv2d_block_scaled",
620 {{{Extension::mxfp_conv},
621 {{{fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T, fp32T},
622 SpecificationVersion::V_1_1_DRAFT},
623 {{fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, fp32T, fp32T},
624 SpecificationVersion::V_1_1_DRAFT},
625 {{fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T, fp32T},
626 SpecificationVersion::V_1_1_DRAFT},
627 {{fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T, fp32T},
628 SpecificationVersion::V_1_1_DRAFT},
629 {{fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T, fp32T},
630 SpecificationVersion::V_1_1_DRAFT}}}}},
631 {"tosa.conv3d",
632 {{{Extension::int4},
633 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
634 {{Extension::int16},
635 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
636 SpecificationVersion::V_1_0}}},
637 {{Extension::fp8e4m3},
638 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
639 SpecificationVersion::V_1_0},
640 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
641 SpecificationVersion::V_1_1_DRAFT}}},
642 {{Extension::fp8e5m2},
643 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
644 SpecificationVersion::V_1_0},
645 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
646 SpecificationVersion::V_1_1_DRAFT}}},
647 {{Extension::bf16},
648 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
649 SpecificationVersion::V_1_0}}}}},
650 {"tosa.depthwise_conv2d",
651 {{{Extension::int4},
652 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
653 {{Extension::int16},
654 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
655 SpecificationVersion::V_1_0}}},
656 {{Extension::fp8e4m3},
657 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
658 SpecificationVersion::V_1_0},
659 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
660 SpecificationVersion::V_1_1_DRAFT}}},
661 {{Extension::fp8e5m2},
662 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
663 SpecificationVersion::V_1_0},
664 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
665 SpecificationVersion::V_1_1_DRAFT}}},
666 {{Extension::bf16},
667 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
668 SpecificationVersion::V_1_0}}}}},
669 {"tosa.fft2d",
670 {{{Extension::fft},
671 {{{fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
672 {"tosa.matmul",
673 {{{Extension::int16},
674 {{{i16T, i16T, i16T, i16T, i48T}, SpecificationVersion::V_1_0}}},
675 {{Extension::fp8e4m3},
676 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T},
677 SpecificationVersion::V_1_0},
678 {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp32T},
679 SpecificationVersion::V_1_1_DRAFT}}},
680 {{Extension::fp8e5m2},
681 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T},
682 SpecificationVersion::V_1_0},
683 {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp32T},
684 SpecificationVersion::V_1_1_DRAFT}}},
685 {{Extension::fp8e4m3, Extension::fp8e5m2},
686 {{{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp16T},
687 SpecificationVersion::V_1_1_DRAFT},
688 {{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp32T},
689 SpecificationVersion::V_1_1_DRAFT},
690 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp16T},
691 SpecificationVersion::V_1_1_DRAFT},
692 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp32T},
693 SpecificationVersion::V_1_1_DRAFT}},
694 allOf},
695 {{Extension::bf16},
696 {{{bf16T, bf16T, bf16T, bf16T, fp32T}, SpecificationVersion::V_1_0}}}}},
697 {"tosa.matmul_t",
698 {{{Extension::int16},
699 {{{i16T, i16T, i48T}, SpecificationVersion::V_1_1_DRAFT}}},
700 {{Extension::fp8e4m3},
701 {{{fp8e4m3T, fp8e4m3T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
702 {{fp8e4m3T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
703 {{fp16T, fp8e4m3T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
704 {{fp8e4m3T, fp8e4m3T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
705 {{fp8e4m3T, fp16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
706 {{fp8e4m3T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
707 {{fp16T, fp8e4m3T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
708 {{fp32T, fp8e4m3T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
709 {{Extension::fp8e4m3, Extension::fp8e5m2},
710 {{{fp8e4m3T, fp8e5m2T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
711 {{fp8e5m2T, fp8e4m3T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
712 {{fp8e4m3T, fp8e5m2T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
713 {{fp8e5m2T, fp8e4m3T, fp32T}, SpecificationVersion::V_1_1_DRAFT}},
714 allOf},
715 {{Extension::bf16, Extension::fp8e4m3},
716 {{{fp8e4m3T, bf16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
717 {{bf16T, fp8e4m3T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
718 {{fp8e4m3T, bf16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
719 {{bf16T, fp8e4m3T, fp32T}, SpecificationVersion::V_1_1_DRAFT}},
720 allOf},
721 {{Extension::fp8e5m2},
722 {{{fp8e5m2T, fp8e5m2T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
723 {{fp8e5m2T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
724 {{fp16T, fp8e5m2T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
725 {{fp8e5m2T, fp8e5m2T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
726 {{fp8e5m2T, fp16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
727 {{fp8e5m2T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
728 {{fp16T, fp8e5m2T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
729 {{fp32T, fp8e5m2T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
730 {{Extension::bf16, Extension::fp8e5m2},
731 {{{fp8e5m2T, bf16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
732 {{bf16T, fp8e5m2T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
733 {{fp8e5m2T, bf16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
734 {{bf16T, fp8e5m2T, fp32T}, SpecificationVersion::V_1_1_DRAFT}},
735 allOf},
736 {{Extension::bf16},
737 {{{fp16T, bf16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
738 {{bf16T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
739 {{bf16T, bf16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
740 {{fp16T, bf16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
741 {{bf16T, fp16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
742 {{bf16T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
743 {{fp32T, bf16T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
744 {{bf16T, bf16T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
745 {"tosa.matmul_t_block_scaled",
746 {{{Extension::mxfp},
747 {{{fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T},
748 SpecificationVersion::V_1_1_DRAFT},
749 {{fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, fp32T},
750 SpecificationVersion::V_1_1_DRAFT},
751 {{fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T},
752 SpecificationVersion::V_1_1_DRAFT},
753 {{fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T},
754 SpecificationVersion::V_1_1_DRAFT},
755 {{fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T},
756 SpecificationVersion::V_1_1_DRAFT},
757 {{mxint8T, fp8ue8m0T, mxint8T, fp8ue8m0T, fp32T},
758 SpecificationVersion::V_1_1_DRAFT}}}}},
759 {"tosa.max_pool2d",
760 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
761 {{Extension::fp8e4m3},
762 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
763 {{Extension::fp8e5m2},
764 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
765 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
766 {"tosa.max_pool2d_adaptive",
767 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_1_DRAFT}}},
768 {{Extension::fp8e4m3},
769 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}}},
770 {{Extension::fp8e5m2},
771 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}}},
772 {{Extension::bf16},
773 {{{bf16T, bf16T}, SpecificationVersion::V_1_1_DRAFT}}}}},
774 {"tosa.rfft2d",
775 {{{Extension::fft},
776 {{{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
777 {"tosa.transpose_conv2d",
778 {{{Extension::int4},
779 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
780 {{Extension::int16},
781 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
782 SpecificationVersion::V_1_0}}},
783 {{Extension::fp8e4m3},
784 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
785 SpecificationVersion::V_1_0},
786 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
787 SpecificationVersion::V_1_1_DRAFT}}},
788 {{Extension::fp8e5m2},
789 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
790 SpecificationVersion::V_1_0},
791 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
792 SpecificationVersion::V_1_1_DRAFT}}},
793 {{Extension::bf16},
794 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
795 SpecificationVersion::V_1_0}}}}},
796 {"tosa.clamp",
797 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
798 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
799 {"tosa.erf",
800 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
801 {"tosa.sigmoid",
802 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
803 {"tosa.tanh",
804 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
805 {"tosa.add",
806 {{{Extension::int64},
807 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
808 {{Extension::bf16},
809 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
810 {"tosa.arithmetic_right_shift",
811 {{{Extension::int64},
812 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
813 {"tosa.bitwise_and",
814 {{{Extension::int64},
815 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
816 {"tosa.bitwise_or",
817 {{{Extension::int64},
818 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
819 {"tosa.bitwise_xor",
820 {{{Extension::int64},
821 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
822 {"tosa.intdiv",
823 {{{Extension::int64},
824 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
825 {"tosa.logical_left_shift",
826 {{{Extension::int64},
827 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
828 {"tosa.logical_right_shift",
829 {{{Extension::int64},
830 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
831 {"tosa.maximum",
832 {{{Extension::int64},
833 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
834 {{Extension::bf16},
835 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
836 {"tosa.minimum",
837 {{{Extension::int64},
838 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
839 {{Extension::bf16},
840 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
841 {"tosa.mul",
842 {{{Extension::int64},
843 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
844 {{Extension::bf16},
845 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
846 {"tosa.pow",
847 {{{Extension::bf16},
848 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
849 {"tosa.sub",
850 {{{Extension::int64},
851 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
852 {{Extension::bf16},
853 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
854 {"tosa.table",
855 {{{Extension::int16},
856 {{{i16T, i16T, i32T}, SpecificationVersion::V_1_0}}}}},
857 {"tosa.abs",
858 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
859 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
860 {"tosa.bitwise_not",
861 {{{Extension::int64},
862 {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
863 {"tosa.ceil",
864 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
865 {"tosa.clz",
866 {{{Extension::int64},
867 {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
868 {"tosa.cos",
869 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
870 {"tosa.exp",
871 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
872 {"tosa.floor",
873 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
874 {"tosa.log",
875 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
876 {"tosa.negate",
877 {{{Extension::int64},
878 {{{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
879 {{Extension::bf16},
880 {{{bf16T, bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
881 {"tosa.reciprocal",
882 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
883 {"tosa.rsqrt",
884 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
885 {"tosa.sin",
886 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
887 {"tosa.select",
888 {{{Extension::int64},
889 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
890 {{Extension::bf16},
891 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
892 {"tosa.equal",
893 {{{Extension::int64},
894 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
895 {{Extension::bf16},
896 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
897 {"tosa.greater",
898 {{{Extension::int64},
899 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
900 {{Extension::bf16},
901 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
902 {"tosa.greater_equal",
903 {{{Extension::int64},
904 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
905 {{Extension::bf16},
906 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
907 {"tosa.reduce_max",
908 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
909 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
910 {"tosa.reduce_min",
911 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
912 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
913 {"tosa.reduce_product",
914 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
915 {"tosa.reduce_sum",
916 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
917 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
918 {"tosa.concat",
919 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
920 {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
921 {{Extension::fp8e4m3},
922 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
923 {{Extension::fp8e5m2},
924 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
925 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
926 {"tosa.pad",
927 {{{Extension::int64},
928 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
929 {{Extension::fp8e4m3},
930 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
931 {{Extension::fp8e5m2},
932 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
933 {{Extension::bf16},
934 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
935 {"tosa.reshape",
936 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
937 {{Extension::fp8e4m3},
938 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
939 {{Extension::fp8e5m2},
940 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
941 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
942 {"tosa.reverse",
943 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
944 {{Extension::fp8e4m3},
945 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
946 {{Extension::fp8e5m2},
947 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
948 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
949 {"tosa.slice",
950 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
951 {{Extension::fp8e4m3},
952 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
953 {{Extension::fp8e5m2},
954 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
955 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
956 {"tosa.tile",
957 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
958 {{Extension::fp8e4m3},
959 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
960 {{Extension::fp8e5m2},
961 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
962 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
963 {"tosa.transpose",
964 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
965 {{Extension::fp8e4m3},
966 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
967 {{Extension::fp8e5m2},
968 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
969 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
970 {"tosa.gather",
971 {{{Extension::fp8e4m3},
972 {{{fp8e4m3T, i32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
973 {{Extension::fp8e5m2},
974 {{{fp8e5m2T, i32T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
975 {{Extension::bf16},
976 {{{bf16T, i32T, bf16T}, SpecificationVersion::V_1_0}}},
977 {{Extension::int64},
978 {{{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
979 {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
980 {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
981 {{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
982 {{fp16T, i64T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
983 {{fp32T, i64T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
984 {{boolT, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
985 {{Extension::fp8e4m3, Extension::int64},
986 {{{fp8e4m3T, i64T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
987 allOf},
988 {{Extension::fp8e5m2, Extension::int64},
989 {{{fp8e5m2T, i64T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
990 allOf},
991 {{Extension::bf16, Extension::int64},
992 {{{bf16T, i64T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
993 allOf}}},
994 {"tosa.row_gather",
995 {
996 {{Extension::int16},
997 {{{i16T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT}}},
998 {{Extension::int64},
999 {{{i64T, i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
1000 {{boolT, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT},
1001 {{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
1002 {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
1003 {{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
1004 {{i64T, i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
1005 {{fp16T, i64T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
1006 {{fp32T, i64T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
1007 {{Extension::int16, Extension::int64},
1008 {{{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT}},
1009 allOf},
1010 {{Extension::fp8e4m3},
1011 {{{fp8e4m3T, i32T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}}},
1012 {{Extension::fp8e5m2},
1013 {{{fp8e5m2T, i32T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}}},
1014 {{Extension::bf16},
1015 {{{bf16T, i32T, bf16T}, SpecificationVersion::V_1_1_DRAFT}}},
1016 {{Extension::fp8e4m3, Extension::int64},
1017 {{{fp8e4m3T, i64T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
1018 allOf},
1019 {{Extension::fp8e5m2, Extension::int64},
1020 {{{fp8e5m2T, i64T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
1021 allOf},
1022 {{Extension::bf16, Extension::int64},
1023 {{{bf16T, i64T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
1024 allOf},
1025 }},
1026 {"tosa.row_gather_block_scaled",
1027 {{{Extension::fp8e4m3},
1028 {{{fp8e4m3T, i32T, i32T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}}},
1029 {{Extension::fp8e5m2},
1030 {{{fp8e5m2T, i32T, i32T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}}},
1031 {{Extension::bf16},
1032 {{{bf16T, i32T, i32T, bf16T}, SpecificationVersion::V_1_1_DRAFT}}},
1033 {{Extension::int64},
1034 {{{i8T, i64T, i32T, i8T}, SpecificationVersion::V_1_1_DRAFT},
1035 {{i16T, i64T, i32T, i16T}, SpecificationVersion::V_1_1_DRAFT},
1036 {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
1037 {{i64T, i64T, i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
1038 {{fp16T, i64T, i32T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
1039 {{fp32T, i64T, i32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
1040 {{boolT, i64T, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
1041 {{Extension::fp8e4m3, Extension::int64},
1042 {{{fp8e4m3T, i64T, i32T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
1043 allOf},
1044 {{Extension::fp8e5m2, Extension::int64},
1045 {{{fp8e5m2T, i64T, i32T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
1046 allOf},
1047 {{Extension::bf16, Extension::int64},
1048 {{{bf16T, i64T, i32T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
1049 allOf},
1050 {{Extension::mxfp},
1051 {{{fp4e2m1T, fp8ue8m0T, i32T, i32T, fp4e2m1T, fp8ue8m0T},
1052 SpecificationVersion::V_1_1_DRAFT},
1053 {{fp6e2m3T, fp8ue8m0T, i32T, i32T, fp6e2m3T, fp8ue8m0T},
1054 SpecificationVersion::V_1_1_DRAFT},
1055 {{fp6e3m2T, fp8ue8m0T, i32T, i32T, fp6e3m2T, fp8ue8m0T},
1056 SpecificationVersion::V_1_1_DRAFT},
1057 {{fp8e4m3T, fp8ue8m0T, i32T, i32T, fp8e4m3T, fp8ue8m0T},
1058 SpecificationVersion::V_1_1_DRAFT},
1059 {{fp8e5m2T, fp8ue8m0T, i32T, i32T, fp8e5m2T, fp8ue8m0T},
1060 SpecificationVersion::V_1_1_DRAFT},
1061 {{mxint8T, fp8ue8m0T, i32T, i32T, mxint8T, fp8ue8m0T},
1062 SpecificationVersion::V_1_1_DRAFT}}},
1063 {{Extension::mxfp, Extension::int64},
1064 {{{fp4e2m1T, fp8ue8m0T, i64T, i32T, fp4e2m1T, fp8ue8m0T},
1065 SpecificationVersion::V_1_1_DRAFT},
1066 {{fp6e2m3T, fp8ue8m0T, i64T, i32T, fp6e2m3T, fp8ue8m0T},
1067 SpecificationVersion::V_1_1_DRAFT},
1068 {{fp6e3m2T, fp8ue8m0T, i64T, i32T, fp6e3m2T, fp8ue8m0T},
1069 SpecificationVersion::V_1_1_DRAFT},
1070 {{fp8e4m3T, fp8ue8m0T, i64T, i32T, fp8e4m3T, fp8ue8m0T},
1071 SpecificationVersion::V_1_1_DRAFT},
1072 {{fp8e5m2T, fp8ue8m0T, i64T, i32T, fp8e5m2T, fp8ue8m0T},
1073 SpecificationVersion::V_1_1_DRAFT},
1074 {{mxint8T, fp8ue8m0T, i64T, i32T, mxint8T, fp8ue8m0T},
1075 SpecificationVersion::V_1_1_DRAFT}},
1076 allOf}}},
1077 {"tosa.scatter",
1078 {{{Extension::fp8e4m3},
1079 {{{fp8e4m3T, i32T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
1080 {{Extension::fp8e5m2},
1081 {{{fp8e5m2T, i32T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
1082 {{Extension::bf16},
1083 {{{bf16T, i32T, bf16T, bf16T}, SpecificationVersion::V_1_0}}},
1084 {{Extension::int64},
1085 {{{i8T, i64T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
1086 {{i16T, i64T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
1087 {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
1088 {{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
1089 {{fp16T, i64T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
1090 {{fp32T, i64T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
1091 {{boolT, i64T, boolT, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
1092 {{Extension::fp8e4m3, Extension::int64},
1093 {{{fp8e4m3T, i64T, fp8e4m3T, fp8e4m3T},
1094 SpecificationVersion::V_1_1_DRAFT}},
1095 allOf},
1096 {{Extension::fp8e5m2, Extension::int64},
1097 {{{fp8e5m2T, i64T, fp8e5m2T, fp8e5m2T},
1098 SpecificationVersion::V_1_1_DRAFT}},
1099 allOf},
1100 {{Extension::bf16, Extension::int64},
1101 {{{bf16T, i64T, bf16T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
1102 allOf}}},
1103 {"tosa.resize",
1104 {{{Extension::int16},
1105 {{{i16T, i48T}, SpecificationVersion::V_1_0},
1106 {{i16T, i16T}, SpecificationVersion::V_1_0}}},
1107 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
1108 {"tosa.cast",
1109 {{{Extension::bf16},
1110 {{{i8T, bf16T}, SpecificationVersion::V_1_0},
1111 {{i16T, bf16T}, SpecificationVersion::V_1_0},
1112 {{i32T, bf16T}, SpecificationVersion::V_1_0},
1113 {{bf16T, i8T}, SpecificationVersion::V_1_0},
1114 {{bf16T, i16T}, SpecificationVersion::V_1_0},
1115 {{bf16T, i32T}, SpecificationVersion::V_1_0},
1116 {{bf16T, fp32T}, SpecificationVersion::V_1_0},
1117 {{fp32T, bf16T}, SpecificationVersion::V_1_0}}},
1118 {{Extension::int64},
1119 {{{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
1120 {{i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
1121 {{boolT, i64T}, SpecificationVersion::V_1_1_DRAFT},
1122 {{i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
1123 {{Extension::bf16, Extension::fp8e4m3},
1124 {{{bf16T, fp8e4m3T}, SpecificationVersion::V_1_0},
1125 {{fp8e4m3T, bf16T}, SpecificationVersion::V_1_0}},
1126 allOf},
1127 {{Extension::bf16, Extension::fp8e5m2},
1128 {{{bf16T, fp8e5m2T}, SpecificationVersion::V_1_0},
1129 {{fp8e5m2T, bf16T}, SpecificationVersion::V_1_0}},
1130 allOf},
1131 {{Extension::fp8e4m3},
1132 {{{fp8e4m3T, fp16T}, SpecificationVersion::V_1_0},
1133 {{fp8e4m3T, fp32T}, SpecificationVersion::V_1_0},
1134 {{fp16T, fp8e4m3T}, SpecificationVersion::V_1_0},
1135 {{fp32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
1136 {{Extension::fp8e5m2},
1137 {{{fp8e5m2T, fp16T}, SpecificationVersion::V_1_0},
1138 {{fp8e5m2T, fp32T}, SpecificationVersion::V_1_0},
1139 {{fp16T, fp8e5m2T}, SpecificationVersion::V_1_0},
1140 {{fp32T, fp8e5m2T}, SpecificationVersion::V_1_0}}}}},
1141 {"tosa.cast_from_block_scaled",
1142 {{{Extension::bf16, Extension::mxfp},
1143 {{{fp4e2m1T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
1144 {{fp6e2m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
1145 {{fp6e3m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
1146 {{fp8e4m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
1147 {{fp8e5m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
1148 {{mxint8T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
1149 allOf},
1150 {{Extension::mxfp},
1151 {{{fp4e2m1T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
1152 {{fp6e2m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
1153 {{fp6e3m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
1154 {{fp8e4m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
1155 {{fp8e5m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
1156 {{mxint8T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
1157 {"tosa.cast_to_block_scaled",
1158 {{{Extension::mxfp},
1159 {{{bf16T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1160 {{fp32T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1161 {{fp32T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1162 {{fp32T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1163 {{fp32T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1164 {{fp32T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1165 {{fp32T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}}},
1166 {{Extension::bf16, Extension::mxfp},
1167 {{{bf16T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1168 {{bf16T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1169 {{bf16T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1170 {{bf16T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1171 {{bf16T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}},
1172 allOf}}},
1173 {"tosa.rescale",
1174 {{{Extension::int16},
1175 {{{i48T, i48T, i8T, i8T}, SpecificationVersion::V_1_0},
1176 {{i48T, i48T, i16T, i16T}, SpecificationVersion::V_1_0},
1177 {{i48T, i48T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
1178 {"tosa.const",
1179 {{{Extension::int4}, {{{i4T}, SpecificationVersion::V_1_0}}},
1180 {{Extension::int16}, {{{i48T}, SpecificationVersion::V_1_0}}},
1181 {{Extension::int64}, {{{i64T}, SpecificationVersion::V_1_1_DRAFT}}},
1182 {{Extension::fp8e4m3}, {{{fp8e4m3T}, SpecificationVersion::V_1_0}}},
1183 {{Extension::fp8e5m2}, {{{fp8e5m2T}, SpecificationVersion::V_1_0}}},
1184 {{Extension::bf16}, {{{bf16T}, SpecificationVersion::V_1_0}}},
1185 {{Extension::mxfp},
1186 {{{fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
1187 {{fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
1188 {{fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
1189 {{fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
1190 {{mxint8T}, SpecificationVersion::V_1_1_DRAFT}}}}},
1191 {"tosa.identity",
1192 {{{Extension::int4}, {{{i4T, i4T}, SpecificationVersion::V_1_0}}},
1193 {{Extension::int16}, {{{i48T, i48T}, SpecificationVersion::V_1_0}}},
1194 {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
1195 {{Extension::fp8e4m3},
1196 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
1197 {{Extension::fp8e5m2},
1198 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
1199 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
1200 {"tosa.variable",
1201 {{{Extension::variable},
1202 {{{i8T}, SpecificationVersion::V_1_0},
1203 {{fp16T}, SpecificationVersion::V_1_0},
1204 {{fp32T}, SpecificationVersion::V_1_0}}}}},
1205 {"tosa.variable_write",
1206 {{{Extension::variable},
1207 {{{i8T}, SpecificationVersion::V_1_0},
1208 {{fp16T}, SpecificationVersion::V_1_0},
1209 {{fp32T}, SpecificationVersion::V_1_0}}}}},
1210 {"tosa.variable_read",
1211 {{{Extension::variable},
1212 {{{i8T}, SpecificationVersion::V_1_0},
1213 {{fp16T}, SpecificationVersion::V_1_0},
1214 {{fp32T}, SpecificationVersion::V_1_0}}}}},
1215 {"tosa.dim",
1216 {{{Extension::shape},
1217 {{{boolT}, SpecificationVersion::V_1_1_DRAFT},
1218 {{i8T}, SpecificationVersion::V_1_1_DRAFT},
1219 {{i16T}, SpecificationVersion::V_1_1_DRAFT},
1220 {{i32T}, SpecificationVersion::V_1_1_DRAFT},
1221 {{fp16T}, SpecificationVersion::V_1_1_DRAFT},
1222 {{fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
1223 {{Extension::fp8e4m3, Extension::shape},
1224 {{{fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
1225 allOf},
1226 {{Extension::fp8e5m2, Extension::shape},
1227 {{{fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
1228 allOf},
1229 {{Extension::bf16, Extension::shape},
1230 {{{bf16T}, SpecificationVersion::V_1_1_DRAFT}},
1231 allOf},
1232 {{Extension::mxfp, Extension::shape},
1233 {{{fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
1234 {{fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
1235 {{fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
1236 {{mxint8T}, SpecificationVersion::V_1_1_DRAFT},
1237 {{fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}},
1238 allOf},
1239 {{Extension::int64, Extension::shape},
1240 {{{i64T}, SpecificationVersion::V_1_1_DRAFT}},
1241 allOf}}}};
1242
1243// End of auto-generated metadata