Refactor declarations of parameter initialization functions
PiperOrigin-RevId: 417951089
diff --git a/src/xnnpack/params-init.h b/src/xnnpack/params-init.h
index d57d217..9292e79 100644
--- a/src/xnnpack/params-init.h
+++ b/src/xnnpack/params-init.h
@@ -17,167 +17,65 @@
#endif
-XNN_INTERNAL void xnn_init_qu8_conv_minmax_fp32_scalar_lrint_params(
- union xnn_qu8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t kernel_zero_point,
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
+#define DECLARE_INIT_QU8_CONV_MINMAX_PARAMS_FUNCTION(fn_name) \
+ XNN_INTERNAL void fn_name( \
+ union xnn_qu8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)], \
+ uint8_t kernel_zero_point, \
+ float scale, \
+ uint8_t output_zero_point, \
+ uint8_t output_min, \
+ uint8_t output_max);
-XNN_INTERNAL void xnn_init_qu8_conv_minmax_fp32_scalar_magic_params(
- union xnn_qu8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t kernel_zero_point,
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
-
-#if XNN_ARCH_X86 || XNN_ARCH_X86_64
-XNN_INTERNAL void xnn_init_qu8_conv_minmax_fp32_sse2_params(
- union xnn_qu8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t kernel_zero_point,
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
-
-XNN_INTERNAL void xnn_init_qu8_conv_minmax_fp32_avx2_params(
- union xnn_qu8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t kernel_zero_point,
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
-
-XNN_INTERNAL void xnn_init_qu8_conv_minmax_fp32_avx512_params(
- union xnn_qu8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t kernel_zero_point,
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
-#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
+DECLARE_INIT_QU8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_conv_minmax_fp32_scalar_lrint_params)
+DECLARE_INIT_QU8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_conv_minmax_fp32_scalar_magic_params)
#if XNN_ARCH_ARM || XNN_ARCH_ARM64
-XNN_INTERNAL void xnn_init_qu8_conv_minmax_fp32_neon_params(
- union xnn_qu8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t kernel_zero_point,
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
-
-XNN_INTERNAL void xnn_init_qu8_conv_minmax_fp32_neonv8_params(
- union xnn_qu8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t kernel_zero_point,
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
-
-XNN_INTERNAL void xnn_init_qu8_conv_minmax_rndnu_neon_params(
- union xnn_qu8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t kernel_zero_point,
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
+ DECLARE_INIT_QU8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_conv_minmax_fp32_neon_params)
+ DECLARE_INIT_QU8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_conv_minmax_fp32_neonv8_params)
+ DECLARE_INIT_QU8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_conv_minmax_rndnu_neon_params)
#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
-#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_qu8_conv_minmax_fp32_wasmsimd_params(
- union xnn_qu8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t kernel_zero_point,
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
-#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-
-XNN_INTERNAL void xnn_init_qs8_conv_minmax_rndnu_scalar_params(
- union xnn_qs8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_conv_minmax_fp32_scalar_lrint_params(
- union xnn_qs8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_conv_minmax_fp32_scalar_magic_params(
- union xnn_qs8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
#if XNN_ARCH_X86 || XNN_ARCH_X86_64
-XNN_INTERNAL void xnn_init_qs8_conv_minmax_fp32_sse2_params(
- union xnn_qs8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_conv_minmax_fp32_sse4_params(
- union xnn_qs8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_conv_minmax_fp32_avx2_params(
- union xnn_qs8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_conv_minmax_fp32_avx512_params(
- union xnn_qs8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
+ DECLARE_INIT_QU8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_conv_minmax_fp32_sse2_params)
+ DECLARE_INIT_QU8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_conv_minmax_fp32_avx2_params)
+ DECLARE_INIT_QU8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_conv_minmax_fp32_avx512_params)
#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
+#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
+ DECLARE_INIT_QU8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_conv_minmax_fp32_wasmsimd_params)
+#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
+
+
+#define DECLARE_INIT_QS8_CONV_MINMAX_PARAMS_FUNCTION(fn_name) \
+ XNN_INTERNAL void fn_name( \
+ union xnn_qs8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)], \
+ float scale, \
+ int8_t output_zero_point, \
+ int8_t output_min, \
+ int8_t output_max);
+
+DECLARE_INIT_QS8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_conv_minmax_rndnu_scalar_params)
+DECLARE_INIT_QS8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_conv_minmax_fp32_scalar_lrint_params)
+DECLARE_INIT_QS8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_conv_minmax_fp32_scalar_magic_params)
+
#if XNN_ARCH_ARM || XNN_ARCH_ARM64
-XNN_INTERNAL void xnn_init_qs8_conv_minmax_fp32_neon_params(
- union xnn_qs8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_conv_minmax_fp32_neonv8_params(
- union xnn_qs8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_conv_minmax_rndnu_neon_params(
- union xnn_qs8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
+ DECLARE_INIT_QS8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_conv_minmax_fp32_neon_params)
+ DECLARE_INIT_QS8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_conv_minmax_fp32_neonv8_params)
+ DECLARE_INIT_QS8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_conv_minmax_rndnu_neon_params)
#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
+#if XNN_ARCH_X86 || XNN_ARCH_X86_64
+ DECLARE_INIT_QS8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_conv_minmax_fp32_sse2_params)
+ DECLARE_INIT_QS8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_conv_minmax_fp32_sse4_params)
+ DECLARE_INIT_QS8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_conv_minmax_fp32_avx2_params)
+ DECLARE_INIT_QS8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_conv_minmax_fp32_avx512_params)
+#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
+
#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_qs8_conv_minmax_fp32_wasmsimd_params(
- union xnn_qs8_conv_minmax_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
+ DECLARE_INIT_QS8_CONV_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_conv_minmax_fp32_wasmsimd_params)
#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
+
XNN_INTERNAL void xnn_init_qc8_scale_fp32_params(
size_t channels,
size_t channels_tile,
@@ -185,66 +83,34 @@
const float scale[XNN_MIN_ELEMENTS(1)],
void* packed_w);
-XNN_INTERNAL void xnn_init_qs8_minmax_scalar_lrint_params(
- union xnn_qs8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-XNN_INTERNAL void xnn_init_qs8_minmax_scalar_magic_params(
- union xnn_qs8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
+#define DECLARE_INIT_QS8_MINMAX_PARAMS_FUNCTION(fn_name) \
+ XNN_INTERNAL void fn_name( \
+ union xnn_qs8_minmax_params params[XNN_MIN_ELEMENTS(1)], \
+ int8_t output_zero_point, \
+ int8_t output_min, \
+ int8_t output_max);
-#if XNN_ARCH_X86 || XNN_ARCH_X86_64
-XNN_INTERNAL void xnn_init_qs8_minmax_sse2_params(
- union xnn_qs8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_minmax_sse4_params(
- union xnn_qs8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_minmax_avx2_params(
- union xnn_qs8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_minmax_avx512_params(
- union xnn_qs8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
+DECLARE_INIT_QS8_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_minmax_scalar_lrint_params)
+DECLARE_INIT_QS8_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_minmax_scalar_magic_params)
#if XNN_ARCH_ARM || XNN_ARCH_ARM64
-XNN_INTERNAL void xnn_init_qs8_minmax_neon_params(
- union xnn_qs8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_minmax_neonv8_params(
- union xnn_qs8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
+ DECLARE_INIT_QS8_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_minmax_neon_params)
+ DECLARE_INIT_QS8_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_minmax_neonv8_params)
#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
+#if XNN_ARCH_X86 || XNN_ARCH_X86_64
+ DECLARE_INIT_QS8_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_minmax_sse2_params)
+ DECLARE_INIT_QS8_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_minmax_sse4_params)
+ DECLARE_INIT_QS8_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_minmax_avx2_params)
+ DECLARE_INIT_QS8_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_minmax_avx512_params)
+#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
+
#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_qs8_minmax_wasmsimd_params(
- union xnn_qs8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
+ DECLARE_INIT_QS8_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_minmax_wasmsimd_params)
#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
+
XNN_INTERNAL void xnn_init_qu8_avgpool_params(
union xnn_qu8_avgpool_params params[XNN_MIN_ELEMENTS(1)],
int32_t bias,
@@ -428,580 +294,267 @@
float output_min,
float output_max);
-#if XNN_ARCH_X86 || XNN_ARCH_X86_64
-XNN_INTERNAL void xnn_init_s8_minmax_sse2_params(
- union xnn_s8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t output_min,
- int8_t output_max);
-XNN_INTERNAL void xnn_init_s8_minmax_sse4_params(
- union xnn_s8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t output_min,
- int8_t output_max);
-#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
+#define DECLARE_INIT_S8_MINMAX_PARAMS_FUNCTION(fn_name) \
+ XNN_INTERNAL void fn_name( \
+ union xnn_s8_minmax_params params[XNN_MIN_ELEMENTS(1)], \
+ int8_t output_min, \
+ int8_t output_max);
+
+DECLARE_INIT_S8_MINMAX_PARAMS_FUNCTION(xnn_init_s8_minmax_scalar_params)
#if XNN_ARCH_ARM || XNN_ARCH_ARM64
-XNN_INTERNAL void xnn_init_s8_minmax_neon_params(
- union xnn_s8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t output_min,
- int8_t output_max);
+ DECLARE_INIT_S8_MINMAX_PARAMS_FUNCTION(xnn_init_s8_minmax_neon_params)
#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
+#if XNN_ARCH_X86 || XNN_ARCH_X86_64
+ DECLARE_INIT_S8_MINMAX_PARAMS_FUNCTION(xnn_init_s8_minmax_sse2_params)
+ DECLARE_INIT_S8_MINMAX_PARAMS_FUNCTION(xnn_init_s8_minmax_sse4_params)
+#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
+
#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_s8_minmax_wasmsimd_params(
- union xnn_s8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t output_min,
- int8_t output_max);
+ DECLARE_INIT_S8_MINMAX_PARAMS_FUNCTION(xnn_init_s8_minmax_wasmsimd_params)
#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_s8_minmax_scalar_params(
- union xnn_s8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t output_min,
- int8_t output_max);
-XNN_INTERNAL void xnn_init_u8_minmax_params(
- union xnn_u8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t output_min,
- uint8_t output_max);
+#define DECLARE_INIT_U8_MINMAX_PARAMS_FUNCTION(fn_name) \
+ XNN_INTERNAL void fn_name( \
+ union xnn_u8_minmax_params params[XNN_MIN_ELEMENTS(1)], \
+ uint8_t output_min, \
+ uint8_t output_max);
+
+DECLARE_INIT_U8_MINMAX_PARAMS_FUNCTION(xnn_init_u8_minmax_params)
+DECLARE_INIT_U8_MINMAX_PARAMS_FUNCTION(xnn_init_u8_minmax_scalar_params)
+
+#if XNN_ARCH_ARM || XNN_ARCH_ARM64
+ DECLARE_INIT_U8_MINMAX_PARAMS_FUNCTION(xnn_init_u8_minmax_neon_params)
+#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
#if XNN_ARCH_X86 || XNN_ARCH_X86_64
-XNN_INTERNAL void xnn_init_u8_minmax_sse2_params(
- union xnn_u8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t output_min,
- uint8_t output_max);
+ DECLARE_INIT_U8_MINMAX_PARAMS_FUNCTION(xnn_init_u8_minmax_sse2_params)
#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_u8_minmax_wasmsimd_params(
- union xnn_u8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t output_min,
- uint8_t output_max);
+ DECLARE_INIT_U8_MINMAX_PARAMS_FUNCTION(xnn_init_u8_minmax_wasmsimd_params)
#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-#if XNN_ARCH_ARM || XNN_ARCH_ARM64
-XNN_INTERNAL void xnn_init_u8_minmax_neon_params(
- union xnn_u8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t output_min,
- uint8_t output_max);
-#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
-XNN_INTERNAL void xnn_init_u8_minmax_scalar_params(
- union xnn_u8_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t output_min,
- uint8_t output_max);
+#define DECLARE_INIT_QU8_ADD_MINMAX_PARAMS_FUNCTION(fn_name) \
+ XNN_INTERNAL void fn_name( \
+ union xnn_qu8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)], \
+ uint8_t x_zero_point, \
+ uint8_t y_zero_point, \
+ uint8_t output_zero_point, \
+ float x_output_scale, \
+ float y_output_scale, \
+ uint8_t output_min, \
+ uint8_t output_max);
+
+DECLARE_INIT_QU8_ADD_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_add_minmax_scalar_params)
+
+#if XNN_ARCH_ARM || XNN_ARCH_ARM64
+ DECLARE_INIT_QU8_ADD_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_add_minmax_neon_params)
+#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
#if XNN_ARCH_X86 || XNN_ARCH_X86_64
-XNN_INTERNAL void xnn_init_qu8_add_minmax_sse2_params(
- union xnn_qu8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t x_zero_point,
- uint8_t y_zero_point,
- uint8_t output_zero_point,
- float x_output_scale,
- float y_output_scale,
- uint8_t output_min,
- uint8_t output_max);
-
-XNN_INTERNAL void xnn_init_qu8_add_minmax_sse4_params(
- union xnn_qu8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t x_zero_point,
- uint8_t y_zero_point,
- uint8_t output_zero_point,
- float x_output_scale,
- float y_output_scale,
- uint8_t output_min,
- uint8_t output_max);
-
-XNN_INTERNAL void xnn_init_qu8_add_minmax_avx2_params(
- union xnn_qu8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t x_zero_point,
- uint8_t y_zero_point,
- uint8_t output_zero_point,
- float x_output_scale,
- float y_output_scale,
- uint8_t output_min,
- uint8_t output_max);
-
-XNN_INTERNAL void xnn_init_qu8_add_minmax_avx512_params(
- union xnn_qu8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t x_zero_point,
- uint8_t y_zero_point,
- uint8_t output_zero_point,
- float x_output_scale,
- float y_output_scale,
- uint8_t output_min,
- uint8_t output_max);
+ DECLARE_INIT_QU8_ADD_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_add_minmax_sse2_params)
+ DECLARE_INIT_QU8_ADD_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_add_minmax_sse4_params)
+ DECLARE_INIT_QU8_ADD_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_add_minmax_avx2_params)
+ DECLARE_INIT_QU8_ADD_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_add_minmax_avx512_params)
#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
-#if XNN_ARCH_ARM || XNN_ARCH_ARM64
-XNN_INTERNAL void xnn_init_qu8_add_minmax_neon_params(
- union xnn_qu8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t x_zero_point,
- uint8_t y_zero_point,
- uint8_t output_zero_point,
- float x_output_scale,
- float y_output_scale,
- uint8_t output_min,
- uint8_t output_max);
-#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
-
#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_qu8_add_minmax_wasmsimd_params(
- union xnn_qu8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t x_zero_point,
- uint8_t y_zero_point,
- uint8_t output_zero_point,
- float x_output_scale,
- float y_output_scale,
- uint8_t output_min,
- uint8_t output_max);
+ DECLARE_INIT_QU8_ADD_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_add_minmax_wasmsimd_params)
#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_qu8_add_minmax_scalar_params(
- union xnn_qu8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t a_zero_point,
- uint8_t b_zero_point,
- uint8_t output_zero_point,
- float a_output_scale,
- float b_output_scale,
- uint8_t output_min,
- uint8_t output_max);
-#if XNN_ARCH_X86 || XNN_ARCH_X86_64
-XNN_INTERNAL void xnn_init_qs8_add_minmax_sse2_params(
- union xnn_qs8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t x_zero_point,
- int8_t y_zero_point,
- int8_t output_zero_point,
- float x_output_scale,
- float y_output_scale,
- int8_t output_min,
- int8_t output_max);
+#define DECLARE_INIT_QS8_ADD_MINMAX_PARAMS_FUNCTION(fn_name) \
+ XNN_INTERNAL void fn_name( \
+ union xnn_qs8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)], \
+ int8_t x_zero_point, \
+ int8_t y_zero_point, \
+ int8_t output_zero_point, \
+ float x_output_scale, \
+ float y_output_scale, \
+ int8_t output_min, \
+ int8_t output_max);
-XNN_INTERNAL void xnn_init_qs8_add_minmax_sse4_mul16_params(
- union xnn_qs8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t x_zero_point,
- int8_t y_zero_point,
- int8_t output_zero_point,
- float x_output_scale,
- float y_output_scale,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_add_minmax_sse4_mul32_params(
- union xnn_qs8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t x_zero_point,
- int8_t y_zero_point,
- int8_t output_zero_point,
- float x_output_scale,
- float y_output_scale,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_add_minmax_avx2_params(
- union xnn_qs8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t x_zero_point,
- int8_t y_zero_point,
- int8_t output_zero_point,
- float x_output_scale,
- float y_output_scale,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_add_minmax_avx512_params(
- union xnn_qs8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t x_zero_point,
- int8_t y_zero_point,
- int8_t output_zero_point,
- float x_output_scale,
- float y_output_scale,
- int8_t output_min,
- int8_t output_max);
-#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
+DECLARE_INIT_QS8_ADD_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_add_minmax_scalar_params)
#if XNN_ARCH_ARM || XNN_ARCH_ARM64
-XNN_INTERNAL void xnn_init_qs8_add_minmax_neon_params(
- union xnn_qs8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t x_zero_point,
- int8_t y_zero_point,
- int8_t output_zero_point,
- float x_output_scale,
- float y_output_scale,
- int8_t output_min,
- int8_t output_max);
+ DECLARE_INIT_QS8_ADD_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_add_minmax_neon_params)
#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
+#if XNN_ARCH_X86 || XNN_ARCH_X86_64
+ DECLARE_INIT_QS8_ADD_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_add_minmax_sse2_params)
+ DECLARE_INIT_QS8_ADD_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_add_minmax_sse4_mul16_params)
+ DECLARE_INIT_QS8_ADD_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_add_minmax_sse4_mul32_params)
+ DECLARE_INIT_QS8_ADD_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_add_minmax_avx2_params)
+ DECLARE_INIT_QS8_ADD_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_add_minmax_avx512_params)
+#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
+
#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_qs8_add_minmax_wasmsimd_params(
- union xnn_qs8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t x_zero_point,
- int8_t y_zero_point,
- int8_t output_zero_point,
- float x_output_scale,
- float y_output_scale,
- int8_t output_min,
- int8_t output_max);
+ DECLARE_INIT_QS8_ADD_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_add_minmax_wasmsimd_params)
#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_qs8_add_minmax_scalar_params(
- union xnn_qs8_addsub_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t x_zero_point,
- int8_t y_zero_point,
- int8_t output_zero_point,
- float x_output_scale,
- float y_output_scale,
- int8_t output_min,
- int8_t output_max);
-XNN_INTERNAL void xnn_init_qu8_mul_minmax_fp32_scalar_params(
- union xnn_qu8_mul_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t a_zero_point,
- uint8_t b_zero_point,
- uint8_t output_zero_point,
- float product_output_scale,
- uint8_t output_min,
- uint8_t output_max);
+#define DECLARE_INIT_QU8_MUL_MINMAX_PARAMS_FUNCTION(fn_name) \
+ XNN_INTERNAL void fn_name( \
+ union xnn_qu8_mul_minmax_params params[XNN_MIN_ELEMENTS(1)], \
+ uint8_t a_zero_point, \
+ uint8_t b_zero_point, \
+ uint8_t output_zero_point, \
+ float product_output_scale, \
+ uint8_t output_min, \
+ uint8_t output_max);
+
+DECLARE_INIT_QU8_MUL_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_mul_minmax_fp32_scalar_params)
#if XNN_ARCH_ARM || XNN_ARCH_ARM64
-XNN_INTERNAL void xnn_init_qu8_mul_minmax_fp32_neon_params(
- union xnn_qu8_mul_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t a_zero_point,
- uint8_t b_zero_point,
- uint8_t output_zero_point,
- float product_output_scale,
- uint8_t output_min,
- uint8_t output_max);
-
-XNN_INTERNAL void xnn_init_qu8_mul_minmax_fp32_neonv8_params(
- union xnn_qu8_mul_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t a_zero_point,
- uint8_t b_zero_point,
- uint8_t output_zero_point,
- float product_output_scale,
- uint8_t output_min,
- uint8_t output_max);
+ DECLARE_INIT_QU8_MUL_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_mul_minmax_fp32_neon_params)
+ DECLARE_INIT_QU8_MUL_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_mul_minmax_fp32_neonv8_params)
#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
#if XNN_ARCH_X86 || XNN_ARCH_X86_64
-XNN_INTERNAL void xnn_init_qu8_mul_minmax_fp32_sse2_params(
- union xnn_qu8_mul_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t a_zero_point,
- uint8_t b_zero_point,
- uint8_t output_zero_point,
- float product_output_scale,
- uint8_t output_min,
- uint8_t output_max);
+ DECLARE_INIT_QU8_MUL_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_mul_minmax_fp32_sse2_params)
#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_qu8_mul_minmax_fp32_wasmsimd_params(
- union xnn_qu8_mul_minmax_params params[XNN_MIN_ELEMENTS(1)],
- uint8_t a_zero_point,
- uint8_t b_zero_point,
- uint8_t output_zero_point,
- float product_output_scale,
- uint8_t output_min,
- uint8_t output_max);
+ DECLARE_INIT_QU8_MUL_MINMAX_PARAMS_FUNCTION(xnn_init_qu8_mul_minmax_fp32_wasmsimd_params)
#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_qs8_mul_minmax_fp32_scalar_params(
- union xnn_qs8_mul_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t a_zero_point,
- int8_t b_zero_point,
- int8_t output_zero_point,
- float product_output_scale,
- int8_t output_min,
- int8_t output_max);
+
+#define DECLARE_INIT_QS8_MUL_MINMAX_PARAMS_FUNCTION(fn_name) \
+ XNN_INTERNAL void fn_name( \
+ union xnn_qs8_mul_minmax_params params[XNN_MIN_ELEMENTS(1)], \
+ int8_t a_zero_point, \
+ int8_t b_zero_point, \
+ int8_t output_zero_point, \
+ float product_output_scale, \
+ int8_t output_min, \
+ int8_t output_max);
+
+DECLARE_INIT_QS8_MUL_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_mul_minmax_fp32_scalar_params)
#if XNN_ARCH_ARM || XNN_ARCH_ARM64
-XNN_INTERNAL void xnn_init_qs8_mul_minmax_fp32_neon_params(
- union xnn_qs8_mul_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t a_zero_point,
- int8_t b_zero_point,
- int8_t output_zero_point,
- float product_output_scale,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_mul_minmax_fp32_neonv8_params(
- union xnn_qs8_mul_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t a_zero_point,
- int8_t b_zero_point,
- int8_t output_zero_point,
- float product_output_scale,
- int8_t output_min,
- int8_t output_max);
+ DECLARE_INIT_QS8_MUL_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_mul_minmax_fp32_neon_params)
+ DECLARE_INIT_QS8_MUL_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_mul_minmax_fp32_neonv8_params)
#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
#if XNN_ARCH_X86 || XNN_ARCH_X86_64
-XNN_INTERNAL void xnn_init_qs8_mul_minmax_fp32_sse2_params(
- union xnn_qs8_mul_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t a_zero_point,
- int8_t b_zero_point,
- int8_t output_zero_point,
- float product_output_scale,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_qs8_mul_minmax_fp32_sse4_params(
- union xnn_qs8_mul_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t a_zero_point,
- int8_t b_zero_point,
- int8_t output_zero_point,
- float product_output_scale,
- int8_t output_min,
- int8_t output_max);
+ DECLARE_INIT_QS8_MUL_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_mul_minmax_fp32_sse2_params)
+ DECLARE_INIT_QS8_MUL_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_mul_minmax_fp32_sse4_params)
#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_qs8_mul_minmax_fp32_wasmsimd_params(
- union xnn_qs8_mul_minmax_params params[XNN_MIN_ELEMENTS(1)],
- int8_t a_zero_point,
- int8_t b_zero_point,
- int8_t output_zero_point,
- float product_output_scale,
- int8_t output_min,
- int8_t output_max);
+ DECLARE_INIT_QS8_MUL_MINMAX_PARAMS_FUNCTION(xnn_init_qs8_mul_minmax_fp32_wasmsimd_params)
#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_f32_qs8_cvt_scalar_magic_fminmax_params(
- union xnn_f32_qs8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-XNN_INTERNAL void xnn_init_f32_qs8_cvt_scalar_magic_iminmax_params(
- union xnn_f32_qs8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
+#define DECLARE_INIT_F32_QS8_CVT_PARAMS_FUNCTION(fn_name) \
+ XNN_INTERNAL void fn_name( \
+ union xnn_f32_qs8_cvt_params params[XNN_MIN_ELEMENTS(1)], \
+ float scale, \
+ int8_t zero_point, \
+ int8_t output_min, \
+ int8_t output_max);
+
+DECLARE_INIT_F32_QS8_CVT_PARAMS_FUNCTION(xnn_init_f32_qs8_cvt_scalar_magic_fminmax_params)
+DECLARE_INIT_F32_QS8_CVT_PARAMS_FUNCTION(xnn_init_f32_qs8_cvt_scalar_magic_iminmax_params)
#if XNN_ARCH_ARM || XNN_ARCH_ARM64
-XNN_INTERNAL void xnn_init_f32_qs8_cvt_neon_params(
- union xnn_f32_qs8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_f32_qs8_cvt_neonv8_params(
- union xnn_f32_qs8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
+ DECLARE_INIT_F32_QS8_CVT_PARAMS_FUNCTION(xnn_init_f32_qs8_cvt_neon_params)
+ DECLARE_INIT_F32_QS8_CVT_PARAMS_FUNCTION(xnn_init_f32_qs8_cvt_neonv8_params)
#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
#if XNN_ARCH_X86 || XNN_ARCH_X86_64
-XNN_INTERNAL void xnn_init_f32_qs8_cvt_sse2_params(
- union xnn_f32_qs8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_f32_qs8_cvt_sse4_params(
- union xnn_f32_qs8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_f32_qs8_cvt_avx_params(
- union xnn_f32_qs8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_f32_qs8_cvt_avx2_params(
- union xnn_f32_qs8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_f32_qs8_cvt_avx512_params(
- union xnn_f32_qs8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
+ DECLARE_INIT_F32_QS8_CVT_PARAMS_FUNCTION(xnn_init_f32_qs8_cvt_sse2_params)
+ DECLARE_INIT_F32_QS8_CVT_PARAMS_FUNCTION(xnn_init_f32_qs8_cvt_sse4_params)
+ DECLARE_INIT_F32_QS8_CVT_PARAMS_FUNCTION(xnn_init_f32_qs8_cvt_avx_params)
+ DECLARE_INIT_F32_QS8_CVT_PARAMS_FUNCTION(xnn_init_f32_qs8_cvt_avx2_params)
+ DECLARE_INIT_F32_QS8_CVT_PARAMS_FUNCTION(xnn_init_f32_qs8_cvt_avx512_params)
#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_f32_qs8_cvt_wasmsimd_cvt_params(
- union xnn_f32_qs8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
-
-XNN_INTERNAL void xnn_init_f32_qs8_cvt_wasmsimd_magic_params(
- union xnn_f32_qs8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t output_zero_point,
- int8_t output_min,
- int8_t output_max);
+ DECLARE_INIT_F32_QS8_CVT_PARAMS_FUNCTION(xnn_init_f32_qs8_cvt_wasmsimd_cvt_params)
+ DECLARE_INIT_F32_QS8_CVT_PARAMS_FUNCTION(xnn_init_f32_qs8_cvt_wasmsimd_magic_params)
#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_f32_qu8_cvt_scalar_magic_fminmax_params(
- union xnn_f32_qu8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
-XNN_INTERNAL void xnn_init_f32_qu8_cvt_scalar_magic_iminmax_params(
- union xnn_f32_qu8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
+#define DECLARE_INIT_F32_QU8_CVT_PARAMS_FUNCTION(fn_name) \
+ XNN_INTERNAL void fn_name( \
+ union xnn_f32_qu8_cvt_params params[XNN_MIN_ELEMENTS(1)], \
+ float scale, \
+ uint8_t zero_point, \
+ uint8_t output_min, \
+ uint8_t output_max);
+
+DECLARE_INIT_F32_QU8_CVT_PARAMS_FUNCTION(xnn_init_f32_qu8_cvt_scalar_magic_fminmax_params)
+DECLARE_INIT_F32_QU8_CVT_PARAMS_FUNCTION(xnn_init_f32_qu8_cvt_scalar_magic_iminmax_params)
#if XNN_ARCH_ARM || XNN_ARCH_ARM64
-XNN_INTERNAL void xnn_init_f32_qu8_cvt_neon_params(
- union xnn_f32_qu8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
-
-XNN_INTERNAL void xnn_init_f32_qu8_cvt_neonv8_params(
- union xnn_f32_qu8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
+ DECLARE_INIT_F32_QU8_CVT_PARAMS_FUNCTION(xnn_init_f32_qu8_cvt_neon_params)
+ DECLARE_INIT_F32_QU8_CVT_PARAMS_FUNCTION(xnn_init_f32_qu8_cvt_neonv8_params)
#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
#if XNN_ARCH_X86 || XNN_ARCH_X86_64
-XNN_INTERNAL void xnn_init_f32_qu8_cvt_sse2_params(
- union xnn_f32_qu8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
-
-XNN_INTERNAL void xnn_init_f32_qu8_cvt_avx_params(
- union xnn_f32_qu8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
-
-XNN_INTERNAL void xnn_init_f32_qu8_cvt_avx2_params(
- union xnn_f32_qu8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
-
-XNN_INTERNAL void xnn_init_f32_qu8_cvt_avx512_params(
- union xnn_f32_qu8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
+ DECLARE_INIT_F32_QU8_CVT_PARAMS_FUNCTION(xnn_init_f32_qu8_cvt_sse2_params)
+ DECLARE_INIT_F32_QU8_CVT_PARAMS_FUNCTION(xnn_init_f32_qu8_cvt_avx_params)
+ DECLARE_INIT_F32_QU8_CVT_PARAMS_FUNCTION(xnn_init_f32_qu8_cvt_avx2_params)
+ DECLARE_INIT_F32_QU8_CVT_PARAMS_FUNCTION(xnn_init_f32_qu8_cvt_avx512_params)
#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_f32_qu8_cvt_wasmsimd_cvt_params(
- union xnn_f32_qu8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
-
-XNN_INTERNAL void xnn_init_f32_qu8_cvt_wasmsimd_magic_params(
- union xnn_f32_qu8_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t output_zero_point,
- uint8_t output_min,
- uint8_t output_max);
+ DECLARE_INIT_F32_QU8_CVT_PARAMS_FUNCTION(xnn_init_f32_qu8_cvt_wasmsimd_cvt_params)
+ DECLARE_INIT_F32_QU8_CVT_PARAMS_FUNCTION(xnn_init_f32_qu8_cvt_wasmsimd_magic_params)
#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_qs8_f32_cvt_scalar_params(
- union xnn_qs8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t zero_point);
+
+#define DECLARE_INIT_QS8_F32_CVT_PARAMS_FUNCTION(fn_name) \
+ XNN_INTERNAL void fn_name( \
+ union xnn_qs8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)], \
+ float scale, \
+ int8_t zero_point);
+
+DECLARE_INIT_QS8_F32_CVT_PARAMS_FUNCTION(xnn_init_qs8_f32_cvt_scalar_params)
#if XNN_ARCH_ARM || XNN_ARCH_ARM64
-XNN_INTERNAL void xnn_init_qs8_f32_cvt_neon_params(
- union xnn_qs8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t zero_point);
+ DECLARE_INIT_QS8_F32_CVT_PARAMS_FUNCTION(xnn_init_qs8_f32_cvt_neon_params)
#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
#if XNN_ARCH_X86 || XNN_ARCH_X86_64
-XNN_INTERNAL void xnn_init_qs8_f32_cvt_sse2_params(
- union xnn_qs8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t zero_point);
-
-XNN_INTERNAL void xnn_init_qs8_f32_cvt_sse4_params(
- union xnn_qs8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t zero_point);
-
-XNN_INTERNAL void xnn_init_qs8_f32_cvt_avx_params(
- union xnn_qs8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t zero_point);
-
-XNN_INTERNAL void xnn_init_qs8_f32_cvt_avx512_params(
- union xnn_qs8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t zero_point);
+ DECLARE_INIT_QS8_F32_CVT_PARAMS_FUNCTION(xnn_init_qs8_f32_cvt_sse2_params)
+ DECLARE_INIT_QS8_F32_CVT_PARAMS_FUNCTION(xnn_init_qs8_f32_cvt_sse4_params)
+ DECLARE_INIT_QS8_F32_CVT_PARAMS_FUNCTION(xnn_init_qs8_f32_cvt_avx_params)
+ DECLARE_INIT_QS8_F32_CVT_PARAMS_FUNCTION(xnn_init_qs8_f32_cvt_avx512_params)
#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_qs8_f32_cvt_wasmsimd_params(
- union xnn_qs8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- int8_t zero_point);
+ DECLARE_INIT_QS8_F32_CVT_PARAMS_FUNCTION(xnn_init_qs8_f32_cvt_wasmsimd_params)
#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_qu8_f32_cvt_scalar_params(
- union xnn_qu8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t zero_point);
+
+#define DECLARE_INIT_QU8_F32_CVT_PARAMS_FUNCTION(fn_name) \
+ XNN_INTERNAL void fn_name( \
+ union xnn_qu8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)], \
+ float scale, \
+ uint8_t zero_point);
+
+DECLARE_INIT_QU8_F32_CVT_PARAMS_FUNCTION(xnn_init_qu8_f32_cvt_scalar_params)
#if XNN_ARCH_ARM || XNN_ARCH_ARM64
-XNN_INTERNAL void xnn_init_qu8_f32_cvt_neon_params(
- union xnn_qu8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t zero_point);
+ DECLARE_INIT_QU8_F32_CVT_PARAMS_FUNCTION(xnn_init_qu8_f32_cvt_neon_params)
#endif // XNN_ARCH_ARM || XNN_ARCH_ARM64
#if XNN_ARCH_X86 || XNN_ARCH_X86_64
-XNN_INTERNAL void xnn_init_qu8_f32_cvt_sse2_params(
- union xnn_qu8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t zero_point);
-
-XNN_INTERNAL void xnn_init_qu8_f32_cvt_sse4_params(
- union xnn_qu8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t zero_point);
-
-XNN_INTERNAL void xnn_init_qu8_f32_cvt_avx_params(
- union xnn_qu8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t zero_point);
-
-XNN_INTERNAL void xnn_init_qu8_f32_cvt_avx512_params(
- union xnn_qu8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t zero_point);
+ DECLARE_INIT_QU8_F32_CVT_PARAMS_FUNCTION(xnn_init_qu8_f32_cvt_sse2_params)
+ DECLARE_INIT_QU8_F32_CVT_PARAMS_FUNCTION(xnn_init_qu8_f32_cvt_sse4_params)
+ DECLARE_INIT_QU8_F32_CVT_PARAMS_FUNCTION(xnn_init_qu8_f32_cvt_avx_params)
+ DECLARE_INIT_QU8_F32_CVT_PARAMS_FUNCTION(xnn_init_qu8_f32_cvt_avx512_params)
#endif // XNN_ARCH_X86 || XNN_ARCH_X86_64
#if XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
-XNN_INTERNAL void xnn_init_qu8_f32_cvt_wasmsimd_params(
- union xnn_qu8_f32_cvt_params params[XNN_MIN_ELEMENTS(1)],
- float scale,
- uint8_t zero_point);
+ DECLARE_INIT_QU8_F32_CVT_PARAMS_FUNCTION(xnn_init_qu8_f32_cvt_wasmsimd_params)
#endif // XNN_ARCH_WASMSIMD || XNN_ARCH_WASMRELAXEDSIMD
#ifdef __cplusplus