comparison arm/simple_idct_armv5te.S @ 11443:361a5fcb4393 libavcodec

ARM: set size of asm functions in object files
author mru
date Tue, 09 Mar 2010 16:17:56 +0000
parents 08573f5f587d
children
comparison
equal deleted inserted replaced
11442:fe32d9ba1c86 11443:361a5fcb4393
145 mov a4, a3 145 mov a4, a3
146 strd a3, [a1] 146 strd a3, [a1]
147 strd a3, [a1, #8] 147 strd a3, [a1, #8]
148 148
149 ldr pc, [sp], #4 149 ldr pc, [sp], #4
150 .endfunc 150 endfunc
151 151
152 .macro idct_col 152 .macro idct_col
153 ldr a4, [a1] /* a4 = col[1:0] */ 153 ldr a4, [a1] /* a4 = col[1:0] */
154 mov ip, #16384 154 mov ip, #16384
155 sub ip, ip, #1 /* ip = W4 */ 155 sub ip, ip, #1 /* ip = W4 */
329 mov a4, a4, asr #20 329 mov a4, a4, asr #20
330 orr a2, a2, a4, lsl #16 330 orr a2, a2, a4, lsl #16
331 str a2, [a1, #(16*4)] 331 str a2, [a1, #(16*4)]
332 332
333 ldr pc, [sp], #4 333 ldr pc, [sp], #4
334 .endfunc 334 endfunc
335 335
336 function idct_col_put_armv5te 336 function idct_col_put_armv5te
337 str lr, [sp, #-4]! 337 str lr, [sp, #-4]!
338 338
339 idct_col 339 idct_col
446 movgt a4, #255 446 movgt a4, #255
447 orr a2, a2, a4, lsl #8 447 orr a2, a2, a4, lsl #8
448 strh a2, [v2, -lr] 448 strh a2, [v2, -lr]
449 449
450 ldr pc, [sp], #4 450 ldr pc, [sp], #4
451 .endfunc 451 endfunc
452 452
453 function idct_col_add_armv5te 453 function idct_col_add_armv5te
454 str lr, [sp, #-4]! 454 str lr, [sp, #-4]!
455 455
456 idct_col 456 idct_col
596 movgt a4, #255 596 movgt a4, #255
597 orr a2, a3, a4, lsl #8 597 orr a2, a3, a4, lsl #8
598 strh a2, [v2] 598 strh a2, [v2]
599 599
600 ldr pc, [sp], #4 600 ldr pc, [sp], #4
601 .endfunc 601 endfunc
602 602
603 function ff_simple_idct_armv5te, export=1 603 function ff_simple_idct_armv5te, export=1
604 stmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, lr} 604 stmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, lr}
605 605
606 bl idct_row_armv5te 606 bl idct_row_armv5te
628 bl idct_col_armv5te 628 bl idct_col_armv5te
629 add a1, a1, #4 629 add a1, a1, #4
630 bl idct_col_armv5te 630 bl idct_col_armv5te
631 631
632 ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} 632 ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc}
633 .endfunc 633 endfunc
634 634
635 function ff_simple_idct_add_armv5te, export=1 635 function ff_simple_idct_add_armv5te, export=1
636 stmfd sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr} 636 stmfd sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr}
637 637
638 mov a1, a3 638 mov a1, a3
663 add a1, a1, #4 663 add a1, a1, #4
664 bl idct_col_add_armv5te 664 bl idct_col_add_armv5te
665 665
666 add sp, sp, #8 666 add sp, sp, #8
667 ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} 667 ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc}
668 .endfunc 668 endfunc
669 669
670 function ff_simple_idct_put_armv5te, export=1 670 function ff_simple_idct_put_armv5te, export=1
671 stmfd sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr} 671 stmfd sp!, {a1, a2, v1, v2, v3, v4, v5, v6, v7, fp, lr}
672 672
673 mov a1, a3 673 mov a1, a3
698 add a1, a1, #4 698 add a1, a1, #4
699 bl idct_col_put_armv5te 699 bl idct_col_put_armv5te
700 700
701 add sp, sp, #8 701 add sp, sp, #8
702 ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc} 702 ldmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp, pc}
703 .endfunc 703 endfunc