[x265] [PATCH] asm: intra_pred_ang4_6_sse2 improved ~2% 622.50 -> 609.99 with nits and tweaks

Steve Borho steve at borho.org
Thu Apr 2 18:09:17 CEST 2015


On 04/02, dtyx265 at gmail.com wrote:
> # HG changeset patch
> # User David T Yuen <dtyx265 at gmail.com>
> # Date 1427985292 25200
> # Node ID 77318f83cca5c86c21f3ea050878eca3f1ba33a0
> # Parent  c55ff3e7f4842c5bc9ce5fb45b6de2a1bdabcd4c
> asm: intra_pred_ang4_6_sse2 improved ~2% 622.50 -> 609.99 with nits and tweaks

ok, replaced the queued one with this one for the corrected comments

> Corrected comment
> Changed r3 and r4 to r3d and r4d
> tweaked unpacking for performance
> 
> diff -r c55ff3e7f484 -r 77318f83cca5 source/common/x86/intrapred8.asm
> --- a/source/common/x86/intrapred8.asm	Sat Mar 28 14:06:53 2015 -0700
> +++ b/source/common/x86/intrapred8.asm	Thu Apr 02 07:34:52 2015 -0700
> @@ -1462,18 +1462,17 @@
>      jmp         mangle(private_prefix %+ _ %+ intra_pred_ang4_3 %+ SUFFIX %+ .do_filter4x4)
>  
>  cglobal intra_pred_ang4_6, 3,5,8
> -    xor         r4, r4
> -    inc         r4
> +    xor         r4d, r4d
> +    inc         r4d
>      cmp         r3m, byte 30
> -    mov         r3, 9
> -    cmove       r3, r4
> +    mov         r3d, 9
> +    cmove       r3d, r4d
>  
>      movh        m0, [r2 + r3]    ; [8 7 6 5 4 3 2 1]
> -    mova        m1, m0
> -    psrldq      m1, 1           ; [x 8 7 6 5 4 3 2]
> -    punpcklbw   m0, m1          ; [x 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1]
> +    punpcklbw   m0, m0
> +    psrldq      m0, 1           ; [x 8 8 7 7 6 6 5 5 4 4 3 3 2 2 1]
>      mova        m2, m0
> -    psrldq      m2, 2           ; [x x x x x x x x 6 5 5 4 4 3 3 2]
> +    psrldq      m2, 2           ; [x x x 8 8 7 7 6 6 5 5 4 4 3 3 2]
>      punpcklqdq  m0, m0
>      punpcklqdq  m2, m2
>  
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel

-- 
Steve Borho


More information about the x265-devel mailing list