MLIR 22.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 {"tosa.scatter",
376 {{{Profile::pro_int},
377 {{{i8T, i32T, i8T, i8T}, SpecificationVersion::V_1_0},
378 {{i16T, i32T, i16T, i16T}, SpecificationVersion::V_1_0},
379 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}},
380 {{Profile::pro_fp},
381 {{{fp16T, i32T, fp16T, fp16T}, SpecificationVersion::V_1_0},
382 {{fp32T, i32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
383 {"tosa.resize",
384 {{{Profile::pro_int},
385 {{{i8T, i32T}, SpecificationVersion::V_1_0},
386 {{i8T, i8T}, SpecificationVersion::V_1_0}}},
387 {{Profile::pro_fp},
388 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
389 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
390 {"tosa.cast",
391 {{{Profile::pro_int},
392 {{{boolT, i8T}, SpecificationVersion::V_1_0},
393 {{boolT, i16T}, SpecificationVersion::V_1_0},
394 {{boolT, i32T}, SpecificationVersion::V_1_0},
395 {{i8T, boolT}, SpecificationVersion::V_1_0},
396 {{i8T, i16T}, SpecificationVersion::V_1_0},
397 {{i8T, i32T}, SpecificationVersion::V_1_0},
398 {{i16T, boolT}, SpecificationVersion::V_1_0},
399 {{i16T, i8T}, SpecificationVersion::V_1_0},
400 {{i16T, i32T}, SpecificationVersion::V_1_0},
401 {{i32T, boolT}, SpecificationVersion::V_1_0},
402 {{i32T, i8T}, SpecificationVersion::V_1_0},
403 {{i32T, i16T}, SpecificationVersion::V_1_0}}},
404 {{Profile::pro_fp},
405 {{{i8T, fp16T}, SpecificationVersion::V_1_0},
406 {{i8T, fp32T}, SpecificationVersion::V_1_0},
407 {{i16T, fp16T}, SpecificationVersion::V_1_0},
408 {{i16T, fp32T}, SpecificationVersion::V_1_0},
409 {{i32T, fp16T}, SpecificationVersion::V_1_0},
410 {{i32T, fp32T}, SpecificationVersion::V_1_0},
411 {{fp16T, i8T}, SpecificationVersion::V_1_0},
412 {{fp16T, i16T}, SpecificationVersion::V_1_0},
413 {{fp16T, i32T}, SpecificationVersion::V_1_0},
414 {{fp16T, fp32T}, SpecificationVersion::V_1_0},
415 {{fp32T, i8T}, SpecificationVersion::V_1_0},
416 {{fp32T, i16T}, SpecificationVersion::V_1_0},
417 {{fp32T, i32T}, SpecificationVersion::V_1_0},
418 {{fp32T, fp16T}, SpecificationVersion::V_1_0}}}}},
419 {"tosa.rescale",
420 {{{Profile::pro_int},
421 {{{i8T, i8T, i8T, i8T}, SpecificationVersion::V_1_0},
422 {{i8T, i8T, i16T, i16T}, SpecificationVersion::V_1_0},
423 {{i8T, i8T, i32T, i32T}, SpecificationVersion::V_1_0},
424 {{i16T, i16T, i8T, i8T}, SpecificationVersion::V_1_0},
425 {{i16T, i16T, i16T, i16T}, SpecificationVersion::V_1_0},
426 {{i16T, i16T, i32T, i32T}, SpecificationVersion::V_1_0},
427 {{i32T, i32T, i8T, i8T}, SpecificationVersion::V_1_0},
428 {{i32T, i32T, i16T, i16T}, SpecificationVersion::V_1_0},
429 {{i32T, i32T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
430 {"tosa.const",
431 {{{Profile::pro_int, Profile::pro_fp},
432 {{{boolT}, SpecificationVersion::V_1_0},
433 {{i8T}, SpecificationVersion::V_1_0},
434 {{i16T}, SpecificationVersion::V_1_0},
435 {{i32T}, SpecificationVersion::V_1_0}},
436 anyOf},
437 {{Profile::pro_fp},
438 {{{fp16T}, SpecificationVersion::V_1_0},
439 {{fp32T}, SpecificationVersion::V_1_0}}}}},
440 {"tosa.identity",
441 {{{Profile::pro_int, Profile::pro_fp},
442 {{{boolT, boolT}, SpecificationVersion::V_1_0},
443 {{i8T, i8T}, SpecificationVersion::V_1_0},
444 {{i16T, i16T}, SpecificationVersion::V_1_0},
445 {{i32T, i32T}, SpecificationVersion::V_1_0}},
446 anyOf},
447 {{Profile::pro_fp},
448 {{{fp16T, fp16T}, SpecificationVersion::V_1_0},
449 {{fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
450 {"tosa.variable",
451 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
452 {{Profile::pro_fp},
453 {{{fp16T}, SpecificationVersion::V_1_0},
454 {{fp32T}, SpecificationVersion::V_1_0}}}}},
455 {"tosa.variable_write",
456 {{{Profile::pro_int}, {{{i8T}, SpecificationVersion::V_1_0}}},
457 {{Profile::pro_fp},
458 {{{fp16T}, SpecificationVersion::V_1_0},
459 {{fp32T}, SpecificationVersion::V_1_0}}}}},
460 {"tosa.variable_read",
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};
466
467extensionComplianceMap = {
468 {"tosa.argmax",
469 {{{Extension::int16}, {{{i16T, i32T}, SpecificationVersion::V_1_0}}},
470 {{Extension::int64},
471 {{{i8T, i64T}, SpecificationVersion::V_1_1_DRAFT},
472 {{i16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
473 {{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
474 {{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
475 {{fp16T, i64T}, SpecificationVersion::V_1_1_DRAFT},
476 {{fp32T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
477 {{Extension::fp8e4m3}, {{{fp8e4m3T, i32T}, SpecificationVersion::V_1_0}}},
478 {{Extension::fp8e5m2}, {{{fp8e5m2T, i32T}, SpecificationVersion::V_1_0}}},
479 {{Extension::bf16}, {{{bf16T, i32T}, SpecificationVersion::V_1_0}}},
480 {{Extension::fp8e4m3, Extension::int64},
481 {{{fp8e4m3T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
482 allOf},
483 {{Extension::fp8e5m2, Extension::int64},
484 {{{fp8e5m2T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
485 allOf},
486 {{Extension::bf16, Extension::int64},
487 {{{bf16T, i64T}, SpecificationVersion::V_1_1_DRAFT}},
488 allOf}}},
489 {"tosa.avg_pool2d",
490 {{{Extension::int16},
491 {{{i16T, i16T, i16T, i32T, i16T}, SpecificationVersion::V_1_0}}},
492 {{Extension::fp8e4m3},
493 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T},
494 SpecificationVersion::V_1_0}}},
495 {{Extension::fp8e5m2},
496 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T},
497 SpecificationVersion::V_1_0}}},
498 {{Extension::bf16},
499 {{{bf16T, bf16T, bf16T, fp32T, bf16T}, SpecificationVersion::V_1_0}}}}},
500 {"tosa.conv2d",
501 {{{Extension::int4},
502 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
503 {{Extension::int16},
504 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
505 SpecificationVersion::V_1_0}}},
506 {{Extension::fp8e4m3},
507 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
508 SpecificationVersion::V_1_0}}},
509 {{Extension::fp8e5m2},
510 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
511 SpecificationVersion::V_1_0}}},
512 {{Extension::bf16},
513 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
514 SpecificationVersion::V_1_0}}}}},
515 {"tosa.conv3d",
516 {{{Extension::int4},
517 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
518 {{Extension::int16},
519 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
520 SpecificationVersion::V_1_0}}},
521 {{Extension::fp8e4m3},
522 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
523 SpecificationVersion::V_1_0}}},
524 {{Extension::fp8e5m2},
525 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
526 SpecificationVersion::V_1_0}}},
527 {{Extension::bf16},
528 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
529 SpecificationVersion::V_1_0}}}}},
530 {"tosa.depthwise_conv2d",
531 {{{Extension::int4},
532 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
533 {{Extension::int16},
534 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
535 SpecificationVersion::V_1_0}}},
536 {{Extension::fp8e4m3},
537 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
538 SpecificationVersion::V_1_0}}},
539 {{Extension::fp8e5m2},
540 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
541 SpecificationVersion::V_1_0}}},
542 {{Extension::bf16},
543 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
544 SpecificationVersion::V_1_0}}}}},
545 {"tosa.fft2d",
546 {{{Extension::fft},
547 {{{fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
548 {"tosa.matmul",
549 {{{Extension::int16},
550 {{{i16T, i16T, i16T, i16T, i48T}, SpecificationVersion::V_1_0}}},
551 {{Extension::fp8e4m3},
552 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T},
553 SpecificationVersion::V_1_0},
554 {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp32T},
555 SpecificationVersion::V_1_1_DRAFT}}},
556 {{Extension::fp8e5m2},
557 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T},
558 SpecificationVersion::V_1_0},
559 {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp32T},
560 SpecificationVersion::V_1_1_DRAFT}}},
561 {{Extension::fp8e4m3, Extension::fp8e5m2},
562 {{{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp16T},
563 SpecificationVersion::V_1_1_DRAFT},
564 {{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp32T},
565 SpecificationVersion::V_1_1_DRAFT},
566 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp16T},
567 SpecificationVersion::V_1_1_DRAFT},
568 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp32T},
569 SpecificationVersion::V_1_1_DRAFT}},
570 allOf},
571 {{Extension::bf16},
572 {{{bf16T, bf16T, bf16T, bf16T, fp32T}, SpecificationVersion::V_1_0}}}}},
573 {"tosa.matmul_t_block_scaled",
574 {{{Extension::mxfp},
575 {{{fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T},
576 SpecificationVersion::V_1_1_DRAFT},
577 {{fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, fp32T},
578 SpecificationVersion::V_1_1_DRAFT},
579 {{fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T},
580 SpecificationVersion::V_1_1_DRAFT},
581 {{fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T},
582 SpecificationVersion::V_1_1_DRAFT},
583 {{fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T},
584 SpecificationVersion::V_1_1_DRAFT},
585 {{mxint8T, fp8ue8m0T, mxint8T, fp8ue8m0T, fp32T},
586 SpecificationVersion::V_1_1_DRAFT}}}}},
587 {"tosa.max_pool2d",
588 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
589 {{Extension::fp8e4m3},
590 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
591 {{Extension::fp8e5m2},
592 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
593 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
594 {"tosa.rfft2d",
595 {{{Extension::fft},
596 {{{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
597 {"tosa.transpose_conv2d",
598 {{{Extension::int4},
599 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
600 {{Extension::int16},
601 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
602 SpecificationVersion::V_1_0}}},
603 {{Extension::fp8e4m3},
604 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
605 SpecificationVersion::V_1_0}}},
606 {{Extension::fp8e5m2},
607 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
608 SpecificationVersion::V_1_0}}},
609 {{Extension::bf16},
610 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
611 SpecificationVersion::V_1_0}}}}},
612 {"tosa.clamp",
613 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
614 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
615 {"tosa.erf",
616 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
617 {"tosa.sigmoid",
618 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
619 {"tosa.tanh",
620 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
621 {"tosa.add",
622 {{{Extension::int64},
623 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
624 {{Extension::bf16},
625 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
626 {"tosa.arithmetic_right_shift",
627 {{{Extension::int64},
628 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
629 {"tosa.bitwise_and",
630 {{{Extension::int64},
631 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
632 {"tosa.bitwise_or",
633 {{{Extension::int64},
634 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
635 {"tosa.bitwise_xor",
636 {{{Extension::int64},
637 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
638 {"tosa.intdiv",
639 {{{Extension::int64},
640 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
641 {"tosa.logical_left_shift",
642 {{{Extension::int64},
643 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
644 {"tosa.logical_right_shift",
645 {{{Extension::int64},
646 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
647 {"tosa.maximum",
648 {{{Extension::int64},
649 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
650 {{Extension::bf16},
651 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
652 {"tosa.minimum",
653 {{{Extension::int64},
654 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
655 {{Extension::bf16},
656 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
657 {"tosa.mul",
658 {{{Extension::int64},
659 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
660 {{Extension::bf16},
661 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
662 {"tosa.pow",
663 {{{Extension::bf16},
664 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
665 {"tosa.sub",
666 {{{Extension::int64},
667 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
668 {{Extension::bf16},
669 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
670 {"tosa.table",
671 {{{Extension::int16},
672 {{{i16T, i16T, i32T}, SpecificationVersion::V_1_0}}}}},
673 {"tosa.abs",
674 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
675 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
676 {"tosa.bitwise_not",
677 {{{Extension::int64},
678 {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
679 {"tosa.ceil",
680 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
681 {"tosa.clz",
682 {{{Extension::int64},
683 {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
684 {"tosa.cos",
685 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
686 {"tosa.exp",
687 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
688 {"tosa.floor",
689 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
690 {"tosa.log",
691 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
692 {"tosa.negate",
693 {{{Extension::int64},
694 {{{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
695 {{Extension::bf16},
696 {{{bf16T, bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
697 {"tosa.reciprocal",
698 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
699 {"tosa.rsqrt",
700 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
701 {"tosa.sin",
702 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
703 {"tosa.select",
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.equal",
709 {{{Extension::int64},
710 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
711 {{Extension::bf16},
712 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
713 {"tosa.greater",
714 {{{Extension::int64},
715 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
716 {{Extension::bf16},
717 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
718 {"tosa.greater_equal",
719 {{{Extension::int64},
720 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
721 {{Extension::bf16},
722 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
723 {"tosa.reduce_max",
724 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
725 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
726 {"tosa.reduce_min",
727 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
728 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
729 {"tosa.reduce_product",
730 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
731 {"tosa.reduce_sum",
732 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
733 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
734 {"tosa.concat",
735 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
736 {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
737 {{Extension::fp8e4m3},
738 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
739 {{Extension::fp8e5m2},
740 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
741 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
742 {"tosa.pad",
743 {{{Extension::int64},
744 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
745 {{Extension::fp8e4m3},
746 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
747 {{Extension::fp8e5m2},
748 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
749 {{Extension::bf16},
750 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
751 {"tosa.reshape",
752 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
753 {{Extension::fp8e4m3},
754 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
755 {{Extension::fp8e5m2},
756 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
757 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
758 {"tosa.reverse",
759 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
760 {{Extension::fp8e4m3},
761 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
762 {{Extension::fp8e5m2},
763 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
764 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
765 {"tosa.slice",
766 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
767 {{Extension::fp8e4m3},
768 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
769 {{Extension::fp8e5m2},
770 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
771 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
772 {"tosa.tile",
773 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
774 {{Extension::fp8e4m3},
775 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
776 {{Extension::fp8e5m2},
777 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
778 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
779 {"tosa.transpose",
780 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
781 {{Extension::fp8e4m3},
782 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
783 {{Extension::fp8e5m2},
784 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
785 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
786 {"tosa.gather",
787 {{{Extension::fp8e4m3},
788 {{{fp8e4m3T, i32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
789 {{Extension::fp8e5m2},
790 {{{fp8e5m2T, i32T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
791 {{Extension::bf16},
792 {{{bf16T, i32T, bf16T}, SpecificationVersion::V_1_0}}},
793 {{Extension::int64},
794 {{{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
795 {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
796 {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
797 {{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
798 {{fp16T, i64T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
799 {{fp32T, i64T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
800 {{Extension::fp8e4m3, Extension::int64},
801 {{{fp8e4m3T, i64T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
802 allOf},
803 {{Extension::fp8e5m2, Extension::int64},
804 {{{fp8e5m2T, i64T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
805 allOf},
806 {{Extension::bf16, Extension::int64},
807 {{{bf16T, i64T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
808 allOf}}},
809 {"tosa.scatter",
810 {{{Extension::fp8e4m3},
811 {{{fp8e4m3T, i32T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
812 {{Extension::fp8e5m2},
813 {{{fp8e5m2T, i32T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
814 {{Extension::bf16},
815 {{{bf16T, i32T, bf16T, bf16T}, SpecificationVersion::V_1_0}}},
816 {{Extension::int64},
817 {{{i8T, i64T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
818 {{i16T, i64T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
819 {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
820 {{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
821 {{fp16T, i64T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
822 {{fp32T, i64T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
823 {{Extension::fp8e4m3, Extension::int64},
824 {{{fp8e4m3T, i64T, fp8e4m3T, fp8e4m3T},
825 SpecificationVersion::V_1_1_DRAFT}},
826 allOf},
827 {{Extension::fp8e5m2, Extension::int64},
828 {{{fp8e5m2T, i64T, fp8e5m2T, fp8e5m2T},
829 SpecificationVersion::V_1_1_DRAFT}},
830 allOf},
831 {{Extension::bf16, Extension::int64},
832 {{{bf16T, i64T, bf16T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
833 allOf}}},
834 {"tosa.resize",
835 {{{Extension::int16},
836 {{{i16T, i48T}, SpecificationVersion::V_1_0},
837 {{i16T, i16T}, SpecificationVersion::V_1_0}}},
838 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
839 {"tosa.cast",
840 {{{Extension::bf16},
841 {{{i8T, bf16T}, SpecificationVersion::V_1_0},
842 {{i16T, bf16T}, SpecificationVersion::V_1_0},
843 {{i32T, bf16T}, SpecificationVersion::V_1_0},
844 {{bf16T, i8T}, SpecificationVersion::V_1_0},
845 {{bf16T, i16T}, SpecificationVersion::V_1_0},
846 {{bf16T, i32T}, SpecificationVersion::V_1_0},
847 {{bf16T, fp32T}, SpecificationVersion::V_1_0},
848 {{fp32T, bf16T}, SpecificationVersion::V_1_0}}},
849 {{Extension::int64},
850 {{{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
851 {{i64T, i32T}, SpecificationVersion::V_1_1_DRAFT}}},
852 {{Extension::bf16, Extension::fp8e4m3},
853 {{{bf16T, fp8e4m3T}, SpecificationVersion::V_1_0},
854 {{fp8e4m3T, bf16T}, SpecificationVersion::V_1_0}},
855 allOf},
856 {{Extension::bf16, Extension::fp8e5m2},
857 {{{bf16T, fp8e5m2T}, SpecificationVersion::V_1_0},
858 {{fp8e5m2T, bf16T}, SpecificationVersion::V_1_0}},
859 allOf},
860 {{Extension::fp8e4m3},
861 {{{fp8e4m3T, fp16T}, SpecificationVersion::V_1_0},
862 {{fp8e4m3T, fp32T}, SpecificationVersion::V_1_0},
863 {{fp16T, fp8e4m3T}, SpecificationVersion::V_1_0},
864 {{fp32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
865 {{Extension::fp8e5m2},
866 {{{fp8e5m2T, fp16T}, SpecificationVersion::V_1_0},
867 {{fp8e5m2T, fp32T}, SpecificationVersion::V_1_0},
868 {{fp16T, fp8e5m2T}, SpecificationVersion::V_1_0},
869 {{fp32T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
870 {{Extension::bf16, Extension::mxfp},
871 {{{fp4e2m1T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
872 {{fp6e3m2T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
873 {{fp6e2m3T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
874 {{bf16T, fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
875 {{bf16T, fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
876 {{bf16T, fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT}},
877 allOf}}},
878 {"tosa.cast_from_block_scaled",
879 {{{Extension::bf16, Extension::mxfp},
880 {{{fp4e2m1T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
881 {{fp6e2m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
882 {{fp6e3m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
883 {{fp8e4m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
884 {{fp8e5m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
885 {{mxint8T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
886 allOf},
887 {{Extension::mxfp},
888 {{{fp4e2m1T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
889 {{fp6e2m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
890 {{fp6e3m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
891 {{fp8e4m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
892 {{fp8e5m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
893 {{mxint8T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
894 {"tosa.cast_to_block_scaled",
895 {{{Extension::mxfp},
896 {{{bf16T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
897 {{fp32T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
898 {{fp32T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
899 {{fp32T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
900 {{fp32T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
901 {{fp32T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
902 {{fp32T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}}},
903 {{Extension::bf16, Extension::mxfp},
904 {{{bf16T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
905 {{bf16T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
906 {{bf16T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
907 {{bf16T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
908 {{bf16T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}},
909 allOf}}},
910 {"tosa.rescale",
911 {{{Extension::int16},
912 {{{i48T, i48T, i8T, i8T}, SpecificationVersion::V_1_0},
913 {{i48T, i48T, i16T, i16T}, SpecificationVersion::V_1_0},
914 {{i48T, i48T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
915 {"tosa.const",
916 {{{Extension::int4}, {{{i4T}, SpecificationVersion::V_1_0}}},
917 {{Extension::int16}, {{{i48T}, SpecificationVersion::V_1_0}}},
918 {{Extension::int64}, {{{i64T}, SpecificationVersion::V_1_1_DRAFT}}},
919 {{Extension::fp8e4m3}, {{{fp8e4m3T}, SpecificationVersion::V_1_0}}},
920 {{Extension::fp8e5m2}, {{{fp8e5m2T}, SpecificationVersion::V_1_0}}},
921 {{Extension::bf16}, {{{bf16T}, SpecificationVersion::V_1_0}}},
922 {{Extension::mxfp},
923 {{{fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
924 {{fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
925 {{fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
926 {{fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
927 {{mxint8T}, SpecificationVersion::V_1_1_DRAFT}}}}},
928 {"tosa.identity",
929 {{{Extension::int4}, {{{i4T, i4T}, SpecificationVersion::V_1_0}}},
930 {{Extension::int16}, {{{i48T, i48T}, SpecificationVersion::V_1_0}}},
931 {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
932 {{Extension::fp8e4m3},
933 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
934 {{Extension::fp8e5m2},
935 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
936 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
937 {"tosa.variable",
938 {{{Extension::variable},
939 {{{i8T}, SpecificationVersion::V_1_0},
940 {{fp16T}, SpecificationVersion::V_1_0},
941 {{fp32T}, SpecificationVersion::V_1_0}}}}},
942 {"tosa.variable_write",
943 {{{Extension::variable},
944 {{{i8T}, SpecificationVersion::V_1_0},
945 {{fp16T}, SpecificationVersion::V_1_0},
946 {{fp32T}, SpecificationVersion::V_1_0}}}}},
947 {"tosa.variable_read",
948 {{{Extension::variable},
949 {{{i8T}, SpecificationVersion::V_1_0},
950 {{fp16T}, SpecificationVersion::V_1_0},
951 {{fp32T}, SpecificationVersion::V_1_0}}}}},
952};
953
954// End of auto-generated metadata