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 {"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 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
510 SpecificationVersion::V_1_1_DRAFT}}},
511 {{Extension::fp8e5m2},
512 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
513 SpecificationVersion::V_1_0},
514 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
515 SpecificationVersion::V_1_1_DRAFT}}},
516 {{Extension::bf16},
517 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
518 SpecificationVersion::V_1_0}}}}},
519 {"tosa.conv2d_block_scaled",
520 {{{Extension::mxfp_conv},
521 {{{fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T, fp32T},
522 SpecificationVersion::V_1_1_DRAFT},
523 {{fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, fp32T, fp32T},
524 SpecificationVersion::V_1_1_DRAFT},
525 {{fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T, fp32T},
526 SpecificationVersion::V_1_1_DRAFT},
527 {{fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T, fp32T},
528 SpecificationVersion::V_1_1_DRAFT},
529 {{fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T, fp32T},
530 SpecificationVersion::V_1_1_DRAFT}}}}},
531 {"tosa.conv3d",
532 {{{Extension::int4},
533 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
534 {{Extension::int16},
535 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
536 SpecificationVersion::V_1_0}}},
537 {{Extension::fp8e4m3},
538 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
539 SpecificationVersion::V_1_0},
540 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
541 SpecificationVersion::V_1_1_DRAFT}}},
542 {{Extension::fp8e5m2},
543 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
544 SpecificationVersion::V_1_0},
545 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
546 SpecificationVersion::V_1_1_DRAFT}}},
547 {{Extension::bf16},
548 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
549 SpecificationVersion::V_1_0}}}}},
550 {"tosa.depthwise_conv2d",
551 {{{Extension::int4},
552 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
553 {{Extension::int16},
554 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
555 SpecificationVersion::V_1_0}}},
556 {{Extension::fp8e4m3},
557 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
558 SpecificationVersion::V_1_0},
559 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
560 SpecificationVersion::V_1_1_DRAFT}}},
561 {{Extension::fp8e5m2},
562 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
563 SpecificationVersion::V_1_0},
564 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
565 SpecificationVersion::V_1_1_DRAFT}}},
566 {{Extension::bf16},
567 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
568 SpecificationVersion::V_1_0}}}}},
569 {"tosa.fft2d",
570 {{{Extension::fft},
571 {{{fp32T, fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
572 {"tosa.matmul",
573 {{{Extension::int16},
574 {{{i16T, i16T, i16T, i16T, i48T}, SpecificationVersion::V_1_0}}},
575 {{Extension::fp8e4m3},
576 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T},
577 SpecificationVersion::V_1_0},
578 {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp32T},
579 SpecificationVersion::V_1_1_DRAFT}}},
580 {{Extension::fp8e5m2},
581 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T},
582 SpecificationVersion::V_1_0},
583 {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp32T},
584 SpecificationVersion::V_1_1_DRAFT}}},
585 {{Extension::fp8e4m3, Extension::fp8e5m2},
586 {{{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp16T},
587 SpecificationVersion::V_1_1_DRAFT},
588 {{fp8e4m3T, fp8e5m2T, fp8e4m3T, fp8e5m2T, fp32T},
589 SpecificationVersion::V_1_1_DRAFT},
590 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp16T},
591 SpecificationVersion::V_1_1_DRAFT},
592 {{fp8e5m2T, fp8e4m3T, fp8e5m2T, fp8e4m3T, fp32T},
593 SpecificationVersion::V_1_1_DRAFT}},
594 allOf},
595 {{Extension::bf16},
596 {{{bf16T, bf16T, bf16T, bf16T, fp32T}, SpecificationVersion::V_1_0}}}}},
597 {"tosa.matmul_t_block_scaled",
598 {{{Extension::mxfp},
599 {{{fp4e2m1T, fp8ue8m0T, fp4e2m1T, fp8ue8m0T, fp32T},
600 SpecificationVersion::V_1_1_DRAFT},
601 {{fp6e2m3T, fp8ue8m0T, fp6e2m3T, fp8ue8m0T, fp32T},
602 SpecificationVersion::V_1_1_DRAFT},
603 {{fp6e3m2T, fp8ue8m0T, fp6e3m2T, fp8ue8m0T, fp32T},
604 SpecificationVersion::V_1_1_DRAFT},
605 {{fp8e4m3T, fp8ue8m0T, fp8e4m3T, fp8ue8m0T, fp32T},
606 SpecificationVersion::V_1_1_DRAFT},
607 {{fp8e5m2T, fp8ue8m0T, fp8e5m2T, fp8ue8m0T, fp32T},
608 SpecificationVersion::V_1_1_DRAFT},
609 {{mxint8T, fp8ue8m0T, mxint8T, fp8ue8m0T, fp32T},
610 SpecificationVersion::V_1_1_DRAFT}}}}},
611 {"tosa.max_pool2d",
612 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
613 {{Extension::fp8e4m3},
614 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
615 {{Extension::fp8e5m2},
616 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
617 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
618 {"tosa.rfft2d",
619 {{{Extension::fft},
620 {{{fp32T, fp32T, fp32T}, SpecificationVersion::V_1_0}}}}},
621 {"tosa.transpose_conv2d",
622 {{{Extension::int4},
623 {{{i8T, i4T, i32T, i8T, i4T, i32T, i32T}, SpecificationVersion::V_1_0}}},
624 {{Extension::int16},
625 {{{i16T, i8T, i48T, i16T, i8T, i48T, i48T},
626 SpecificationVersion::V_1_0}}},
627 {{Extension::fp8e4m3},
628 {{{fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T, fp8e4m3T, fp16T, fp16T},
629 SpecificationVersion::V_1_0},
630 {{fp8e4m3T, fp8e4m3T, fp32T, fp8e4m3T, fp8e4m3T, fp32T, fp32T},
631 SpecificationVersion::V_1_1_DRAFT}}},
632 {{Extension::fp8e5m2},
633 {{{fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T, fp8e5m2T, fp16T, fp16T},
634 SpecificationVersion::V_1_0},
635 {{fp8e5m2T, fp8e5m2T, fp32T, fp8e5m2T, fp8e5m2T, fp32T, fp32T},
636 SpecificationVersion::V_1_1_DRAFT}}},
637 {{Extension::bf16},
638 {{{bf16T, bf16T, bf16T, bf16T, bf16T, fp32T, bf16T},
639 SpecificationVersion::V_1_0}}}}},
640 {"tosa.clamp",
641 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
642 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
643 {"tosa.erf",
644 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
645 {"tosa.sigmoid",
646 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
647 {"tosa.tanh",
648 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
649 {"tosa.add",
650 {{{Extension::int64},
651 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
652 {{Extension::bf16},
653 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
654 {"tosa.arithmetic_right_shift",
655 {{{Extension::int64},
656 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
657 {"tosa.bitwise_and",
658 {{{Extension::int64},
659 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
660 {"tosa.bitwise_or",
661 {{{Extension::int64},
662 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
663 {"tosa.bitwise_xor",
664 {{{Extension::int64},
665 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
666 {"tosa.intdiv",
667 {{{Extension::int64},
668 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
669 {"tosa.logical_left_shift",
670 {{{Extension::int64},
671 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
672 {"tosa.logical_right_shift",
673 {{{Extension::int64},
674 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
675 {"tosa.maximum",
676 {{{Extension::int64},
677 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
678 {{Extension::bf16},
679 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
680 {"tosa.minimum",
681 {{{Extension::int64},
682 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
683 {{Extension::bf16},
684 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
685 {"tosa.mul",
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.pow",
691 {{{Extension::bf16},
692 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
693 {"tosa.sub",
694 {{{Extension::int64},
695 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
696 {{Extension::bf16},
697 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
698 {"tosa.table",
699 {{{Extension::int16},
700 {{{i16T, i16T, i32T}, SpecificationVersion::V_1_0}}}}},
701 {"tosa.abs",
702 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
703 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
704 {"tosa.bitwise_not",
705 {{{Extension::int64},
706 {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
707 {"tosa.ceil",
708 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
709 {"tosa.clz",
710 {{{Extension::int64},
711 {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}}}},
712 {"tosa.cos",
713 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
714 {"tosa.exp",
715 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
716 {"tosa.floor",
717 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
718 {"tosa.log",
719 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
720 {"tosa.negate",
721 {{{Extension::int64},
722 {{{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
723 {{Extension::bf16},
724 {{{bf16T, bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
725 {"tosa.reciprocal",
726 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
727 {"tosa.rsqrt",
728 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
729 {"tosa.sin",
730 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
731 {"tosa.select",
732 {{{Extension::int64},
733 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
734 {{Extension::bf16},
735 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
736 {"tosa.equal",
737 {{{Extension::int64},
738 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
739 {{Extension::bf16},
740 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
741 {"tosa.greater",
742 {{{Extension::int64},
743 {{{i64T, i64T, boolT}, SpecificationVersion::V_1_1_DRAFT}}},
744 {{Extension::bf16},
745 {{{bf16T, bf16T, boolT}, SpecificationVersion::V_1_0}}}}},
746 {"tosa.greater_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.reduce_max",
752 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
753 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
754 {"tosa.reduce_min",
755 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
756 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
757 {"tosa.reduce_product",
758 {{{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
759 {"tosa.reduce_sum",
760 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
761 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
762 {"tosa.concat",
763 {{{Extension::int16}, {{{i16T, i16T}, SpecificationVersion::V_1_0}}},
764 {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
765 {{Extension::fp8e4m3},
766 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
767 {{Extension::fp8e5m2},
768 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
769 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
770 {"tosa.pad",
771 {{{Extension::int64},
772 {{{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
773 {{Extension::fp8e4m3},
774 {{{fp8e4m3T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
775 {{Extension::fp8e5m2},
776 {{{fp8e5m2T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
777 {{Extension::bf16},
778 {{{bf16T, bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
779 {"tosa.reshape",
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.reverse",
787 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
788 {{Extension::fp8e4m3},
789 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
790 {{Extension::fp8e5m2},
791 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
792 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
793 {"tosa.slice",
794 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
795 {{Extension::fp8e4m3},
796 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
797 {{Extension::fp8e5m2},
798 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
799 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
800 {"tosa.tile",
801 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
802 {{Extension::fp8e4m3},
803 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
804 {{Extension::fp8e5m2},
805 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
806 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
807 {"tosa.transpose",
808 {{{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
809 {{Extension::fp8e4m3},
810 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
811 {{Extension::fp8e5m2},
812 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
813 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
814 {"tosa.gather",
815 {{{Extension::fp8e4m3},
816 {{{fp8e4m3T, i32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
817 {{Extension::fp8e5m2},
818 {{{fp8e5m2T, i32T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
819 {{Extension::bf16},
820 {{{bf16T, i32T, bf16T}, SpecificationVersion::V_1_0}}},
821 {{Extension::int64},
822 {{{i8T, i64T, i8T}, SpecificationVersion::V_1_1_DRAFT},
823 {{i16T, i64T, i16T}, SpecificationVersion::V_1_1_DRAFT},
824 {{i32T, i64T, i32T}, SpecificationVersion::V_1_1_DRAFT},
825 {{i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
826 {{fp16T, i64T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
827 {{fp32T, i64T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
828 {{Extension::fp8e4m3, Extension::int64},
829 {{{fp8e4m3T, i64T, fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
830 allOf},
831 {{Extension::fp8e5m2, Extension::int64},
832 {{{fp8e5m2T, i64T, fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
833 allOf},
834 {{Extension::bf16, Extension::int64},
835 {{{bf16T, i64T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
836 allOf}}},
837 {"tosa.scatter",
838 {{{Extension::fp8e4m3},
839 {{{fp8e4m3T, i32T, fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
840 {{Extension::fp8e5m2},
841 {{{fp8e5m2T, i32T, fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
842 {{Extension::bf16},
843 {{{bf16T, i32T, bf16T, bf16T}, SpecificationVersion::V_1_0}}},
844 {{Extension::int64},
845 {{{i8T, i64T, i8T, i8T}, SpecificationVersion::V_1_1_DRAFT},
846 {{i16T, i64T, i16T, i16T}, SpecificationVersion::V_1_1_DRAFT},
847 {{i32T, i64T, i32T, i32T}, SpecificationVersion::V_1_1_DRAFT},
848 {{i64T, i64T, i64T, i64T}, SpecificationVersion::V_1_1_DRAFT},
849 {{fp16T, i64T, fp16T, fp16T}, SpecificationVersion::V_1_1_DRAFT},
850 {{fp32T, i64T, fp32T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
851 {{Extension::fp8e4m3, Extension::int64},
852 {{{fp8e4m3T, i64T, fp8e4m3T, fp8e4m3T},
853 SpecificationVersion::V_1_1_DRAFT}},
854 allOf},
855 {{Extension::fp8e5m2, Extension::int64},
856 {{{fp8e5m2T, i64T, fp8e5m2T, fp8e5m2T},
857 SpecificationVersion::V_1_1_DRAFT}},
858 allOf},
859 {{Extension::bf16, Extension::int64},
860 {{{bf16T, i64T, bf16T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
861 allOf}}},
862 {"tosa.resize",
863 {{{Extension::int16},
864 {{{i16T, i48T}, SpecificationVersion::V_1_0},
865 {{i16T, i16T}, SpecificationVersion::V_1_0}}},
866 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
867 {"tosa.cast",
868 {{{Extension::bf16},
869 {{{i8T, bf16T}, SpecificationVersion::V_1_0},
870 {{i16T, bf16T}, SpecificationVersion::V_1_0},
871 {{i32T, bf16T}, SpecificationVersion::V_1_0},
872 {{bf16T, i8T}, SpecificationVersion::V_1_0},
873 {{bf16T, i16T}, SpecificationVersion::V_1_0},
874 {{bf16T, i32T}, SpecificationVersion::V_1_0},
875 {{bf16T, fp32T}, SpecificationVersion::V_1_0},
876 {{fp32T, bf16T}, SpecificationVersion::V_1_0}}},
877 {{Extension::int64},
878 {{{i32T, i64T}, SpecificationVersion::V_1_1_DRAFT},
879 {{i64T, i32T}, SpecificationVersion::V_1_1_DRAFT}}},
880 {{Extension::bf16, Extension::fp8e4m3},
881 {{{bf16T, fp8e4m3T}, SpecificationVersion::V_1_0},
882 {{fp8e4m3T, bf16T}, SpecificationVersion::V_1_0}},
883 allOf},
884 {{Extension::bf16, Extension::fp8e5m2},
885 {{{bf16T, fp8e5m2T}, SpecificationVersion::V_1_0},
886 {{fp8e5m2T, bf16T}, SpecificationVersion::V_1_0}},
887 allOf},
888 {{Extension::fp8e4m3},
889 {{{fp8e4m3T, fp16T}, SpecificationVersion::V_1_0},
890 {{fp8e4m3T, fp32T}, SpecificationVersion::V_1_0},
891 {{fp16T, fp8e4m3T}, SpecificationVersion::V_1_0},
892 {{fp32T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
893 {{Extension::fp8e5m2},
894 {{{fp8e5m2T, fp16T}, SpecificationVersion::V_1_0},
895 {{fp8e5m2T, fp32T}, SpecificationVersion::V_1_0},
896 {{fp16T, fp8e5m2T}, SpecificationVersion::V_1_0},
897 {{fp32T, fp8e5m2T}, SpecificationVersion::V_1_0}}}}},
898 {"tosa.cast_from_block_scaled",
899 {{{Extension::bf16, Extension::mxfp},
900 {{{fp4e2m1T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
901 {{fp6e2m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
902 {{fp6e3m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
903 {{fp8e4m3T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
904 {{fp8e5m2T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT},
905 {{mxint8T, fp8ue8m0T, bf16T}, SpecificationVersion::V_1_1_DRAFT}},
906 allOf},
907 {{Extension::mxfp},
908 {{{fp4e2m1T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
909 {{fp6e2m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
910 {{fp6e3m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
911 {{fp8e4m3T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
912 {{fp8e5m2T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT},
913 {{mxint8T, fp8ue8m0T, fp32T}, SpecificationVersion::V_1_1_DRAFT}}}}},
914 {"tosa.cast_to_block_scaled",
915 {{{Extension::mxfp},
916 {{{bf16T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
917 {{fp32T, fp4e2m1T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
918 {{fp32T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
919 {{fp32T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
920 {{fp32T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
921 {{fp32T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
922 {{fp32T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}}},
923 {{Extension::bf16, Extension::mxfp},
924 {{{bf16T, fp6e2m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
925 {{bf16T, fp6e3m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
926 {{bf16T, fp8e4m3T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
927 {{bf16T, fp8e5m2T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
928 {{bf16T, mxint8T, fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}},
929 allOf}}},
930 {"tosa.rescale",
931 {{{Extension::int16},
932 {{{i48T, i48T, i8T, i8T}, SpecificationVersion::V_1_0},
933 {{i48T, i48T, i16T, i16T}, SpecificationVersion::V_1_0},
934 {{i48T, i48T, i32T, i32T}, SpecificationVersion::V_1_0}}}}},
935 {"tosa.const",
936 {{{Extension::int4}, {{{i4T}, SpecificationVersion::V_1_0}}},
937 {{Extension::int16}, {{{i48T}, SpecificationVersion::V_1_0}}},
938 {{Extension::int64}, {{{i64T}, SpecificationVersion::V_1_1_DRAFT}}},
939 {{Extension::fp8e4m3}, {{{fp8e4m3T}, SpecificationVersion::V_1_0}}},
940 {{Extension::fp8e5m2}, {{{fp8e5m2T}, SpecificationVersion::V_1_0}}},
941 {{Extension::bf16}, {{{bf16T}, SpecificationVersion::V_1_0}}},
942 {{Extension::mxfp},
943 {{{fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT},
944 {{fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
945 {{fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
946 {{fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
947 {{mxint8T}, SpecificationVersion::V_1_1_DRAFT}}}}},
948 {"tosa.identity",
949 {{{Extension::int4}, {{{i4T, i4T}, SpecificationVersion::V_1_0}}},
950 {{Extension::int16}, {{{i48T, i48T}, SpecificationVersion::V_1_0}}},
951 {{Extension::int64}, {{{i64T, i64T}, SpecificationVersion::V_1_1_DRAFT}}},
952 {{Extension::fp8e4m3},
953 {{{fp8e4m3T, fp8e4m3T}, SpecificationVersion::V_1_0}}},
954 {{Extension::fp8e5m2},
955 {{{fp8e5m2T, fp8e5m2T}, SpecificationVersion::V_1_0}}},
956 {{Extension::bf16}, {{{bf16T, bf16T}, SpecificationVersion::V_1_0}}}}},
957 {"tosa.variable",
958 {{{Extension::variable},
959 {{{i8T}, SpecificationVersion::V_1_0},
960 {{fp16T}, SpecificationVersion::V_1_0},
961 {{fp32T}, SpecificationVersion::V_1_0}}}}},
962 {"tosa.variable_write",
963 {{{Extension::variable},
964 {{{i8T}, SpecificationVersion::V_1_0},
965 {{fp16T}, SpecificationVersion::V_1_0},
966 {{fp32T}, SpecificationVersion::V_1_0}}}}},
967 {"tosa.variable_read",
968 {{{Extension::variable},
969 {{{i8T}, SpecificationVersion::V_1_0},
970 {{fp16T}, SpecificationVersion::V_1_0},
971 {{fp32T}, SpecificationVersion::V_1_0}}}}},
972 {"tosa.dim",
973 {{{Extension::shape},
974 {{{boolT}, SpecificationVersion::V_1_1_DRAFT},
975 {{i8T}, SpecificationVersion::V_1_1_DRAFT},
976 {{i16T}, SpecificationVersion::V_1_1_DRAFT},
977 {{i32T}, SpecificationVersion::V_1_1_DRAFT},
978 {{fp16T}, SpecificationVersion::V_1_1_DRAFT},
979 {{fp32T}, SpecificationVersion::V_1_1_DRAFT}}},
980 {{Extension::fp8e4m3, Extension::shape},
981 {{{fp8e4m3T}, SpecificationVersion::V_1_1_DRAFT}},
982 allOf},
983 {{Extension::fp8e5m2, Extension::shape},
984 {{{fp8e5m2T}, SpecificationVersion::V_1_1_DRAFT}},
985 allOf},
986 {{Extension::bf16, Extension::shape},
987 {{{bf16T}, SpecificationVersion::V_1_1_DRAFT}},
988 allOf},
989 {{Extension::mxfp, Extension::shape},
990 {{{fp6e3m2T}, SpecificationVersion::V_1_1_DRAFT},
991 {{fp6e2m3T}, SpecificationVersion::V_1_1_DRAFT},
992 {{fp4e2m1T}, SpecificationVersion::V_1_1_DRAFT},
993 {{mxint8T}, SpecificationVersion::V_1_1_DRAFT},
994 {{fp8ue8m0T}, SpecificationVersion::V_1_1_DRAFT}},
995 allOf},
996 {{Extension::int64, Extension::shape},
997 {{{i64T}, SpecificationVersion::V_1_1_DRAFT}},
998 allOf}}}};
999
1000// End of auto-generated metadata