You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
x86inc: set the correct amount of simd regs in x86_64 when avx512 is enabled but not used
Fixes compilation of libavresample/x86/audio_mix.asm Reviewed-by: Gramner Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
@@ -917,21 +917,24 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae,
|
|||||||
%assign avx_enabled 0
|
%assign avx_enabled 0
|
||||||
%define RESET_MM_PERMUTATION INIT_XMM %1
|
%define RESET_MM_PERMUTATION INIT_XMM %1
|
||||||
%define mmsize 16
|
%define mmsize 16
|
||||||
%define num_mmregs 8
|
|
||||||
%if ARCH_X86_64
|
|
||||||
%define num_mmregs 32
|
|
||||||
%endif
|
|
||||||
%define mova movdqa
|
%define mova movdqa
|
||||||
%define movu movdqu
|
%define movu movdqu
|
||||||
%define movh movq
|
%define movh movq
|
||||||
%define movnta movntdq
|
%define movnta movntdq
|
||||||
|
INIT_CPUFLAGS %1
|
||||||
|
%define num_mmregs 8
|
||||||
|
%if ARCH_X86_64
|
||||||
|
%define num_mmregs 16
|
||||||
|
%if cpuflag(avx512)
|
||||||
|
%define num_mmregs 32
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
%assign %%i 0
|
%assign %%i 0
|
||||||
%rep num_mmregs
|
%rep num_mmregs
|
||||||
CAT_XDEFINE m, %%i, xmm %+ %%i
|
CAT_XDEFINE m, %%i, xmm %+ %%i
|
||||||
CAT_XDEFINE nnxmm, %%i, %%i
|
CAT_XDEFINE nnxmm, %%i, %%i
|
||||||
%assign %%i %%i+1
|
%assign %%i %%i+1
|
||||||
%endrep
|
%endrep
|
||||||
INIT_CPUFLAGS %1
|
|
||||||
%if WIN64
|
%if WIN64
|
||||||
; Swap callee-saved registers with volatile registers
|
; Swap callee-saved registers with volatile registers
|
||||||
AVX512_MM_PERMUTATION 6
|
AVX512_MM_PERMUTATION 6
|
||||||
@@ -942,21 +945,24 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae,
|
|||||||
%assign avx_enabled 1
|
%assign avx_enabled 1
|
||||||
%define RESET_MM_PERMUTATION INIT_YMM %1
|
%define RESET_MM_PERMUTATION INIT_YMM %1
|
||||||
%define mmsize 32
|
%define mmsize 32
|
||||||
%define num_mmregs 8
|
|
||||||
%if ARCH_X86_64
|
|
||||||
%define num_mmregs 32
|
|
||||||
%endif
|
|
||||||
%define mova movdqa
|
%define mova movdqa
|
||||||
%define movu movdqu
|
%define movu movdqu
|
||||||
%undef movh
|
%undef movh
|
||||||
%define movnta movntdq
|
%define movnta movntdq
|
||||||
|
INIT_CPUFLAGS %1
|
||||||
|
%define num_mmregs 8
|
||||||
|
%if ARCH_X86_64
|
||||||
|
%define num_mmregs 16
|
||||||
|
%if cpuflag(avx512)
|
||||||
|
%define num_mmregs 32
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
%assign %%i 0
|
%assign %%i 0
|
||||||
%rep num_mmregs
|
%rep num_mmregs
|
||||||
CAT_XDEFINE m, %%i, ymm %+ %%i
|
CAT_XDEFINE m, %%i, ymm %+ %%i
|
||||||
CAT_XDEFINE nnymm, %%i, %%i
|
CAT_XDEFINE nnymm, %%i, %%i
|
||||||
%assign %%i %%i+1
|
%assign %%i %%i+1
|
||||||
%endrep
|
%endrep
|
||||||
INIT_CPUFLAGS %1
|
|
||||||
AVX512_MM_PERMUTATION
|
AVX512_MM_PERMUTATION
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user