[FFmpeg-devel] [PATCH 2/2] aarch64: vp9 16bpp: Fix assembling with Xcode 6.2 and older

Matthieu Bouron matthieu.bouron at gmail.com
Tue Jun 20 22:51:40 EEST 2017


On Tue, Jun 20, 2017 at 10:09:05PM +0300, Martin Storsjö wrote:
> From: Memphiz <memphis at machzwo.de>
> 
> Properly use the b.eq form instead of the nonstandard form (which
> both gas and newer clang accept though), and expand the register
> lists that used a range (which the Xcode 6.2 clang, based on clang
> 3.5 svn, didn't support).
> ---
>  libavcodec/aarch64/vp9itxfm_16bpp_neon.S | 8 ++++----
>  libavcodec/aarch64/vp9mc_16bpp_neon.S    | 2 +-
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/libavcodec/aarch64/vp9itxfm_16bpp_neon.S b/libavcodec/aarch64/vp9itxfm_16bpp_neon.S
> index 0befe383df..68296d9c40 100644
> --- a/libavcodec/aarch64/vp9itxfm_16bpp_neon.S
> +++ b/libavcodec/aarch64/vp9itxfm_16bpp_neon.S
> @@ -1925,8 +1925,8 @@ function vp9_idct_idct_32x32_add_16_neon
>  2:
>          subs            x1,  x1,  #1
>  .rept 4
> -        st1             {v16.4s-v19.4s},  [x0], #64
> -        st1             {v16.4s-v19.4s},  [x0], #64
> +        st1             {v16.4s,v17.4s,v18.4s,v19.4s},  [x0], #64
> +        st1             {v16.4s,v17.4s,v18.4s,v19.4s},  [x0], #64
>  .endr
>          b.ne            2b
>  3:
> @@ -1991,8 +1991,8 @@ function idct32x32_\size\()_add_16_neon
>          movi            v19.4s,  #0
>  
>  .rept 4
> -        st1             {v16.4s-v19.4s},  [x0], #64
> -        st1             {v16.4s-v19.4s},  [x0], #64
> +        st1             {v16.4s,v17.4s,v18.4s,v19.4s},  [x0], #64
> +        st1             {v16.4s,v17.4s,v18.4s,v19.4s},  [x0], #64
>  .endr
>  
>  3:
> diff --git a/libavcodec/aarch64/vp9mc_16bpp_neon.S b/libavcodec/aarch64/vp9mc_16bpp_neon.S
> index 98ffd2e8a7..cac6428709 100644
> --- a/libavcodec/aarch64/vp9mc_16bpp_neon.S
> +++ b/libavcodec/aarch64/vp9mc_16bpp_neon.S
> @@ -275,7 +275,7 @@ function \type\()_8tap_\size\()h
>          subs            x9,  x9,  #32
>          st1             {v1.8h,  v2.8h},  [x0], #32
>          st1             {v24.8h, v25.8h}, [x6], #32
> -        beq             3f
> +        b.eq            3f
>          mov             v5.16b,  v7.16b
>          mov             v16.16b, v18.16b
>          ld1             {v6.8h,  v7.8h},  [x2], #32
> -- 
> 2.11.0 (Apple Git-81)

Both patches LGTM.

Thanks.

-- 
Matthieu B.


More information about the ffmpeg-devel mailing list