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