[FFmpeg-devel] [PATCH] x86: hevc_mc: remove non necessary moves

Christophe Gisquet christophe.gisquet at gmail.com
Tue Feb 3 12:57:06 CET 2015


Hi,

2015-02-02 18:23 GMT+01:00 James Almer <jamrial at gmail.com>:
>>> https://github.com/OpenHEVC/FFmpeg/commit/940300945995c20f7583394ebe6907e72829b4a
[...]
> Tested it. Doesn't pass with avx2.

Actually, 940300945 does need to be reverted for the patch to work, as
Mickael stated. It miscompiles hevc_mc.asm, more particularly the
[eq]pel_hv functions. No idea why.

See attached differences in output from yasm. (debug and empty lines stripped)

-- 
Christophe
-------------- next part --------------
--- nok.asm	2015-02-03 12:46:52 +0100
+++ ok.asm	2015-02-03 12:45:44 +0100
@@ -27448,79 +27448,79 @@
  vpackssdw ymm0, ymm7
  add rdx, R8
  lea rdi, [rdx-2]
- vmovdqu ymm0, [rdi ]
+ vmovdqu ymm4, [rdi ]
  vmovdqu ymm7, [rdi+ 2]
  vmovdqu ymm2, [rdi+2*2]
  vmovdqu ymm1, [rdi+3*2]
- vpunpckhwd ymm3, ymm0, ymm7
- vpunpcklwd ymm0, ymm7
+ vpunpckhwd ymm3, ymm4, ymm7
+ vpunpcklwd ymm4, ymm7
  vpunpckhwd ymm7, ymm2, ymm1
  vpunpcklwd ymm2, ymm1
- vpmaddwd ymm0, ymm14
+ vpmaddwd ymm4, ymm14
  vpmaddwd ymm2, ymm15
- vpaddd ymm0, ymm2
+ vpaddd ymm4, ymm2
  vpmaddwd ymm3, ymm14
  vpmaddwd ymm7, ymm15
  vpaddd ymm3, ymm7
  vpsrad ymm3, 10-8
- vpsrad ymm0, 10-8
- vpackssdw ymm0, ymm3
+ vpsrad ymm4, 10-8
+ vpackssdw ymm4, ymm3
  add rdx, R8
  lea rdi, [rdx-2]
- vmovdqu ymm0, [rdi ]
+ vmovdqu ymm5, [rdi ]
  vmovdqu ymm3, [rdi+ 2]
  vmovdqu ymm2, [rdi+2*2]
  vmovdqu ymm7, [rdi+3*2]
- vpunpckhwd ymm1, ymm0, ymm3
- vpunpcklwd ymm0, ymm3
+ vpunpckhwd ymm1, ymm5, ymm3
+ vpunpcklwd ymm5, ymm3
  vpunpckhwd ymm3, ymm2, ymm7
  vpunpcklwd ymm2, ymm7
- vpmaddwd ymm0, ymm14
+ vpmaddwd ymm5, ymm14
  vpmaddwd ymm2, ymm15
- vpaddd ymm0, ymm2
+ vpaddd ymm5, ymm2
  vpmaddwd ymm1, ymm14
  vpmaddwd ymm3, ymm15
  vpaddd ymm1, ymm3
  vpsrad ymm1, 10-8
- vpsrad ymm0, 10-8
- vpackssdw ymm0, ymm1
+ vpsrad ymm5, 10-8
+ vpackssdw ymm5, ymm1
  add rdx, R8
 .loop
  lea rdi, [rdx-2]
- vmovdqu ymm0, [rdi ]
+ vmovdqu ymm6, [rdi ]
  vmovdqu ymm1, [rdi+ 2]
  vmovdqu ymm2, [rdi+2*2]
  vmovdqu ymm3, [rdi+3*2]
- vpunpckhwd ymm7, ymm0, ymm1
- vpunpcklwd ymm0, ymm1
+ vpunpckhwd ymm7, ymm6, ymm1
+ vpunpcklwd ymm6, ymm1
  vpunpckhwd ymm1, ymm2, ymm3
  vpunpcklwd ymm2, ymm3
- vpmaddwd ymm0, ymm14
+ vpmaddwd ymm6, ymm14
  vpmaddwd ymm2, ymm15
- vpaddd ymm0, ymm2
+ vpaddd ymm6, ymm2
  vpmaddwd ymm7, ymm14
  vpmaddwd ymm1, ymm15
  vpaddd ymm7, ymm1
  vpsrad ymm7, 10-8
- vpsrad ymm0, 10-8
- vpackssdw ymm0, ymm7
- vpunpcklwd ymm0, ymm4, ymm5
- vpunpcklwd ymm2, ymm6, ymm3
- vpunpckhwd ymm7, ymm4, ymm5
- vpunpckhwd ymm1, ymm6, ymm3
- vpmaddwd ymm0, ymm12
+ vpsrad ymm6, 10-8
+ vpackssdw ymm6, ymm7
+ vpunpcklwd ymm3, ymm0, ymm4
+ vpunpcklwd ymm2, ymm5, ymm6
+ vpunpckhwd ymm7, ymm0, ymm4
+ vpunpckhwd ymm1, ymm5, ymm6
+ vpmaddwd ymm3, ymm12
  vpmaddwd ymm2, ymm13
- vpaddd ymm0, ymm2
+ vpaddd ymm3, ymm2
  vpmaddwd ymm7, ymm12
  vpmaddwd ymm1, ymm13
  vpaddd ymm7, ymm1
  vpsrad ymm7, 14-8
- vpsrad ymm0, 14-8
- vpackssdw ymm0, ymm7
- vmovdqu [rcx], ymm0
+ vpsrad ymm3, 14-8
+ vpackssdw ymm3, ymm7
+ vmovdqu [rcx], ymm3
+ vmovdqa ymm0, ymm4
  vmovdqa ymm4, ymm5
  vmovdqa ymm5, ymm6
- vmovdqa ymm6, ymm3
  sub rcx, -128
  add rdx, R8
  dec R9d
@@ -27592,84 +27592,84 @@
  vpackssdw ymm0, ymm7
  add R8, R9
  lea rsi, [R8-2]
- vmovdqu ymm0, [rsi ]
+ vmovdqu ymm4, [rsi ]
  vmovdqu ymm7, [rsi+ 2]
  vmovdqu ymm2, [rsi+2*2]
  vmovdqu ymm1, [rsi+3*2]
- vpunpckhwd ymm3, ymm0, ymm7
- vpunpcklwd ymm0, ymm7
+ vpunpckhwd ymm3, ymm4, ymm7
+ vpunpcklwd ymm4, ymm7
  vpunpckhwd ymm7, ymm2, ymm1
  vpunpcklwd ymm2, ymm1
- vpmaddwd ymm0, ymm14
+ vpmaddwd ymm4, ymm14
  vpmaddwd ymm2, ymm15
- vpaddd ymm0, ymm2
+ vpaddd ymm4, ymm2
  vpmaddwd ymm3, ymm14
  vpmaddwd ymm7, ymm15
  vpaddd ymm3, ymm7
  vpsrad ymm3, 10-8
- vpsrad ymm0, 10-8
- vpackssdw ymm0, ymm3
+ vpsrad ymm4, 10-8
+ vpackssdw ymm4, ymm3
  add R8, R9
  lea rsi, [R8-2]
- vmovdqu ymm0, [rsi ]
+ vmovdqu ymm5, [rsi ]
  vmovdqu ymm3, [rsi+ 2]
  vmovdqu ymm2, [rsi+2*2]
  vmovdqu ymm7, [rsi+3*2]
- vpunpckhwd ymm1, ymm0, ymm3
- vpunpcklwd ymm0, ymm3
+ vpunpckhwd ymm1, ymm5, ymm3
+ vpunpcklwd ymm5, ymm3
  vpunpckhwd ymm3, ymm2, ymm7
  vpunpcklwd ymm2, ymm7
- vpmaddwd ymm0, ymm14
+ vpmaddwd ymm5, ymm14
  vpmaddwd ymm2, ymm15
- vpaddd ymm0, ymm2
+ vpaddd ymm5, ymm2
  vpmaddwd ymm1, ymm14
  vpmaddwd ymm3, ymm15
  vpaddd ymm1, ymm3
  vpsrad ymm1, 10-8
- vpsrad ymm0, 10-8
- vpackssdw ymm0, ymm1
+ vpsrad ymm5, 10-8
+ vpackssdw ymm5, ymm1
  add R8, R9
 .loop
  lea rsi, [R8-2]
- vmovdqu ymm0, [rsi ]
+ vmovdqu ymm6, [rsi ]
  vmovdqu ymm1, [rsi+ 2]
  vmovdqu ymm2, [rsi+2*2]
  vmovdqu ymm3, [rsi+3*2]
- vpunpckhwd ymm7, ymm0, ymm1
- vpunpcklwd ymm0, ymm1
+ vpunpckhwd ymm7, ymm6, ymm1
+ vpunpcklwd ymm6, ymm1
  vpunpckhwd ymm1, ymm2, ymm3
  vpunpcklwd ymm2, ymm3
- vpmaddwd ymm0, ymm14
+ vpmaddwd ymm6, ymm14
  vpmaddwd ymm2, ymm15
- vpaddd ymm0, ymm2
+ vpaddd ymm6, ymm2
  vpmaddwd ymm7, ymm14
  vpmaddwd ymm1, ymm15
  vpaddd ymm7, ymm1
  vpsrad ymm7, 10-8
- vpsrad ymm0, 10-8
- vpackssdw ymm0, ymm7
- vmovdqa ymm3, ymm0
- vpunpcklwd ymm0, ymm4, ymm5
- vpunpcklwd ymm2, ymm6, ymm3
- vpunpckhwd ymm7, ymm4, ymm5
- vpunpckhwd ymm1, ymm6, ymm3
- vpmaddwd ymm0, ymm12
+ vpsrad ymm6, 10-8
+ vpackssdw ymm6, ymm7
+ vmovdqa ymm3, ymm6
+ vpunpcklwd ymm6, ymm0, ymm4
+ vpunpcklwd ymm2, ymm5, ymm3
+ vpunpckhwd ymm7, ymm0, ymm4
+ vpunpckhwd ymm1, ymm5, ymm3
+ vpmaddwd ymm6, ymm12
  vpmaddwd ymm2, ymm13
- vpaddd ymm0, ymm2
+ vpaddd ymm6, ymm2
  vpmaddwd ymm7, ymm12
  vpmaddwd ymm1, ymm13
  vpaddd ymm7, ymm1
  vpsrad ymm7, 14-8
- vpsrad ymm0, 14-8
- vpackssdw ymm0, ymm7
- vpmulhrsw ymm0, [pw_10]
+ vpsrad ymm6, 14-8
+ vpackssdw ymm6, ymm7
+ vpmulhrsw ymm6, [pw_10]
  vpmulhrsw ymm7, [pw_10]
- vpminsw ymm0, [max_pixels_10]
- vpmaxsw ymm0, [zero]
- vmovdqu [rcx], ymm0
+ vpminsw ymm6, [max_pixels_10]
+ vpmaxsw ymm6, [zero]
+ vmovdqu [rcx], ymm6
+ vmovdqa ymm0, ymm4
  vmovdqa ymm4, ymm5
- vmovdqa ymm5, ymm6
- vmovdqa ymm6, ymm3
+ vmovdqa ymm5, ymm3
  add rcx, rdx
  add R8, R9
  dec R10d
@@ -27744,86 +27744,86 @@
  vpackssdw ymm0, ymm7
  add R8, R9
  lea rbx, [R8-2]
- vmovdqu ymm0, [rbx ]
+ vmovdqu ymm4, [rbx ]
  vmovdqu ymm7, [rbx+ 2]
  vmovdqu ymm2, [rbx+2*2]
  vmovdqu ymm1, [rbx+3*2]
- vpunpckhwd ymm3, ymm0, ymm7
- vpunpcklwd ymm0, ymm7
+ vpunpckhwd ymm3, ymm4, ymm7
+ vpunpcklwd ymm4, ymm7
  vpunpckhwd ymm7, ymm2, ymm1
  vpunpcklwd ymm2, ymm1
- vpmaddwd ymm0, ymm14
+ vpmaddwd ymm4, ymm14
  vpmaddwd ymm2, ymm15
- vpaddd ymm0, ymm2
+ vpaddd ymm4, ymm2
  vpmaddwd ymm3, ymm14
  vpmaddwd ymm7, ymm15
  vpaddd ymm3, ymm7
  vpsrad ymm3, 10-8
- vpsrad ymm0, 10-8
- vpackssdw ymm0, ymm3
+ vpsrad ymm4, 10-8
+ vpackssdw ymm4, ymm3
  add R8, R9
  lea rbx, [R8-2]
- vmovdqu ymm0, [rbx ]
+ vmovdqu ymm5, [rbx ]
  vmovdqu ymm3, [rbx+ 2]
  vmovdqu ymm2, [rbx+2*2]
  vmovdqu ymm7, [rbx+3*2]
- vpunpckhwd ymm1, ymm0, ymm3
- vpunpcklwd ymm0, ymm3
+ vpunpckhwd ymm1, ymm5, ymm3
+ vpunpcklwd ymm5, ymm3
  vpunpckhwd ymm3, ymm2, ymm7
  vpunpcklwd ymm2, ymm7
- vpmaddwd ymm0, ymm14
+ vpmaddwd ymm5, ymm14
  vpmaddwd ymm2, ymm15
- vpaddd ymm0, ymm2
+ vpaddd ymm5, ymm2
  vpmaddwd ymm1, ymm14
  vpmaddwd ymm3, ymm15
  vpaddd ymm1, ymm3
  vpsrad ymm1, 10-8
- vpsrad ymm0, 10-8
- vpackssdw ymm0, ymm1
+ vpsrad ymm5, 10-8
+ vpackssdw ymm5, ymm1
  add R8, R9
 .loop
  lea rbx, [R8-2]
- vmovdqu ymm0, [rbx ]
+ vmovdqu ymm6, [rbx ]
  vmovdqu ymm1, [rbx+ 2]
  vmovdqu ymm2, [rbx+2*2]
  vmovdqu ymm3, [rbx+3*2]
- vpunpckhwd ymm7, ymm0, ymm1
- vpunpcklwd ymm0, ymm1
+ vpunpckhwd ymm7, ymm6, ymm1
+ vpunpcklwd ymm6, ymm1
  vpunpckhwd ymm1, ymm2, ymm3
  vpunpcklwd ymm2, ymm3
- vpmaddwd ymm0, ymm14
+ vpmaddwd ymm6, ymm14
  vpmaddwd ymm2, ymm15
- vpaddd ymm0, ymm2
+ vpaddd ymm6, ymm2
  vpmaddwd ymm7, ymm14
  vpmaddwd ymm1, ymm15
  vpaddd ymm7, ymm1
  vpsrad ymm7, 10-8
- vpsrad ymm0, 10-8
- vpackssdw ymm0, ymm7
- vpunpcklwd ymm0, ymm4, ymm5
- vpunpcklwd ymm2, ymm6, ymm3
- vpunpckhwd ymm7, ymm4, ymm5
- vpunpckhwd ymm1, ymm6, ymm3
- vpmaddwd ymm0, ymm12
+ vpsrad ymm6, 10-8
+ vpackssdw ymm6, ymm7
+ vpunpcklwd ymm3, ymm0, ymm4
+ vpunpcklwd ymm2, ymm5, ymm6
+ vpunpckhwd ymm7, ymm0, ymm4
+ vpunpckhwd ymm1, ymm5, ymm6
+ vpmaddwd ymm3, ymm12
  vpmaddwd ymm2, ymm13
- vpaddd ymm0, ymm2
+ vpaddd ymm3, ymm2
  vpmaddwd ymm7, ymm12
  vpmaddwd ymm1, ymm13
  vpaddd ymm7, ymm1
  vpsrad ymm7, 14-8
- vpsrad ymm0, 14-8
- vpackssdw ymm0, ymm7
+ vpsrad ymm3, 14-8
+ vpackssdw ymm3, ymm7
  vmovdqu ymm8, [R10]
- vpaddsw ymm0, ymm8
+ vpaddsw ymm3, ymm8
  vpaddsw ymm7, ymm9
- vpmulhrsw ymm0, [pw_bi_10]
+ vpmulhrsw ymm3, [pw_bi_10]
  vpmulhrsw ymm7, [pw_bi_10]
- vpminsw ymm0, [max_pixels_10]
- vpmaxsw ymm0, [zero]
- vmovdqu [rcx], ymm0
+ vpminsw ymm3, [max_pixels_10]
+ vpmaxsw ymm3, [zero]
+ vmovdqu [rcx], ymm3
+ vmovdqa ymm0, ymm4
  vmovdqa ymm4, ymm5
  vmovdqa ymm5, ymm6
- vmovdqa ymm6, ymm3
  add rcx, rdx
  add R8, R9
  sub R10, -128
@@ -27893,90 +27893,90 @@
  vpaddw ymm7, ymm1
  add rdx, R8
  lea rdi, [rdx-1]
- vmovdqu ymm0, [rdi ]
- vmovdqu ymm7, [rdi+ 1]
+ vmovdqu ymm4, [rdi ]
+ vmovdqu ymm8, [rdi+ 1]
  vmovdqu ymm2, [rdi+2*1]
  vmovdqu ymm1, [rdi+3*1]
- vpunpckhbw ymm3, ymm0, ymm7
- vpunpcklbw ymm0, ymm7
- vpunpckhbw ymm7, ymm2, ymm1
+ vpunpckhbw ymm3, ymm4, ymm8
+ vpunpcklbw ymm4, ymm8
+ vpunpckhbw ymm8, ymm2, ymm1
  vpunpcklbw ymm2, ymm1
- vpmaddubsw ymm0, ymm14
+ vpmaddubsw ymm4, ymm14
  vpmaddubsw ymm2, ymm15
- vpaddw ymm0, ymm2
+ vpaddw ymm4, ymm2
  vpmaddubsw ymm3, ymm14
- vpmaddubsw ymm7, ymm15
- vpaddw ymm3, ymm7
+ vpmaddubsw ymm8, ymm15
+ vpaddw ymm3, ymm8
  add rdx, R8
  lea rdi, [rdx-1]
- vmovdqu ymm0, [rdi ]
- vmovdqu ymm3, [rdi+ 1]
+ vmovdqu ymm5, [rdi ]
+ vmovdqu ymm9, [rdi+ 1]
  vmovdqu ymm2, [rdi+2*1]
- vmovdqu ymm7, [rdi+3*1]
- vpunpckhbw ymm1, ymm0, ymm3
- vpunpcklbw ymm0, ymm3
- vpunpckhbw ymm3, ymm2, ymm7
- vpunpcklbw ymm2, ymm7
- vpmaddubsw ymm0, ymm14
+ vmovdqu ymm8, [rdi+3*1]
+ vpunpckhbw ymm1, ymm5, ymm9
+ vpunpcklbw ymm5, ymm9
+ vpunpckhbw ymm9, ymm2, ymm8
+ vpunpcklbw ymm2, ymm8
+ vpmaddubsw ymm5, ymm14
  vpmaddubsw ymm2, ymm15
- vpaddw ymm0, ymm2
+ vpaddw ymm5, ymm2
  vpmaddubsw ymm1, ymm14
- vpmaddubsw ymm3, ymm15
- vpaddw ymm1, ymm3
+ vpmaddubsw ymm9, ymm15
+ vpaddw ymm1, ymm9
  add rdx, R8
 .loop
  lea rdi, [rdx-1]
- vmovdqu ymm0, [rdi ]
- vmovdqu ymm1, [rdi+ 1]
+ vmovdqu ymm6, [rdi ]
+ vmovdqu ymm10, [rdi+ 1]
  vmovdqu ymm2, [rdi+2*1]
- vmovdqu ymm3, [rdi+3*1]
- vpunpckhbw ymm7, ymm0, ymm1
- vpunpcklbw ymm0, ymm1
- vpunpckhbw ymm1, ymm2, ymm3
- vpunpcklbw ymm2, ymm3
- vpmaddubsw ymm0, ymm14
+ vmovdqu ymm9, [rdi+3*1]
+ vpunpckhbw ymm8, ymm6, ymm10
+ vpunpcklbw ymm6, ymm10
+ vpunpckhbw ymm10, ymm2, ymm9
+ vpunpcklbw ymm2, ymm9
+ vpmaddubsw ymm6, ymm14
  vpmaddubsw ymm2, ymm15
- vpaddw ymm0, ymm2
- vpmaddubsw ymm7, ymm14
- vpmaddubsw ymm1, ymm15
- vpaddw ymm7, ymm1
- vpunpcklwd ymm0, ymm4, ymm5
- vpunpcklwd ymm2, ymm6, ymm3
- vpunpckhwd ymm7, ymm4, ymm5
- vpunpckhwd ymm1, ymm6, ymm3
+ vpaddw ymm6, ymm2
+ vpmaddubsw ymm8, ymm14
+ vpmaddubsw ymm10, ymm15
+ vpaddw ymm8, ymm10
+ vpunpcklwd ymm9, ymm0, ymm4
+ vpunpcklwd ymm2, ymm5, ymm6
+ vpunpckhwd ymm11, ymm0, ymm4
+ vpunpckhwd ymm10, ymm5, ymm6
+ vpmaddwd ymm9, ymm12
+ vpmaddwd ymm2, ymm13
+ vpaddd ymm9, ymm2
+ vpmaddwd ymm11, ymm12
+ vpmaddwd ymm10, ymm13
+ vpaddd ymm11, ymm10
+ vpsrad ymm11, 14-8
+ vpsrad ymm9, 14-8
+ vpackssdw ymm9, ymm11
+ vpunpcklwd ymm0, ymm7, ymm3
+ vpunpcklwd ymm2, ymm1, ymm8
+ vpunpckhwd ymm7, ymm7, ymm3
+ vpunpckhwd ymm10, ymm1, ymm8
  vpmaddwd ymm0, ymm12
  vpmaddwd ymm2, ymm13
  vpaddd ymm0, ymm2
  vpmaddwd ymm7, ymm12
- vpmaddwd ymm1, ymm13
- vpaddd ymm7, ymm1
+ vpmaddwd ymm10, ymm13
+ vpaddd ymm7, ymm10
  vpsrad ymm7, 14-8
  vpsrad ymm0, 14-8
  vpackssdw ymm0, ymm7
- vpunpcklwd ymm4, ymm8, ymm9
- vpunpcklwd ymm2, ymm10, ymm11
- vpunpckhwd ymm8, ymm8, ymm9
- vpunpckhwd ymm1, ymm10, ymm11
- vpmaddwd ymm4, ymm12
- vpmaddwd ymm2, ymm13
- vpaddd ymm4, ymm2
- vpmaddwd ymm8, ymm12
- vpmaddwd ymm1, ymm13
- vpaddd ymm8, ymm1
- vpsrad ymm8, 14-8
- vpsrad ymm4, 14-8
- vpackssdw ymm4, ymm8
- vinserti128 ymm2, ymm0, xmm4, 1
- vextracti128 xmm1, ymm0, 1
- vinserti128 ymm1, ymm4, xmm1, 0
+ vinserti128 ymm2, ymm9, xmm0, 1
+ vextracti128 xmm10, ymm9, 1
+ vinserti128 ymm10, ymm0, xmm10, 0
  vmovdqu [rcx], ymm2
- vmovdqu [rcx+32], ymm1
+ vmovdqu [rcx+32], ymm10
+ vmovdqa ymm0, ymm4
  vmovdqa ymm4, ymm5
  vmovdqa ymm5, ymm6
- vmovdqa ymm6, ymm3
- vmovdqa ymm8, ymm9
- vmovdqa ymm9, ymm10
- vmovdqa ymm10, ymm11
+ vmovdqa ymm7, ymm3
+ vmovdqa ymm3, ymm1
+ vmovdqa ymm1, ymm8
  sub rcx, -128
  add rdx, R8
  dec R9d
@@ -28045,90 +28045,90 @@
  vpaddw ymm7, ymm1
  add R8, R9
  lea rsi, [R8-1]
- vmovdqu ymm0, [rsi ]
- vmovdqu ymm7, [rsi+ 1]
+ vmovdqu ymm4, [rsi ]
+ vmovdqu ymm8, [rsi+ 1]
  vmovdqu ymm2, [rsi+2*1]
  vmovdqu ymm1, [rsi+3*1]
- vpunpckhbw ymm3, ymm0, ymm7
- vpunpcklbw ymm0, ymm7
- vpunpckhbw ymm7, ymm2, ymm1
+ vpunpckhbw ymm3, ymm4, ymm8
+ vpunpcklbw ymm4, ymm8
+ vpunpckhbw ymm8, ymm2, ymm1
  vpunpcklbw ymm2, ymm1
- vpmaddubsw ymm0, ymm14
+ vpmaddubsw ymm4, ymm14
  vpmaddubsw ymm2, ymm15
- vpaddw ymm0, ymm2
+ vpaddw ymm4, ymm2
  vpmaddubsw ymm3, ymm14
- vpmaddubsw ymm7, ymm15
- vpaddw ymm3, ymm7
+ vpmaddubsw ymm8, ymm15
+ vpaddw ymm3, ymm8
  add R8, R9
  lea rsi, [R8-1]
- vmovdqu ymm0, [rsi ]
- vmovdqu ymm3, [rsi+ 1]
+ vmovdqu ymm5, [rsi ]
+ vmovdqu ymm9, [rsi+ 1]
  vmovdqu ymm2, [rsi+2*1]
- vmovdqu ymm7, [rsi+3*1]
- vpunpckhbw ymm1, ymm0, ymm3
- vpunpcklbw ymm0, ymm3
- vpunpckhbw ymm3, ymm2, ymm7
- vpunpcklbw ymm2, ymm7
- vpmaddubsw ymm0, ymm14
+ vmovdqu ymm8, [rsi+3*1]
+ vpunpckhbw ymm1, ymm5, ymm9
+ vpunpcklbw ymm5, ymm9
+ vpunpckhbw ymm9, ymm2, ymm8
+ vpunpcklbw ymm2, ymm8
+ vpmaddubsw ymm5, ymm14
  vpmaddubsw ymm2, ymm15
- vpaddw ymm0, ymm2
+ vpaddw ymm5, ymm2
  vpmaddubsw ymm1, ymm14
- vpmaddubsw ymm3, ymm15
- vpaddw ymm1, ymm3
+ vpmaddubsw ymm9, ymm15
+ vpaddw ymm1, ymm9
  add R8, R9
 .loop
  lea rsi, [R8-1]
- vmovdqu ymm0, [rsi ]
- vmovdqu ymm1, [rsi+ 1]
+ vmovdqu ymm6, [rsi ]
+ vmovdqu ymm10, [rsi+ 1]
  vmovdqu ymm2, [rsi+2*1]
- vmovdqu ymm3, [rsi+3*1]
- vpunpckhbw ymm7, ymm0, ymm1
- vpunpcklbw ymm0, ymm1
- vpunpckhbw ymm1, ymm2, ymm3
- vpunpcklbw ymm2, ymm3
- vpmaddubsw ymm0, ymm14
+ vmovdqu ymm9, [rsi+3*1]
+ vpunpckhbw ymm8, ymm6, ymm10
+ vpunpcklbw ymm6, ymm10
+ vpunpckhbw ymm10, ymm2, ymm9
+ vpunpcklbw ymm2, ymm9
+ vpmaddubsw ymm6, ymm14
  vpmaddubsw ymm2, ymm15
- vpaddw ymm0, ymm2
- vpmaddubsw ymm7, ymm14
- vpmaddubsw ymm1, ymm15
- vpaddw ymm7, ymm1
- vmovdqa ymm3, ymm0
- vpunpcklwd ymm0, ymm4, ymm5
- vpunpcklwd ymm2, ymm6, ymm3
- vpunpckhwd ymm7, ymm4, ymm5
- vpunpckhwd ymm1, ymm6, ymm3
+ vpaddw ymm6, ymm2
+ vpmaddubsw ymm8, ymm14
+ vpmaddubsw ymm10, ymm15
+ vpaddw ymm8, ymm10
+ vmovdqa ymm9, ymm6
+ vpunpcklwd ymm6, ymm0, ymm4
+ vpunpcklwd ymm2, ymm5, ymm9
+ vpunpckhwd ymm11, ymm0, ymm4
+ vpunpckhwd ymm10, ymm5, ymm9
+ vpmaddwd ymm6, ymm12
+ vpmaddwd ymm2, ymm13
+ vpaddd ymm6, ymm2
+ vpmaddwd ymm11, ymm12
+ vpmaddwd ymm10, ymm13
+ vpaddd ymm11, ymm10
+ vpsrad ymm11, 14-8
+ vpsrad ymm6, 14-8
+ vpackssdw ymm6, ymm11
+ vpunpcklwd ymm0, ymm7, ymm3
+ vpunpcklwd ymm2, ymm1, ymm8
+ vpunpckhwd ymm7, ymm7, ymm3
+ vpunpckhwd ymm10, ymm1, ymm8
  vpmaddwd ymm0, ymm12
  vpmaddwd ymm2, ymm13
  vpaddd ymm0, ymm2
  vpmaddwd ymm7, ymm12
- vpmaddwd ymm1, ymm13
- vpaddd ymm7, ymm1
+ vpmaddwd ymm10, ymm13
+ vpaddd ymm7, ymm10
  vpsrad ymm7, 14-8
  vpsrad ymm0, 14-8
  vpackssdw ymm0, ymm7
- vpunpcklwd ymm4, ymm8, ymm9
- vpunpcklwd ymm2, ymm10, ymm11
- vpunpckhwd ymm8, ymm8, ymm9
- vpunpckhwd ymm1, ymm10, ymm11
- vpmaddwd ymm4, ymm12
- vpmaddwd ymm2, ymm13
- vpaddd ymm4, ymm2
- vpmaddwd ymm8, ymm12
- vpmaddwd ymm1, ymm13
- vpaddd ymm8, ymm1
- vpsrad ymm8, 14-8
- vpsrad ymm4, 14-8
- vpackssdw ymm4, ymm8
+ vpmulhrsw ymm6, [pw_8]
  vpmulhrsw ymm0, [pw_8]
- vpmulhrsw ymm4, [pw_8]
- vpackuswb ymm0, ymm4
- vmovdqu [rcx], ymm0
+ vpackuswb ymm6, ymm0
+ vmovdqu [rcx], ymm6
+ vmovdqa ymm0, ymm4
  vmovdqa ymm4, ymm5
- vmovdqa ymm5, ymm6
- vmovdqa ymm6, ymm3
- vmovdqa ymm8, ymm9
- vmovdqa ymm9, ymm10
- vmovdqa ymm10, ymm11
+ vmovdqa ymm5, ymm9
+ vmovdqa ymm7, ymm3
+ vmovdqa ymm3, ymm1
+ vmovdqa ymm1, ymm8
  add rcx, rdx
  add R8, R9
  dec R10d
@@ -28200,96 +28200,96 @@
  vpaddw ymm7, ymm1
  add R8, R9
  lea rbx, [R8-1]
- vmovdqu ymm0, [rbx ]
- vmovdqu ymm7, [rbx+ 1]
+ vmovdqu ymm4, [rbx ]
+ vmovdqu ymm8, [rbx+ 1]
  vmovdqu ymm2, [rbx+2*1]
  vmovdqu ymm1, [rbx+3*1]
- vpunpckhbw ymm3, ymm0, ymm7
- vpunpcklbw ymm0, ymm7
- vpunpckhbw ymm7, ymm2, ymm1
+ vpunpckhbw ymm3, ymm4, ymm8
+ vpunpcklbw ymm4, ymm8
+ vpunpckhbw ymm8, ymm2, ymm1
  vpunpcklbw ymm2, ymm1
- vpmaddubsw ymm0, ymm14
+ vpmaddubsw ymm4, ymm14
  vpmaddubsw ymm2, ymm15
- vpaddw ymm0, ymm2
+ vpaddw ymm4, ymm2
  vpmaddubsw ymm3, ymm14
- vpmaddubsw ymm7, ymm15
- vpaddw ymm3, ymm7
+ vpmaddubsw ymm8, ymm15
+ vpaddw ymm3, ymm8
  add R8, R9
  lea rbx, [R8-1]
- vmovdqu ymm0, [rbx ]
- vmovdqu ymm3, [rbx+ 1]
+ vmovdqu ymm5, [rbx ]
+ vmovdqu ymm9, [rbx+ 1]
  vmovdqu ymm2, [rbx+2*1]
- vmovdqu ymm7, [rbx+3*1]
- vpunpckhbw ymm1, ymm0, ymm3
- vpunpcklbw ymm0, ymm3
- vpunpckhbw ymm3, ymm2, ymm7
- vpunpcklbw ymm2, ymm7
- vpmaddubsw ymm0, ymm14
+ vmovdqu ymm8, [rbx+3*1]
+ vpunpckhbw ymm1, ymm5, ymm9
+ vpunpcklbw ymm5, ymm9
+ vpunpckhbw ymm9, ymm2, ymm8
+ vpunpcklbw ymm2, ymm8
+ vpmaddubsw ymm5, ymm14
  vpmaddubsw ymm2, ymm15
- vpaddw ymm0, ymm2
+ vpaddw ymm5, ymm2
  vpmaddubsw ymm1, ymm14
- vpmaddubsw ymm3, ymm15
- vpaddw ymm1, ymm3
+ vpmaddubsw ymm9, ymm15
+ vpaddw ymm1, ymm9
  add R8, R9
 .loop
  lea rbx, [R8-1]
- vmovdqu ymm0, [rbx ]
- vmovdqu ymm1, [rbx+ 1]
+ vmovdqu ymm6, [rbx ]
+ vmovdqu ymm10, [rbx+ 1]
  vmovdqu ymm2, [rbx+2*1]
- vmovdqu ymm3, [rbx+3*1]
- vpunpckhbw ymm7, ymm0, ymm1
- vpunpcklbw ymm0, ymm1
- vpunpckhbw ymm1, ymm2, ymm3
- vpunpcklbw ymm2, ymm3
- vpmaddubsw ymm0, ymm14
+ vmovdqu ymm9, [rbx+3*1]
+ vpunpckhbw ymm8, ymm6, ymm10
+ vpunpcklbw ymm6, ymm10
+ vpunpckhbw ymm10, ymm2, ymm9
+ vpunpcklbw ymm2, ymm9
+ vpmaddubsw ymm6, ymm14
  vpmaddubsw ymm2, ymm15
- vpaddw ymm0, ymm2
- vpmaddubsw ymm7, ymm14
- vpmaddubsw ymm1, ymm15
- vpaddw ymm7, ymm1
- vpunpcklwd ymm0, ymm4, ymm5
- vpunpcklwd ymm2, ymm6, ymm3
- vpunpckhwd ymm7, ymm4, ymm5
- vpunpckhwd ymm1, ymm6, ymm3
+ vpaddw ymm6, ymm2
+ vpmaddubsw ymm8, ymm14
+ vpmaddubsw ymm10, ymm15
+ vpaddw ymm8, ymm10
+ vpunpcklwd ymm9, ymm0, ymm4
+ vpunpcklwd ymm2, ymm5, ymm6
+ vpunpckhwd ymm11, ymm0, ymm4
+ vpunpckhwd ymm10, ymm5, ymm6
+ vpmaddwd ymm9, ymm12
+ vpmaddwd ymm2, ymm13
+ vpaddd ymm9, ymm2
+ vpmaddwd ymm11, ymm12
+ vpmaddwd ymm10, ymm13
+ vpaddd ymm11, ymm10
+ vpsrad ymm11, 14-8
+ vpsrad ymm9, 14-8
+ vpackssdw ymm9, ymm11
+ vpunpcklwd ymm0, ymm7, ymm3
+ vpunpcklwd ymm2, ymm1, ymm8
+ vpunpckhwd ymm7, ymm7, ymm3
+ vpunpckhwd ymm10, ymm1, ymm8
  vpmaddwd ymm0, ymm12
  vpmaddwd ymm2, ymm13
  vpaddd ymm0, ymm2
  vpmaddwd ymm7, ymm12
- vpmaddwd ymm1, ymm13
- vpaddd ymm7, ymm1
+ vpmaddwd ymm10, ymm13
+ vpaddd ymm7, ymm10
  vpsrad ymm7, 14-8
  vpsrad ymm0, 14-8
  vpackssdw ymm0, ymm7
- vpunpcklwd ymm4, ymm8, ymm9
- vpunpcklwd ymm2, ymm10, ymm11
- vpunpckhwd ymm8, ymm8, ymm9
- vpunpckhwd ymm1, ymm10, ymm11
- vpmaddwd ymm4, ymm12
- vpmaddwd ymm2, ymm13
- vpaddd ymm4, ymm2
- vpmaddwd ymm8, ymm12
- vpmaddwd ymm1, ymm13
- vpaddd ymm8, ymm1
- vpsrad ymm8, 14-8
- vpsrad ymm4, 14-8
- vpackssdw ymm4, ymm8
- vmovdqu ymm8, [R10]
- vmovdqu ymm1, [R10+32]
- vinserti128 ymm7, ymm8, xmm1, 1
- vextracti128 xmm8, ymm8, 1
- vinserti128 ymm2, ymm1, xmm8, 0
- vpaddsw ymm0, ymm7
- vpaddsw ymm4, ymm2
+ vmovdqu ymm7, [R10]
+ vmovdqu ymm10, [R10+32]
+ vinserti128 ymm11, ymm7, xmm10, 1
+ vextracti128 xmm7, ymm7, 1
+ vinserti128 ymm2, ymm10, xmm7, 0
+ vpaddsw ymm9, ymm11
+ vpaddsw ymm0, ymm2
+ vpmulhrsw ymm9, [pw_bi_8]
  vpmulhrsw ymm0, [pw_bi_8]
- vpmulhrsw ymm4, [pw_bi_8]
- vpackuswb ymm0, ymm4
- vmovdqu [rcx], ymm0
+ vpackuswb ymm9, ymm0
+ vmovdqu [rcx], ymm9
+ vmovdqa ymm0, ymm4
  vmovdqa ymm4, ymm5
  vmovdqa ymm5, ymm6
- vmovdqa ymm6, ymm3
- vmovdqa ymm8, ymm9
- vmovdqa ymm9, ymm10
- vmovdqa ymm10, ymm11
+ vmovdqa ymm7, ymm3
+ vmovdqa ymm3, ymm1
+ vmovdqa ymm1, ymm8
  add rcx, rdx
  add R8, R9
  sub R10, -128
@@ -29453,285 +29453,285 @@
  vpsrad ymm15, 10-8
  vpackssdw ymm0, ymm15
  add rdx, R8
- vmovdqu ymm0, [rdx-3*2]
- vmovdqu ymm3, [rdx-2*2]
+ vmovdqu ymm8, [rdx-3*2]
+ vmovdqu ymm15, [rdx-2*2]
  vmovdqu ymm2, [rdx-2 ]
  vmovdqu ymm1, [rdx ]
  vmovdqu ymm4, [rdx+2 ]
  vmovdqu ymm3, [rdx+2*2]
  vmovdqu ymm6, [rdx+3*2]
  vmovdqu ymm5, [rdx+4*2]
- vpunpckhdq ymm7, ymm0, ymm3
- vpunpckldq ymm0, ymm3
- vpunpckhdq ymm3, ymm2, ymm1
+ vpunpckhdq ymm7, ymm8, ymm15
+ vpunpckldq ymm8, ymm15
+ vpunpckhdq ymm15, ymm2, ymm1
  vpunpckldq ymm2, ymm1
  vpunpckhdq ymm1, ymm4, ymm3
  vpunpckldq ymm4, ymm3
  vpunpckhdq ymm3, ymm6, ymm5
  vpunpckldq ymm6, ymm5
  lea rdi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rdi + R10*8 ]
+ vpmaddwd ymm8, [rdi + R10*8 ]
  vpmaddwd ymm2, [rdi + R10*8+32]
  vpmaddwd ymm4, [rdi + R10*8+2*32]
  vpmaddwd ymm6, [rdi + R10*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm8, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
+ vpaddd ymm8, ymm4
+ vpsrad ymm8, 10-8
  vpmaddwd ymm7, [rdi + R10*8 ]
- vpmaddwd ymm3, [rdi + R10*8+32]
+ vpmaddwd ymm15, [rdi + R10*8+32]
  vpmaddwd ymm1, [rdi + R10*8+2*32]
  vpmaddwd ymm3, [rdi + R10*8+3*32]
- vpaddd ymm7, ymm3
+ vpaddd ymm7, ymm15
  vpaddd ymm1, ymm3
  vpaddd ymm7, ymm1
  vpsrad ymm7, 10-8
- vpackssdw ymm0, ymm7
+ vpackssdw ymm8, ymm7
  add rdx, R8
- vmovdqu ymm0, [rdx-3*2]
+ vmovdqu ymm9, [rdx-3*2]
  vmovdqu ymm7, [rdx-2*2]
  vmovdqu ymm2, [rdx-2 ]
- vmovdqu ymm3, [rdx ]
+ vmovdqu ymm15, [rdx ]
  vmovdqu ymm4, [rdx+2 ]
  vmovdqu ymm1, [rdx+2*2]
  vmovdqu ymm6, [rdx+3*2]
  vmovdqu ymm3, [rdx+4*2]
- vpunpckhdq ymm5, ymm0, ymm7
- vpunpckldq ymm0, ymm7
- vpunpckhdq ymm7, ymm2, ymm3
- vpunpckldq ymm2, ymm3
- vpunpckhdq ymm3, ymm4, ymm1
+ vpunpckhdq ymm5, ymm9, ymm7
+ vpunpckldq ymm9, ymm7
+ vpunpckhdq ymm7, ymm2, ymm15
+ vpunpckldq ymm2, ymm15
+ vpunpckhdq ymm15, ymm4, ymm1
  vpunpckldq ymm4, ymm1
  vpunpckhdq ymm1, ymm6, ymm3
  vpunpckldq ymm6, ymm3
  lea rdi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rdi + R10*8 ]
+ vpmaddwd ymm9, [rdi + R10*8 ]
  vpmaddwd ymm2, [rdi + R10*8+32]
  vpmaddwd ymm4, [rdi + R10*8+2*32]
  vpmaddwd ymm6, [rdi + R10*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm9, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
+ vpaddd ymm9, ymm4
+ vpsrad ymm9, 10-8
  vpmaddwd ymm5, [rdi + R10*8 ]
  vpmaddwd ymm7, [rdi + R10*8+32]
- vpmaddwd ymm3, [rdi + R10*8+2*32]
+ vpmaddwd ymm15, [rdi + R10*8+2*32]
  vpmaddwd ymm1, [rdi + R10*8+3*32]
  vpaddd ymm5, ymm7
- vpaddd ymm3, ymm1
- vpaddd ymm5, ymm3
+ vpaddd ymm15, ymm1
+ vpaddd ymm5, ymm15
  vpsrad ymm5, 10-8
- vpackssdw ymm0, ymm5
+ vpackssdw ymm9, ymm5
  add rdx, R8
- vmovdqu ymm0, [rdx-3*2]
- vmovdqu ymm3, [rdx-2*2]
+ vmovdqu ymm10, [rdx-3*2]
+ vmovdqu ymm5, [rdx-2*2]
  vmovdqu ymm2, [rdx-2 ]
  vmovdqu ymm7, [rdx ]
  vmovdqu ymm4, [rdx+2 ]
- vmovdqu ymm3, [rdx+2*2]
+ vmovdqu ymm15, [rdx+2*2]
  vmovdqu ymm6, [rdx+3*2]
  vmovdqu ymm1, [rdx+4*2]
- vpunpckhdq ymm3, ymm0, ymm3
- vpunpckldq ymm0, ymm3
- vpunpckhdq ymm3, ymm2, ymm7
+ vpunpckhdq ymm3, ymm10, ymm5
+ vpunpckldq ymm10, ymm5
+ vpunpckhdq ymm5, ymm2, ymm7
  vpunpckldq ymm2, ymm7
- vpunpckhdq ymm7, ymm4, ymm3
- vpunpckldq ymm4, ymm3
- vpunpckhdq ymm3, ymm6, ymm1
+ vpunpckhdq ymm7, ymm4, ymm15
+ vpunpckldq ymm4, ymm15
+ vpunpckhdq ymm15, ymm6, ymm1
  vpunpckldq ymm6, ymm1
  lea rdi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rdi + R10*8 ]
+ vpmaddwd ymm10, [rdi + R10*8 ]
  vpmaddwd ymm2, [rdi + R10*8+32]
  vpmaddwd ymm4, [rdi + R10*8+2*32]
  vpmaddwd ymm6, [rdi + R10*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm10, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
+ vpaddd ymm10, ymm4
+ vpsrad ymm10, 10-8
  vpmaddwd ymm3, [rdi + R10*8 ]
- vpmaddwd ymm3, [rdi + R10*8+32]
+ vpmaddwd ymm5, [rdi + R10*8+32]
  vpmaddwd ymm7, [rdi + R10*8+2*32]
- vpmaddwd ymm3, [rdi + R10*8+3*32]
- vpaddd ymm3, ymm3
- vpaddd ymm7, ymm3
+ vpmaddwd ymm15, [rdi + R10*8+3*32]
+ vpaddd ymm3, ymm5
+ vpaddd ymm7, ymm15
  vpaddd ymm3, ymm7
  vpsrad ymm3, 10-8
- vpackssdw ymm0, ymm3
+ vpackssdw ymm10, ymm3
  add rdx, R8
- vmovdqu ymm0, [rdx-3*2]
+ vmovdqu ymm11, [rdx-3*2]
  vmovdqu ymm3, [rdx-2*2]
  vmovdqu ymm2, [rdx-2 ]
- vmovdqu ymm3, [rdx ]
+ vmovdqu ymm5, [rdx ]
  vmovdqu ymm4, [rdx+2 ]
  vmovdqu ymm7, [rdx+2*2]
  vmovdqu ymm6, [rdx+3*2]
- vmovdqu ymm3, [rdx+4*2]
- vpunpckhdq ymm1, ymm0, ymm3
- vpunpckldq ymm0, ymm3
- vpunpckhdq ymm3, ymm2, ymm3
- vpunpckldq ymm2, ymm3
- vpunpckhdq ymm3, ymm4, ymm7
+ vmovdqu ymm15, [rdx+4*2]
+ vpunpckhdq ymm1, ymm11, ymm3
+ vpunpckldq ymm11, ymm3
+ vpunpckhdq ymm3, ymm2, ymm5
+ vpunpckldq ymm2, ymm5
+ vpunpckhdq ymm5, ymm4, ymm7
  vpunpckldq ymm4, ymm7
- vpunpckhdq ymm7, ymm6, ymm3
- vpunpckldq ymm6, ymm3
+ vpunpckhdq ymm7, ymm6, ymm15
+ vpunpckldq ymm6, ymm15
  lea rdi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rdi + R10*8 ]
+ vpmaddwd ymm11, [rdi + R10*8 ]
  vpmaddwd ymm2, [rdi + R10*8+32]
  vpmaddwd ymm4, [rdi + R10*8+2*32]
  vpmaddwd ymm6, [rdi + R10*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm11, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
+ vpaddd ymm11, ymm4
+ vpsrad ymm11, 10-8
  vpmaddwd ymm1, [rdi + R10*8 ]
  vpmaddwd ymm3, [rdi + R10*8+32]
- vpmaddwd ymm3, [rdi + R10*8+2*32]
+ vpmaddwd ymm5, [rdi + R10*8+2*32]
  vpmaddwd ymm7, [rdi + R10*8+3*32]
  vpaddd ymm1, ymm3
- vpaddd ymm3, ymm7
- vpaddd ymm1, ymm3
+ vpaddd ymm5, ymm7
+ vpaddd ymm1, ymm5
  vpsrad ymm1, 10-8
- vpackssdw ymm0, ymm1
+ vpackssdw ymm11, ymm1
  add rdx, R8
- vmovdqu ymm0, [rdx-3*2]
+ vmovdqu ymm12, [rdx-3*2]
  vmovdqu ymm1, [rdx-2*2]
  vmovdqu ymm2, [rdx-2 ]
  vmovdqu ymm3, [rdx ]
  vmovdqu ymm4, [rdx+2 ]
- vmovdqu ymm3, [rdx+2*2]
+ vmovdqu ymm5, [rdx+2*2]
  vmovdqu ymm6, [rdx+3*2]
  vmovdqu ymm7, [rdx+4*2]
- vpunpckhdq ymm3, ymm0, ymm1
- vpunpckldq ymm0, ymm1
+ vpunpckhdq ymm15, ymm12, ymm1
+ vpunpckldq ymm12, ymm1
  vpunpckhdq ymm1, ymm2, ymm3
  vpunpckldq ymm2, ymm3
- vpunpckhdq ymm3, ymm4, ymm3
- vpunpckldq ymm4, ymm3
- vpunpckhdq ymm3, ymm6, ymm7
+ vpunpckhdq ymm3, ymm4, ymm5
+ vpunpckldq ymm4, ymm5
+ vpunpckhdq ymm5, ymm6, ymm7
  vpunpckldq ymm6, ymm7
  lea rdi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rdi + R10*8 ]
+ vpmaddwd ymm12, [rdi + R10*8 ]
  vpmaddwd ymm2, [rdi + R10*8+32]
  vpmaddwd ymm4, [rdi + R10*8+2*32]
  vpmaddwd ymm6, [rdi + R10*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm12, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
- vpmaddwd ymm3, [rdi + R10*8 ]
+ vpaddd ymm12, ymm4
+ vpsrad ymm12, 10-8
+ vpmaddwd ymm15, [rdi + R10*8 ]
  vpmaddwd ymm1, [rdi + R10*8+32]
  vpmaddwd ymm3, [rdi + R10*8+2*32]
- vpmaddwd ymm3, [rdi + R10*8+3*32]
- vpaddd ymm3, ymm1
- vpaddd ymm3, ymm3
- vpaddd ymm3, ymm3
- vpsrad ymm3, 10-8
- vpackssdw ymm0, ymm3
+ vpmaddwd ymm5, [rdi + R10*8+3*32]
+ vpaddd ymm15, ymm1
+ vpaddd ymm3, ymm5
+ vpaddd ymm15, ymm3
+ vpsrad ymm15, 10-8
+ vpackssdw ymm12, ymm15
  add rdx, R8
- vmovdqu ymm0, [rdx-3*2]
- vmovdqu ymm3, [rdx-2*2]
+ vmovdqu ymm13, [rdx-3*2]
+ vmovdqu ymm15, [rdx-2*2]
  vmovdqu ymm2, [rdx-2 ]
  vmovdqu ymm1, [rdx ]
  vmovdqu ymm4, [rdx+2 ]
  vmovdqu ymm3, [rdx+2*2]
  vmovdqu ymm6, [rdx+3*2]
- vmovdqu ymm3, [rdx+4*2]
- vpunpckhdq ymm7, ymm0, ymm3
- vpunpckldq ymm0, ymm3
- vpunpckhdq ymm3, ymm2, ymm1
+ vmovdqu ymm5, [rdx+4*2]
+ vpunpckhdq ymm7, ymm13, ymm15
+ vpunpckldq ymm13, ymm15
+ vpunpckhdq ymm15, ymm2, ymm1
  vpunpckldq ymm2, ymm1
  vpunpckhdq ymm1, ymm4, ymm3
  vpunpckldq ymm4, ymm3
- vpunpckhdq ymm3, ymm6, ymm3
- vpunpckldq ymm6, ymm3
+ vpunpckhdq ymm3, ymm6, ymm5
+ vpunpckldq ymm6, ymm5
  lea rdi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rdi + R10*8 ]
+ vpmaddwd ymm13, [rdi + R10*8 ]
  vpmaddwd ymm2, [rdi + R10*8+32]
  vpmaddwd ymm4, [rdi + R10*8+2*32]
  vpmaddwd ymm6, [rdi + R10*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm13, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
+ vpaddd ymm13, ymm4
+ vpsrad ymm13, 10-8
  vpmaddwd ymm7, [rdi + R10*8 ]
- vpmaddwd ymm3, [rdi + R10*8+32]
+ vpmaddwd ymm15, [rdi + R10*8+32]
  vpmaddwd ymm1, [rdi + R10*8+2*32]
  vpmaddwd ymm3, [rdi + R10*8+3*32]
- vpaddd ymm7, ymm3
+ vpaddd ymm7, ymm15
  vpaddd ymm1, ymm3
  vpaddd ymm7, ymm1
  vpsrad ymm7, 10-8
- vpackssdw ymm0, ymm7
+ vpackssdw ymm13, ymm7
  add rdx, R8
 .loop
- vmovdqu ymm0, [rdx-3*2]
+ vmovdqu ymm14, [rdx-3*2]
  vmovdqu ymm7, [rdx-2*2]
  vmovdqu ymm2, [rdx-2 ]
- vmovdqu ymm3, [rdx ]
+ vmovdqu ymm15, [rdx ]
  vmovdqu ymm4, [rdx+2 ]
  vmovdqu ymm1, [rdx+2*2]
  vmovdqu ymm6, [rdx+3*2]
  vmovdqu ymm3, [rdx+4*2]
- vpunpckhdq ymm3, ymm0, ymm7
- vpunpckldq ymm0, ymm7
- vpunpckhdq ymm7, ymm2, ymm3
- vpunpckldq ymm2, ymm3
- vpunpckhdq ymm3, ymm4, ymm1
+ vpunpckhdq ymm5, ymm14, ymm7
+ vpunpckldq ymm14, ymm7
+ vpunpckhdq ymm7, ymm2, ymm15
+ vpunpckldq ymm2, ymm15
+ vpunpckhdq ymm15, ymm4, ymm1
  vpunpckldq ymm4, ymm1
  vpunpckhdq ymm1, ymm6, ymm3
  vpunpckldq ymm6, ymm3
  lea rdi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rdi + R10*8 ]
+ vpmaddwd ymm14, [rdi + R10*8 ]
  vpmaddwd ymm2, [rdi + R10*8+32]
  vpmaddwd ymm4, [rdi + R10*8+2*32]
  vpmaddwd ymm6, [rdi + R10*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm14, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
- vpmaddwd ymm3, [rdi + R10*8 ]
+ vpaddd ymm14, ymm4
+ vpsrad ymm14, 10-8
+ vpmaddwd ymm5, [rdi + R10*8 ]
  vpmaddwd ymm7, [rdi + R10*8+32]
- vpmaddwd ymm3, [rdi + R10*8+2*32]
+ vpmaddwd ymm15, [rdi + R10*8+2*32]
  vpmaddwd ymm1, [rdi + R10*8+3*32]
- vpaddd ymm3, ymm7
- vpaddd ymm3, ymm1
- vpaddd ymm3, ymm3
- vpsrad ymm3, 10-8
- vpackssdw ymm0, ymm3
- vpunpcklwd ymm0, ymm8, ymm9
- vpunpcklwd ymm2, ymm10, ymm11
- vpunpcklwd ymm4, ymm12, ymm13
- vpunpcklwd ymm6, ymm14, ymm7
- vpunpckhwd ymm3, ymm8, ymm9
- vpunpckhwd ymm7, ymm10, ymm11
- vpunpckhwd ymm3, ymm12, ymm13
- vpunpckhwd ymm1, ymm14, ymm7
+ vpaddd ymm5, ymm7
+ vpaddd ymm15, ymm1
+ vpaddd ymm5, ymm15
+ vpsrad ymm5, 10-8
+ vpackssdw ymm14, ymm5
+ vpunpcklwd ymm3, ymm0, ymm8
+ vpunpcklwd ymm2, ymm9, ymm10
+ vpunpcklwd ymm4, ymm11, ymm12
+ vpunpcklwd ymm6, ymm13, ymm14
+ vpunpckhwd ymm5, ymm0, ymm8
+ vpunpckhwd ymm7, ymm9, ymm10
+ vpunpckhwd ymm15, ymm11, ymm12
+ vpunpckhwd ymm1, ymm13, ymm14
  lea rdi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rdi + R11*8 ]
+ vpmaddwd ymm3, [rdi + R11*8 ]
  vpmaddwd ymm2, [rdi + R11*8+32]
  vpmaddwd ymm4, [rdi + R11*8+2*32]
  vpmaddwd ymm6, [rdi + R11*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm3, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 14-8
- vpmaddwd ymm3, [rdi + R11*8 ]
+ vpaddd ymm3, ymm4
+ vpsrad ymm3, 14-8
+ vpmaddwd ymm5, [rdi + R11*8 ]
  vpmaddwd ymm7, [rdi + R11*8+32]
- vpmaddwd ymm3, [rdi + R11*8+2*32]
+ vpmaddwd ymm15, [rdi + R11*8+2*32]
  vpmaddwd ymm1, [rdi + R11*8+3*32]
- vpaddd ymm3, ymm7
- vpaddd ymm3, ymm1
- vpaddd ymm3, ymm3
- vpsrad ymm3, 14-8
- vpackssdw ymm0, ymm3
- vmovdqu [rcx], ymm0
+ vpaddd ymm5, ymm7
+ vpaddd ymm15, ymm1
+ vpaddd ymm5, ymm15
+ vpsrad ymm5, 14-8
+ vpackssdw ymm3, ymm5
+ vmovdqu [rcx], ymm3
+ vmovdqa ymm0, ymm8
  vmovdqa ymm8, ymm9
  vmovdqa ymm9, ymm10
  vmovdqa ymm10, ymm11
  vmovdqa ymm11, ymm12
  vmovdqa ymm12, ymm13
  vmovdqa ymm13, ymm14
- vmovdqa ymm14, ymm7
  sub rcx, -128
  add rdx, R8
  dec R9d
@@ -29812,289 +29812,289 @@
  vpsrad ymm15, 10-8
  vpackssdw ymm0, ymm15
  add R8, R9
- vmovdqu ymm0, [R8-3*2]
- vmovdqu ymm3, [R8-2*2]
+ vmovdqu ymm8, [R8-3*2]
+ vmovdqu ymm15, [R8-2*2]
  vmovdqu ymm2, [R8-2 ]
  vmovdqu ymm1, [R8 ]
  vmovdqu ymm4, [R8+2 ]
  vmovdqu ymm3, [R8+2*2]
  vmovdqu ymm6, [R8+3*2]
  vmovdqu ymm5, [R8+4*2]
- vpunpckhdq ymm7, ymm0, ymm3
- vpunpckldq ymm0, ymm3
- vpunpckhdq ymm3, ymm2, ymm1
+ vpunpckhdq ymm7, ymm8, ymm15
+ vpunpckldq ymm8, ymm15
+ vpunpckhdq ymm15, ymm2, ymm1
  vpunpckldq ymm2, ymm1
  vpunpckhdq ymm1, ymm4, ymm3
  vpunpckldq ymm4, ymm3
  vpunpckhdq ymm3, ymm6, ymm5
  vpunpckldq ymm6, ymm5
  lea rsi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rsi + R11*8 ]
+ vpmaddwd ymm8, [rsi + R11*8 ]
  vpmaddwd ymm2, [rsi + R11*8+32]
  vpmaddwd ymm4, [rsi + R11*8+2*32]
  vpmaddwd ymm6, [rsi + R11*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm8, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
+ vpaddd ymm8, ymm4
+ vpsrad ymm8, 10-8
  vpmaddwd ymm7, [rsi + R11*8 ]
- vpmaddwd ymm3, [rsi + R11*8+32]
+ vpmaddwd ymm15, [rsi + R11*8+32]
  vpmaddwd ymm1, [rsi + R11*8+2*32]
  vpmaddwd ymm3, [rsi + R11*8+3*32]
- vpaddd ymm7, ymm3
+ vpaddd ymm7, ymm15
  vpaddd ymm1, ymm3
  vpaddd ymm7, ymm1
  vpsrad ymm7, 10-8
- vpackssdw ymm0, ymm7
+ vpackssdw ymm8, ymm7
  add R8, R9
- vmovdqu ymm0, [R8-3*2]
+ vmovdqu ymm9, [R8-3*2]
  vmovdqu ymm7, [R8-2*2]
  vmovdqu ymm2, [R8-2 ]
- vmovdqu ymm3, [R8 ]
+ vmovdqu ymm15, [R8 ]
  vmovdqu ymm4, [R8+2 ]
  vmovdqu ymm1, [R8+2*2]
  vmovdqu ymm6, [R8+3*2]
  vmovdqu ymm3, [R8+4*2]
- vpunpckhdq ymm5, ymm0, ymm7
- vpunpckldq ymm0, ymm7
- vpunpckhdq ymm7, ymm2, ymm3
- vpunpckldq ymm2, ymm3
- vpunpckhdq ymm3, ymm4, ymm1
+ vpunpckhdq ymm5, ymm9, ymm7
+ vpunpckldq ymm9, ymm7
+ vpunpckhdq ymm7, ymm2, ymm15
+ vpunpckldq ymm2, ymm15
+ vpunpckhdq ymm15, ymm4, ymm1
  vpunpckldq ymm4, ymm1
  vpunpckhdq ymm1, ymm6, ymm3
  vpunpckldq ymm6, ymm3
  lea rsi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rsi + R11*8 ]
+ vpmaddwd ymm9, [rsi + R11*8 ]
  vpmaddwd ymm2, [rsi + R11*8+32]
  vpmaddwd ymm4, [rsi + R11*8+2*32]
  vpmaddwd ymm6, [rsi + R11*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm9, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
+ vpaddd ymm9, ymm4
+ vpsrad ymm9, 10-8
  vpmaddwd ymm5, [rsi + R11*8 ]
  vpmaddwd ymm7, [rsi + R11*8+32]
- vpmaddwd ymm3, [rsi + R11*8+2*32]
+ vpmaddwd ymm15, [rsi + R11*8+2*32]
  vpmaddwd ymm1, [rsi + R11*8+3*32]
  vpaddd ymm5, ymm7
- vpaddd ymm3, ymm1
- vpaddd ymm5, ymm3
+ vpaddd ymm15, ymm1
+ vpaddd ymm5, ymm15
  vpsrad ymm5, 10-8
- vpackssdw ymm0, ymm5
+ vpackssdw ymm9, ymm5
  add R8, R9
- vmovdqu ymm0, [R8-3*2]
- vmovdqu ymm15, [R8-2*2]
+ vmovdqu ymm10, [R8-3*2]
+ vmovdqu ymm5, [R8-2*2]
  vmovdqu ymm2, [R8-2 ]
  vmovdqu ymm7, [R8 ]
  vmovdqu ymm4, [R8+2 ]
- vmovdqu ymm3, [R8+2*2]
+ vmovdqu ymm15, [R8+2*2]
  vmovdqu ymm6, [R8+3*2]
  vmovdqu ymm1, [R8+4*2]
- vpunpckhdq ymm3, ymm0, ymm15
- vpunpckldq ymm0, ymm15
- vpunpckhdq ymm15, ymm2, ymm7
+ vpunpckhdq ymm3, ymm10, ymm5
+ vpunpckldq ymm10, ymm5
+ vpunpckhdq ymm5, ymm2, ymm7
  vpunpckldq ymm2, ymm7
- vpunpckhdq ymm7, ymm4, ymm3
- vpunpckldq ymm4, ymm3
- vpunpckhdq ymm3, ymm6, ymm1
+ vpunpckhdq ymm7, ymm4, ymm15
+ vpunpckldq ymm4, ymm15
+ vpunpckhdq ymm15, ymm6, ymm1
  vpunpckldq ymm6, ymm1
  lea rsi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rsi + R11*8 ]
+ vpmaddwd ymm10, [rsi + R11*8 ]
  vpmaddwd ymm2, [rsi + R11*8+32]
  vpmaddwd ymm4, [rsi + R11*8+2*32]
  vpmaddwd ymm6, [rsi + R11*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm10, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
+ vpaddd ymm10, ymm4
+ vpsrad ymm10, 10-8
  vpmaddwd ymm3, [rsi + R11*8 ]
- vpmaddwd ymm15, [rsi + R11*8+32]
+ vpmaddwd ymm5, [rsi + R11*8+32]
  vpmaddwd ymm7, [rsi + R11*8+2*32]
- vpmaddwd ymm3, [rsi + R11*8+3*32]
- vpaddd ymm3, ymm15
- vpaddd ymm7, ymm3
+ vpmaddwd ymm15, [rsi + R11*8+3*32]
+ vpaddd ymm3, ymm5
+ vpaddd ymm7, ymm15
  vpaddd ymm3, ymm7
  vpsrad ymm3, 10-8
- vpackssdw ymm0, ymm3
+ vpackssdw ymm10, ymm3
  add R8, R9
- vmovdqu ymm0, [R8-3*2]
+ vmovdqu ymm11, [R8-3*2]
  vmovdqu ymm3, [R8-2*2]
  vmovdqu ymm2, [R8-2 ]
- vmovdqu ymm15, [R8 ]
+ vmovdqu ymm5, [R8 ]
  vmovdqu ymm4, [R8+2 ]
  vmovdqu ymm7, [R8+2*2]
  vmovdqu ymm6, [R8+3*2]
- vmovdqu ymm3, [R8+4*2]
- vpunpckhdq ymm1, ymm0, ymm3
- vpunpckldq ymm0, ymm3
- vpunpckhdq ymm3, ymm2, ymm15
- vpunpckldq ymm2, ymm15
- vpunpckhdq ymm15, ymm4, ymm7
+ vmovdqu ymm15, [R8+4*2]
+ vpunpckhdq ymm1, ymm11, ymm3
+ vpunpckldq ymm11, ymm3
+ vpunpckhdq ymm3, ymm2, ymm5
+ vpunpckldq ymm2, ymm5
+ vpunpckhdq ymm5, ymm4, ymm7
  vpunpckldq ymm4, ymm7
- vpunpckhdq ymm7, ymm6, ymm3
- vpunpckldq ymm6, ymm3
+ vpunpckhdq ymm7, ymm6, ymm15
+ vpunpckldq ymm6, ymm15
  lea rsi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rsi + R11*8 ]
+ vpmaddwd ymm11, [rsi + R11*8 ]
  vpmaddwd ymm2, [rsi + R11*8+32]
  vpmaddwd ymm4, [rsi + R11*8+2*32]
  vpmaddwd ymm6, [rsi + R11*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm11, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
+ vpaddd ymm11, ymm4
+ vpsrad ymm11, 10-8
  vpmaddwd ymm1, [rsi + R11*8 ]
  vpmaddwd ymm3, [rsi + R11*8+32]
- vpmaddwd ymm15, [rsi + R11*8+2*32]
+ vpmaddwd ymm5, [rsi + R11*8+2*32]
  vpmaddwd ymm7, [rsi + R11*8+3*32]
  vpaddd ymm1, ymm3
- vpaddd ymm15, ymm7
- vpaddd ymm1, ymm15
+ vpaddd ymm5, ymm7
+ vpaddd ymm1, ymm5
  vpsrad ymm1, 10-8
- vpackssdw ymm0, ymm1
+ vpackssdw ymm11, ymm1
  add R8, R9
- vmovdqu ymm0, [R8-3*2]
+ vmovdqu ymm12, [R8-3*2]
  vmovdqu ymm1, [R8-2*2]
  vmovdqu ymm2, [R8-2 ]
  vmovdqu ymm3, [R8 ]
  vmovdqu ymm4, [R8+2 ]
- vmovdqu ymm15, [R8+2*2]
+ vmovdqu ymm5, [R8+2*2]
  vmovdqu ymm6, [R8+3*2]
  vmovdqu ymm7, [R8+4*2]
- vpunpckhdq ymm3, ymm0, ymm1
- vpunpckldq ymm0, ymm1
+ vpunpckhdq ymm15, ymm12, ymm1
+ vpunpckldq ymm12, ymm1
  vpunpckhdq ymm1, ymm2, ymm3
  vpunpckldq ymm2, ymm3
- vpunpckhdq ymm3, ymm4, ymm15
- vpunpckldq ymm4, ymm15
- vpunpckhdq ymm15, ymm6, ymm7
+ vpunpckhdq ymm3, ymm4, ymm5
+ vpunpckldq ymm4, ymm5
+ vpunpckhdq ymm5, ymm6, ymm7
  vpunpckldq ymm6, ymm7
  lea rsi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rsi + R11*8 ]
+ vpmaddwd ymm12, [rsi + R11*8 ]
  vpmaddwd ymm2, [rsi + R11*8+32]
  vpmaddwd ymm4, [rsi + R11*8+2*32]
  vpmaddwd ymm6, [rsi + R11*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm12, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
- vpmaddwd ymm3, [rsi + R11*8 ]
+ vpaddd ymm12, ymm4
+ vpsrad ymm12, 10-8
+ vpmaddwd ymm15, [rsi + R11*8 ]
  vpmaddwd ymm1, [rsi + R11*8+32]
  vpmaddwd ymm3, [rsi + R11*8+2*32]
- vpmaddwd ymm15, [rsi + R11*8+3*32]
- vpaddd ymm3, ymm1
- vpaddd ymm3, ymm15
- vpaddd ymm3, ymm3
- vpsrad ymm3, 10-8
- vpackssdw ymm0, ymm3
+ vpmaddwd ymm5, [rsi + R11*8+3*32]
+ vpaddd ymm15, ymm1
+ vpaddd ymm3, ymm5
+ vpaddd ymm15, ymm3
+ vpsrad ymm15, 10-8
+ vpackssdw ymm12, ymm15
  add R8, R9
- vmovdqu ymm0, [R8-3*2]
- vmovdqu ymm3, [R8-2*2]
+ vmovdqu ymm13, [R8-3*2]
+ vmovdqu ymm15, [R8-2*2]
  vmovdqu ymm2, [R8-2 ]
  vmovdqu ymm1, [R8 ]
  vmovdqu ymm4, [R8+2 ]
  vmovdqu ymm3, [R8+2*2]
  vmovdqu ymm6, [R8+3*2]
- vmovdqu ymm15, [R8+4*2]
- vpunpckhdq ymm7, ymm0, ymm3
- vpunpckldq ymm0, ymm3
- vpunpckhdq ymm3, ymm2, ymm1
+ vmovdqu ymm5, [R8+4*2]
+ vpunpckhdq ymm7, ymm13, ymm15
+ vpunpckldq ymm13, ymm15
+ vpunpckhdq ymm15, ymm2, ymm1
  vpunpckldq ymm2, ymm1
  vpunpckhdq ymm1, ymm4, ymm3
  vpunpckldq ymm4, ymm3
- vpunpckhdq ymm3, ymm6, ymm15
- vpunpckldq ymm6, ymm15
+ vpunpckhdq ymm3, ymm6, ymm5
+ vpunpckldq ymm6, ymm5
  lea rsi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rsi + R11*8 ]
+ vpmaddwd ymm13, [rsi + R11*8 ]
  vpmaddwd ymm2, [rsi + R11*8+32]
  vpmaddwd ymm4, [rsi + R11*8+2*32]
  vpmaddwd ymm6, [rsi + R11*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm13, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
+ vpaddd ymm13, ymm4
+ vpsrad ymm13, 10-8
  vpmaddwd ymm7, [rsi + R11*8 ]
- vpmaddwd ymm3, [rsi + R11*8+32]
+ vpmaddwd ymm15, [rsi + R11*8+32]
  vpmaddwd ymm1, [rsi + R11*8+2*32]
  vpmaddwd ymm3, [rsi + R11*8+3*32]
- vpaddd ymm7, ymm3
+ vpaddd ymm7, ymm15
  vpaddd ymm1, ymm3
  vpaddd ymm7, ymm1
  vpsrad ymm7, 10-8
- vpackssdw ymm0, ymm7
+ vpackssdw ymm13, ymm7
  add R8, R9
 .loop
- vmovdqu ymm0, [R8-3*2]
+ vmovdqu ymm14, [R8-3*2]
  vmovdqu ymm7, [R8-2*2]
  vmovdqu ymm2, [R8-2 ]
- vmovdqu ymm3, [R8 ]
+ vmovdqu ymm15, [R8 ]
  vmovdqu ymm4, [R8+2 ]
  vmovdqu ymm1, [R8+2*2]
  vmovdqu ymm6, [R8+3*2]
  vmovdqu ymm3, [R8+4*2]
- vpunpckhdq ymm15, ymm0, ymm7
- vpunpckldq ymm0, ymm7
- vpunpckhdq ymm7, ymm2, ymm3
- vpunpckldq ymm2, ymm3
- vpunpckhdq ymm3, ymm4, ymm1
+ vpunpckhdq ymm5, ymm14, ymm7
+ vpunpckldq ymm14, ymm7
+ vpunpckhdq ymm7, ymm2, ymm15
+ vpunpckldq ymm2, ymm15
+ vpunpckhdq ymm15, ymm4, ymm1
  vpunpckldq ymm4, ymm1
  vpunpckhdq ymm1, ymm6, ymm3
  vpunpckldq ymm6, ymm3
  lea rsi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rsi + R11*8 ]
+ vpmaddwd ymm14, [rsi + R11*8 ]
  vpmaddwd ymm2, [rsi + R11*8+32]
  vpmaddwd ymm4, [rsi + R11*8+2*32]
  vpmaddwd ymm6, [rsi + R11*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm14, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
- vpmaddwd ymm15, [rsi + R11*8 ]
+ vpaddd ymm14, ymm4
+ vpsrad ymm14, 10-8
+ vpmaddwd ymm5, [rsi + R11*8 ]
  vpmaddwd ymm7, [rsi + R11*8+32]
- vpmaddwd ymm3, [rsi + R11*8+2*32]
+ vpmaddwd ymm15, [rsi + R11*8+2*32]
  vpmaddwd ymm1, [rsi + R11*8+3*32]
- vpaddd ymm15, ymm7
- vpaddd ymm3, ymm1
- vpaddd ymm15, ymm3
- vpsrad ymm15, 10-8
- vpackssdw ymm0, ymm15
- vpunpcklwd ymm0, ymm8, ymm9
- vpunpcklwd ymm2, ymm10, ymm11
- vpunpcklwd ymm4, ymm12, ymm13
- vpunpcklwd ymm6, ymm14, ymm7
- vpunpckhwd ymm15, ymm8, ymm9
- vpunpckhwd ymm7, ymm10, ymm11
- vpunpckhwd ymm3, ymm12, ymm13
- vpunpckhwd ymm1, ymm14, ymm7
+ vpaddd ymm5, ymm7
+ vpaddd ymm15, ymm1
+ vpaddd ymm5, ymm15
+ vpsrad ymm5, 10-8
+ vpackssdw ymm14, ymm5
+ vpunpcklwd ymm3, ymm0, ymm8
+ vpunpcklwd ymm2, ymm9, ymm10
+ vpunpcklwd ymm4, ymm11, ymm12
+ vpunpcklwd ymm6, ymm13, ymm14
+ vpunpckhwd ymm5, ymm0, ymm8
+ vpunpckhwd ymm7, ymm9, ymm10
+ vpunpckhwd ymm15, ymm11, ymm12
+ vpunpckhwd ymm1, ymm13, ymm14
  lea rsi, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rsi + rax*8 ]
+ vpmaddwd ymm3, [rsi + rax*8 ]
  vpmaddwd ymm2, [rsi + rax*8+32]
  vpmaddwd ymm4, [rsi + rax*8+2*32]
  vpmaddwd ymm6, [rsi + rax*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm3, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 14-8
- vpmaddwd ymm15, [rsi + rax*8 ]
+ vpaddd ymm3, ymm4
+ vpsrad ymm3, 14-8
+ vpmaddwd ymm5, [rsi + rax*8 ]
  vpmaddwd ymm7, [rsi + rax*8+32]
- vpmaddwd ymm3, [rsi + rax*8+2*32]
+ vpmaddwd ymm15, [rsi + rax*8+2*32]
  vpmaddwd ymm1, [rsi + rax*8+3*32]
- vpaddd ymm15, ymm7
- vpaddd ymm3, ymm1
- vpaddd ymm15, ymm3
- vpsrad ymm15, 14-8
- vpackusdw ymm0, ymm15
- vpmulhrsw ymm0, [pw_10]
- vpmulhrsw ymm15, [pw_10]
- vpminsw ymm0, [max_pixels_10]
- vpmaxsw ymm0, [zero]
- vmovdqu [rcx], ymm0
+ vpaddd ymm5, ymm7
+ vpaddd ymm15, ymm1
+ vpaddd ymm5, ymm15
+ vpsrad ymm5, 14-8
+ vpackusdw ymm3, ymm5
+ vpmulhrsw ymm3, [pw_10]
+ vpmulhrsw ymm5, [pw_10]
+ vpminsw ymm3, [max_pixels_10]
+ vpmaxsw ymm3, [zero]
+ vmovdqu [rcx], ymm3
+ vmovdqa ymm0, ymm8
  vmovdqa ymm8, ymm9
  vmovdqa ymm9, ymm10
  vmovdqa ymm10, ymm11
  vmovdqa ymm11, ymm12
  vmovdqa ymm12, ymm13
  vmovdqa ymm13, ymm14
- vmovdqa ymm14, ymm7
  add rcx, rdx
  add R8, R9
  dec R10d
@@ -30178,292 +30178,292 @@
  vpsrad ymm15, 10-8
  vpackssdw ymm0, ymm15
  add R8, R9
- vmovdqu ymm0, [R8-3*2]
- vmovdqu ymm3, [R8-2*2]
+ vmovdqu ymm8, [R8-3*2]
+ vmovdqu ymm15, [R8-2*2]
  vmovdqu ymm2, [R8-2 ]
  vmovdqu ymm1, [R8 ]
  vmovdqu ymm4, [R8+2 ]
  vmovdqu ymm3, [R8+2*2]
  vmovdqu ymm6, [R8+3*2]
  vmovdqu ymm5, [R8+4*2]
- vpunpckhdq ymm7, ymm0, ymm3
- vpunpckldq ymm0, ymm3
- vpunpckhdq ymm3, ymm2, ymm1
+ vpunpckhdq ymm7, ymm8, ymm15
+ vpunpckldq ymm8, ymm15
+ vpunpckhdq ymm15, ymm2, ymm1
  vpunpckldq ymm2, ymm1
  vpunpckhdq ymm1, ymm4, ymm3
  vpunpckldq ymm4, ymm3
  vpunpckhdq ymm3, ymm6, ymm5
  vpunpckldq ymm6, ymm5
  lea rbx, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rbx + rax*8 ]
+ vpmaddwd ymm8, [rbx + rax*8 ]
  vpmaddwd ymm2, [rbx + rax*8+32]
  vpmaddwd ymm4, [rbx + rax*8+2*32]
  vpmaddwd ymm6, [rbx + rax*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm8, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
+ vpaddd ymm8, ymm4
+ vpsrad ymm8, 10-8
  vpmaddwd ymm7, [rbx + rax*8 ]
- vpmaddwd ymm3, [rbx + rax*8+32]
+ vpmaddwd ymm15, [rbx + rax*8+32]
  vpmaddwd ymm1, [rbx + rax*8+2*32]
  vpmaddwd ymm3, [rbx + rax*8+3*32]
- vpaddd ymm7, ymm3
+ vpaddd ymm7, ymm15
  vpaddd ymm1, ymm3
  vpaddd ymm7, ymm1
  vpsrad ymm7, 10-8
- vpackssdw ymm0, ymm7
+ vpackssdw ymm8, ymm7
  add R8, R9
- vmovdqu ymm0, [R8-3*2]
+ vmovdqu ymm9, [R8-3*2]
  vmovdqu ymm7, [R8-2*2]
  vmovdqu ymm2, [R8-2 ]
- vmovdqu ymm3, [R8 ]
+ vmovdqu ymm15, [R8 ]
  vmovdqu ymm4, [R8+2 ]
  vmovdqu ymm1, [R8+2*2]
  vmovdqu ymm6, [R8+3*2]
  vmovdqu ymm3, [R8+4*2]
- vpunpckhdq ymm5, ymm0, ymm7
- vpunpckldq ymm0, ymm7
- vpunpckhdq ymm7, ymm2, ymm3
- vpunpckldq ymm2, ymm3
- vpunpckhdq ymm3, ymm4, ymm1
+ vpunpckhdq ymm5, ymm9, ymm7
+ vpunpckldq ymm9, ymm7
+ vpunpckhdq ymm7, ymm2, ymm15
+ vpunpckldq ymm2, ymm15
+ vpunpckhdq ymm15, ymm4, ymm1
  vpunpckldq ymm4, ymm1
  vpunpckhdq ymm1, ymm6, ymm3
  vpunpckldq ymm6, ymm3
  lea rbx, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rbx + rax*8 ]
+ vpmaddwd ymm9, [rbx + rax*8 ]
  vpmaddwd ymm2, [rbx + rax*8+32]
  vpmaddwd ymm4, [rbx + rax*8+2*32]
  vpmaddwd ymm6, [rbx + rax*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm9, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
+ vpaddd ymm9, ymm4
+ vpsrad ymm9, 10-8
  vpmaddwd ymm5, [rbx + rax*8 ]
  vpmaddwd ymm7, [rbx + rax*8+32]
- vpmaddwd ymm3, [rbx + rax*8+2*32]
+ vpmaddwd ymm15, [rbx + rax*8+2*32]
  vpmaddwd ymm1, [rbx + rax*8+3*32]
  vpaddd ymm5, ymm7
- vpaddd ymm3, ymm1
- vpaddd ymm5, ymm3
+ vpaddd ymm15, ymm1
+ vpaddd ymm5, ymm15
  vpsrad ymm5, 10-8
- vpackssdw ymm0, ymm5
+ vpackssdw ymm9, ymm5
  add R8, R9
- vmovdqu ymm0, [R8-3*2]
- vmovdqu ymm15, [R8-2*2]
+ vmovdqu ymm10, [R8-3*2]
+ vmovdqu ymm5, [R8-2*2]
  vmovdqu ymm2, [R8-2 ]
  vmovdqu ymm7, [R8 ]
  vmovdqu ymm4, [R8+2 ]
- vmovdqu ymm3, [R8+2*2]
+ vmovdqu ymm15, [R8+2*2]
  vmovdqu ymm6, [R8+3*2]
  vmovdqu ymm1, [R8+4*2]
- vpunpckhdq ymm3, ymm0, ymm15
- vpunpckldq ymm0, ymm15
- vpunpckhdq ymm15, ymm2, ymm7
+ vpunpckhdq ymm3, ymm10, ymm5
+ vpunpckldq ymm10, ymm5
+ vpunpckhdq ymm5, ymm2, ymm7
  vpunpckldq ymm2, ymm7
- vpunpckhdq ymm7, ymm4, ymm3
- vpunpckldq ymm4, ymm3
- vpunpckhdq ymm3, ymm6, ymm1
+ vpunpckhdq ymm7, ymm4, ymm15
+ vpunpckldq ymm4, ymm15
+ vpunpckhdq ymm15, ymm6, ymm1
  vpunpckldq ymm6, ymm1
  lea rbx, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rbx + rax*8 ]
+ vpmaddwd ymm10, [rbx + rax*8 ]
  vpmaddwd ymm2, [rbx + rax*8+32]
  vpmaddwd ymm4, [rbx + rax*8+2*32]
  vpmaddwd ymm6, [rbx + rax*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm10, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
+ vpaddd ymm10, ymm4
+ vpsrad ymm10, 10-8
  vpmaddwd ymm3, [rbx + rax*8 ]
- vpmaddwd ymm15, [rbx + rax*8+32]
+ vpmaddwd ymm5, [rbx + rax*8+32]
  vpmaddwd ymm7, [rbx + rax*8+2*32]
- vpmaddwd ymm3, [rbx + rax*8+3*32]
- vpaddd ymm3, ymm15
- vpaddd ymm7, ymm3
+ vpmaddwd ymm15, [rbx + rax*8+3*32]
+ vpaddd ymm3, ymm5
+ vpaddd ymm7, ymm15
  vpaddd ymm3, ymm7
  vpsrad ymm3, 10-8
- vpackssdw ymm0, ymm3
+ vpackssdw ymm10, ymm3
  add R8, R9
- vmovdqu ymm0, [R8-3*2]
+ vmovdqu ymm11, [R8-3*2]
  vmovdqu ymm3, [R8-2*2]
  vmovdqu ymm2, [R8-2 ]
- vmovdqu ymm15, [R8 ]
+ vmovdqu ymm5, [R8 ]
  vmovdqu ymm4, [R8+2 ]
  vmovdqu ymm7, [R8+2*2]
  vmovdqu ymm6, [R8+3*2]
- vmovdqu ymm3, [R8+4*2]
- vpunpckhdq ymm1, ymm0, ymm3
- vpunpckldq ymm0, ymm3
- vpunpckhdq ymm3, ymm2, ymm15
- vpunpckldq ymm2, ymm15
- vpunpckhdq ymm15, ymm4, ymm7
+ vmovdqu ymm15, [R8+4*2]
+ vpunpckhdq ymm1, ymm11, ymm3
+ vpunpckldq ymm11, ymm3
+ vpunpckhdq ymm3, ymm2, ymm5
+ vpunpckldq ymm2, ymm5
+ vpunpckhdq ymm5, ymm4, ymm7
  vpunpckldq ymm4, ymm7
- vpunpckhdq ymm7, ymm6, ymm3
- vpunpckldq ymm6, ymm3
+ vpunpckhdq ymm7, ymm6, ymm15
+ vpunpckldq ymm6, ymm15
  lea rbx, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rbx + rax*8 ]
+ vpmaddwd ymm11, [rbx + rax*8 ]
  vpmaddwd ymm2, [rbx + rax*8+32]
  vpmaddwd ymm4, [rbx + rax*8+2*32]
  vpmaddwd ymm6, [rbx + rax*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm11, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
+ vpaddd ymm11, ymm4
+ vpsrad ymm11, 10-8
  vpmaddwd ymm1, [rbx + rax*8 ]
  vpmaddwd ymm3, [rbx + rax*8+32]
- vpmaddwd ymm15, [rbx + rax*8+2*32]
+ vpmaddwd ymm5, [rbx + rax*8+2*32]
  vpmaddwd ymm7, [rbx + rax*8+3*32]
  vpaddd ymm1, ymm3
- vpaddd ymm15, ymm7
- vpaddd ymm1, ymm15
+ vpaddd ymm5, ymm7
+ vpaddd ymm1, ymm5
  vpsrad ymm1, 10-8
- vpackssdw ymm0, ymm1
+ vpackssdw ymm11, ymm1
  add R8, R9
- vmovdqu ymm0, [R8-3*2]
+ vmovdqu ymm12, [R8-3*2]
  vmovdqu ymm1, [R8-2*2]
  vmovdqu ymm2, [R8-2 ]
  vmovdqu ymm3, [R8 ]
  vmovdqu ymm4, [R8+2 ]
- vmovdqu ymm15, [R8+2*2]
+ vmovdqu ymm5, [R8+2*2]
  vmovdqu ymm6, [R8+3*2]
  vmovdqu ymm7, [R8+4*2]
- vpunpckhdq ymm3, ymm0, ymm1
- vpunpckldq ymm0, ymm1
+ vpunpckhdq ymm15, ymm12, ymm1
+ vpunpckldq ymm12, ymm1
  vpunpckhdq ymm1, ymm2, ymm3
  vpunpckldq ymm2, ymm3
- vpunpckhdq ymm3, ymm4, ymm15
- vpunpckldq ymm4, ymm15
- vpunpckhdq ymm15, ymm6, ymm7
+ vpunpckhdq ymm3, ymm4, ymm5
+ vpunpckldq ymm4, ymm5
+ vpunpckhdq ymm5, ymm6, ymm7
  vpunpckldq ymm6, ymm7
  lea rbx, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rbx + rax*8 ]
+ vpmaddwd ymm12, [rbx + rax*8 ]
  vpmaddwd ymm2, [rbx + rax*8+32]
  vpmaddwd ymm4, [rbx + rax*8+2*32]
  vpmaddwd ymm6, [rbx + rax*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm12, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
- vpmaddwd ymm3, [rbx + rax*8 ]
+ vpaddd ymm12, ymm4
+ vpsrad ymm12, 10-8
+ vpmaddwd ymm15, [rbx + rax*8 ]
  vpmaddwd ymm1, [rbx + rax*8+32]
  vpmaddwd ymm3, [rbx + rax*8+2*32]
- vpmaddwd ymm15, [rbx + rax*8+3*32]
- vpaddd ymm3, ymm1
- vpaddd ymm3, ymm15
- vpaddd ymm3, ymm3
- vpsrad ymm3, 10-8
- vpackssdw ymm0, ymm3
+ vpmaddwd ymm5, [rbx + rax*8+3*32]
+ vpaddd ymm15, ymm1
+ vpaddd ymm3, ymm5
+ vpaddd ymm15, ymm3
+ vpsrad ymm15, 10-8
+ vpackssdw ymm12, ymm15
  add R8, R9
- vmovdqu ymm0, [R8-3*2]
- vmovdqu ymm3, [R8-2*2]
+ vmovdqu ymm13, [R8-3*2]
+ vmovdqu ymm15, [R8-2*2]
  vmovdqu ymm2, [R8-2 ]
  vmovdqu ymm1, [R8 ]
  vmovdqu ymm4, [R8+2 ]
  vmovdqu ymm3, [R8+2*2]
  vmovdqu ymm6, [R8+3*2]
- vmovdqu ymm15, [R8+4*2]
- vpunpckhdq ymm7, ymm0, ymm3
- vpunpckldq ymm0, ymm3
- vpunpckhdq ymm3, ymm2, ymm1
+ vmovdqu ymm5, [R8+4*2]
+ vpunpckhdq ymm7, ymm13, ymm15
+ vpunpckldq ymm13, ymm15
+ vpunpckhdq ymm15, ymm2, ymm1
  vpunpckldq ymm2, ymm1
  vpunpckhdq ymm1, ymm4, ymm3
  vpunpckldq ymm4, ymm3
- vpunpckhdq ymm3, ymm6, ymm15
- vpunpckldq ymm6, ymm15
+ vpunpckhdq ymm3, ymm6, ymm5
+ vpunpckldq ymm6, ymm5
  lea rbx, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rbx + rax*8 ]
+ vpmaddwd ymm13, [rbx + rax*8 ]
  vpmaddwd ymm2, [rbx + rax*8+32]
  vpmaddwd ymm4, [rbx + rax*8+2*32]
  vpmaddwd ymm6, [rbx + rax*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm13, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
+ vpaddd ymm13, ymm4
+ vpsrad ymm13, 10-8
  vpmaddwd ymm7, [rbx + rax*8 ]
- vpmaddwd ymm3, [rbx + rax*8+32]
+ vpmaddwd ymm15, [rbx + rax*8+32]
  vpmaddwd ymm1, [rbx + rax*8+2*32]
  vpmaddwd ymm3, [rbx + rax*8+3*32]
- vpaddd ymm7, ymm3
+ vpaddd ymm7, ymm15
  vpaddd ymm1, ymm3
  vpaddd ymm7, ymm1
  vpsrad ymm7, 10-8
- vpackssdw ymm0, ymm7
+ vpackssdw ymm13, ymm7
  add R8, R9
 .loop
- vmovdqu ymm0, [R8-3*2]
+ vmovdqu ymm14, [R8-3*2]
  vmovdqu ymm7, [R8-2*2]
  vmovdqu ymm2, [R8-2 ]
- vmovdqu ymm3, [R8 ]
+ vmovdqu ymm15, [R8 ]
  vmovdqu ymm4, [R8+2 ]
  vmovdqu ymm1, [R8+2*2]
  vmovdqu ymm6, [R8+3*2]
  vmovdqu ymm3, [R8+4*2]
- vpunpckhdq ymm15, ymm0, ymm7
- vpunpckldq ymm0, ymm7
- vpunpckhdq ymm7, ymm2, ymm3
- vpunpckldq ymm2, ymm3
- vpunpckhdq ymm3, ymm4, ymm1
+ vpunpckhdq ymm5, ymm14, ymm7
+ vpunpckldq ymm14, ymm7
+ vpunpckhdq ymm7, ymm2, ymm15
+ vpunpckldq ymm2, ymm15
+ vpunpckhdq ymm15, ymm4, ymm1
  vpunpckldq ymm4, ymm1
  vpunpckhdq ymm1, ymm6, ymm3
  vpunpckldq ymm6, ymm3
  lea rbx, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rbx + rax*8 ]
+ vpmaddwd ymm14, [rbx + rax*8 ]
  vpmaddwd ymm2, [rbx + rax*8+32]
  vpmaddwd ymm4, [rbx + rax*8+2*32]
  vpmaddwd ymm6, [rbx + rax*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm14, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 10-8
- vpmaddwd ymm15, [rbx + rax*8 ]
+ vpaddd ymm14, ymm4
+ vpsrad ymm14, 10-8
+ vpmaddwd ymm5, [rbx + rax*8 ]
  vpmaddwd ymm7, [rbx + rax*8+32]
- vpmaddwd ymm3, [rbx + rax*8+2*32]
+ vpmaddwd ymm15, [rbx + rax*8+2*32]
  vpmaddwd ymm1, [rbx + rax*8+3*32]
- vpaddd ymm15, ymm7
- vpaddd ymm3, ymm1
- vpaddd ymm15, ymm3
- vpsrad ymm15, 10-8
- vpackssdw ymm0, ymm15
- vpunpcklwd ymm0, ymm8, ymm9
- vpunpcklwd ymm2, ymm10, ymm11
- vpunpcklwd ymm4, ymm12, ymm13
- vpunpcklwd ymm6, ymm14, ymm7
- vpunpckhwd ymm15, ymm8, ymm9
- vpunpckhwd ymm7, ymm10, ymm11
- vpunpckhwd ymm3, ymm12, ymm13
- vpunpckhwd ymm1, ymm14, ymm7
+ vpaddd ymm5, ymm7
+ vpaddd ymm15, ymm1
+ vpaddd ymm5, ymm15
+ vpsrad ymm5, 10-8
+ vpackssdw ymm14, ymm5
+ vpunpcklwd ymm3, ymm0, ymm8
+ vpunpcklwd ymm2, ymm9, ymm10
+ vpunpcklwd ymm4, ymm11, ymm12
+ vpunpcklwd ymm6, ymm13, ymm14
+ vpunpckhwd ymm5, ymm0, ymm8
+ vpunpckhwd ymm7, ymm9, ymm10
+ vpunpckhwd ymm15, ymm11, ymm12
+ vpunpckhwd ymm1, ymm13, ymm14
  lea rbx, [hevc_qpel_filters_avx2_10]
- vpmaddwd ymm0, [rbx + rdi*8 ]
+ vpmaddwd ymm3, [rbx + rdi*8 ]
  vpmaddwd ymm2, [rbx + rdi*8+32]
  vpmaddwd ymm4, [rbx + rdi*8+2*32]
  vpmaddwd ymm6, [rbx + rdi*8+3*32]
- vpaddd ymm0, ymm2
+ vpaddd ymm3, ymm2
  vpaddd ymm4, ymm6
- vpaddd ymm0, ymm4
- vpsrad ymm0, 14-8
- vpmaddwd ymm15, [rbx + rdi*8 ]
+ vpaddd ymm3, ymm4
+ vpsrad ymm3, 14-8
+ vpmaddwd ymm5, [rbx + rdi*8 ]
  vpmaddwd ymm7, [rbx + rdi*8+32]
- vpmaddwd ymm3, [rbx + rdi*8+2*32]
+ vpmaddwd ymm15, [rbx + rdi*8+2*32]
  vpmaddwd ymm1, [rbx + rdi*8+3*32]
- vpaddd ymm15, ymm7
- vpaddd ymm3, ymm1
- vpaddd ymm15, ymm3
- vpsrad ymm15, 14-8
- vpackssdw ymm0, ymm15
- vmovdqu ymm8, [R10]
- vpaddsw ymm0, ymm8
- vpaddsw ymm15, ymm9
- vpmulhrsw ymm0, [pw_bi_10]
- vpmulhrsw ymm15, [pw_bi_10]
- vpminsw ymm0, [max_pixels_10]
- vpmaxsw ymm0, [zero]
- vmovdqu [rcx], ymm0
+ vpaddd ymm5, ymm7
+ vpaddd ymm15, ymm1
+ vpaddd ymm5, ymm15
+ vpsrad ymm5, 14-8
+ vpackssdw ymm3, ymm5
+ vmovdqu ymm0, [R10]
+ vpaddsw ymm3, ymm0
+ vpaddsw ymm5, ymm8
+ vpmulhrsw ymm3, [pw_bi_10]
+ vpmulhrsw ymm5, [pw_bi_10]
+ vpminsw ymm3, [max_pixels_10]
+ vpmaxsw ymm3, [zero]
+ vmovdqu [rcx], ymm3
+ vmovdqa ymm0, ymm8
  vmovdqa ymm8, ymm9
  vmovdqa ymm9, ymm10
  vmovdqa ymm10, ymm11
  vmovdqa ymm11, ymm12
  vmovdqa ymm12, ymm13
  vmovdqa ymm13, ymm14
- vmovdqa ymm14, ymm7
  add rcx, rdx
  add R8, R9
  sub R10, -128


More information about the ffmpeg-devel mailing list