blob: d3fd4c3d1d3e134a0dfaf1c93f8b055868adaafe [file] [log] [blame]
// The profile-based compliance content below is auto-generated by the script
// `tools/genspec.py` in https://git.mlplatform.org/tosa/specification.git
profileComplianceMap = {
{"tosa.argmax",
{{{Profile::pro_int}, {{i8T, i32T}}},
{{Profile::pro_fp}, {{fp16T, i32T}, {fp32T, i32T}}}}},
{"tosa.avg_pool2d",
{{{Profile::pro_int}, {{i8T, i8T, i8T, i32T, i8T}}},
{{Profile::pro_fp},
{{fp16T, fp16T, fp16T, fp16T, fp16T},
{fp16T, fp16T, fp16T, fp32T, fp16T},
{fp32T, fp32T, fp32T, fp32T, fp32T}}}}},
{"tosa.conv2d",
{{{Profile::pro_int}, {{i8T, i8T, i32T, i32T, i32T}}},
{{Profile::pro_fp},
{{fp16T, fp16T, fp16T, fp16T, fp16T},
{fp16T, fp16T, fp16T, fp32T, fp16T},
{fp32T, fp32T, fp32T, fp32T, fp32T}}}}},
{"tosa.conv3d",
{{{Profile::pro_int}, {{i8T, i8T, i32T, i32T, i32T}}},
{{Profile::pro_fp},
{{fp16T, fp16T, fp16T, fp16T, fp16T},
{fp16T, fp16T, fp16T, fp32T, fp16T},
{fp32T, fp32T, fp32T, fp32T, fp32T}}}}},
{"tosa.depthwise_conv2d",
{{{Profile::pro_int}, {{i8T, i8T, i32T, i32T, i32T}}},
{{Profile::pro_fp},
{{fp16T, fp16T, fp16T, fp16T, fp16T},
{fp16T, fp16T, fp16T, fp32T, fp16T},
{fp32T, fp32T, fp32T, fp32T, fp32T}}}}},
{"tosa.fully_connected",
{{{Profile::pro_int}, {{i8T, i8T, i32T, i32T}}},
{{Profile::pro_fp},
{{fp16T, fp16T, fp16T, fp16T},
{fp16T, fp16T, fp32T, fp32T},
{fp32T, fp32T, fp32T, fp32T}}}}},
{"tosa.matmul",
{{{Profile::pro_int}, {{i8T, i8T, i8T, i8T, i32T}}},
{{Profile::pro_fp},
{{fp16T, fp16T, fp16T, fp16T, fp16T},
{fp16T, fp16T, fp16T, fp16T, fp32T},
{fp32T, fp32T, fp32T, fp32T, fp32T}}}}},
{"tosa.max_pool2d",
{{{Profile::pro_int}, {{i8T, i8T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.transpose_conv2d",
{{{Profile::pro_int}, {{i8T, i8T, i32T, i32T, i32T}}},
{{Profile::pro_fp},
{{fp16T, fp16T, fp16T, fp16T, fp16T},
{fp16T, fp16T, fp16T, fp32T, fp16T},
{fp32T, fp32T, fp32T, fp32T, fp32T}}}}},
{"tosa.clamp",
{{{Profile::pro_int}, {{i8T, i8T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.erf", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.sigmoid", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.tanh", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.add",
{{{Profile::pro_int, Profile::pro_fp}, {{i32T, i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
{"tosa.arithmetic_right_shift",
{{{Profile::pro_int},
{{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}},
{"tosa.bitwise_and",
{{{Profile::pro_int},
{{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}},
{"tosa.bitwise_or",
{{{Profile::pro_int},
{{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}},
{"tosa.bitwise_xor",
{{{Profile::pro_int},
{{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}},
{"tosa.intdiv",
{{{Profile::pro_int, Profile::pro_fp}, {{i32T, i32T, i32T}}}}},
{"tosa.logical_and",
{{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT, boolT}}}}},
{"tosa.logical_left_shift",
{{{Profile::pro_int, Profile::pro_fp},
{{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}},
{"tosa.logical_right_shift",
{{{Profile::pro_int, Profile::pro_fp},
{{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}}}},
{"tosa.logical_or",
{{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT, boolT}}}}},
{"tosa.logical_xor",
{{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT, boolT}}}}},
{"tosa.maximum",
{{{Profile::pro_int}, {{i32T, i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
{"tosa.minimum",
{{{Profile::pro_int}, {{i32T, i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
{"tosa.mul",
{{{Profile::pro_int}, {{i8T, i8T, i32T}, {i16T, i16T, i32T}}},
{{Profile::pro_int, Profile::pro_fp}, {{i32T, i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
{"tosa.pow",
{{{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
{"tosa.sub",
{{{Profile::pro_int, Profile::pro_fp}, {{i32T, i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
{"tosa.table", {{{Profile::pro_int}, {{i8T, i8T, i8T}}}}},
{"tosa.abs",
{{{Profile::pro_int}, {{i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.bitwise_not",
{{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}}}},
{"tosa.ceil", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.clz", {{{Profile::pro_int}, {{i32T, i32T}}}}},
{"tosa.cos", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.exp", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.floor", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.log", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.logical_not",
{{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}}}},
{"tosa.negate",
{{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.reciprocal",
{{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.rsqrt", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.select",
{{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT, boolT}}},
{{Profile::pro_int},
{{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
{"tosa.sin", {{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.equal",
{{{Profile::pro_int}, {{i32T, i32T, boolT}}},
{{Profile::pro_fp}, {{fp16T, fp16T, boolT}, {fp32T, fp32T, boolT}}}}},
{"tosa.greater",
{{{Profile::pro_int}, {{i32T, i32T, boolT}}},
{{Profile::pro_fp}, {{fp16T, fp16T, boolT}, {fp32T, fp32T, boolT}}}}},
{"tosa.greater_equal",
{{{Profile::pro_int}, {{i32T, i32T, boolT}}},
{{Profile::pro_fp}, {{fp16T, fp16T, boolT}, {fp32T, fp32T, boolT}}}}},
{"tosa.reduce_all",
{{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}}}},
{"tosa.reduce_any",
{{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}}}},
{"tosa.reduce_max",
{{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.reduce_min",
{{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.reduce_product",
{{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.reduce_sum",
{{{Profile::pro_int}, {{i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.concat",
{{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}},
{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.pad",
{{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}},
{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.reshape",
{{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}},
{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.reverse",
{{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}},
{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.slice",
{{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}},
{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.tile",
{{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}},
{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.transpose",
{{{Profile::pro_int, Profile::pro_fp}, {{boolT, boolT}}},
{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.gather",
{{{Profile::pro_int}, {{i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.scatter",
{{{Profile::pro_int},
{{i8T, i8T, i8T}, {i16T, i16T, i16T}, {i32T, i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T, fp16T}, {fp32T, fp32T, fp32T}}}}},
{"tosa.resize",
{{{Profile::pro_int}, {{i8T, i32T}, {i8T, i8T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.cast",
{{{Profile::pro_int},
{{boolT, i8T},
{boolT, i16T},
{boolT, i32T},
{i8T, boolT},
{i8T, i16T},
{i8T, i32T},
{i16T, boolT},
{i16T, i8T},
{i16T, i32T},
{i32T, boolT},
{i32T, i8T},
{i32T, i16T}}},
{{Profile::pro_fp},
{{i8T, fp16T},
{i8T, fp32T},
{i16T, fp16T},
{i16T, fp32T},
{i32T, fp16T},
{i32T, fp32T},
{fp16T, i8T},
{fp16T, i16T},
{fp16T, i32T},
{fp16T, fp32T},
{fp32T, i8T},
{fp32T, i16T},
{fp32T, i32T},
{fp32T, fp16T}}}}},
{"tosa.rescale",
{{{Profile::pro_int},
{{i8T, i8T},
{i8T, i16T},
{i8T, i32T},
{i16T, i8T},
{i16T, i16T},
{i16T, i32T},
{i32T, i8T},
{i32T, i16T},
{i32T, i32T}}}}},
{"tosa.const",
{{{Profile::pro_int}, {{boolT}, {i8T}, {i16T}, {i32T}}},
{{Profile::pro_fp}, {{fp16T}, {fp32T}}}}},
{"tosa.identity",
{{{Profile::pro_int},
{{boolT, boolT}, {i8T, i8T}, {i16T, i16T}, {i32T, i32T}}},
{{Profile::pro_fp}, {{fp16T, fp16T}, {fp32T, fp32T}}}}},
{"tosa.dim",
{{{Profile::pro_int, Profile::pro_fp}, {{boolT}}},
{{Profile::pro_int}, {{i8T}, {i16T}, {i32T}}},
{{Profile::pro_fp}, {{fp16T}, {fp32T}}}}},
};
extensionComplianceMap = {
{"tosa.argmax",
{{{Extension::int16}, {{i16T, i32T}}},
{{Extension::fp8e4m3}, {{fp8e4m3T, i32T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, i32T}}},
{{Extension::bf16}, {{bf16T, i32T}}}}},
{"tosa.avg_pool2d",
{{{Extension::int16}, {{i16T, i16T, i16T, i32T, i16T}}},
{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T, fp8e4m3T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T, fp8e5m2T}}},
{{Extension::bf16}, {{bf16T, bf16T, bf16T, fp32T, bf16T}}}}},
{"tosa.conv2d",
{{{Extension::int4}, {{i8T, i4T, i32T, i32T, i32T}}},
{{Extension::int16}, {{i16T, i8T, i48T, i48T, i48T}}},
{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp16T, fp16T, fp16T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp16T, fp16T, fp16T}}},
{{Extension::bf16}, {{bf16T, bf16T, bf16T, fp32T, bf16T}}}}},
{"tosa.conv3d",
{{{Extension::int4}, {{i8T, i4T, i32T, i32T, i32T}}},
{{Extension::int16}, {{i16T, i8T, i48T, i48T, i48T}}},
{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp16T, fp16T, fp16T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp16T, fp16T, fp16T}}},
{{Extension::bf16}, {{bf16T, bf16T, bf16T, fp32T, bf16T}}}}},
{"tosa.depthwise_conv2d",
{{{Extension::int4}, {{i8T, i4T, i32T, i32T, i32T}}},
{{Extension::int16}, {{i16T, i8T, i48T, i48T, i48T}}},
{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp16T, fp16T, fp16T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp16T, fp16T, fp16T}}},
{{Extension::bf16}, {{bf16T, bf16T, bf16T, fp32T, bf16T}}}}},
{"tosa.fft2d", {{{Extension::fft}, {{fp32T, fp32T, fp32T, fp32T}}}}},
{"tosa.fully_connected",
{{{Extension::int4}, {{i8T, i4T, i32T, i32T}}},
{{Extension::int16}, {{i16T, i8T, i48T, i48T}}},
{{Extension::bf16}, {{bf16T, bf16T, fp32T, fp32T}}}}},
{"tosa.matmul",
{{{Extension::int16}, {{i16T, i16T, i16T, i16T, i48T}}},
{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp8e4m3T, fp8e4m3T, fp16T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp8e5m2T, fp8e5m2T, fp16T}}},
{{Extension::bf16}, {{bf16T, bf16T, bf16T, bf16T, fp32T}}}}},
{"tosa.max_pool2d",
{{{Extension::int16}, {{i16T, i16T}}},
{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.rfft2d", {{{Extension::fft}, {{fp32T, fp32T, fp32T}}}}},
{"tosa.transpose_conv2d",
{{{Extension::int4}, {{i8T, i4T, i32T, i32T, i32T}}},
{{Extension::int16}, {{i16T, i8T, i48T, i48T, i48T}}},
{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp16T, fp16T, fp16T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp16T, fp16T, fp16T}}},
{{Extension::bf16}, {{bf16T, bf16T, bf16T, fp32T, bf16T}}}}},
{"tosa.clamp",
{{{Extension::int16}, {{i16T, i16T}}},
{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.erf", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.sigmoid", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.tanh", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.add", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
{"tosa.maximum", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
{"tosa.minimum", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
{"tosa.mul", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
{"tosa.pow", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
{"tosa.sub", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
{"tosa.table", {{{Extension::int16}, {{i16T, i16T, i32T}}}}},
{"tosa.abs", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.ceil", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.cos", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.exp", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.floor", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.log", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.negate", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.reciprocal", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.rsqrt", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.select", {{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
{"tosa.sin", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.equal", {{{Extension::bf16}, {{bf16T, bf16T, boolT}}}}},
{"tosa.greater", {{{Extension::bf16}, {{bf16T, bf16T, boolT}}}}},
{"tosa.greater_equal", {{{Extension::bf16}, {{bf16T, bf16T, boolT}}}}},
{"tosa.reduce_max", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.reduce_min", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.reduce_product", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.reduce_sum", {{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.concat",
{{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.pad",
{{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.reshape",
{{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.reverse",
{{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.slice",
{{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.tile",
{{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.transpose",
{{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.gather",
{{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.scatter",
{{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T, fp8e4m3T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T, fp8e5m2T}}},
{{Extension::bf16}, {{bf16T, bf16T, bf16T}}}}},
{"tosa.resize",
{{{Extension::int16}, {{i16T, i48T}, {i16T, i16T}}},
{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.cast",
{{{Extension::bf16},
{{i8T, bf16T},
{i16T, bf16T},
{i32T, bf16T},
{bf16T, i8T},
{bf16T, i16T},
{bf16T, i32T},
{bf16T, fp32T},
{fp32T, bf16T}}},
{{Extension::bf16, Extension::fp8e4m3},
{{bf16T, fp8e4m3T}, {fp8e4m3T, bf16T}}},
{{Extension::bf16, Extension::fp8e5m2},
{{bf16T, fp8e5m2T}, {fp8e5m2T, bf16T}}},
{{Extension::fp8e4m3},
{{fp8e4m3T, fp16T},
{fp8e4m3T, fp32T},
{fp16T, fp8e4m3T},
{fp32T, fp8e4m3T}}},
{{Extension::fp8e5m2},
{{fp8e5m2T, fp16T},
{fp8e5m2T, fp32T},
{fp16T, fp8e5m2T},
{fp32T, fp8e5m2T}}}}},
{"tosa.rescale",
{{{Extension::int16}, {{i48T, i8T}, {i48T, i16T}, {i48T, i32T}}}}},
{"tosa.const",
{{{Extension::int4}, {{i4T}}},
{{Extension::int16}, {{i48T}}},
{{Extension::fp8e4m3}, {{fp8e4m3T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T}}},
{{Extension::bf16}, {{bf16T}}}}},
{"tosa.identity",
{{{Extension::int4}, {{i4T, i4T}}},
{{Extension::int16}, {{i48T, i48T}}},
{{Extension::fp8e4m3}, {{fp8e4m3T, fp8e4m3T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T, fp8e5m2T}}},
{{Extension::bf16}, {{bf16T, bf16T}}}}},
{"tosa.dim",
{{{Extension::fp8e4m3}, {{fp8e4m3T}}},
{{Extension::fp8e5m2}, {{fp8e5m2T}}},
{{Extension::bf16}, {{bf16T}}}}},
};
// End of auto-generated metadata