{mkldnn_s32,},
};
+const _dt_conf_t conf_s8s8f32s32 = {
+ {mkldnn_s8, INT8_MIN, INT8_MAX, -5, 5, 0, 1, .35, 0.},
+ {mkldnn_s8, INT8_MIN, INT8_MAX, -5, 5, 0, 1, .35, 0.},
+ {mkldnn_f32, -int_max_exact, int_max_exact, -8, 32, 0, 1, .35, 0.},
+ {mkldnn_f32, -int_max_exact, int_max_exact, -255, 255, 0, 1, .35, 0.},
+ {mkldnn_s32,},
+};
+
+const _dt_conf_t conf_s8s8s32s32 = {
+ {mkldnn_s8, INT8_MIN, INT8_MAX, -5, 5, 0, 1, .35, 0.},
+ {mkldnn_s8, INT8_MIN, INT8_MAX, -5, 5, 0, 1, .35, 0.},
+ {mkldnn_f32, -int_max_exact, int_max_exact, -8, 32, 0, 1, .35, 0.},
+ {mkldnn_s32, INT32_MIN, INT32_MAX, -255, 255, 0, 1, .35, 0.},
+ {mkldnn_s32,},
+};
+
+const _dt_conf_t conf_s8s8s8s32 = {
+ {mkldnn_s8, INT8_MIN, INT8_MAX, -5, 5, 0, 1, .35, 0.},
+ {mkldnn_s8, INT8_MIN, INT8_MAX, -5, 5, 0, 1, .35, 0.},
+ {mkldnn_f32, -int_max_exact, int_max_exact, -8, 32, 0, 1, .35, 0.},
+ {mkldnn_s8, INT8_MIN, INT8_MAX, -127, 127, 0, 1, .35, 0.},
+ {mkldnn_s32,},
+};
+
+const _dt_conf_t conf_s8s8u8s32 = {
+ {mkldnn_s8, INT8_MIN, INT8_MAX, -5, 5, 0, 1, .35, 0.},
+ {mkldnn_s8, INT8_MIN, INT8_MAX, -5, 5, 0, 1, .35, 0.},
+ {mkldnn_f32, -int_max_exact, int_max_exact, -8, 32, 0, 1, .35, 0.},
+ {mkldnn_u8, 0, UINT8_MAX, 0, 255, 0, 1, .35, 0.},
+ {mkldnn_s32,},
+};
+
const dt_conf_t *str2cfg(const char *str) {
#define CASE(cfg) \
if (!strcasecmp(STRINGIFY(cfg), str)) return CONCAT2(conf_,cfg)
CASE(u8s8s32s32);
CASE(u8s8s8s32);
CASE(u8s8u8s32);
+ CASE(s8s8f32s32);
+ CASE(s8s8s32s32);
+ CASE(s8s8s8s32);
+ CASE(s8s8u8s32);
#undef CASE
[]() { SAFE(FAIL, CRIT); return 0; }();
return (const dt_conf_t *)1;
CASE(u8s8s32s32);
CASE(u8s8s8s32);
CASE(u8s8u8s32);
+ CASE(s8s8f32s32);
+ CASE(s8s8s32s32);
+ CASE(s8s8s8s32);
+ CASE(s8s8u8s32);
#undef CASE
[]() { SAFE(FAIL, CRIT); return 0; }();
return NULL;