On 23/04/2025 20:52, Michael Niedermayer wrote: > Hi > > On Mon, Apr 21, 2025 at 04:24:36PM +0100, Mark Thompson wrote: >> Typical checkasm result on Alder Lake: >> >> decode_transquant_8_c: 461.1 ( 1.00x) >> decode_transquant_8_avx2: 97.5 ( 4.73x) >> decode_transquant_10_c: 483.9 ( 1.00x) >> decode_transquant_10_avx2: 91.7 ( 5.28x) >> --- >> libavcodec/apv_dsp.c | 4 + >> libavcodec/apv_dsp.h | 2 + >> libavcodec/x86/Makefile | 2 + >> libavcodec/x86/apv_dsp.asm | 279 ++++++++++++++++++++++++++++++++++ >> libavcodec/x86/apv_dsp_init.c | 40 +++++ >> tests/checkasm/Makefile | 1 + >> tests/checkasm/apv_dsp.c | 109 +++++++++++++ >> tests/checkasm/checkasm.c | 3 + >> tests/checkasm/checkasm.h | 1 + >> tests/fate/checkasm.mak | 1 + >> 10 files changed, 442 insertions(+) >> create mode 100644 libavcodec/x86/apv_dsp.asm >> create mode 100644 libavcodec/x86/apv_dsp_init.c >> create mode 100644 tests/checkasm/apv_dsp.c > > breaks build on x86-32 > make > X86ASM libavcodec/x86/apv_dsp.o > src/libavcodec/x86/apv_dsp.asm:64: error: symbol `m10' undefined > src/libavcodec/x86/apv_dsp.asm:66: error: symbol `xmmm8' undefined > src//libavutil/x86/x86inc.asm:1637: ... from macro `movd' defined here > src//libavutil/x86/x86inc.asm:1501: ... from macro `RUN_AVX_INSTR' defined > here > src/libavcodec/x86/apv_dsp.asm:67: error: symbol `xmmm9' undefined > src//libavutil/x86/x86inc.asm:1637: ... from macro `movd' defined here > src//libavutil/x86/x86inc.asm:1501: ... from macro `RUN_AVX_INSTR' defined > here > src/libavcodec/x86/apv_dsp.asm:68: error: symbol `m10' undefined > src/libavcodec/x86/apv_dsp.asm:69: error: symbol `m10' undefined > src/libavcodec/x86/apv_dsp.asm:86: error: symbol `m11' undefined > src/libavcodec/x86/apv_dsp.asm:78: ... from macro `LOAD_AND_DEQUANT' defined > here > src/libavcodec/x86/apv_dsp.asm:86: error: symbol `m11' undefined > src/libavcodec/x86/apv_dsp.asm:79: ... from macro `LOAD_AND_DEQUANT' defined > here > src/libavcodec/x86/apv_dsp.asm:86: error: symbol `xmmm8' undefined > src/libavcodec/x86/apv_dsp.asm:80: ... from macro `LOAD_AND_DEQUANT' defined > here > src/libavcodec/x86/apv_dsp.asm:86: error: symbol `m10' undefined > src/libavcodec/x86/apv_dsp.asm:81: ... from macro `LOAD_AND_DEQUANT' defined > here > src/libavcodec/x86/apv_dsp.asm:86: error: symbol `xmmm9' undefined > src/libavcodec/x86/apv_dsp.asm:82: ... from macro `LOAD_AND_DEQUANT' defined > here > src/libavcodec/x86/apv_dsp.asm:87: error: symbol `m11' undefined > src/libavcodec/x86/apv_dsp.asm:78: ... from macro `LOAD_AND_DEQUANT' defined > here > ...
This was intended to be x86-64 only (due to register pressure) and wasn't guarded properly. Fixed in the latest version. Thank you for testing! - Mark _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".