[x265] [PATCH 264 of 307] x86: AVX512 Clean up of luma_hps and chroma_hps
mythreyi at multicorewareinc.com
mythreyi at multicorewareinc.com
Sat Apr 7 04:34:22 CEST 2018
# HG changeset patch
# User Jayashri Murugan <jayashri at multicorewareinc.com>
# Date 1513231602 -19800
# Thu Dec 14 11:36:42 2017 +0530
# Node ID 0b38182facb66543adfbf9664cda085f7e641327
# Parent 1480076a7bdda5ca31776adf31c087268f232107
x86: AVX512 Clean up of luma_hps and chroma_hps
diff -r 1480076a7bdd -r 0b38182facb6 source/common/x86/ipfilter16.asm
--- a/source/common/x86/ipfilter16.asm Thu Dec 14 10:52:59 2017 +0530
+++ b/source/common/x86/ipfilter16.asm Thu Dec 14 11:36:42 2017 +0530
@@ -6865,8 +6865,8 @@
%if ARCH_X86_64 == 1
INIT_ZMM avx512
cglobal interp_4tap_horiz_ps_32x%1, 4,7,9
- add r1d, r1d
- add r3d, r3d
+ shl r1d, 1
+ shl r3d, 1
mov r4d, r4m
mov r5d, r5m
%ifdef PIC
@@ -7063,8 +7063,8 @@
%if ARCH_X86_64 == 1
INIT_ZMM avx512
cglobal interp_4tap_horiz_ps_64x%1, 4,7,9
- add r1d, r1d
- add r3d, r3d
+ shl r1d, 1
+ shl r3d, 1
mov r4d, r4m
mov r5d, r5m
%ifdef PIC
@@ -7159,8 +7159,8 @@
%if ARCH_X86_64 == 1
INIT_ZMM avx512
cglobal interp_4tap_horiz_ps_16x%1, 4,7,9
- add r1d, r1d
- add r3d, r3d
+ shl r1d, 1
+ shl r3d, 1
mov r4d, r4m
mov r5d, r5m
%ifdef PIC
@@ -7341,8 +7341,8 @@
%if ARCH_X86_64 == 1
INIT_ZMM avx512
cglobal interp_4tap_horiz_ps_48x64, 4,7,9
- add r1d, r1d
- add r3d, r3d
+ shl r1d, 1
+ shl r3d, 1
mov r4d, r4m
mov r5d, r5m
@@ -7454,8 +7454,8 @@
%macro IPFILTER_CHROMA_PS_AVX512_8xN 1
INIT_ZMM avx512
cglobal interp_4tap_horiz_ps_8x%1, 4,9,9
- add r1d, r1d
- add r3d, r3d
+ shl r1d, 1
+ shl r3d, 1
mov r4d, r4m
mov r5d, r5m
@@ -7680,8 +7680,8 @@
%macro IPFILTER_CHROMA_PS_AVX512_24xN 1
INIT_ZMM avx512
cglobal interp_4tap_horiz_ps_24x%1, 4,9,9
- add r1d, r1d
- add r3d, r3d
+ shl r1d, 1
+ shl r3d, 1
mov r4d, r4m
mov r5d, r5m
@@ -10560,27 +10560,28 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
+
paddd m8, m11
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
pmaddwd m13, m3
pmaddwd m10, m2
paddd m10, m13
+
paddd m9, m10
paddd m9, m6
psrad m9, INTERP_SHIFT_PS
@@ -10595,27 +10596,28 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
+
paddd m8, m11
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
pmaddwd m12, m13, m3
pmaddwd m14, m10, m2
paddd m12, m14
+
paddd m9, m12
paddd m9, m6
psrad m9, INTERP_SHIFT_PS
@@ -10632,27 +10634,28 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
+
paddd m8, m11
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
pmaddwd m13, m3
pmaddwd m10, m2
paddd m10, m13
+
paddd m9, m10
paddd m9, m6
psrad m9, INTERP_SHIFT_PS
@@ -10665,8 +10668,8 @@
%macro IPFILTER_LUMA_PS_AVX512_32xN 1
INIT_ZMM avx512
cglobal interp_8tap_horiz_ps_32x%1, 4,7,15
- add r1d, r1d
- add r3d, r3d
+ shl r1d, 1
+ shl r3d, 1
mov r4d, r4m
mov r5d, r5m
shl r4d, 6
@@ -10730,14 +10733,47 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
+ pmaddwd m11, m12, m3
+ pmaddwd m14, m9, m2
+ paddd m11, m14
+
+ paddd m8, m11
+ paddd m8, m6
+ psrad m8, INTERP_SHIFT_PS
+
+ pshufb m13, m10, m5
+ pshufb m10, m4
+ pmaddwd m9, m0
+ pmaddwd m12, m1
+ paddd m9, m12
+ pmaddwd m13, m3
+ pmaddwd m10, m2
+ paddd m10, m13
+
+ paddd m9, m10
+ paddd m9, m6
+ psrad m9, INTERP_SHIFT_PS
+
+ packssdw m8, m9
+ pshufb m8, m7
+ movu [r2], m8
+
+ movu m8, [r0 + mmsize]
+ movu m9, [r0 + mmsize + 8]
+ movu m10, [r0 + mmsize + 16]
+
+ pshufb m11, m8, m5
+ pshufb m8, m4
+ pmaddwd m8, m0
+ pmaddwd m11, m1
+ paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -10745,6 +10781,8 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -10757,22 +10795,19 @@
packssdw m8, m9
pshufb m8, m7
- movu [r2], m8
-
- movu m8, [r0 + mmsize]
- movu m9, [r0 + mmsize + 8]
- movu m10, [r0 + mmsize + 16]
+ movu [r2 + mmsize], m8
+
+ movu m8, [r0 + r1]
+ movu m9, [r0 + r1 + 8]
+ movu m10, [r0 + r1 + 16]
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -10780,6 +10815,79 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
+ pmaddwd m9, m0
+ pmaddwd m12, m1
+ paddd m9, m12
+ pmaddwd m12, m13, m3
+ pmaddwd m14, m10, m2
+ paddd m12, m14
+ paddd m9, m12
+ paddd m9, m6
+ psrad m9, INTERP_SHIFT_PS
+
+ packssdw m8, m9
+ pshufb m8, m7
+ movu [r2 + r3],m8
+
+ movu m8, [r0 + r1 + mmsize]
+ movu m9, [r0 + r1 + mmsize + 8]
+ movu m10, [r0 + r1 + mmsize + 16]
+
+ pshufb m11, m8, m5
+ pshufb m8, m4
+ pmaddwd m8, m0
+ pmaddwd m11, m1
+ paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
+ pmaddwd m11, m12, m3
+ pmaddwd m14, m9, m2
+ paddd m11, m14
+ paddd m8, m11
+ paddd m8, m6
+ psrad m8, INTERP_SHIFT_PS
+
+ pshufb m13, m10, m5
+ pshufb m10, m4
+ pmaddwd m9, m0
+ pmaddwd m12, m1
+ paddd m9, m12
+ pmaddwd m12, m13, m3
+ pmaddwd m14, m10, m2
+ paddd m12, m14
+ paddd m9, m12
+ paddd m9, m6
+ psrad m9, INTERP_SHIFT_PS
+
+ packssdw m8, m9
+ pshufb m8, m7
+ movu [r2 + r3 + mmsize], m8
+%endmacro
+
+%macro PROCESS_IPFILTER_LUMA_PS_64x1_AVX512 0
+
+ movu m8, [r0]
+ movu m9, [r0 + 8]
+ movu m10, [r0 + 16]
+
+ pshufb m11, m8, m5
+ pshufb m8, m4
+ pmaddwd m8, m0
+ pmaddwd m11, m1
+ paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
+ pmaddwd m11, m12, m3
+ pmaddwd m14, m9, m2
+ paddd m11, m14
+ paddd m8, m11
+ paddd m8, m6
+ psrad m8, INTERP_SHIFT_PS
+
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -10792,22 +10900,19 @@
packssdw m8, m9
pshufb m8, m7
- movu [r2 + mmsize], m8
-
- movu m8, [r0 + r1]
- movu m9, [r0 + r1 + 8]
- movu m10, [r0 + r1 + 16]
+ movu [r2], m8
+
+ movu m8, [r0 + mmsize]
+ movu m9, [r0 + mmsize + 8]
+ movu m10, [r0 + mmsize + 16]
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -10815,79 +10920,8 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
- pmaddwd m9, m0
- pmaddwd m12, m1
- paddd m9, m12
- pmaddwd m12, m13, m3
- pmaddwd m14, m10, m2
- paddd m12, m14
- paddd m9, m12
- paddd m9, m6
- psrad m9, INTERP_SHIFT_PS
-
- packssdw m8, m9
- pshufb m8, m7
- movu [r2 + r3],m8
-
- movu m8, [r0 + r1 + mmsize]
- movu m9, [r0 + r1 + mmsize + 8]
- movu m10, [r0 + r1 + mmsize + 16]
-
- pshufb m11, m8, m5
- pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
pshufb m13, m10, m5
pshufb m10, m4
-
- pmaddwd m8, m0
- pmaddwd m11, m1
- paddd m8, m11
- pmaddwd m11, m12, m3
- pmaddwd m14, m9, m2
- paddd m11, m14
- paddd m8, m11
- paddd m8, m6
- psrad m8, INTERP_SHIFT_PS
-
- pmaddwd m9, m0
- pmaddwd m12, m1
- paddd m9, m12
- pmaddwd m12, m13, m3
- pmaddwd m14, m10, m2
- paddd m12, m14
- paddd m9, m12
- paddd m9, m6
- psrad m9, INTERP_SHIFT_PS
-
- packssdw m8, m9
- pshufb m8, m7
- movu [r2 + r3 + mmsize], m8
-%endmacro
-
-%macro PROCESS_IPFILTER_LUMA_PS_64x1_AVX512 0
-
- movu m8, [r0]
- movu m9, [r0 + 8]
- movu m10, [r0 + 16]
-
- pshufb m11, m8, m5
- pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
- pmaddwd m8, m0
- pmaddwd m11, m1
- paddd m8, m11
- pmaddwd m11, m12, m3
- pmaddwd m14, m9, m2
- paddd m11, m14
- paddd m8, m11
- paddd m8, m6
- psrad m8, INTERP_SHIFT_PS
-
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -10900,49 +10934,14 @@
packssdw m8, m9
pshufb m8, m7
- movu [r2], m8
-
- movu m8, [r0 + mmsize]
- movu m9, [r0 + mmsize + 8]
- movu m10, [r0 + mmsize + 16]
-
- pshufb m11, m8, m5
- pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
- pmaddwd m8, m0
- pmaddwd m11, m1
- paddd m8, m11
- pmaddwd m11, m12, m3
- pmaddwd m14, m9, m2
- paddd m11, m14
- paddd m8, m11
- paddd m8, m6
- psrad m8, INTERP_SHIFT_PS
-
- pmaddwd m9, m0
- pmaddwd m12, m1
- paddd m9, m12
- pmaddwd m13, m3
- pmaddwd m10, m2
- paddd m10, m13
- paddd m9, m10
- paddd m9, m6
- psrad m9, INTERP_SHIFT_PS
-
- packssdw m8, m9
- pshufb m8, m7
movu [r2 + mmsize], m8
%endmacro
%macro IPFILTER_LUMA_PS_AVX512_64xN 1
INIT_ZMM avx512
cglobal interp_8tap_horiz_ps_64x%1, 4,7,15
- add r1d, r1d
- add r3d, r3d
+ shl r1d, 1
+ shl r3d, 1
mov r4d, r4m
mov r5d, r5m
shl r4d, 6
@@ -11008,14 +11007,11 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -11023,6 +11019,8 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -11047,14 +11045,11 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -11062,6 +11057,8 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -11088,14 +11085,11 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -11103,6 +11097,8 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -11124,14 +11120,11 @@
pshufb ym11, ym8, ym5
pshufb ym8, ym4
- pshufb ym12, ym9, ym5
- pshufb ym9, ym4
- pshufb ym13, ym10, ym5
- pshufb ym10, ym4
-
pmaddwd ym8, ym0
pmaddwd ym11, ym1
paddd ym8, ym11
+ pshufb ym12, ym9, ym5
+ pshufb ym9, ym4
pmaddwd ym11, ym12, ym3
pmaddwd ym14, ym9, ym2
paddd ym11, ym14
@@ -11139,6 +11132,8 @@
paddd ym8, ym6
psrad ym8, INTERP_SHIFT_PS
+ pshufb ym13, ym10, ym5
+ pshufb ym10, ym4
pmaddwd ym9, ym0
pmaddwd ym12, ym1
paddd ym9, ym12
@@ -11158,8 +11153,8 @@
%macro IPFILTER_LUMA_PS_AVX512_16xN 1
INIT_ZMM avx512
cglobal interp_8tap_horiz_ps_16x%1, 4,9,15
- add r1d, r1d
- add r3d, r3d
+ shl r1d, 1
+ shl r3d, 1
mov r4d, r4m
mov r5d, r5m
shl r4d, 6
@@ -11226,14 +11221,11 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -11241,6 +11233,8 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -11261,14 +11255,11 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -11276,6 +11267,8 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -11296,14 +11289,11 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -11311,6 +11301,8 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -11331,14 +11323,11 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -11346,6 +11335,8 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -11369,14 +11360,11 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -11384,6 +11372,8 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -11408,14 +11398,11 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -11423,6 +11410,8 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -11446,14 +11435,11 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -11461,6 +11447,8 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -11481,14 +11469,11 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -11496,6 +11481,8 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -11516,14 +11503,11 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -11531,6 +11515,8 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -11554,14 +11540,11 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
@@ -11569,6 +11552,8 @@
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
@@ -11590,14 +11575,11 @@
pshufb ym11, ym8, ym5
pshufb ym8, ym4
- pshufb ym12, ym9, ym5
- pshufb ym9, ym4
- pshufb ym13, ym10, ym5
- pshufb ym10, ym4
-
pmaddwd ym8, ym0
pmaddwd ym11, ym1
paddd ym8, ym11
+ pshufb ym12, ym9, ym5
+ pshufb ym9, ym4
pmaddwd ym11, ym12, ym3
pmaddwd ym14, ym9, ym2
paddd ym11, ym14
@@ -11605,6 +11587,8 @@
paddd ym8, ym6
psrad ym8, INTERP_SHIFT_PS
+ pshufb ym13, ym10, ym5
+ pshufb ym10, ym4
pmaddwd ym9, ym0
pmaddwd ym12, ym1
paddd ym9, ym12
@@ -11623,8 +11607,8 @@
%if ARCH_X86_64
INIT_ZMM avx512
cglobal interp_8tap_horiz_ps_48x64, 4,9,15
- add r1d, r1d
- add r3d, r3d
+ shl r1d, 1
+ shl r3d, 1
mov r4d, r4m
mov r5d, r5m
shl r4d, 6
@@ -11695,27 +11679,28 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
+
paddd m8, m11
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
pmaddwd m13, m3
pmaddwd m10, m2
paddd m10, m13
+
paddd m9, m10
paddd m9, m6
psrad m9, INTERP_SHIFT_PS
@@ -11746,27 +11731,28 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
+
paddd m8, m11
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
pmaddwd m13, m3
pmaddwd m10, m2
paddd m10, m13
+
paddd m9, m10
paddd m9, m6
psrad m9, INTERP_SHIFT_PS
@@ -11781,8 +11767,8 @@
%if ARCH_X86_64
INIT_ZMM avx512
cglobal interp_8tap_horiz_ps_24x32, 4, 9, 15
- add r1d, r1d
- add r3d, r3d
+ shl r1d, 1
+ shl r3d, 1
mov r4d, r4m
mov r5d, r5m
shl r4d, 6
@@ -11851,27 +11837,28 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
+
paddd m8, m11
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
pmaddwd m13, m3
pmaddwd m10, m2
paddd m10, m13
+
paddd m9, m10
paddd m9, m6
psrad m9, INTERP_SHIFT_PS
@@ -11899,27 +11886,28 @@
pshufb m11, m8, m5
pshufb m8, m4
- pshufb m12, m9, m5
- pshufb m9, m4
- pshufb m13, m10, m5
- pshufb m10, m4
-
pmaddwd m8, m0
pmaddwd m11, m1
paddd m8, m11
+ pshufb m12, m9, m5
+ pshufb m9, m4
pmaddwd m11, m12, m3
pmaddwd m14, m9, m2
paddd m11, m14
+
paddd m8, m11
paddd m8, m6
psrad m8, INTERP_SHIFT_PS
+ pshufb m13, m10, m5
+ pshufb m10, m4
pmaddwd m9, m0
pmaddwd m12, m1
paddd m9, m12
pmaddwd m13, m3
pmaddwd m10, m2
paddd m10, m13
+
paddd m9, m10
paddd m9, m6
psrad m9, INTERP_SHIFT_PS
@@ -11934,8 +11922,8 @@
%macro IPFILTER_LUMA_PS_AVX512_8xN 1
INIT_ZMM avx512
cglobal interp_8tap_horiz_ps_8x%1, 4, 9, 15
- add r1d, r1d
- add r3d, r3d
+ shl r1d, 1
+ shl r3d, 1
mov r4d, r4m
mov r5d, r5m
shl r4d, 6
More information about the x265-devel
mailing list