The floating-point optimizations are not bit exact with C functions,
because of the different orders of floating-point operations.
But they are bit exact with the simulation C functions which simulate
the floating operations in the optimizations.
Change-Id: I149fda5b602fd5712b16fc8983df3c6c0c9e76ad
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
This optimization is bit exact with C functions.
Change-Id: Ia9ce6dd3c20d2f56dbd43ddc02d1a6fd6554608d
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
Should call celt_inner_prod().
This requires the API change of celt_pitch_xcorr() by passing in
"arch".
We tested on x86 and arm, and got bit exact results as original.
Change-Id: I606915da6a196f327ce81f4a5ae32811f4c1fabb
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
Actually try to compile intrinsics rather than using the output of --help.
Allow caller of configure script to set custom compiler options to enable intrinsics.
Detect when intrinsics are always available, without needing special compiler options.
Make naming of #defines for detected intrinsics support more systematic.
Optimize celt_pitch_xcorr function (for floating point)
using ARM NEON intrinsics for SoCs that have NEON VFP unit.
To enable this optimization, use --enable-intrinsics
configure option.
Compile time and runtime checks are also supported to make sure
this optimization is only enabled when the compiler supports
NEON intrinsics.
Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>