[x264-devel] [PATCH 05/24] aarch64: Simplify the decimate_score functions

Janne Grunau janne-x264 at jannau.net
Tue Aug 18 10:36:41 CEST 2015


On 2015-08-13 23:59:26 +0300, Martin Storsjö wrote:
> After doing a left shift by the number of bits returned by clz,
> only bits set to zero can be shifted out, so if the register
> was nonzero to start with (which is checked), it can't become
> zero here.
> ---
>  common/aarch64/quant-a.S |   12 ++----------
>  1 file changed, 2 insertions(+), 10 deletions(-)
> 
> diff --git a/common/aarch64/quant-a.S b/common/aarch64/quant-a.S
> index 2e1558b..443a91d 100644
> --- a/common/aarch64/quant-a.S
> +++ b/common/aarch64/quant-a.S
> @@ -328,17 +328,13 @@ function x264_decimate_score\size\()_neon, export=1
>      lsr         x6,  x3,  #2
>      lsl         x1,  x1,  x3
>      ldrb        w7,  [x5, x6]
> -    cbz         x1,  2f
>      lsl         x1,  x1,  #4
>      add         w0,  w0,  w7
>      cbnz        x1,  1b
>      ret
> -2:
> -    add         w0,  w0,  w7
> -0:
> -    ret
>  9:
>      mov         w0,  #9
> +0:
>      ret
>  endfunc
>  .endm
> @@ -399,17 +395,13 @@ function x264_decimate_score64_neon, export=1
>      clz         x3,  x1
>      lsl         x1,  x1,  x3
>      ldrb        w7,  [x5, x3]
> -    cbz         x1,  2f
>      lsl         x1,  x1,  #1
>      add         w0,  w0,  w7
>      cbnz        x1,  1b
>      ret
> -2:
> -    add         w0,  w0,  w7
> -0:
> -    ret
>  9:
>      mov         w0,  #9
> +0:
>      ret
>  endfunc

ok

Janne


More information about the x264-devel mailing list