#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "x86/x86cpu.h"
#include "nnet.h"
#if defined(OPUS_HAVE_RTCD)
#if (defined(OPUS_X86_MAY_HAVE_SSE2) && !defined(OPUS_X86_PRESUME_AVX2))
void (*const DNN_COMPUTE_LINEAR_IMPL[OPUS_ARCHMASK + 1])(
const LinearLayer *linear,
float *out,
const float *in
) = {
compute_linear_c,
compute_linear_c,
MAY_HAVE_SSE2(compute_linear),
MAY_HAVE_SSE4_1(compute_linear),
MAY_HAVE_AVX2(compute_linear)
};
void (*const DNN_COMPUTE_ACTIVATION_IMPL[OPUS_ARCHMASK + 1])(
float *output,
const float *input,
int N,
int activation
) = {
compute_activation_c,
compute_activation_c,
MAY_HAVE_SSE2(compute_activation),
MAY_HAVE_SSE4_1(compute_activation),
MAY_HAVE_AVX2(compute_activation)
};
void (*const DNN_COMPUTE_CONV2D_IMPL[OPUS_ARCHMASK + 1])(
const Conv2dLayer *conv,
float *out,
float *mem,
const float *in,
int height,
int hstride,
int activation
) = {
compute_conv2d_c,
compute_conv2d_c,
MAY_HAVE_SSE2(compute_conv2d),
MAY_HAVE_SSE4_1(compute_conv2d),
MAY_HAVE_AVX2(compute_conv2d)
};
#endif
#endif