On Thu, Apr 23, 2020 at 08:13:18PM -0700, Nelson Gomez wrote:
> From: Nelson Gomez <nelson.go...@microsoft.com>
> 
> 256 bits is just wide enough to fit all the operands needed to vectorize
> the software implementation, but AVX2 is needed to for some instructions
> like 16-to-32 bit vector sign extension.
> 
> Output is bit-for-bit identical to C.
> 
> Signed-off-by: Nelson Gomez <nelson.go...@microsoft.com>
> ---
>  libswscale/x86/output.asm | 140 +++++++++++++++++++++++++++++++++++++-
>  libswscale/x86/swscale.c  |  24 +++++++
>  2 files changed, 163 insertions(+), 1 deletion(-)

Fails to build on x86_32

X86ASM  libswscale/x86/output.o
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:497: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:498: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src//libavutil/x86/x86inc.asm:1381: ... from macro `movd' defined here
src//libavutil/x86/x86inc.asm:1249: ... from macro `RUN_AVX_INSTR' defined here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:517: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:518: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:551: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src//libavutil/x86/x86inc.asm:1125: ... from macro `add' defined here
src/libswscale/x86/output.asm:562: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:554: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:474: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:497: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:498: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src//libavutil/x86/x86inc.asm:1381: ... from macro `movd' defined here
src//libavutil/x86/x86inc.asm:1249: ... from macro `RUN_AVX_INSTR' defined here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:517: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:518: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:551: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src//libavutil/x86/x86inc.asm:1125: ... from macro `add' defined here
src/libswscale/x86/output.asm:563: error: invalid operands in non-64-bit mode
src/libswscale/x86/output.asm:554: ... from macro `yuv2nv12cX_avx2_fn' defined 
here
src/ffbuild/common.mak:81: recipe for target 'libswscale/x86/output.o' failed
make: *** [libswscale/x86/output.o] Error 1

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Republics decline into democracies and democracies degenerate into
despotisms. -- Aristotle

Attachment: signature.asc
Description: PGP signature

_______________________________________________
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