On Tue, Apr 26, 2011 at 06:28:31PM +0200, Vitor Sessak wrote: > > --- a/libavcodec/x86/fft_mmx.asm > +++ b/libavcodec/x86/fft_mmx.asm > @@ -281,13 +293,106 @@ IF%1 mova Z(1), m3 > > %define Z(x) [r0+mmsize*x] > %define Z2(x) [r0+mmsize*x] > +%define ZH(x) [r0+mmsize*x+mmsize/2] > + > +align 16 > +fft16_avx: > + vextractf128 Z(0), m0, 0 > + vextractf128 ZH(0), m1, 0 > + vextractf128 Z(1), m0, 1 > + vextractf128 ZH(1), m1, 1 > + vextractf128 Z(2), m5, 0 > + vextractf128 ZH(2), m3, 0 > + vextractf128 Z(3), m5, 1 > + vextractf128 ZH(3), m3, 1 > + ret
These newfangled AVX instructions cannot be properly assembled by older nasm versions (at least 2.0.8) causing compilation to fail on systems that only have nasm instead of yasm with an error message like $ make -k V=1 nasm -f win32 -DPREFIX -I. -I"/home/diego/src/libav" -Pconfig.asm -I libavcodec/x86/ -M -o libavcodec/x86/fft_mmx.o libavcodec/x86/fft_mmx.asm > libavcodec/x86/fft_mmx.d nasm -f win32 -DPREFIX -I. -I"/home/diego/src/libav" -Pconfig.asm -I libavcodec/x86/ -o libavcodec/x86/fft_mmx.o libavcodec/x86/fft_mmx.asm libavcodec/x86/fft_mmx.asm:339: error: invalid combination of opcode and operands A similar problem exists in libavcodec/x86/h264_deblock_10bit.asm. I have no idea if this can be addressed in the assembler, so I will send an RFC patch that modifies configure to check for a suitable assembler. Diego _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
