aarch64: Fix coeff_level_run* macros with LLVM's assembler
authorJanne Grunau <janne-x264@jannau.net>
Tue, 18 Aug 2015 08:25:09 +0000 (10:25 +0200)
committerHenrik Gramner <henrik@gramner.com>
Sun, 11 Oct 2015 16:44:54 +0000 (18:44 +0200)
LLVM's integrated assembler does not treat symbols as integer constants.

common/aarch64/quant-a.S

index 443a91d..3e7e35e 100644 (file)
@@ -538,12 +538,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
@@ -557,7 +555,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