On 2016-11-18 10:06:39 +0200, Martin Storsjö wrote:
> ---
> The uses of cmp rX, #0, beq in the vp9 loop filter can't be converted
> to cbz, since the branch targets are too far away.
> ---
>  libavcodec/arm/vp9itxfm_neon.S | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/libavcodec/arm/vp9itxfm_neon.S b/libavcodec/arm/vp9itxfm_neon.S
> index 46d91b7..17db69b 100644
> --- a/libavcodec/arm/vp9itxfm_neon.S
> +++ b/libavcodec/arm/vp9itxfm_neon.S
> @@ -724,8 +724,7 @@ function \txfm\()16_1d_4x16_pass2_neon
>  .irp i, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27
>          vld1.16         {d\i}, [r2,:64], r12
>  .endr
> -        cmp             r3,  #0
> -        beq             1f
> +        cbz             r3,  1f

change the 'mov r3, #\i' into 'movs r3, #\i'. Since 
\txfm\()16_1d_4x16_pass2_neon are not public we can pass arguments in 
CPSR bits

Janne
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to