#include <assert.h>
#include <stddef.h>
#ifdef _WIN32
#include <windows.h>
#else
#include <pthread.h>
#endif
#include "xnnpack/common.h"
#include "xnnpack/config.h"
#include "xnnpack/microfnptr.h"
#include "xnnpack/microparams-init.h"
#include "xnnpack/vbinary.h"
static struct xnn_binary_elementwise_config f16_vadd_config = …;
static struct xnn_binary_elementwise_config f16_vdiv_config = …;
static struct xnn_binary_elementwise_config f16_vmax_config = …;
static struct xnn_binary_elementwise_config f16_vmin_config = …;
static struct xnn_binary_elementwise_config f16_vmul_config = …;
static struct xnn_binary_elementwise_config f16_vsub_config = …;
static struct xnn_binary_elementwise_config f16_vsqrdiff_config = …;
static struct xnn_binary_elementwise_config f32_vadd_config = …;
static struct xnn_binary_elementwise_config f32_vcopysign_config = …;
static struct xnn_binary_elementwise_config f32_vdiv_config = …;
static struct xnn_binary_elementwise_config f32_vmax_config = …;
static struct xnn_binary_elementwise_config f32_vmin_config = …;
static struct xnn_binary_elementwise_config f32_vmul_config = …;
static struct xnn_binary_elementwise_config f32_vsub_config = …;
static struct xnn_binary_elementwise_config f32_vsqrdiff_config = …;
static struct xnn_binary_elementwise_config s32_vmul_config = …;
static struct xnn_binary_elementwise_config qs8_vadd_config = …;
static struct xnn_binary_elementwise_config qs8_vmul_config = …;
static struct xnn_binary_elementwise_config qu8_vadd_config = …;
static struct xnn_binary_elementwise_config qu8_vmul_config = …;
#if XNN_PLATFORM_WINDOWS
static INIT_ONCE init_guard_f16_vadd = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_f16_vdiv = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_f16_vmax = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_f16_vmin = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_f16_vmul = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_f16_vsub = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_f16_vsqrdiff = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_f32_vadd = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_f32_vcopysign = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_f32_vdiv = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_f32_vmax = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_f32_vmin = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_f32_vmul = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_f32_vsub = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_f32_vsqrdiff = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_s32_vmul = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_qs8_vadd = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_qs8_vmul = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_qu8_vadd = INIT_ONCE_STATIC_INIT;
static INIT_ONCE init_guard_qu8_vmul = INIT_ONCE_STATIC_INIT;
#else
static pthread_once_t init_guard_f16_vadd = …;
static pthread_once_t init_guard_f16_vdiv = …;
static pthread_once_t init_guard_f16_vmax = …;
static pthread_once_t init_guard_f16_vmin = …;
static pthread_once_t init_guard_f16_vmul = …;
static pthread_once_t init_guard_f16_vsub = …;
static pthread_once_t init_guard_f16_vsqrdiff = …;
static pthread_once_t init_guard_f32_vadd = …;
static pthread_once_t init_guard_f32_vcopysign = …;
static pthread_once_t init_guard_f32_vdiv = …;
static pthread_once_t init_guard_f32_vmax = …;
static pthread_once_t init_guard_f32_vmin = …;
static pthread_once_t init_guard_f32_vmul = …;
static pthread_once_t init_guard_f32_vsub = …;
static pthread_once_t init_guard_f32_vsqrdiff = …;
static pthread_once_t init_guard_s32_vmul = …;
static pthread_once_t init_guard_qs8_vadd = …;
static pthread_once_t init_guard_qs8_vmul = …;
static pthread_once_t init_guard_qu8_vadd = …;
static pthread_once_t init_guard_qu8_vmul = …;
#endif
static void init_f16_vadd_config(void) { … }
static void init_f16_vdiv_config(void) { … }
static void init_f16_vmax_config(void) { … }
static void init_f16_vmin_config(void) { … }
static void init_f16_vmul_config(void) { … }
static void init_f16_vsub_config(void) { … }
static void init_f16_vsqrdiff_config(void) { … }
static void init_f32_vadd_config(void) { … }
static void init_f32_vcopysign_config(void) { … }
static void init_s32_vmul_config(void) { … }
static void init_f32_vdiv_config(void) { … }
static void init_f32_vmax_config(void) { … }
static void init_f32_vmin_config(void) { … }
static void init_f32_vmul_config(void) { … }
static void init_f32_vsub_config(void) { … }
static void init_f32_vsqrdiff_config(void) { … }
static void init_qs8_vadd_config(void) { … }
static void init_qs8_vmul_config(void) { … }
static void init_qu8_vadd_config(void) { … }
static void init_qu8_vmul_config(void) { … }
#if XNN_PLATFORM_WINDOWS
static BOOL CALLBACK init_f16_vadd_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_f16_vadd_config();
return TRUE;
}
static BOOL CALLBACK init_f16_vdiv_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_f16_vdiv_config();
return TRUE;
}
static BOOL CALLBACK init_f16_vmax_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_f16_vmax_config();
return TRUE;
}
static BOOL CALLBACK init_f16_vmin_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_f16_vmin_config();
return TRUE;
}
static BOOL CALLBACK init_f16_vmul_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_f16_vmul_config();
return TRUE;
}
static BOOL CALLBACK init_f16_vsub_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_f16_vsub_config();
return TRUE;
}
static BOOL CALLBACK init_f16_vsqrdiff_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_f16_vsqrdiff_config();
return TRUE;
}
static BOOL CALLBACK init_f32_vadd_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_f32_vadd_config();
return TRUE;
}
static BOOL CALLBACK init_f32_vcopysign_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_f32_vcopysign_config();
return TRUE;
}
static BOOL CALLBACK init_s32_vmul_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_s32_vmul_config();
return TRUE;
}
static BOOL CALLBACK init_f32_vdiv_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_f32_vdiv_config();
return TRUE;
}
static BOOL CALLBACK init_f32_vmax_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_f32_vmax_config();
return TRUE;
}
static BOOL CALLBACK init_f32_vmin_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_f32_vmin_config();
return TRUE;
}
static BOOL CALLBACK init_f32_vmul_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_f32_vmul_config();
return TRUE;
}
static BOOL CALLBACK init_f32_vsub_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_f32_vsub_config();
return TRUE;
}
static BOOL CALLBACK init_f32_vsqrdiff_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_f32_vsqrdiff_config();
return TRUE;
}
static BOOL CALLBACK init_qs8_vadd_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_qs8_vadd_config();
return TRUE;
}
static BOOL CALLBACK init_qs8_vmul_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_qs8_vmul_config();
return TRUE;
}
static BOOL CALLBACK init_qu8_vadd_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_qu8_vadd_config();
return TRUE;
}
static BOOL CALLBACK init_qu8_vmul_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
init_qu8_vmul_config();
return TRUE;
}
#endif
const struct xnn_binary_elementwise_config* xnn_init_f16_vadd_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_f16_vdiv_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_f16_vmax_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_f16_vmin_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_f16_vmul_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_f16_vsub_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_f16_vsqrdiff_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_f32_vadd_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_f32_vcopysign_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_s32_vmul_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_f32_vdiv_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_f32_vmax_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_f32_vmin_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_f32_vmul_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_f32_vsub_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_f32_vsqrdiff_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_qs8_vadd_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_qs8_vmul_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_qu8_vadd_config() { … }
const struct xnn_binary_elementwise_config* xnn_init_qu8_vmul_config() { … }