[x264-devel] [PATCH 2/3] arm64: fix coeff_level_run* macros for llvm's integrated assembler

Janne Grunau janne-x264 at jannau.net
Tue Aug 18 10:25:09 CEST 2015


llvm's integrated assembler does not treat symbols as integer constants.
---
 common/aarch64/quant-a.S | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/common/aarch64/quant-a.S b/common/aarch64/quant-a.S
index 5aea85f..4090900 100644
--- a/common/aarch64/quant-a.S
+++ b/common/aarch64/quant-a.S
@@ -539,12 +539,10 @@ function x264_coeff_level_run\size\()_neon, export=1
     sub         x0,  x0,  #2
 .endif
 .if         \size < 15
-    .equ        shiftw, 3
     ld1         {v0.8h}, [x0]
     uqxtn       v0.8b,  v0.8h
     cmtst       v0.8b,  v0.8b,  v0.8b
 .else
-    .equ        shiftw, 2
     ld1         {v0.8h,v1.8h}, [x0]
     uqxtn       v0.8b,  v0.8h
     uqxtn2      v0.16b, v1.8h
@@ -558,7 +556,7 @@ function x264_coeff_level_run\size\()_neon, export=1
 
     coeff_level_run_start \size
 
-    coeff_level_run shiftw
+    coeff_level_run (4 - (\size + 1) / 8)
 
     ret
 endfunc
-- 
2.5.0



More information about the x264-devel mailing list