Browse Source

arm: Allow overriding the alignment set in the function macro

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>
tags/n2.2-rc1
Martin Storsjö 11 years ago
parent
commit
5dae487235
3 changed files with 11 additions and 20 deletions
  1. +1
    -2
      libavcodec/arm/dsputil_arm.S
  2. +8
    -16
      libavcodec/arm/hpeldsp_arm.S
  3. +2
    -2
      libavutil/arm/asm.S

+ 1
- 2
libavcodec/arm/dsputil_arm.S View 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:


+ 8
- 16
libavcodec/arm/hpeldsp_arm.S View 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]


+ 2
- 2
libavutil/arm/asm.S View 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:


Loading…
Cancel
Save