From d7d4b3487f9b352942d868d056cba520fc4346c7 Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin Date: Tue, 28 Jun 2022 01:13:16 -0400 Subject: Fixes --disable-rtcd Make sure we don't try to use the rtcd table when rtcd is disabled. That code still needs a lot more cleaning up. --- celt/x86/celt_lpc_sse.h | 5 +++-- celt/x86/pitch_sse.h | 6 +++--- tests/random_config.sh | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/celt/x86/celt_lpc_sse.h b/celt/x86/celt_lpc_sse.h index 7d1ecf75..90e69ecf 100644 --- a/celt/x86/celt_lpc_sse.h +++ b/celt/x86/celt_lpc_sse.h @@ -33,7 +33,6 @@ #endif #if defined(OPUS_X86_MAY_HAVE_SSE4_1) && defined(FIXED_POINT) -#define OVERRIDE_CELT_FIR void celt_fir_sse4_1( const opus_val16 *x, @@ -44,10 +43,11 @@ void celt_fir_sse4_1( int arch); #if defined(OPUS_X86_PRESUME_SSE4_1) +#define OVERRIDE_CELT_FIR #define celt_fir(x, num, y, N, ord, arch) \ ((void)arch, celt_fir_sse4_1(x, num, y, N, ord, arch)) -#else +#elif defined(OPUS_HAVE_RTCD) extern void (*const CELT_FIR_IMPL[OPUS_ARCHMASK + 1])( const opus_val16 *x, @@ -57,6 +57,7 @@ extern void (*const CELT_FIR_IMPL[OPUS_ARCHMASK + 1])( int ord, int arch); +#define OVERRIDE_CELT_FIR # define celt_fir(x, num, y, N, ord, arch) \ ((*CELT_FIR_IMPL[(arch) & OPUS_ARCHMASK])(x, num, y, N, ord, arch)) diff --git a/celt/x86/pitch_sse.h b/celt/x86/pitch_sse.h index f7a014b6..964aef50 100644 --- a/celt/x86/pitch_sse.h +++ b/celt/x86/pitch_sse.h @@ -63,7 +63,7 @@ void xcorr_kernel_sse( #define xcorr_kernel(x, y, sum, len, arch) \ ((void)arch, xcorr_kernel_sse(x, y, sum, len)) -#elif (defined(OPUS_X86_MAY_HAVE_SSE4_1) && defined(FIXED_POINT)) || (defined(OPUS_X86_MAY_HAVE_SSE) && !defined(FIXED_POINT)) +#elif defined(OPUS_HAVE_RTCD) && ((defined(OPUS_X86_MAY_HAVE_SSE4_1) && defined(FIXED_POINT)) || (defined(OPUS_X86_MAY_HAVE_SSE) && !defined(FIXED_POINT))) extern void (*const XCORR_KERNEL_IMPL[OPUS_ARCHMASK + 1])( const opus_val16 *x, @@ -115,8 +115,8 @@ opus_val32 celt_inner_prod_sse( ((void)arch, celt_inner_prod_sse(x, y, N)) -#elif ((defined(OPUS_X86_MAY_HAVE_SSE4_1) || defined(OPUS_X86_MAY_HAVE_SSE2)) && defined(FIXED_POINT)) || \ - (defined(OPUS_X86_MAY_HAVE_SSE) && !defined(FIXED_POINT)) +#elif defined(OPUS_HAVE_RTCD) && (((defined(OPUS_X86_MAY_HAVE_SSE4_1) || defined(OPUS_X86_MAY_HAVE_SSE2)) && defined(FIXED_POINT)) || \ + (defined(OPUS_X86_MAY_HAVE_SSE) && !defined(FIXED_POINT))) extern opus_val32 (*const CELT_INNER_PROD_IMPL[OPUS_ARCHMASK + 1])( const opus_val16 *x, diff --git a/tests/random_config.sh b/tests/random_config.sh index fe68f5e7..e5d72833 100755 --- a/tests/random_config.sh +++ b/tests/random_config.sh @@ -51,8 +51,8 @@ arithmetic=`echo -e "\n--enable-fixed-point\n--enable-fixed-point --enable-fixed custom=`echo -e "\n--enable-custom-modes" | shuf -n1` -#asm=`echo -e "\n--disable-asm\n--disable-rtcd\n--disable-intrinsics" | shuf -n1` -asm=`echo -e "\n--disable-asm\n--disable-intrinsics" | shuf -n1` +asm=`echo -e "\n--disable-asm\n--disable-rtcd\n--disable-intrinsics" | shuf -n1` +#asm=`echo -e "\n--disable-asm\n--disable-intrinsics" | shuf -n1` assert=`echo -e "\n--enable-assertions" | shuf -n1` harden=`echo -e "\n--enable-hardening" | shuf -n1` -- cgit v1.2.3