arm: Allow overriding the alignment set in the function macro
authorMartin Storsjö <martin@martin.st>
Tue, 7 Jan 2014 10:13:11 +0000 (12:13 +0200)
committerMartin Storsjö <martin@martin.st>
Tue, 7 Jan 2014 17:29:56 +0000 (19:29 +0200)
The function macro always sets .align 2 before declaring the
function label (since 5c5e1ea3) and always sets the section to
.text (since 278caa6a).

The .align 5 before certain functions, added in fc252eba, were added
before .text and .align were added to the function macro and thus
became useless/unused when the function macro got them.

This restores the original intention, to align the loop entry
points.

Signed-off-by: Martin Storsjö <martin@martin.st>
libavcodec/arm/dsputil_arm.S
libavcodec/arm/hpeldsp_arm.S
libavutil/arm/asm.S

index f0029ae..82fcf2a 100644 (file)
@@ -22,9 +22,8 @@
 #include "config.h"
 #include "libavutil/arm/asm.S"
 
-        .align 5
 @ void ff_add_pixels_clamped_arm(int16_t *block, uint8_t *dest, int stride)
-function ff_add_pixels_clamped_arm, export=1
+function ff_add_pixels_clamped_arm, export=1, align=5
         push            {r4-r10}
         mov             r10, #8
 1:
index d4f97e3..5bacd8e 100644 (file)
@@ -89,8 +89,7 @@
 .endm
 
 @ ----------------------------------------------------------------
-        .align 5
-function ff_put_pixels16_arm, export=1
+function ff_put_pixels16_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
@@ -141,8 +140,7 @@ function ff_put_pixels16_arm, export=1
 endfunc
 
 @ ----------------------------------------------------------------
-        .align 5
-function ff_put_pixels8_arm, export=1
+function ff_put_pixels8_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
@@ -193,8 +191,7 @@ function ff_put_pixels8_arm, export=1
 endfunc
 
 @ ----------------------------------------------------------------
-        .align 5
-function ff_put_pixels8_x2_arm, export=1
+function ff_put_pixels8_x2_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
@@ -252,8 +249,7 @@ function ff_put_pixels8_x2_arm, export=1
         pop             {r4-r10,pc}
 endfunc
 
-        .align 5
-function ff_put_no_rnd_pixels8_x2_arm, export=1
+function ff_put_no_rnd_pixels8_x2_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
@@ -313,8 +309,7 @@ endfunc
 
 
 @ ----------------------------------------------------------------
-        .align 5
-function ff_put_pixels8_y2_arm, export=1
+function ff_put_pixels8_y2_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
@@ -411,8 +406,7 @@ function ff_put_pixels8_y2_arm, export=1
         pop             {r4-r11,pc}
 endfunc
 
-        .align 5
-function ff_put_no_rnd_pixels8_y2_arm, export=1
+function ff_put_no_rnd_pixels8_y2_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
@@ -578,8 +572,7 @@ endfunc
         pop             {r4-r11,pc}
 .endm
 
-        .align 5
-function ff_put_pixels8_xy2_arm, export=1
+function ff_put_pixels8_xy2_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
@@ -594,8 +587,7 @@ function ff_put_pixels8_xy2_arm, export=1
 4:      RND_XY2_EXPAND  3, lsl
 endfunc
 
-        .align 5
-function ff_put_no_rnd_pixels8_xy2_arm, export=1
+function ff_put_no_rnd_pixels8_xy2_arm, export=1, align=5
         @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
         @ block = word aligned, pixles = unaligned
         pld             [r1]
index 4638200..57efe97 100644 (file)
@@ -54,7 +54,7 @@
 T       .thumb
 ELF     .eabi_attribute 25, 1           @ Tag_ABI_align_preserved
 
-.macro  function name, export=0
+.macro  function name, export=0, align=2
         .set            .Lpic_idx, 0
         .set            .Lpic_gp, 0
     .macro endfunc
@@ -69,7 +69,7 @@ ELF     .size   \name, . - \name
         .purgem endfunc
     .endm
         .text
-        .align          2
+        .align          \align
     .if \export
         .global EXTERN_ASM\name
 EXTERN_ASM\name: