[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