chromium/third_party/xnnpack/src/src/configs/unary-elementwise-config.c

// Copyright 2022 Google LLC
//
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree.

#include <assert.h>
#include <stddef.h>
#include "xnnpack/config-types.h"
#include "xnnpack/hardware-config.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/packq.h"
#include "xnnpack/vcvt.h"
#include "xnnpack/vlrelu.h"
#include "xnnpack/vunary.h"

static struct xnn_unary_elementwise_config f16_abs_config =;
static struct xnn_unary_elementwise_config f16_clamp_config =;
static struct xnn_unary_elementwise_config f16_elu_config =;
static struct xnn_unary_elementwise_config f16_hswish_config =;
static struct xnn_unary_elementwise_config f16_lrelu_config =;
static struct xnn_unary_elementwise_config f16_neg_config =;
static struct xnn_unary_elementwise_config f16_rndd_config =;
static struct xnn_unary_elementwise_config f16_rndne_config =;
static struct xnn_unary_elementwise_config f16_rndu_config =;
static struct xnn_unary_elementwise_config f16_rndz_config =;
static struct xnn_unary_elementwise_config f16_rsqrt_config =;
static struct xnn_unary_elementwise_config f16_sigmoid_config =;
static struct xnn_unary_elementwise_config f16_sqr_config =;
static struct xnn_unary_elementwise_config f16_sqrt_config =;
static struct xnn_unary_elementwise_config f16_tanh_config =;
static struct xnn_unary_elementwise_config f16_to_f32_cvt_config =;
static struct xnn_unary_elementwise_config f16_to_qs8_cvt_config =;
static struct xnn_unary_elementwise_config f32_abs_config =;
static struct xnn_unary_elementwise_config f32_clamp_config =;
static struct xnn_unary_elementwise_config f32_elu_config =;
static struct xnn_unary_elementwise_config f32_exp_config =;
static struct xnn_unary_elementwise_config f32_gelu_config =;
static struct xnn_unary_elementwise_config f32_hswish_config =;
static struct xnn_unary_elementwise_config f32_log_config =;
static struct xnn_unary_elementwise_config f32_lrelu_config =;
static struct xnn_unary_elementwise_config f32_neg_config =;
static struct xnn_unary_elementwise_config f32_relu_config =;
static struct xnn_unary_elementwise_config f32_rndd_config =;
static struct xnn_unary_elementwise_config f32_rndne_config =;
static struct xnn_unary_elementwise_config f32_rndu_config =;
static struct xnn_unary_elementwise_config f32_rndz_config =;
static struct xnn_unary_elementwise_config f32_rsqrt_config =;
static struct xnn_unary_elementwise_config f32_sigmoid_config =;
static struct xnn_unary_elementwise_config f32_sqr_config =;
static struct xnn_unary_elementwise_config f32_sqrt_config =;
static struct xnn_unary_elementwise_config f32_tanh_config =;
static struct xnn_unary_elementwise_config f32_to_f16_cvt_config =;
static struct xnn_unary_elementwise_config f32_to_qs8_cvt_config =;
static struct xnn_unary_elementwise_config f32_to_qp8_cvt_config =;
static struct xnn_unary_elementwise_config f32_to_qu8_cvt_config =;
static struct xnn_unary_elementwise_config qs8_cvt_config =;
static struct xnn_unary_elementwise_config qs8_lrelu_config =;
static struct xnn_unary_elementwise_config qs8_to_f16_cvt_config =;
static struct xnn_unary_elementwise_config qs8_to_f32_cvt_config =;
static struct xnn_unary_elementwise_config qs16_to_qs8_cvt_config =;
static struct xnn_unary_elementwise_config qu8_cvt_config =;
static struct xnn_unary_elementwise_config qu8_lrelu_config =;
static struct xnn_unary_elementwise_config qu8_to_f32_cvt_config =;
static struct xnn_unary_elementwise_config s8_clamp_config =;
static struct xnn_unary_elementwise_config u8_clamp_config =;
static struct xnn_unary_elementwise_config xx_copy_config =;


#if XNN_PLATFORM_WINDOWS
  static INIT_ONCE init_guard_f16_abs = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_clamp = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_elu = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_hswish = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_lrelu = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_neg = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_rndd = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_rndne = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_rndu = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_rndz = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_rsqrt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_sigmoid = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_sqr = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_sqrt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_tanh = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_to_qs8_cvt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f16_to_f32_cvt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_abs = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_clamp = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_elu = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_exp = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_gelu = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_hswish = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_log = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_lrelu = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_neg = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_relu = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_rndd = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_rndne = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_rndu = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_rndz = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_rsqrt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_sigmoid = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_sqr = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_sqrt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_tanh = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_to_f16_cvt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_to_qp8_cvt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_to_qs8_cvt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_f32_to_qu8_cvt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_qs8_cvt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_qs8_lrelu = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_qs8_to_f16_cvt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_qs8_to_f32_cvt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_qs16_to_qs8_cvt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_qu8_cvt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_qu8_lrelu = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_qu8_to_f32_cvt = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_s8_clamp = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_u8_clamp = INIT_ONCE_STATIC_INIT;
  static INIT_ONCE init_guard_xx_copy = INIT_ONCE_STATIC_INIT;
#else
  static pthread_once_t init_guard_f16_abs =;
  static pthread_once_t init_guard_f16_clamp =;
  static pthread_once_t init_guard_f16_elu =;
  static pthread_once_t init_guard_f16_hswish =;
  static pthread_once_t init_guard_f16_lrelu =;
  static pthread_once_t init_guard_f16_neg =;
  static pthread_once_t init_guard_f16_rndd =;
  static pthread_once_t init_guard_f16_rndne =;
  static pthread_once_t init_guard_f16_rndu =;
  static pthread_once_t init_guard_f16_rndz =;
  static pthread_once_t init_guard_f16_rsqrt =;
  static pthread_once_t init_guard_f16_sigmoid =;
  static pthread_once_t init_guard_f16_sqr =;
  static pthread_once_t init_guard_f16_sqrt =;
  static pthread_once_t init_guard_f16_tanh =;
  static pthread_once_t init_guard_f16_to_f32_cvt =;
  static pthread_once_t init_guard_f16_to_qs8_cvt =;
  static pthread_once_t init_guard_f32_abs =;
  static pthread_once_t init_guard_f32_clamp =;
  static pthread_once_t init_guard_f32_elu =;
  static pthread_once_t init_guard_f32_exp =;
  static pthread_once_t init_guard_f32_gelu =;
  static pthread_once_t init_guard_f32_hswish =;
  static pthread_once_t init_guard_f32_log =;
  static pthread_once_t init_guard_f32_lrelu =;
  static pthread_once_t init_guard_f32_neg =;
  static pthread_once_t init_guard_f32_relu =;
  static pthread_once_t init_guard_f32_rndd =;
  static pthread_once_t init_guard_f32_rndne =;
  static pthread_once_t init_guard_f32_rndu =;
  static pthread_once_t init_guard_f32_rndz =;
  static pthread_once_t init_guard_f32_rsqrt =;
  static pthread_once_t init_guard_f32_sigmoid =;
  static pthread_once_t init_guard_f32_sqr =;
  static pthread_once_t init_guard_f32_sqrt =;
  static pthread_once_t init_guard_f32_tanh =;
  static pthread_once_t init_guard_f32_to_f16_cvt =;
  static pthread_once_t init_guard_f32_to_qs8_cvt =;
  static pthread_once_t init_guard_f32_to_qp8_cvt =;
  static pthread_once_t init_guard_f32_to_qu8_cvt =;
  static pthread_once_t init_guard_qs8_cvt =;
  static pthread_once_t init_guard_qs16_to_qs8_cvt =;
  static pthread_once_t init_guard_qs8_lrelu =;
  static pthread_once_t init_guard_qs8_to_f16_cvt =;
  static pthread_once_t init_guard_qs8_to_f32_cvt =;
  static pthread_once_t init_guard_qu8_cvt =;
  static pthread_once_t init_guard_qu8_lrelu =;
  static pthread_once_t init_guard_qu8_to_f32_cvt =;
  static pthread_once_t init_guard_s8_clamp =;
  static pthread_once_t init_guard_u8_clamp =;
  static pthread_once_t init_guard_xx_copy =;
#endif


static void init_f16_abs_config(void) {}

static void init_f16_clamp_config(void) {}

static void init_f16_elu_config(void) {}

static void init_f16_hswish_config(void) {}

static void init_f16_lrelu_config(void) {}

static void init_f16_neg_config(void) {}

static void init_f16_rndd_config(void) {}

static void init_f16_rndne_config(void) {}

static void init_f16_rndu_config(void) {}

static void init_f16_rndz_config(void) {}

static void init_f16_rsqrt_config(void) {}

static void init_f16_sigmoid_config(void) {}

static void init_f16_sqr_config(void) {}

static void init_f16_sqrt_config(void) {}

static void init_f16_tanh_config(void) {}

static void init_f16_to_f32_cvt_config(void) {}

static void init_f16_to_qs8_cvt_config(void) {}

static void init_f32_abs_config(void) {}

static void init_f32_clamp_config(void) {}

static void init_f32_elu_config(void) {}

static void init_f32_gelu_config(void) {}

static void init_f32_hswish_config(void) {}

static void init_f32_exp_config(void) {}

static void init_f32_log_config(void) {}

static void init_f32_lrelu_config(void) {}

static void init_f32_neg_config(void) {}

static void init_f32_relu_config(void) {}

static void init_f32_rndd_config(void) {}

static void init_f32_rndne_config(void) {}

static void init_f32_rndu_config(void) {}

static void init_f32_rndz_config(void) {}

static void init_f32_sigmoid_config(void) {}

static void init_f32_sqr_config(void) {}

static void init_f32_sqrt_config(void) {}

static void init_f32_rsqrt_config(void) {}

static void init_f32_tanh_config(void) {}

static void init_f32_to_f16_cvt_config(void) {}

static void init_f32_to_qp8_cvt_config(void) {}

static void init_f32_to_qs8_cvt_config(void) {}

static void init_f32_to_qu8_cvt_config(void) {}

static void init_qs8_cvt_config(void) {}

static void init_qs16_to_qs8_cvt_config(void) {}

static void init_qs8_lrelu_config(void) {}

static void init_qs8_to_f16_cvt_config(void) {}

static void init_qs8_to_f32_cvt_config(void) {}

static void init_qu8_cvt_config(void) {}

static void init_qu8_lrelu_config(void) {}

static void init_qu8_to_f32_cvt_config(void) {}

static void init_s8_clamp_config(void) {}

static void init_u8_clamp_config(void) {}

static void init_xx_copy_config(void) {}


#if XNN_PLATFORM_WINDOWS
 static BOOL CALLBACK init_f16_abs_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_abs_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_clamp_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_clamp_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_elu_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_elu_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_hswish_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_hswish_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_lrelu_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_lrelu_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_neg_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_neg_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_rndd_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_rndd_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_rndne_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_rndne_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_rndu_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_rndu_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_rndz_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_rndz_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_rsqrt_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_rsqrt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_sigmoid_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_sigmoid_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_sqr_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_sqr_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_sqrt_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_sqrt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_tanh_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_tanh_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_abs_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_abs_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_clamp_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_clamp_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_elu_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_elu_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_exp_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_exp_config();
    return TRUE;
  }


  static BOOL CALLBACK init_f32_gelu_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_gelu_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_hswish_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_hswish_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_log_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_log_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_lrelu_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_lrelu_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_neg_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_neg_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_relu_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_relu_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_rndd_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_rndd_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_rndne_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_rndne_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_rndu_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_rndu_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_rndz_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_rndz_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_rsqrt_config_windows(PINIT_ONCE init_once,
                                                     PVOID parameter,
                                                     PVOID* context) {
    init_f32_rsqrt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_sigmoid_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_sigmoid_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_sqr_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_sqr_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_sqrt_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_sqrt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_tanh_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_tanh_config();
    return TRUE;
  }

  static BOOL CALLBACK init_qs8_lrelu_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_qs8_lrelu_config();
    return TRUE;
  }

  static BOOL CALLBACK init_qu8_lrelu_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_qu8_lrelu_config();
    return TRUE;
  }

  static BOOL CALLBACK init_s8_clamp_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_s8_clamp_config();
    return TRUE;
  }

  static BOOL CALLBACK init_u8_clamp_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_u8_clamp_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_to_f32_cvt_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_to_f32_cvt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f16_to_qs8_cvt_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f16_to_qs8_cvt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_to_f16_cvt_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_to_f16_cvt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_to_qp8_cvt_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_to_qp8_cvt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_to_qs8_cvt_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_to_qs8_cvt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_f32_to_qu8_cvt_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_f32_to_qu8_cvt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_qs8_cvt_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_qs8_cvt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_qs8_to_f16_cvt_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_qs8_to_f16_cvt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_qs8_to_f32_cvt_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_qs8_to_f32_cvt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_qs16_to_qs8_cvt_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_qs16_to_qs8_cvt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_qu8_cvt_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_qu8_cvt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_qu8_to_f32_cvt_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_qu8_to_f32_cvt_config();
    return TRUE;
  }

  static BOOL CALLBACK init_xx_copy_config_windows(PINIT_ONCE init_once, PVOID parameter, PVOID* context) {
    init_xx_copy_config();
    return TRUE;
  }
#endif


const struct xnn_unary_elementwise_config* xnn_init_f16_abs_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_clamp_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_elu_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_hswish_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_lrelu_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_neg_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_rndd_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_rndne_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_rndu_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_rndz_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_rsqrt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_sigmoid_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_sqr_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_sqrt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_tanh_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_to_f32_cvt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f16_to_qs8_cvt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_abs_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_clamp_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_elu_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_exp_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_gelu_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_hswish_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_log_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_lrelu_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_neg_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_relu_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_rndd_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_rndne_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_rndu_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_rndz_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_rsqrt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_sigmoid_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_sqr_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_sqrt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_tanh_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_to_f16_cvt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_to_qp8_cvt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_to_qs8_cvt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_f32_to_qu8_cvt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_qs8_cvt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_qs16_to_qs8_cvt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_qs8_lrelu_config() {}

const struct xnn_unary_elementwise_config* xnn_init_qs8_to_f16_cvt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_qs8_to_f32_cvt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_qu8_cvt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_qu8_lrelu_config() {}

const struct xnn_unary_elementwise_config* xnn_init_qu8_to_f32_cvt_config() {}

const struct xnn_unary_elementwise_config* xnn_init_s8_clamp_config() {}

const struct xnn_unary_elementwise_config* xnn_init_u8_clamp_config() {}

const struct xnn_unary_elementwise_config* xnn_init_xx_copy_config() {}