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

Martin Storsjö martin at martin.st
Tue Jun 20 22:09:04 EEST 2017


From: Memphiz <memphis at machzwo.de>

Properly use the b.eq/b.ge forms instead of the nonstandard forms
(which both gas and newer clang accept though), and expand the
register list that used a range (which the Xcode 6.2 clang, based
on clang 3.5 svn, didn't support).

This is cherrypicked from libav commit
a970f9de865c84ed5360dd0398baee7d48d04620.
---
 libavcodec/aarch64/vp9itxfm_neon.S | 2 +-
 libavcodec/aarch64/vp9mc_neon.S    | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/aarch64/vp9itxfm_neon.S b/libavcodec/aarch64/vp9itxfm_neon.S
index b12890f0db..99413b0f70 100644
--- a/libavcodec/aarch64/vp9itxfm_neon.S
+++ b/libavcodec/aarch64/vp9itxfm_neon.S
@@ -1531,7 +1531,7 @@ function ff_vp9_idct_idct_32x32_add_neon, export=1
 2:
         subs            x1,  x1,  #1
 .rept 4
-        st1             {v16.8h-v19.8h},  [x0], #64
+        st1             {v16.8h,v17.8h,v18.8h,v19.8h},  [x0], #64
 .endr
         b.ne            2b
 3:
diff --git a/libavcodec/aarch64/vp9mc_neon.S b/libavcodec/aarch64/vp9mc_neon.S
index 82a0f53133..f67624ca04 100644
--- a/libavcodec/aarch64/vp9mc_neon.S
+++ b/libavcodec/aarch64/vp9mc_neon.S
@@ -341,7 +341,7 @@ function \type\()_8tap_\size\()h_\idx1\idx2
         subs            x9,  x9,  #16
         st1             {v1.16b},  [x0], #16
         st1             {v24.16b}, [x6], #16
-        beq             3f
+        b.eq            3f
         mov             v4.16b,  v6.16b
         mov             v16.16b, v18.16b
         ld1             {v6.16b},  [x2], #16
@@ -388,10 +388,10 @@ function ff_vp9_\type\()_\filter\()\size\()_h_neon, export=1
         add             x9,  x6,  w5, uxtw #4
         mov             x5,  #\size
 .if \size >= 16
-        bge             \type\()_8tap_16h_34
+        b.ge            \type\()_8tap_16h_34
         b               \type\()_8tap_16h_43
 .else
-        bge             \type\()_8tap_\size\()h_34
+        b.ge            \type\()_8tap_\size\()h_34
         b               \type\()_8tap_\size\()h_43
 .endif
 endfunc
-- 
2.11.0 (Apple Git-81)



More information about the ffmpeg-devel mailing list