diff mbox

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

Message ID 20170620190905.26038-2-martin@martin.st
State Accepted
Commit 9e85c5d6a7e65c38aed6a75f9065dfa3b6c4418c
Headers show

Commit Message

Martin Storsjö June 20, 2017, 7:09 p.m. UTC
From: Memphiz <memphis@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(-)

Comments

Matthieu Bouron June 20, 2017, 7:51 p.m. UTC | #1
On Tue, Jun 20, 2017 at 10:09:05PM +0300, Martin Storsjö wrote:
> From: Memphiz <memphis@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.
diff mbox

Patch

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