) = { celt_fir_c, /* non-sse */ celt_fir_c, MAY_HAVE_SSE4_1( celt_fir ), /* sse4.1 */ NULL }; void (*const XCORR_KERNEL_IMPL[ OPUS_ARCHMASK + 1 ] )( const opus_val16 *x, const opus_val16 *y, opus_val32 sum[ 4 ], int len ) = { xcorr_kernel_c, /* non-sse */ xcorr_kernel_c, MAY_HAVE_SSE4_1( xcorr_kernel ), /* sse4.1 */ NULL }; opus_val32 (*const CELT_INNER_PROD_IMPL[ OPUS_ARCHMASK + 1 ] )( const opus_val16 *x, const opus_val16 *y, int N ) = { celt_inner_prod_c, /* non-sse */ MAY_HAVE_SSE2( celt_inner_prod ), MAY_HAVE_SSE4_1( celt_inner_prod ), /* sse4.1 */ NULL };
MAY_HAVE_SSE4_1(xcorr_kernel) /* avx */ }; #endif #if (defined(OPUS_X86_MAY_HAVE_SSE4_1) && !defined(OPUS_X86_PRESUME_SSE4_1)) || \ (!defined(OPUS_X86_MAY_HAVE_SSE_4_1) && defined(OPUS_X86_MAY_HAVE_SSE2) && !defined(OPUS_X86_PRESUME_SSE2)) opus_val32 (*const CELT_INNER_PROD_IMPL[OPUS_ARCHMASK + 1])( const opus_val16 *x, const opus_val16 *y, int N ) = { celt_inner_prod_c, /* non-sse */ celt_inner_prod_c, MAY_HAVE_SSE2(celt_inner_prod), MAY_HAVE_SSE4_1(celt_inner_prod), /* sse4.1 */ MAY_HAVE_SSE4_1(celt_inner_prod) /* avx */ }; #endif # else #if defined(OPUS_X86_MAY_HAVE_SSE) && !defined(OPUS_X86_PRESUME_SSE) void (*const XCORR_KERNEL_IMPL[OPUS_ARCHMASK + 1])( const opus_val16 *x, const opus_val16 *y, opus_val32 sum[4], int len