Advertisement
Guest User

Untitled

a guest
Dec 24th, 2017
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 2.03 KB | None | 0 0
  1. From ed9dc14cbfa6430b4e10ba9a290fa9b884897aed Mon Sep 17 00:00:00 2001
  2. From: James Almer <jamrial@gmail.com>
  3. Date: Sun, 24 Dec 2017 20:45:30 -0300
  4. Subject: [PATCH] x86inc: set the correct amount of simd regs in x86_64 when
  5.  avx512 is enabled but not used
  6.  
  7. Fixes compilation of libavresample/x86/audio_mix.asm
  8.  
  9. Signed-off-by: James Almer <jamrial@gmail.com>
  10. ---
  11. libavutil/x86/x86inc.asm | 14 ++++++++++----
  12.  1 file changed, 10 insertions(+), 4 deletions(-)
  13.  
  14. diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
  15. index f3dd2b788a..b30c55c673 100644
  16. --- a/libavutil/x86/x86inc.asm
  17. +++ b/libavutil/x86/x86inc.asm
  18. @@ -919,19 +919,22 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae,
  19.      %define mmsize 16
  20.      %define num_mmregs 8
  21.      %if ARCH_X86_64
  22. -        %define num_mmregs 32
  23. +        %define num_mmregs 16
  24.      %endif
  25.      %define mova movdqa
  26.      %define movu movdqu
  27.      %define movh movq
  28.      %define movnta movntdq
  29. +    INIT_CPUFLAGS %1
  30. +    %if cpuflag(avx512)
  31. +        %define num_mmregs 32
  32. +    %endif
  33.      %assign %%i 0
  34.      %rep num_mmregs
  35.          CAT_XDEFINE m, %%i, xmm %+ %%i
  36.          CAT_XDEFINE nnxmm, %%i, %%i
  37.          %assign %%i %%i+1
  38.      %endrep
  39. -    INIT_CPUFLAGS %1
  40.      %if WIN64
  41.          ; Swap callee-saved registers with volatile registers
  42.          AVX512_MM_PERMUTATION 6
  43. @@ -944,19 +947,22 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae,
  44.      %define mmsize 32
  45.      %define num_mmregs 8
  46.      %if ARCH_X86_64
  47. -        %define num_mmregs 32
  48. +        %define num_mmregs 16
  49.      %endif
  50.      %define mova movdqa
  51.      %define movu movdqu
  52.      %undef movh
  53.      %define movnta movntdq
  54. +    INIT_CPUFLAGS %1
  55. +    %if cpuflag(avx512)
  56. +        %define num_mmregs 32
  57. +    %endif
  58.      %assign %%i 0
  59.      %rep num_mmregs
  60.          CAT_XDEFINE m, %%i, ymm %+ %%i
  61.          CAT_XDEFINE nnymm, %%i, %%i
  62.          %assign %%i %%i+1
  63.      %endrep
  64. -    INIT_CPUFLAGS %1
  65.      AVX512_MM_PERMUTATION
  66.  %endmacro
  67.  
  68. --
  69. 2.15.0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement