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".

Reply via email to