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://git.mlplatform.org/tosa/specification.git
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.conv2d",
17 {{{Profile::pro_int},
18 {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
19 {{Profile::pro_fp},
20 {{{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
21 SpecificationVersion::V_1_0},
22 {{fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
23 SpecificationVersion::V_1_0},
24 {{fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
25 SpecificationVersion::V_1_0}}}}},
26 {"tosa.conv3d",
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.depthwise_conv2d",
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.matmul",
47 {{{Profile::pro_int},
48 {{{i8T, i8T, i8T, i8T, i32T}, SpecificationVersion::V_1_0}}},
49 {{Profile::pro_fp},
50 {{{fp16T, fp16T, fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
51 {{fp16T, fp16T, fp16T, fp16T, fp32T}, SpecificationVersion::V_1_0},
52 {{fp32T, fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
53 {"tosa.max_pool2d",
54 {{{Profile::pro_int}, {{{i8T, i8T}, SpecificationVersion::V_1_0}}},
55 {{Profile::pro_fp},
56 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
57 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
58 {"tosa.transpose_conv2d",
59 {{{Profile::pro_int},
60 {{{i8T, i8T, i32T, i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0}}},
61 {{Profile::pro_fp},
62 {{{fp16T, fp16T, fp16T, fp16T, fp16T, fp16T, fp16T},
63 SpecificationVersion::V_1_0},
64 {{fp16T, fp16T, fp16T, fp16T, fp16T, fp32T, fp16T},
65 SpecificationVersion::V_1_0},
66 {{fp32T, fp32T, fp32T, fp32T, fp32T, fp32T, fp32T},
67 SpecificationVersion::V_1_0}}}}},
68 {"tosa.clamp",
69 {{{Profile::pro_int}, {{{i8T, i8T}, SpecificationVersion::V_1_0}}},
70 {{Profile::pro_fp},
71 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
72 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
73 {"tosa.erf",
74 {{{Profile::pro_fp},
75 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
76 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
77 {"tosa.sigmoid",
78 {{{Profile::pro_fp},
79 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
80 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
81 {"tosa.tanh",
82 {{{Profile::pro_fp},
83 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
84 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
85 {"tosa.add",
86 {{{Profile::pro_int, Profile::pro_fp},
87 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
88 anyOf},
89 {{Profile::pro_fp},
90 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
91 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
92 {"tosa.arithmetic_right_shift",
93 {{{Profile::pro_int},
94 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
95 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
96 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
97 {"tosa.bitwise_and",
98 {{{Profile::pro_int},
99 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
100 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
101 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
102 {"tosa.bitwise_or",
103 {{{Profile::pro_int},
104 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
105 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
106 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
107 {"tosa.bitwise_xor",
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}}}}},
112 {"tosa.intdiv",
113 {{{Profile::pro_int, Profile::pro_fp},
114 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
115 anyOf}}},
116 {"tosa.logical_and",
117 {{{Profile::pro_int, Profile::pro_fp},
118 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
119 anyOf}}},
120 {"tosa.logical_left_shift",
121 {{{Profile::pro_int, Profile::pro_fp},
122 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
123 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
124 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
125 anyOf}}},
126 {"tosa.logical_right_shift",
127 {{{Profile::pro_int, Profile::pro_fp},
128 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
129 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
130 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
131 anyOf}}},
132 {"tosa.logical_or",
133 {{{Profile::pro_int, Profile::pro_fp},
134 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
135 anyOf}}},
136 {"tosa.logical_xor",
137 {{{Profile::pro_int, Profile::pro_fp},
138 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
139 anyOf}}},
140 {"tosa.maximum",
141 {{{Profile::pro_int}, {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
142 {{Profile::pro_fp},
143 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
144 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
145 {"tosa.minimum",
146 {{{Profile::pro_int}, {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
147 {{Profile::pro_fp},
148 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
149 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
150 {"tosa.mul",
151 {{{Profile::pro_int},
152 {{{i8T, i8T, i32T}, SpecificationVersion::V_1_0},
153 {{i16T, i16T, i32T}, SpecificationVersion::V_1_0}}},
154 {{Profile::pro_int, Profile::pro_fp},
155 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
156 anyOf},
157 {{Profile::pro_fp},
158 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
159 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
160 {"tosa.pow",
161 {{{Profile::pro_fp},
162 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
163 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
164 {"tosa.sub",
165 {{{Profile::pro_int, Profile::pro_fp},
166 {{{i32T, i32T, i32T}, SpecificationVersion::V_1_0}},
167 anyOf},
168 {{Profile::pro_fp},
169 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
170 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
171 {"tosa.table",
172 {{{Profile::pro_int}, {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0}}}}},
173 {"tosa.abs",
174 {{{Profile::pro_int}, {{{i32T, i32T}, SpecificationVersion::V_1_0}}},
175 {{Profile::pro_fp},
176 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
177 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
178 {"tosa.bitwise_not",
179 {{{Profile::pro_int},
180 {{{i8T, i8T}, SpecificationVersion::V_1_0},
181 {{i16T, i16T}, SpecificationVersion::V_1_0},
182 {{i32T, i32T}, SpecificationVersion::V_1_0}}}}},
183 {"tosa.ceil",
184 {{{Profile::pro_fp},
185 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
186 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
187 {"tosa.clz",
188 {{{Profile::pro_int}, {{{i32T, i32T}, SpecificationVersion::V_1_0}}}}},
189 {"tosa.cos",
190 {{{Profile::pro_fp},
191 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
192 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
193 {"tosa.exp",
194 {{{Profile::pro_fp},
195 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
196 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
197 {"tosa.floor",
198 {{{Profile::pro_fp},
199 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
200 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
201 {"tosa.log",
202 {{{Profile::pro_fp},
203 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
204 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
205 {"tosa.logical_not",
206 {{{Profile::pro_int, Profile::pro_fp},
207 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
208 anyOf}}},
209 {"tosa.negate",
210 {{{Profile::pro_int},
211 {{{i8T, i8T, i8T, i8T}, SpecificationVersion::V_1_0},
212 {{i16T, i16T, i16T, i16T}, SpecificationVersion::V_1_0},
213 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
214 {{Profile::pro_fp},
215 {{{fp16T, fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
216 {{fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
217 {"tosa.reciprocal",
218 {{{Profile::pro_fp},
219 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
220 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
221 {"tosa.rsqrt",
222 {{{Profile::pro_fp},
223 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
224 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
225 {"tosa.sin",
226 {{{Profile::pro_fp},
227 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
228 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
229 {"tosa.select",
230 {{{Profile::pro_int, Profile::pro_fp},
231 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
232 anyOf},
233 {{Profile::pro_int},
234 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
235 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
236 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
237 {{Profile::pro_fp},
238 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
239 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
240 {"tosa.equal",
241 {{{Profile::pro_int},
242 {{{i32T, i32T, boolT}, SpecificationVersion::V_1_0}}},
243 {{Profile::pro_fp},
244 {{{fp16T, fp16T, boolT}, SpecificationVersion::V_1_0},
245 {{fp32T, fp32T, boolT}, SpecificationVersion::V_1_0}}}}},
246 {"tosa.greater",
247 {{{Profile::pro_int},
248 {{{i32T, i32T, boolT}, SpecificationVersion::V_1_0}}},
249 {{Profile::pro_fp},
250 {{{fp16T, fp16T, boolT}, SpecificationVersion::V_1_0},
251 {{fp32T, fp32T, boolT}, SpecificationVersion::V_1_0}}}}},
252 {"tosa.greater_equal",
253 {{{Profile::pro_int},
254 {{{i32T, i32T, boolT}, SpecificationVersion::V_1_0}}},
255 {{Profile::pro_fp},
256 {{{fp16T, fp16T, boolT}, SpecificationVersion::V_1_0},
257 {{fp32T, fp32T, boolT}, SpecificationVersion::V_1_0}}}}},
258 {"tosa.reduce_all",
259 {{{Profile::pro_int, Profile::pro_fp},
260 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
261 anyOf}}},
262 {"tosa.reduce_any",
263 {{{Profile::pro_int, Profile::pro_fp},
264 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
265 anyOf}}},
266 {"tosa.reduce_max",
267 {{{Profile::pro_int},
268 {{{i8T, i8T}, SpecificationVersion::V_1_0},
269 {{i16T, i16T}, SpecificationVersion::V_1_0},
270 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
271 {{Profile::pro_fp},
272 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
273 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
274 {"tosa.reduce_min",
275 {{{Profile::pro_int},
276 {{{i8T, i8T}, SpecificationVersion::V_1_0},
277 {{i16T, i16T}, SpecificationVersion::V_1_0},
278 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
279 {{Profile::pro_fp},
280 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
281 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
282 {"tosa.reduce_product",
283 {{{Profile::pro_fp},
284 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
285 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
286 {"tosa.reduce_sum",
287 {{{Profile::pro_int}, {{{i32T, i32T}, SpecificationVersion::V_1_0}}},
288 {{Profile::pro_fp},
289 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
290 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
291 {"tosa.concat",
292 {{{Profile::pro_int, Profile::pro_fp},
293 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
294 anyOf},
295 {{Profile::pro_int},
296 {{{i8T, i8T}, SpecificationVersion::V_1_0},
297 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
298 {{Profile::pro_fp},
299 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
300 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
301 {"tosa.pad",
302 {{{Profile::pro_int, Profile::pro_fp},
303 {{{boolT, boolT, boolT}, SpecificationVersion::V_1_0}},
304 anyOf},
305 {{Profile::pro_int},
306 {{{i8T, i8T, i8T}, SpecificationVersion::V_1_0},
307 {{i16T, i16T, i16T}, SpecificationVersion::V_1_0},
308 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
309 {{Profile::pro_fp},
310 {{{fp16T, fp16T, fp16T}, SpecificationVersion::V_1_0},
311 {{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
312 {"tosa.reshape",
313 {{{Profile::pro_int, Profile::pro_fp},
314 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
315 anyOf},
316 {{Profile::pro_int},
317 {{{i8T, i8T}, SpecificationVersion::V_1_0},
318 {{i16T, i16T}, 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.reverse",
324 {{{Profile::pro_int, Profile::pro_fp},
325 {{{boolT, boolT}, SpecificationVersion::V_1_0}},
326 anyOf},
327 {{Profile::pro_int},
328 {{{i8T, i8T}, SpecificationVersion::V_1_0},
329 {{i16T, i16T}, SpecificationVersion::V_1_0},
330 {{i32T, i32T}, SpecificationVersion::V_1_0}}},
331 {{Profile::pro_fp},
332 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
333 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
334 {"tosa.slice",
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.tile",
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.transpose",
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.gather",
368 {{{Profile::pro_int},
369 {{{i8T, i32T, i8T}, SpecificationVersion::V_1_0},
370 {{i16T, i32T, i16T}, SpecificationVersion::V_1_0},
371 {{i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
372 {{Profile::pro_fp},
373 {{{fp16T, i32T, fp16T}, SpecificationVersion::V_1_0},
374 {{fp32T, i32T, fp32T}, SpecificationVersion::V_1_0}}},
375 {{Profile::pro_fp, Profile::pro_int},
376 {{{boolT, i32T, boolT}, SpecificationVersion::V_1_1_DRAFT}},
377 anyOf}}},
378 {"tosa.scatter",
379 {{{Profile::pro_int},
380 {{{i8T, i32T, i8T, i8T}, SpecificationVersion::V_1_0},
381 {{i16T, i32T, i16T, i16T}, SpecificationVersion::V_1_0},
382 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
383 {{Profile::pro_fp},
384 {{{fp16T, i32T, fp16T, fp16T}, SpecificationVersion::V_1_0},
385 {{fp32T, i32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}},
386 {{Profile::pro_fp, Profile::pro_int},
387 {
388 {{boolT, i32T, boolT, boolT}, SpecificationVersion::V_1_1_DRAFT},
389 },
390 anyOf}}},
391 {"tosa.resize",
392 {{{Profile::pro_int},
393 {{{i8T, i32T}, SpecificationVersion::V_1_0},
394 {{i8T, i8T}, SpecificationVersion::V_1_0}}},
395 {{Profile::pro_fp},
396 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
397 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
398 {"tosa.cast",
399 {{{Profile::pro_int},
400 {{{boolT, i8T}, SpecificationVersion::V_1_0},
401 {{boolT, i16T}, SpecificationVersion::V_1_0},
402 {{boolT, i32T}, SpecificationVersion::V_1_0},
403 {{i8T, boolT}, SpecificationVersion::V_1_0},
404 {{i8T, i16T}, SpecificationVersion::V_1_0},
405 {{i8T, i32T}, SpecificationVersion::V_1_0},
406 {{i16T, boolT}, SpecificationVersion::V_1_0},
407 {{i16T, i8T}, SpecificationVersion::V_1_0},
408 {{i16T, i32T}, SpecificationVersion::V_1_0},
409 {{i32T, boolT}, SpecificationVersion::V_1_0},
410 {{i32T, i8T}, SpecificationVersion::V_1_0},
411 {{i32T, i16T}, SpecificationVersion::V_1_0}}},
412 {{Profile::pro_fp},
413 {{{boolT, fp32T}, SpecificationVersion::V_1_1_DRAFT},
414 {{i8T, fp16T}, SpecificationVersion::V_1_0},
415 {{i8T, fp32T}, SpecificationVersion::V_1_0},
416 {{i16T, fp16T}, SpecificationVersion::V_1_0},
417 {{i16T, fp32T}, SpecificationVersion::V_1_0},
418 {{i32T, fp16T}, SpecificationVersion::V_1_0},
419 {{i32T, fp32T}, SpecificationVersion::V_1_0},
420 {{fp16T, i8T}, SpecificationVersion::V_1_0},
421 {{fp16T, i16T}, SpecificationVersion::V_1_0},
422 {{fp16T, i32T}, SpecificationVersion::V_1_0},
423 {{fp16T, fp32T}, SpecificationVersion::V_1_0},
424 {{fp32T, i8T}, SpecificationVersion::V_1_0},
425 {{fp32T, i16T}, SpecificationVersion::V_1_0},
426 {{fp32T, i32T}, SpecificationVersion::V_1_0},
427 {{fp32T, fp16T}, SpecificationVersion::V_1_0},
428 {{fp32T, boolT}, SpecificationVersion::V_1_1_DRAFT}}}}},
429 {"tosa.rescale",
430 {{{Profile::pro_int},
431 {{{i8T, i8T, i8T, i8T}, SpecificationVersion::V_1_0},
432 {{i8T, i8T, i16T, i16T}, SpecificationVersion::V_1_0},
433 {{i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0},
434 {{i16T, i16T, i8T, i8T}, SpecificationVersion::V_1_0},
435 {{i16T, i16T, i16T, i16T}, SpecificationVersion::V_1_0},
436 {{i16T, i16T, i32T, i32T}, SpecificationVersion::V_1_0},
437 {{i32T, i32T, i8T, i8T}, SpecificationVersion::V_1_0},
438 {{i32T, i32T, i16T, i16T}, SpecificationVersion::V_1_0},
439 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
440 {"tosa.const",
441 {{{Profile::pro_int, Profile::pro_fp},
442 {{{boolT}, SpecificationVersion::V_1_0},
443 {{i8T}, SpecificationVersion::V_1_0},
444 {{i16T}, SpecificationVersion::V_1_0},
445 {{i32T}, SpecificationVersion::V_1_0}},
446 anyOf},
447 {{Profile::pro_fp},
448 {{{fp16T}, SpecificationVersion::V_1_0},
449 {{fp32T}, SpecificationVersion::V_1_0}}}}},
450 {"tosa.identity",
451 {{{Profile::pro_int, Profile::pro_fp},
452 {{{boolT, boolT}, SpecificationVersion::V_1_0},
453 {{i8T, i8T}, SpecificationVersion::V_1_0},
454 {{i16T, i16T}, SpecificationVersion::V_1_0},
455 {{i32T, i32T}, SpecificationVersion::V_1_0}},
456 anyOf},
457 {{Profile::pro_fp},
458 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
459 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
460 {"tosa.variable",
461 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
462 {{Profile::pro_fp},
463 {{{fp16T}, SpecificationVersion::V_1_0},
464 {{fp32T}, SpecificationVersion::V_1_0}}}}},
465 {"tosa.variable_write",
466 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
467 {{Profile::pro_fp},
468 {{{fp16T}, SpecificationVersion::V_1_0},
469 {{fp32T}, SpecificationVersion::V_1_0}}}}},
470 {"tosa.variable_read",
471 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
472 {{Profile::pro_fp},
473 {{{fp16T}, SpecificationVersion::V_1_0},
474 {{fp32T}, SpecificationVersion::V_1_0}}}}},
475};
476
477extensionComplianceMap = {
478 {"tosa.argmax",
479 {{{Extension::int16}, {{{i16T, i32T}, SpecificationVersion::V_1_0}}},
480 {{Extension::int64},
481 {{{i8T, i64T}, SpecificationVersion::V_1_1_DRAFT},
482 {{i16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
483 {{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
484 {{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
485 {{fp16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
486 {{fp32T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
487 {{Extension::fp8e4m3}, {{{fp8e4m3T, i32T}, SpecificationVersion::V_1_0}}},
488 {{Extension::fp8e5m2}, {{{fp8e5m2T, i32T}, SpecificationVersion::V_1_0}}},
489 {{Extension::bf16}, {{{bf16T, i32T}, SpecificationVersion::V_1_0}}},
490 {{Extension::fp8e4m3, Extension::int64},
491 {{{fp8e4m3T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
492 allOf},
493 {{Extension::fp8e5m2, Extension::int64},
494 {{{fp8e5m2T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
495 allOf},
496 {{Extension::bf16, Extension::int64},
497 {{{bf16T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
498 allOf}}},
499 {"tosa.avg_pool2d",
500 {{{Extension::int16},
501 {{{i16T, i16T, i16T, i32T, i16T}, SpecificationVersion::V_1_0}}},
502 {{Extension::fp8e4m3},
503 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T},
504 SpecificationVersion::V_1_0}}},
505 {{Extension::fp8e5m2},
506 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T},
507 SpecificationVersion::V_1_0}}},
508 {{Extension::bf16},
509 {{{bf16T, bf16T, bf16T, fp32T, bf16T}, SpecificationVersion::V_1_0}}}}},
510 {"tosa.conv2d",
511 {{{Extension::int4},
512 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
513 {{Extension::int16},
514 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
515 SpecificationVersion::V_1_0}}},
516 {{Extension::fp8e4m3},
517 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
518 SpecificationVersion::V_1_0},
519 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
520 SpecificationVersion::V_1_1_DRAFT}}},
521 {{Extension::fp8e5m2},
522 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
523 SpecificationVersion::V_1_0},
524 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
525 SpecificationVersion::V_1_1_DRAFT}}},
526 {{Extension::bf16},
527 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
528 SpecificationVersion::V_1_0}}}}},
529 {"tosa.conv2d_block_scaled",
530 {{{Extension::mxfp_conv},
531 {{{fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T, fp32T},
532 SpecificationVersion::V_1_1_DRAFT},
533 {{fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, fp32T, fp32T},
534 SpecificationVersion::V_1_1_DRAFT},
535 {{fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T, fp32T},
536 SpecificationVersion::V_1_1_DRAFT},
537 {{fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T, fp32T},
538 SpecificationVersion::V_1_1_DRAFT},
539 {{fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T, fp32T},
540 SpecificationVersion::V_1_1_DRAFT}}}}},
541 {"tosa.conv3d",
542 {{{Extension::int4},
543 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
544 {{Extension::int16},
545 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
546 SpecificationVersion::V_1_0}}},
547 {{Extension::fp8e4m3},
548 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
549 SpecificationVersion::V_1_0},
550 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
551 SpecificationVersion::V_1_1_DRAFT}}},
552 {{Extension::fp8e5m2},
553 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
554 SpecificationVersion::V_1_0},
555 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
556 SpecificationVersion::V_1_1_DRAFT}}},
557 {{Extension::bf16},
558 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
559 SpecificationVersion::V_1_0}}}}},
560 {"tosa.depthwise_conv2d",
561 {{{Extension::int4},
562 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
563 {{Extension::int16},
564 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
565 SpecificationVersion::V_1_0}}},
566 {{Extension::fp8e4m3},
567 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
568 SpecificationVersion::V_1_0},
569 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
570 SpecificationVersion::V_1_1_DRAFT}}},
571 {{Extension::fp8e5m2},
572 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
573 SpecificationVersion::V_1_0},
574 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
575 SpecificationVersion::V_1_1_DRAFT}}},
576 {{Extension::bf16},
577 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
578 SpecificationVersion::V_1_0}}}}},
579 {"tosa.fft2d",
580 {{{Extension::fft},
581 {{{fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
582 {"tosa.matmul",
583 {{{Extension::int16},
584 {{{i16T, i16T, i16T, i16T, i48T}, SpecificationVersion::V_1_0}}},
585 {{Extension::fp8e4m3},
586 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T},
587 SpecificationVersion::V_1_0},
588 {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp32T},
589 SpecificationVersion::V_1_1_DRAFT}}},
590 {{Extension::fp8e5m2},
591 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T},
592 SpecificationVersion::V_1_0},
593 {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp32T},
594 SpecificationVersion::V_1_1_DRAFT}}},
595 {{Extension::fp8e4m3, Extension::fp8e5m2},
596 {{{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp16T},
597 SpecificationVersion::V_1_1_DRAFT},
598 {{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp32T},
599 SpecificationVersion::V_1_1_DRAFT},
600 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp16T},
601 SpecificationVersion::V_1_1_DRAFT},
602 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp32T},
603 SpecificationVersion::V_1_1_DRAFT}},
604 allOf},
605 {{Extension::bf16},
606 {{{bf16T, bf16T, bf16T, bf16T, fp32T}, SpecificationVersion::V_1_0}}}}},
607 {"tosa.matmul_t_block_scaled",
608 {{{Extension::mxfp},
609 {{{fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T},
610 SpecificationVersion::V_1_1_DRAFT},
611 {{fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, fp32T},
612 SpecificationVersion::V_1_1_DRAFT},
613 {{fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T},
614 SpecificationVersion::V_1_1_DRAFT},
615 {{fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T},
616 SpecificationVersion::V_1_1_DRAFT},
617 {{fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T},
618 SpecificationVersion::V_1_1_DRAFT},
619 {{mxint8T, fp8ue8m0T, mxint8T, fp8ue8m0T, fp32T},
620 SpecificationVersion::V_1_1_DRAFT}}}}},
621 {"tosa.max_pool2d",
622 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
623 {{Extension::fp8e4m3},
624 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
625 {{Extension::fp8e5m2},
626 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
627 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
628 {"tosa.rfft2d",
629 {{{Extension::fft},
630 {{{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
631 {"tosa.transpose_conv2d",
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.clamp",
651 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
652 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
653 {"tosa.erf",
654 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
655 {"tosa.sigmoid",
656 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
657 {"tosa.tanh",
658 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
659 {"tosa.add",
660 {{{Extension::int64},
661 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
662 {{Extension::bf16},
663 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
664 {"tosa.arithmetic_right_shift",
665 {{{Extension::int64},
666 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
667 {"tosa.bitwise_and",
668 {{{Extension::int64},
669 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
670 {"tosa.bitwise_or",
671 {{{Extension::int64},
672 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
673 {"tosa.bitwise_xor",
674 {{{Extension::int64},
675 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
676 {"tosa.intdiv",
677 {{{Extension::int64},
678 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
679 {"tosa.logical_left_shift",
680 {{{Extension::int64},
681 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
682 {"tosa.logical_right_shift",
683 {{{Extension::int64},
684 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
685 {"tosa.maximum",
686 {{{Extension::int64},
687 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
688 {{Extension::bf16},
689 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
690 {"tosa.minimum",
691 {{{Extension::int64},
692 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
693 {{Extension::bf16},
694 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
695 {"tosa.mul",
696 {{{Extension::int64},
697 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
698 {{Extension::bf16},
699 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
700 {"tosa.pow",
701 {{{Extension::bf16},
702 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
703 {"tosa.sub",
704 {{{Extension::int64},
705 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
706 {{Extension::bf16},
707 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
708 {"tosa.table",
709 {{{Extension::int16},
710 {{{i16T, i16T, i32T}, SpecificationVersion::V_1_0}}}}},
711 {"tosa.abs",
712 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
713 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
714 {"tosa.bitwise_not",
715 {{{Extension::int64},
716 {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
717 {"tosa.ceil",
718 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
719 {"tosa.clz",
720 {{{Extension::int64},
721 {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
722 {"tosa.cos",
723 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
724 {"tosa.exp",
725 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
726 {"tosa.floor",
727 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
728 {"tosa.log",
729 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
730 {"tosa.negate",
731 {{{Extension::int64},
732 {{{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
733 {{Extension::bf16},
734 {{{bf16T, bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
735 {"tosa.reciprocal",
736 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
737 {"tosa.rsqrt",
738 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
739 {"tosa.sin",
740 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
741 {"tosa.select",
742 {{{Extension::int64},
743 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
744 {{Extension::bf16},
745 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
746 {"tosa.equal",
747 {{{Extension::int64},
748 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
749 {{Extension::bf16},
750 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
751 {"tosa.greater",
752 {{{Extension::int64},
753 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
754 {{Extension::bf16},
755 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
756 {"tosa.greater_equal",
757 {{{Extension::int64},
758 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
759 {{Extension::bf16},
760 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
761 {"tosa.reduce_max",
762 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
763 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
764 {"tosa.reduce_min",
765 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
766 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
767 {"tosa.reduce_product",
768 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
769 {"tosa.reduce_sum",
770 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
771 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
772 {"tosa.concat",
773 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
774 {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
775 {{Extension::fp8e4m3},
776 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
777 {{Extension::fp8e5m2},
778 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
779 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
780 {"tosa.pad",
781 {{{Extension::int64},
782 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
783 {{Extension::fp8e4m3},
784 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
785 {{Extension::fp8e5m2},
786 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
787 {{Extension::bf16},
788 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
789 {"tosa.reshape",
790 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
791 {{Extension::fp8e4m3},
792 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
793 {{Extension::fp8e5m2},
794 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
795 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
796 {"tosa.reverse",
797 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
798 {{Extension::fp8e4m3},
799 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
800 {{Extension::fp8e5m2},
801 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
802 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
803 {"tosa.slice",
804 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
805 {{Extension::fp8e4m3},
806 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
807 {{Extension::fp8e5m2},
808 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
809 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
810 {"tosa.tile",
811 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
812 {{Extension::fp8e4m3},
813 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
814 {{Extension::fp8e5m2},
815 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
816 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
817 {"tosa.transpose",
818 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
819 {{Extension::fp8e4m3},
820 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
821 {{Extension::fp8e5m2},
822 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
823 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
824 {"tosa.gather",
825 {{{Extension::fp8e4m3},
826 {{{fp8e4m3T, i32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
827 {{Extension::fp8e5m2},
828 {{{fp8e5m2T, i32T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
829 {{Extension::bf16},
830 {{{bf16T, i32T, bf16T}, SpecificationVersion::V_1_0}}},
831 {{Extension::int64},
832 {{{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
833 {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
834 {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
835 {{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
836 {{fp16T, i64T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
837 {{fp32T, i64T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
838 {{boolT, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
839 {{Extension::fp8e4m3, Extension::int64},
840 {{{fp8e4m3T, i64T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
841 allOf},
842 {{Extension::fp8e5m2, Extension::int64},
843 {{{fp8e5m2T, i64T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
844 allOf},
845 {{Extension::bf16, Extension::int64},
846 {{{bf16T, i64T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
847 allOf}}},
848 {"tosa.scatter",
849 {{{Extension::fp8e4m3},
850 {{{fp8e4m3T, i32T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
851 {{Extension::fp8e5m2},
852 {{{fp8e5m2T, i32T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
853 {{Extension::bf16},
854 {{{bf16T, i32T, bf16T, bf16T}, SpecificationVersion::V_1_0}}},
855 {{Extension::int64},
856 {{{i8T, i64T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
857 {{i16T, i64T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
858 {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
859 {{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
860 {{fp16T, i64T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
861 {{fp32T, i64T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
862 {{boolT, i64T, boolT, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
863 {{Extension::fp8e4m3, Extension::int64},
864 {{{fp8e4m3T, i64T, fp8e4m3T, fp8e4m3T},
865 SpecificationVersion::V_1_1_DRAFT}},
866 allOf},
867 {{Extension::fp8e5m2, Extension::int64},
868 {{{fp8e5m2T, i64T, fp8e5m2T, fp8e5m2T},
869 SpecificationVersion::V_1_1_DRAFT}},
870 allOf},
871 {{Extension::bf16, Extension::int64},
872 {{{bf16T, i64T, bf16T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
873 allOf}}},
874 {"tosa.resize",
875 {{{Extension::int16},
876 {{{i16T, i48T}, SpecificationVersion::V_1_0},
877 {{i16T, i16T}, SpecificationVersion::V_1_0}}},
878 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
879 {"tosa.cast",
880 {{{Extension::bf16},
881 {{{i8T, bf16T}, SpecificationVersion::V_1_0},
882 {{i16T, bf16T}, SpecificationVersion::V_1_0},
883 {{i32T, bf16T}, SpecificationVersion::V_1_0},
884 {{bf16T, i8T}, SpecificationVersion::V_1_0},
885 {{bf16T, i16T}, SpecificationVersion::V_1_0},
886 {{bf16T, i32T}, SpecificationVersion::V_1_0},
887 {{bf16T, fp32T}, SpecificationVersion::V_1_0},
888 {{fp32T, bf16T}, SpecificationVersion::V_1_0}}},
889 {{Extension::int64},
890 {{{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
891 {{i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
892 {{boolT, i64T}, SpecificationVersion::V_1_1_DRAFT},
893 {{i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
894 {{Extension::bf16, Extension::fp8e4m3},
895 {{{bf16T, fp8e4m3T}, SpecificationVersion::V_1_0},
896 {{fp8e4m3T, bf16T}, SpecificationVersion::V_1_0}},
897 allOf},
898 {{Extension::bf16, Extension::fp8e5m2},
899 {{{bf16T, fp8e5m2T}, SpecificationVersion::V_1_0},
900 {{fp8e5m2T, bf16T}, SpecificationVersion::V_1_0}},
901 allOf},
902 {{Extension::fp8e4m3},
903 {{{fp8e4m3T, fp16T}, SpecificationVersion::V_1_0},
904 {{fp8e4m3T, fp32T}, SpecificationVersion::V_1_0},
905 {{fp16T, fp8e4m3T}, SpecificationVersion::V_1_0},
906 {{fp32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
907 {{Extension::fp8e5m2},
908 {{{fp8e5m2T, fp16T}, SpecificationVersion::V_1_0},
909 {{fp8e5m2T, fp32T}, SpecificationVersion::V_1_0},
910 {{fp16T, fp8e5m2T}, SpecificationVersion::V_1_0},
911 {{fp32T, fp8e5m2T}, SpecificationVersion::V_1_0}}}}},
912 {"tosa.cast_from_block_scaled",
913 {{{Extension::bf16, Extension::mxfp},
914 {{{fp4e2m1T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
915 {{fp6e2m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
916 {{fp6e3m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
917 {{fp8e4m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
918 {{fp8e5m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
919 {{mxint8T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
920 allOf},
921 {{Extension::mxfp},
922 {{{fp4e2m1T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
923 {{fp6e2m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
924 {{fp6e3m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
925 {{fp8e4m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
926 {{fp8e5m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
927 {{mxint8T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
928 {"tosa.cast_to_block_scaled",
929 {{{Extension::mxfp},
930 {{{bf16T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
931 {{fp32T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
932 {{fp32T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
933 {{fp32T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
934 {{fp32T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
935 {{fp32T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
936 {{fp32T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}}},
937 {{Extension::bf16, Extension::mxfp},
938 {{{bf16T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
939 {{bf16T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
940 {{bf16T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
941 {{bf16T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
942 {{bf16T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}},
943 allOf}}},
944 {"tosa.rescale",
945 {{{Extension::int16},
946 {{{i48T, i48T, i8T, i8T}, SpecificationVersion::V_1_0},
947 {{i48T, i48T, i16T, i16T}, SpecificationVersion::V_1_0},
948 {{i48T, i48T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
949 {"tosa.const",
950 {{{Extension::int4}, {{{i4T}, SpecificationVersion::V_1_0}}},
951 {{Extension::int16}, {{{i48T}, SpecificationVersion::V_1_0}}},
952 {{Extension::int64}, {{{i64T}, SpecificationVersion::V_1_1_DRAFT}}},
953 {{Extension::fp8e4m3}, {{{fp8e4m3T}, SpecificationVersion::V_1_0}}},
954 {{Extension::fp8e5m2}, {{{fp8e5m2T}, SpecificationVersion::V_1_0}}},
955 {{Extension::bf16}, {{{bf16T}, SpecificationVersion::V_1_0}}},
956 {{Extension::mxfp},
957 {{{fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
958 {{fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
959 {{fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
960 {{fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
961 {{mxint8T}, SpecificationVersion::V_1_1_DRAFT}}}}},
962 {"tosa.identity",
963 {{{Extension::int4}, {{{i4T, i4T}, SpecificationVersion::V_1_0}}},
964 {{Extension::int16}, {{{i48T, i48T}, SpecificationVersion::V_1_0}}},
965 {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
966 {{Extension::fp8e4m3},
967 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
968 {{Extension::fp8e5m2},
969 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
970 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
971 {"tosa.variable",
972 {{{Extension::variable},
973 {{{i8T}, SpecificationVersion::V_1_0},
974 {{fp16T}, SpecificationVersion::V_1_0},
975 {{fp32T}, SpecificationVersion::V_1_0}}}}},
976 {"tosa.variable_write",
977 {{{Extension::variable},
978 {{{i8T}, SpecificationVersion::V_1_0},
979 {{fp16T}, SpecificationVersion::V_1_0},
980 {{fp32T}, SpecificationVersion::V_1_0}}}}},
981 {"tosa.variable_read",
982 {{{Extension::variable},
983 {{{i8T}, SpecificationVersion::V_1_0},
984 {{fp16T}, SpecificationVersion::V_1_0},
985 {{fp32T}, SpecificationVersion::V_1_0}}}}},
986 {"tosa.dim",
987 {{{Extension::shape},
988 {{{boolT}, SpecificationVersion::V_1_1_DRAFT},
989 {{i8T}, SpecificationVersion::V_1_1_DRAFT},
990 {{i16T}, SpecificationVersion::V_1_1_DRAFT},
991 {{i32T}, SpecificationVersion::V_1_1_DRAFT},
992 {{fp16T}, SpecificationVersion::V_1_1_DRAFT},
993 {{fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
994 {{Extension::fp8e4m3, Extension::shape},
995 {{{fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
996 allOf},
997 {{Extension::fp8e5m2, Extension::shape},
998 {{{fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
999 allOf},
1000 {{Extension::bf16, Extension::shape},
1001 {{{bf16T}, SpecificationVersion::V_1_1_DRAFT}},
1002 allOf},
1003 {{Extension::mxfp, Extension::shape},
1004 {{{fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
1005 {{fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
1006 {{fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
1007 {{mxint8T}, SpecificationVersion::V_1_1_DRAFT},
1008 {{fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}},
1009 allOf},
1010 {{Extension::int64, Extension::shape},
1011 {{{i64T}, SpecificationVersion::V_1_1_DRAFT}},
1012 allOf}}}};
1013
1014// End of auto-generated metadata