mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-06-09 14:07:31 +02:00
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>
This commit is contained in:
parent
b7b932f5e3
commit
5dae487235
@ -22,9 +22,8 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "libavutil/arm/asm.S"
|
#include "libavutil/arm/asm.S"
|
||||||
|
|
||||||
.align 5
|
|
||||||
@ void ff_add_pixels_clamped_arm(int16_t *block, uint8_t *dest, int stride)
|
@ 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}
|
push {r4-r10}
|
||||||
mov r10, #8
|
mov r10, #8
|
||||||
1:
|
1:
|
||||||
|
@ -89,8 +89,7 @@
|
|||||||
.endm
|
.endm
|
||||||
|
|
||||||
@ ----------------------------------------------------------------
|
@ ----------------------------------------------------------------
|
||||||
.align 5
|
function ff_put_pixels16_arm, export=1, align=5
|
||||||
function ff_put_pixels16_arm, export=1
|
|
||||||
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
||||||
@ block = word aligned, pixles = unaligned
|
@ block = word aligned, pixles = unaligned
|
||||||
pld [r1]
|
pld [r1]
|
||||||
@ -141,8 +140,7 @@ function ff_put_pixels16_arm, export=1
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
@ ----------------------------------------------------------------
|
@ ----------------------------------------------------------------
|
||||||
.align 5
|
function ff_put_pixels8_arm, export=1, align=5
|
||||||
function ff_put_pixels8_arm, export=1
|
|
||||||
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
||||||
@ block = word aligned, pixles = unaligned
|
@ block = word aligned, pixles = unaligned
|
||||||
pld [r1]
|
pld [r1]
|
||||||
@ -193,8 +191,7 @@ function ff_put_pixels8_arm, export=1
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
@ ----------------------------------------------------------------
|
@ ----------------------------------------------------------------
|
||||||
.align 5
|
function ff_put_pixels8_x2_arm, export=1, align=5
|
||||||
function ff_put_pixels8_x2_arm, export=1
|
|
||||||
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
||||||
@ block = word aligned, pixles = unaligned
|
@ block = word aligned, pixles = unaligned
|
||||||
pld [r1]
|
pld [r1]
|
||||||
@ -252,8 +249,7 @@ function ff_put_pixels8_x2_arm, export=1
|
|||||||
pop {r4-r10,pc}
|
pop {r4-r10,pc}
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
.align 5
|
function ff_put_no_rnd_pixels8_x2_arm, export=1, align=5
|
||||||
function ff_put_no_rnd_pixels8_x2_arm, export=1
|
|
||||||
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
||||||
@ block = word aligned, pixles = unaligned
|
@ block = word aligned, pixles = unaligned
|
||||||
pld [r1]
|
pld [r1]
|
||||||
@ -313,8 +309,7 @@ endfunc
|
|||||||
|
|
||||||
|
|
||||||
@ ----------------------------------------------------------------
|
@ ----------------------------------------------------------------
|
||||||
.align 5
|
function ff_put_pixels8_y2_arm, export=1, align=5
|
||||||
function ff_put_pixels8_y2_arm, export=1
|
|
||||||
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
||||||
@ block = word aligned, pixles = unaligned
|
@ block = word aligned, pixles = unaligned
|
||||||
pld [r1]
|
pld [r1]
|
||||||
@ -411,8 +406,7 @@ function ff_put_pixels8_y2_arm, export=1
|
|||||||
pop {r4-r11,pc}
|
pop {r4-r11,pc}
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
.align 5
|
function ff_put_no_rnd_pixels8_y2_arm, export=1, align=5
|
||||||
function ff_put_no_rnd_pixels8_y2_arm, export=1
|
|
||||||
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
||||||
@ block = word aligned, pixles = unaligned
|
@ block = word aligned, pixles = unaligned
|
||||||
pld [r1]
|
pld [r1]
|
||||||
@ -578,8 +572,7 @@ endfunc
|
|||||||
pop {r4-r11,pc}
|
pop {r4-r11,pc}
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.align 5
|
function ff_put_pixels8_xy2_arm, export=1, align=5
|
||||||
function ff_put_pixels8_xy2_arm, export=1
|
|
||||||
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
||||||
@ block = word aligned, pixles = unaligned
|
@ block = word aligned, pixles = unaligned
|
||||||
pld [r1]
|
pld [r1]
|
||||||
@ -594,8 +587,7 @@ function ff_put_pixels8_xy2_arm, export=1
|
|||||||
4: RND_XY2_EXPAND 3, lsl
|
4: RND_XY2_EXPAND 3, lsl
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
.align 5
|
function ff_put_no_rnd_pixels8_xy2_arm, export=1, align=5
|
||||||
function ff_put_no_rnd_pixels8_xy2_arm, export=1
|
|
||||||
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
@ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
|
||||||
@ block = word aligned, pixles = unaligned
|
@ block = word aligned, pixles = unaligned
|
||||||
pld [r1]
|
pld [r1]
|
||||||
|
@ -54,7 +54,7 @@
|
|||||||
T .thumb
|
T .thumb
|
||||||
ELF .eabi_attribute 25, 1 @ Tag_ABI_align_preserved
|
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_idx, 0
|
||||||
.set .Lpic_gp, 0
|
.set .Lpic_gp, 0
|
||||||
.macro endfunc
|
.macro endfunc
|
||||||
@ -69,7 +69,7 @@ ELF .size \name, . - \name
|
|||||||
.purgem endfunc
|
.purgem endfunc
|
||||||
.endm
|
.endm
|
||||||
.text
|
.text
|
||||||
.align 2
|
.align \align
|
||||||
.if \export
|
.if \export
|
||||||
.global EXTERN_ASM\name
|
.global EXTERN_ASM\name
|
||||||
EXTERN_ASM\name:
|
EXTERN_ASM\name:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user