Advertisement
Guest User

Untitled

a guest
Dec 24th, 2017
381
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 2.26 KB | None | 0 0
  1. From d7c4c9eeed183661595274da19e5153a5b69c16a Mon Sep 17 00:00:00 2001
  2. From: James Almer <jamrial@gmail.com>
  3. Date: Sun, 24 Dec 2017 21:34:19 -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 | 26 ++++++++++++++++----------
  12.  1 file changed, 16 insertions(+), 10 deletions(-)
  13.  
  14. diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
  15. index f3dd2b788a..1c4c1de482 100644
  16. --- a/libavutil/x86/x86inc.asm
  17. +++ b/libavutil/x86/x86inc.asm
  18. @@ -942,21 +942,24 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae,
  19.      %assign avx_enabled 1
  20.      %define RESET_MM_PERMUTATION INIT_YMM %1
  21.      %define mmsize 32
  22. -    %define num_mmregs 8
  23. -    %if ARCH_X86_64
  24. -        %define num_mmregs 32
  25. -    %endif
  26.      %define mova movdqa
  27.      %define movu movdqu
  28.      %undef movh
  29.      %define movnta movntdq
  30. +    INIT_CPUFLAGS %1
  31. +    %define num_mmregs 8
  32. +    %if ARCH_X86_64
  33. +        %define num_mmregs 16
  34. +        %if cpuflag(avx512)
  35. +            %define num_mmregs 32
  36. +        %endif
  37. +    %endif
  38.      %assign %%i 0
  39.      %rep num_mmregs
  40.          CAT_XDEFINE m, %%i, ymm %+ %%i
  41.          CAT_XDEFINE nnymm, %%i, %%i
  42.          %assign %%i %%i+1
  43.      %endrep
  44. -    INIT_CPUFLAGS %1
  45.      AVX512_MM_PERMUTATION
  46.  %endmacro
  47.  
  48. @@ -964,21 +967,24 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae,
  49.      %assign avx_enabled 1
  50.      %define RESET_MM_PERMUTATION INIT_ZMM %1
  51.      %define mmsize 64
  52. -    %define num_mmregs 8
  53. -    %if ARCH_X86_64
  54. -        %define num_mmregs 32
  55. -    %endif
  56.      %define mova movdqa
  57.      %define movu movdqu
  58.      %undef movh
  59.      %define movnta movntdq
  60. +    INIT_CPUFLAGS %1
  61. +    %define num_mmregs 8
  62. +    %if ARCH_X86_64
  63. +        %define num_mmregs 16
  64. +        %if cpuflag(avx512)
  65. +            %define num_mmregs 32
  66. +        %endif
  67. +    %endif
  68.      %assign %%i 0
  69.      %rep num_mmregs
  70.          CAT_XDEFINE m, %%i, zmm %+ %%i
  71.          CAT_XDEFINE nnzmm, %%i, %%i
  72.          %assign %%i %%i+1
  73.      %endrep
  74. -    INIT_CPUFLAGS %1
  75.      AVX512_MM_PERMUTATION
  76.  %endmacro
  77.  
  78. --
  79. 2.15.0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement