[FFmpeg-devel] [PATCH] lpc: rewrite lpc_compute_autocorr in external asm
Michael Niedermayer
michael at niedermayer.cc
Sun May 26 01:12:23 EEST 2024
On Sat, May 25, 2024 at 10:57:21PM +0200, Lynne via ffmpeg-devel wrote:
> The inline asm function had issues running under checkasm.
> So I came to finish what I started, and wrote the last part
> of LPC computation in assembly.
>
> autocorr_10_c: 135525.8
> autocorr_10_sse2: 50729.8
> autocorr_10_fma3: 19007.8
> autocorr_30_c: 390100.8
> autocorr_30_sse2: 142478.8
> autocorr_30_fma3: 50559.8
> autocorr_32_c: 407058.3
> autocorr_32_sse2: 151633.3
> autocorr_32_fma3: 50517.3
> ---
> libavcodec/x86/lpc.asm | 91 +++++++++++++++++++++++++++++++++++++++
> libavcodec/x86/lpc_init.c | 87 ++++---------------------------------
> 2 files changed, 100 insertions(+), 78 deletions(-)
breaks build on x86-32
src/libavcodec/x86/lpc.asm:352: error: symbol `m8' undefined
src/libavcodec/x86/lpc.asm:275: ... from macro `COMPUTE_AUTOCORR_FN' defined here
src//libavutil/x86/x86inc.asm:1636: ... from macro `movaps' defined here
src//libavutil/x86/x86inc.asm:1501: ... from macro `RUN_AVX_INSTR' defined here
src/libavcodec/x86/lpc.asm:352: error: symbol `m8' undefined
src/libavcodec/x86/lpc.asm:300: ... from macro `COMPUTE_AUTOCORR_FN' defined here
src//libavutil/x86/x86inc.asm:1535: ... from macro `addpd' defined here
src//libavutil/x86/x86inc.asm:1501: ... from macro `RUN_AVX_INSTR' defined here
src/libavcodec/x86/lpc.asm:352: error: symbol `m8' undefined
src/libavcodec/x86/lpc.asm:307: ... from macro `COMPUTE_AUTOCORR_FN' defined here
src//libavutil/x86/x86inc.asm:1659: ... from macro `movups' defined here
src//libavutil/x86/x86inc.asm:1501: ... from macro `RUN_AVX_INSTR' defined here
src/libavcodec/x86/lpc.asm:354: error: symbol `m8' undefined
src/libavcodec/x86/lpc.asm:275: ... from macro `COMPUTE_AUTOCORR_FN' defined here
src//libavutil/x86/x86inc.asm:1636: ... from macro `movaps' defined here
src//libavutil/x86/x86inc.asm:1501: ... from macro `RUN_AVX_INSTR' defined here
src/libavcodec/x86/lpc.asm:354: error: symbol `m8' undefined
src/libavcodec/x86/lpc.asm:297: ... from macro `COMPUTE_AUTOCORR_FN' defined here
src//libavutil/x86/x86inc.asm:1937: ... from macro `fmaddpd' defined here
src/libavcodec/x86/lpc.asm:354: error: symbol `m8' undefined
src/libavcodec/x86/lpc.asm:307: ... from macro `COMPUTE_AUTOCORR_FN' defined here
src//libavutil/x86/x86inc.asm:1659: ... from macro `movups' defined here
src//libavutil/x86/x86inc.asm:1501: ... from macro `RUN_AVX_INSTR' defined here
make: *** [src/ffbuild/common.mak:103: libavcodec/x86/lpc.o] Error 1
make: *** Waiting for unfinished jobs....
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
No great genius has ever existed without some touch of madness. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20240526/5e940639/attachment.sig>
More information about the ffmpeg-devel
mailing list