Skip to content

Commit 18dda72

Browse files
committed
Use the correct check for NEON functions using intrinsics
1 parent 393d463 commit 18dda72

File tree

8 files changed

+32
-20
lines changed

8 files changed

+32
-20
lines changed

celt/arm/armcpu.h

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,16 @@
4646
# define MAY_HAVE_NEON(name) MAY_HAVE_MEDIA(name)
4747
# endif
4848

49+
# if defined(OPUS_ARM_MAY_HAVE_NEON_INTR)
50+
# define MAY_HAVE_NEON_INTR(name) name ## _neon
51+
# else
52+
# define MAY_HAVE_NEON_INTR(name) MAY_HAVE_NEON(name)
53+
# endif
54+
4955
# if defined(OPUS_ARM_MAY_HAVE_DOTPROD)
5056
# define MAY_HAVE_DOTPROD(name) name ## _dotprod
5157
# else
52-
# define MAY_HAVE_DOTPROD(name) MAY_HAVE_NEON(name)
58+
# define MAY_HAVE_DOTPROD(name) MAY_HAVE_NEON_INTR(name)
5359
# endif
5460

5561
# if defined(OPUS_ARM_PRESUME_EDSP)
@@ -70,10 +76,16 @@
7076
# define PRESUME_NEON(name) PRESUME_MEDIA(name)
7177
# endif
7278

79+
# if defined(OPUS_ARM_PRESUME_NEON_INTR)
80+
# define PRESUME_NEON_INTR(name) name ## _neon
81+
# else
82+
# define PRESUME_NEON_INTR(name) PRESUME_NEON(name)
83+
# endif
84+
7385
# if defined(OPUS_ARM_PRESUME_DOTPROD)
7486
# define PRESUME_DOTPROD(name) name ## _dotprod
7587
# else
76-
# define PRESUME_DOTPROD(name) PRESUME_NEON(name)
88+
# define PRESUME_DOTPROD(name) PRESUME_NEON_INTR(name)
7789
# endif
7890

7991
# if defined(OPUS_HAVE_RTCD)

celt/arm/pitch_arm.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ opus_val32 celt_inner_prod_neon(const opus_val16 *x, const opus_val16 *y, int N)
3535
void dual_inner_prod_neon(const opus_val16 *x, const opus_val16 *y01,
3636
const opus_val16 *y02, int N, opus_val32 *xy1, opus_val32 *xy2);
3737

38-
# if !defined(OPUS_HAVE_RTCD) && defined(OPUS_ARM_PRESUME_NEON)
38+
# if !defined(OPUS_HAVE_RTCD) && defined(OPUS_ARM_PRESUME_NEON_INTR)
3939
# define OVERRIDE_CELT_INNER_PROD (1)
4040
# define OVERRIDE_DUAL_INNER_PROD (1)
41-
# define celt_inner_prod(x, y, N, arch) ((void)(arch), PRESUME_NEON(celt_inner_prod)(x, y, N))
42-
# define dual_inner_prod(x, y01, y02, N, xy1, xy2, arch) ((void)(arch), PRESUME_NEON(dual_inner_prod)(x, y01, y02, N, xy1, xy2))
41+
# define celt_inner_prod(x, y, N, arch) ((void)(arch), celt_inner_prod_neon(x, y, N))
42+
# define dual_inner_prod(x, y01, y02, N, xy1, xy2, arch) ((void)(arch), dual_inner_prod_neon(x, y01, y02, N, xy1, xy2))
4343
# endif
4444
# endif
4545

dnn/arm/arm_dnn_map.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ void (*const DNN_COMPUTE_LINEAR_IMPL[OPUS_ARCHMASK + 1])(
4444
compute_linear_c, /* default */
4545
compute_linear_c,
4646
compute_linear_c,
47-
MAY_HAVE_NEON(compute_linear), /* neon */
47+
MAY_HAVE_NEON_INTR(compute_linear), /* neon */
4848
MAY_HAVE_DOTPROD(compute_linear) /* dotprod */
4949
};
5050

5151
#endif
5252

53-
#if (defined(OPUS_ARM_MAY_HAVE_DOTPROD) || defined(OPUS_ARM_MAY_HAVE_NEON)) && !defined(OPUS_ARM_PRESUME_NEON)
53+
#if (defined(OPUS_ARM_MAY_HAVE_DOTPROD) || defined(OPUS_ARM_MAY_HAVE_NEON_INTR)) && !defined(OPUS_ARM_PRESUME_NEON_INTR)
5454

5555
void (*const DNN_COMPUTE_ACTIVATION_IMPL[OPUS_ARCHMASK + 1])(
5656
float *output,
@@ -61,7 +61,7 @@ void (*const DNN_COMPUTE_ACTIVATION_IMPL[OPUS_ARCHMASK + 1])(
6161
compute_activation_c, /* default */
6262
compute_activation_c,
6363
compute_activation_c,
64-
MAY_HAVE_NEON(compute_activation), /* neon */
64+
MAY_HAVE_NEON_INTR(compute_activation), /* neon */
6565
MAY_HAVE_DOTPROD(compute_activation) /* dotprod */
6666
};
6767

@@ -77,7 +77,7 @@ void (*const DNN_COMPUTE_CONV2D_IMPL[OPUS_ARCHMASK + 1])(
7777
compute_conv2d_c, /* default */
7878
compute_conv2d_c,
7979
compute_conv2d_c,
80-
MAY_HAVE_NEON(compute_conv2d), /* neon */
80+
MAY_HAVE_NEON_INTR(compute_conv2d), /* neon */
8181
MAY_HAVE_DOTPROD(compute_conv2d) /* dotprod */
8282
};
8383

dnn/arm/dnn_arm.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ void compute_conv2d_dotprod(const Conv2dLayer *conv, float *out, float *mem, con
5050
#define OVERRIDE_COMPUTE_LINEAR
5151
#define compute_linear(linear, out, in, arch) ((void)(arch),compute_linear_neon(linear, out, in))
5252

53-
#elif defined(OPUS_HAVE_RTCD) && (defined(OPUS_ARM_MAY_HAVE_DOTPROD) || defined(OPUS_ARM_MAY_HAVE_NEON))
53+
#elif defined(OPUS_HAVE_RTCD) && (defined(OPUS_ARM_MAY_HAVE_DOTPROD) || defined(OPUS_ARM_MAY_HAVE_NEON_INTR))
5454

5555
extern void (*const DNN_COMPUTE_LINEAR_IMPL[OPUS_ARCHMASK + 1])(
5656
const LinearLayer *linear,
@@ -64,14 +64,14 @@ extern void (*const DNN_COMPUTE_LINEAR_IMPL[OPUS_ARCHMASK + 1])(
6464

6565
#endif
6666

67-
#if defined(OPUS_ARM_PRESUME_NEON)
67+
#if defined(OPUS_ARM_PRESUME_NEON_INTR)
6868

6969
#define OVERRIDE_COMPUTE_ACTIVATION
7070
#define compute_activation(output, input, N, activation, arch) ((void)(arch),compute_activation_neon(output, input, N, activation))
7171
#define OVERRIDE_COMPUTE_CONV2D
7272
#define compute_conv2d(conv, out, mem, in, height, hstride, activation, arch) ((void)(arch),compute_conv2d_neon(conv, out, mem, in, height, hstride, activation))
7373

74-
#elif defined(OPUS_HAVE_RTCD) && (defined(OPUS_ARM_MAY_HAVE_DOTPROD) || defined(OPUS_ARM_MAY_HAVE_NEON))
74+
#elif defined(OPUS_HAVE_RTCD) && (defined(OPUS_ARM_MAY_HAVE_DOTPROD) || defined(OPUS_ARM_MAY_HAVE_NEON_INTR))
7575

7676
extern void (*const DNN_COMPUTE_ACTIVATION_IMPL[OPUS_ARCHMASK + 1])(
7777
float *output,

silk/arm/LPC_inv_pred_gain_arm.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ opus_int32 silk_LPC_inverse_pred_gain_neon( /* O Returns inverse predi
3636
const opus_int order /* I Prediction order */
3737
);
3838

39-
# if !defined(OPUS_HAVE_RTCD) && defined(OPUS_ARM_PRESUME_NEON)
39+
# if !defined(OPUS_HAVE_RTCD) && defined(OPUS_ARM_PRESUME_NEON_INTR)
4040
# define OVERRIDE_silk_LPC_inverse_pred_gain (1)
41-
# define silk_LPC_inverse_pred_gain(A_Q12, order, arch) ((void)(arch), PRESUME_NEON(silk_LPC_inverse_pred_gain)(A_Q12, order))
41+
# define silk_LPC_inverse_pred_gain(A_Q12, order, arch) ((void)(arch), silk_LPC_inverse_pred_gain_neon(A_Q12, order))
4242
# endif
4343
# endif
4444

silk/arm/NSQ_del_dec_arm.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,14 @@ void silk_NSQ_del_dec_neon(
4444
const opus_int pitchL[MAX_NB_SUBFR], const opus_int Lambda_Q10,
4545
const opus_int LTP_scale_Q14);
4646

47-
#if !defined(OPUS_HAVE_RTCD)
47+
#if !defined(OPUS_HAVE_RTCD) && defined(OPUS_ARM_PRESUME_NEON_INTR)
4848
#define OVERRIDE_silk_NSQ_del_dec (1)
4949
#define silk_NSQ_del_dec(psEncC, NSQ, psIndices, x16, pulses, PredCoef_Q12, \
5050
LTPCoef_Q14, AR_Q13, HarmShapeGain_Q14, Tilt_Q14, \
5151
LF_shp_Q14, Gains_Q16, pitchL, Lambda_Q10, \
5252
LTP_scale_Q14, arch) \
5353
((void)(arch), \
54-
PRESUME_NEON(silk_NSQ_del_dec)( \
54+
silk_NSQ_del_dec_neon( \
5555
psEncC, NSQ, psIndices, x16, pulses, PredCoef_Q12, LTPCoef_Q14, \
5656
AR_Q13, HarmShapeGain_Q14, Tilt_Q14, LF_shp_Q14, Gains_Q16, pitchL, \
5757
Lambda_Q10, LTP_scale_Q14))

silk/arm/biquad_alt_arm.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ void silk_biquad_alt_stride2_neon(
4040
const opus_int32 len /* I signal length (must be even) */
4141
);
4242

43-
# if !defined(OPUS_HAVE_RTCD) && defined(OPUS_ARM_PRESUME_NEON)
43+
# if !defined(OPUS_HAVE_RTCD) && defined(OPUS_ARM_PRESUME_NEON_INTR)
4444
# define OVERRIDE_silk_biquad_alt_stride2 (1)
45-
# define silk_biquad_alt_stride2(in, B_Q28, A_Q28, S, out, len, arch) ((void)(arch), PRESUME_NEON(silk_biquad_alt_stride2)(in, B_Q28, A_Q28, S, out, len))
45+
# define silk_biquad_alt_stride2(in, B_Q28, A_Q28, S, out, len, arch) ((void)(arch), silk_biquad_alt_stride2_neon(in, B_Q28, A_Q28, S, out, len))
4646
# endif
4747
# endif
4848

silk/fixed/arm/warped_autocorrelation_FIX_arm.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ void silk_warped_autocorrelation_FIX_neon(
4242
const opus_int order /* I Correlation order (even) */
4343
);
4444

45-
# if !defined(OPUS_HAVE_RTCD) && defined(OPUS_ARM_PRESUME_NEON)
45+
# if !defined(OPUS_HAVE_RTCD) && defined(OPUS_ARM_PRESUME_NEON_INTR)
4646
# define OVERRIDE_silk_warped_autocorrelation_FIX (1)
4747
# define silk_warped_autocorrelation_FIX(corr, scale, input, warping_Q16, length, order, arch) \
48-
((void)(arch), PRESUME_NEON(silk_warped_autocorrelation_FIX)(corr, scale, input, warping_Q16, length, order))
48+
((void)(arch), silk_warped_autocorrelation_FIX_neon(corr, scale, input, warping_Q16, length, order))
4949
# endif
5050
# endif
5151

0 commit comments

Comments
 (0)