comparison armv4l/dsputil_arm_s.S @ 8069:316762ae96a7 libavcodec

ARM: use new macros for assembler function labels
author mru
date Mon, 27 Oct 2008 00:25:09 +0000
parents 28d0e7dac45d
children 59be7e4941e8
comparison
equal deleted inserted replaced
8068:923c713c0c48 8069:316762ae96a7
18 @ License along with FFmpeg; if not, write to the Free Software 18 @ License along with FFmpeg; if not, write to the Free Software
19 @ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 @ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 @ 20 @
21 21
22 #include "config.h" 22 #include "config.h"
23 #include "asm.S"
23 24
24 #ifndef HAVE_PLD 25 #ifndef HAVE_PLD
25 .macro pld reg 26 .macro pld reg
26 .endm 27 .endm
27 #endif 28 #endif
77 add \Rd1, \Rn1, \Rd1, lsr #1 78 add \Rd1, \Rn1, \Rd1, lsr #1
78 .endm 79 .endm
79 80
80 @ ---------------------------------------------------------------- 81 @ ----------------------------------------------------------------
81 .align 8 82 .align 8
82 .global put_pixels16_arm 83 function put_pixels16_arm, export=1
83 put_pixels16_arm:
84 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 84 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
85 @ block = word aligned, pixles = unaligned 85 @ block = word aligned, pixles = unaligned
86 pld [r1] 86 pld [r1]
87 stmfd sp!, {r4-r11, lr} @ R14 is also called LR 87 stmfd sp!, {r4-r11, lr} @ R14 is also called LR
88 adr r5, 5f 88 adr r5, 5f
136 5: 136 5:
137 .word 1b 137 .word 1b
138 .word 2b 138 .word 2b
139 .word 3b 139 .word 3b
140 .word 4b 140 .word 4b
141 .endfunc
141 142
142 @ ---------------------------------------------------------------- 143 @ ----------------------------------------------------------------
143 .align 8 144 .align 8
144 .global put_pixels8_arm 145 function put_pixels8_arm, export=1
145 put_pixels8_arm:
146 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 146 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
147 @ block = word aligned, pixles = unaligned 147 @ block = word aligned, pixles = unaligned
148 pld [r1] 148 pld [r1]
149 stmfd sp!, {r4-r5,lr} @ R14 is also called LR 149 stmfd sp!, {r4-r5,lr} @ R14 is also called LR
150 adr r5, 5f 150 adr r5, 5f
198 5: 198 5:
199 .word 1b 199 .word 1b
200 .word 2b 200 .word 2b
201 .word 3b 201 .word 3b
202 .word 4b 202 .word 4b
203 .endfunc
203 204
204 @ ---------------------------------------------------------------- 205 @ ----------------------------------------------------------------
205 .align 8 206 .align 8
206 .global put_pixels8_x2_arm 207 function put_pixels8_x2_arm, export=1
207 put_pixels8_x2_arm:
208 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 208 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
209 @ block = word aligned, pixles = unaligned 209 @ block = word aligned, pixles = unaligned
210 pld [r1] 210 pld [r1]
211 stmfd sp!, {r4-r10,lr} @ R14 is also called LR 211 stmfd sp!, {r4-r10,lr} @ R14 is also called LR
212 adr r5, 5f 212 adr r5, 5f
268 5: 268 5:
269 .word 0xFEFEFEFE 269 .word 0xFEFEFEFE
270 .word 2b 270 .word 2b
271 .word 3b 271 .word 3b
272 .word 4b 272 .word 4b
273 273 .endfunc
274 .align 8 274
275 .global put_no_rnd_pixels8_x2_arm 275 .align 8
276 put_no_rnd_pixels8_x2_arm: 276 function put_no_rnd_pixels8_x2_arm, export=1
277 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 277 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
278 @ block = word aligned, pixles = unaligned 278 @ block = word aligned, pixles = unaligned
279 pld [r1] 279 pld [r1]
280 stmfd sp!, {r4-r10,lr} @ R14 is also called LR 280 stmfd sp!, {r4-r10,lr} @ R14 is also called LR
281 adr r5, 5f 281 adr r5, 5f
337 5: 337 5:
338 .word 0xFEFEFEFE 338 .word 0xFEFEFEFE
339 .word 2b 339 .word 2b
340 .word 3b 340 .word 3b
341 .word 4b 341 .word 4b
342 .endfunc
342 343
343 344
344 @ ---------------------------------------------------------------- 345 @ ----------------------------------------------------------------
345 .align 8 346 .align 8
346 .global put_pixels8_y2_arm 347 function put_pixels8_y2_arm, export=1
347 put_pixels8_y2_arm:
348 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 348 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
349 @ block = word aligned, pixles = unaligned 349 @ block = word aligned, pixles = unaligned
350 pld [r1] 350 pld [r1]
351 stmfd sp!, {r4-r11,lr} @ R14 is also called LR 351 stmfd sp!, {r4-r11,lr} @ R14 is also called LR
352 adr r5, 5f 352 adr r5, 5f
448 5: 448 5:
449 .word 0xFEFEFEFE 449 .word 0xFEFEFEFE
450 .word 2b 450 .word 2b
451 .word 3b 451 .word 3b
452 .word 4b 452 .word 4b
453 453 .endfunc
454 .align 8 454
455 .global put_no_rnd_pixels8_y2_arm 455 .align 8
456 put_no_rnd_pixels8_y2_arm: 456 function put_no_rnd_pixels8_y2_arm, export=1
457 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 457 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
458 @ block = word aligned, pixles = unaligned 458 @ block = word aligned, pixles = unaligned
459 pld [r1] 459 pld [r1]
460 stmfd sp!, {r4-r11,lr} @ R14 is also called LR 460 stmfd sp!, {r4-r11,lr} @ R14 is also called LR
461 adr r5, 5f 461 adr r5, 5f
556 5: 556 5:
557 .word 0xFEFEFEFE 557 .word 0xFEFEFEFE
558 .word 2b 558 .word 2b
559 .word 3b 559 .word 3b
560 .word 4b 560 .word 4b
561 .endfunc
561 562
562 @ ---------------------------------------------------------------- 563 @ ----------------------------------------------------------------
563 .macro RND_XY2_IT align 564 .macro RND_XY2_IT align
564 @ l1= (a & 0x03030303) + (b & 0x03030303) ?(+ 0x02020202) 565 @ l1= (a & 0x03030303) + (b & 0x03030303) ?(+ 0x02020202)
565 @ h1= ((a & 0xFCFCFCFCUL) >> 2) + ((b & 0xFCFCFCFCUL) >> 2) 566 @ h1= ((a & 0xFCFCFCFCUL) >> 2) + ((b & 0xFCFCFCFCUL) >> 2)
623 bge 6b 624 bge 6b
624 ldmfd sp!, {r4-r11,pc} 625 ldmfd sp!, {r4-r11,pc}
625 .endm 626 .endm
626 627
627 .align 8 628 .align 8
628 .global put_pixels8_xy2_arm 629 function put_pixels8_xy2_arm, export=1
629 put_pixels8_xy2_arm:
630 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 630 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
631 @ block = word aligned, pixles = unaligned 631 @ block = word aligned, pixles = unaligned
632 pld [r1] 632 pld [r1]
633 stmfd sp!, {r4-r11,lr} @ R14 is also called LR 633 stmfd sp!, {r4-r11,lr} @ R14 is also called LR
634 adrl r12, 5f 634 adrl r12, 5f
657 .word 3b 657 .word 3b
658 .word 4b 658 .word 4b
659 .word 0x02020202 659 .word 0x02020202
660 .word 0xFCFCFCFC >> 2 660 .word 0xFCFCFCFC >> 2
661 .word 0x0F0F0F0F 661 .word 0x0F0F0F0F
662 662 .endfunc
663 .align 8 663
664 .global put_no_rnd_pixels8_xy2_arm 664 .align 8
665 put_no_rnd_pixels8_xy2_arm: 665 function put_no_rnd_pixels8_xy2_arm, export=1
666 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) 666 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h)
667 @ block = word aligned, pixles = unaligned 667 @ block = word aligned, pixles = unaligned
668 pld [r1] 668 pld [r1]
669 stmfd sp!, {r4-r11,lr} @ R14 is also called LR 669 stmfd sp!, {r4-r11,lr} @ R14 is also called LR
670 adrl r12, 5f 670 adrl r12, 5f
693 .word 3b 693 .word 3b
694 .word 4b 694 .word 4b
695 .word 0x01010101 695 .word 0x01010101
696 .word 0xFCFCFCFC >> 2 696 .word 0xFCFCFCFC >> 2
697 .word 0x0F0F0F0F 697 .word 0x0F0F0F0F
698 .endfunc