# HG changeset patch # User Jayashri Murugan <jayas...@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 _______________________________________________ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel