# HG changeset patch # User mru # Date 1254594172 0 # Node ID f8d0701ff4459f1bc2902f581d89afe65a3486e4 # Parent 47245bb9e85f1ed1b8424bc138f0fd16bb10b366 ARM: update ldm/stm instructions to modern syntax diff -r 47245bb9e85f -r f8d0701ff445 arm/dsputil_arm_s.S --- a/arm/dsputil_arm_s.S Sat Oct 03 18:22:49 2009 +0000 +++ b/arm/dsputil_arm_s.S Sat Oct 03 18:22:52 2009 +0000 @@ -107,50 +107,50 @@ @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] - stmfd sp!, {r4-r11, lr} @ R14 is also called LR + push {r4-r11, lr} JMP_ALIGN r5, r1 1: - ldmia r1, {r4-r7} + ldm r1, {r4-r7} add r1, r1, r2 - stmia r0, {r4-r7} + stm r0, {r4-r7} pld [r1] subs r3, r3, #1 add r0, r0, r2 bne 1b - ldmfd sp!, {r4-r11, pc} + pop {r4-r11, pc} .align 5 2: - ldmia r1, {r4-r8} + ldm r1, {r4-r8} add r1, r1, r2 ADJ_ALIGN_QUADWORD_D 1, r9, r10, r11, r12, r4, r5, r6, r7, r8 pld [r1] subs r3, r3, #1 - stmia r0, {r9-r12} + stm r0, {r9-r12} add r0, r0, r2 bne 2b - ldmfd sp!, {r4-r11, pc} + pop {r4-r11, pc} .align 5 3: - ldmia r1, {r4-r8} + ldm r1, {r4-r8} add r1, r1, r2 ADJ_ALIGN_QUADWORD_D 2, r9, r10, r11, r12, r4, r5, r6, r7, r8 pld [r1] subs r3, r3, #1 - stmia r0, {r9-r12} + stm r0, {r9-r12} add r0, r0, r2 bne 3b - ldmfd sp!, {r4-r11, pc} + pop {r4-r11, pc} .align 5 4: - ldmia r1, {r4-r8} + ldm r1, {r4-r8} add r1, r1, r2 ADJ_ALIGN_QUADWORD_D 3, r9, r10, r11, r12, r4, r5, r6, r7, r8 pld [r1] subs r3, r3, #1 - stmia r0, {r9-r12} + stm r0, {r9-r12} add r0, r0, r2 bne 4b - ldmfd sp!, {r4-r11,pc} + pop {r4-r11,pc} .endfunc @ ---------------------------------------------------------------- @@ -159,50 +159,50 @@ @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] - stmfd sp!, {r4-r5,lr} @ R14 is also called LR + push {r4-r5,lr} JMP_ALIGN r5, r1 1: - ldmia r1, {r4-r5} + ldm r1, {r4-r5} add r1, r1, r2 subs r3, r3, #1 pld [r1] - stmia r0, {r4-r5} + stm r0, {r4-r5} add r0, r0, r2 bne 1b - ldmfd sp!, {r4-r5,pc} + pop {r4-r5,pc} .align 5 2: - ldmia r1, {r4-r5, r12} + ldm r1, {r4-r5, r12} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r12 pld [r1] subs r3, r3, #1 - stmia r0, {r4-r5} + stm r0, {r4-r5} add r0, r0, r2 bne 2b - ldmfd sp!, {r4-r5,pc} + pop {r4-r5,pc} .align 5 3: - ldmia r1, {r4-r5, r12} + ldm r1, {r4-r5, r12} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r12 pld [r1] subs r3, r3, #1 - stmia r0, {r4-r5} + stm r0, {r4-r5} add r0, r0, r2 bne 3b - ldmfd sp!, {r4-r5,pc} + pop {r4-r5,pc} .align 5 4: - ldmia r1, {r4-r5, r12} + ldm r1, {r4-r5, r12} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r12 pld [r1] subs r3, r3, #1 - stmia r0, {r4-r5} + stm r0, {r4-r5} add r0, r0, r2 bne 4b - ldmfd sp!, {r4-r5,pc} + pop {r4-r5,pc} .endfunc @ ---------------------------------------------------------------- @@ -211,58 +211,58 @@ @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] - stmfd sp!, {r4-r10,lr} @ R14 is also called LR + push {r4-r10,lr} ldr r12, =0xfefefefe JMP_ALIGN r5, r1 1: - ldmia r1, {r4-r5, r10} + ldm r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 1, r6, r7, r4, r5, r10 pld [r1] RND_AVG32 r8, r9, r4, r5, r6, r7, r12 subs r3, r3, #1 - stmia r0, {r8-r9} + stm r0, {r8-r9} add r0, r0, r2 bne 1b - ldmfd sp!, {r4-r10,pc} + pop {r4-r10,pc} .align 5 2: - ldmia r1, {r4-r5, r10} + ldm r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 1, r6, r7, r4, r5, r10 ADJ_ALIGN_DOUBLEWORD_D 2, r8, r9, r4, r5, r10 pld [r1] RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 - stmia r0, {r4-r5} + stm r0, {r4-r5} add r0, r0, r2 bne 2b - ldmfd sp!, {r4-r10,pc} + pop {r4-r10,pc} .align 5 3: - ldmia r1, {r4-r5, r10} + ldm r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 2, r6, r7, r4, r5, r10 ADJ_ALIGN_DOUBLEWORD_D 3, r8, r9, r4, r5, r10 pld [r1] RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 - stmia r0, {r4-r5} + stm r0, {r4-r5} add r0, r0, r2 bne 3b - ldmfd sp!, {r4-r10,pc} + pop {r4-r10,pc} .align 5 4: - ldmia r1, {r4-r5, r10} + ldm r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 3, r6, r7, r4, r5, r10 pld [r1] RND_AVG32 r8, r9, r6, r7, r5, r10, r12 subs r3, r3, #1 - stmia r0, {r8-r9} + stm r0, {r8-r9} add r0, r0, r2 bne 4b - ldmfd sp!, {r4-r10,pc} @@ update PC with LR content. + pop {r4-r10,pc} .endfunc .align 5 @@ -270,58 +270,58 @@ @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] - stmfd sp!, {r4-r10,lr} @ R14 is also called LR + push {r4-r10,lr} ldr r12, =0xfefefefe JMP_ALIGN r5, r1 1: - ldmia r1, {r4-r5, r10} + ldm r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 1, r6, r7, r4, r5, r10 pld [r1] NO_RND_AVG32 r8, r9, r4, r5, r6, r7, r12 subs r3, r3, #1 - stmia r0, {r8-r9} + stm r0, {r8-r9} add r0, r0, r2 bne 1b - ldmfd sp!, {r4-r10,pc} + pop {r4-r10,pc} .align 5 2: - ldmia r1, {r4-r5, r10} + ldm r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 1, r6, r7, r4, r5, r10 ADJ_ALIGN_DOUBLEWORD_D 2, r8, r9, r4, r5, r10 pld [r1] NO_RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 - stmia r0, {r4-r5} + stm r0, {r4-r5} add r0, r0, r2 bne 2b - ldmfd sp!, {r4-r10,pc} + pop {r4-r10,pc} .align 5 3: - ldmia r1, {r4-r5, r10} + ldm r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 2, r6, r7, r4, r5, r10 ADJ_ALIGN_DOUBLEWORD_D 3, r8, r9, r4, r5, r10 pld [r1] NO_RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 - stmia r0, {r4-r5} + stm r0, {r4-r5} add r0, r0, r2 bne 3b - ldmfd sp!, {r4-r10,pc} + pop {r4-r10,pc} .align 5 4: - ldmia r1, {r4-r5, r10} + ldm r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 3, r6, r7, r4, r5, r10 pld [r1] NO_RND_AVG32 r8, r9, r6, r7, r5, r10, r12 subs r3, r3, #1 - stmia r0, {r8-r9} + stm r0, {r8-r9} add r0, r0, r2 bne 4b - ldmfd sp!, {r4-r10,pc} @@ update PC with LR content. + pop {r4-r10,pc} .endfunc @@ -331,97 +331,97 @@ @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] - stmfd sp!, {r4-r11,lr} @ R14 is also called LR + push {r4-r11,lr} mov r3, r3, lsr #1 ldr r12, =0xfefefefe JMP_ALIGN r5, r1 1: - ldmia r1, {r4-r5} + ldm r1, {r4-r5} add r1, r1, r2 -6: ldmia r1, {r6-r7} +6: ldm r1, {r6-r7} add r1, r1, r2 pld [r1] RND_AVG32 r8, r9, r4, r5, r6, r7, r12 - ldmia r1, {r4-r5} + ldm r1, {r4-r5} add r1, r1, r2 - stmia r0, {r8-r9} + stm r0, {r8-r9} add r0, r0, r2 pld [r1] RND_AVG32 r8, r9, r6, r7, r4, r5, r12 subs r3, r3, #1 - stmia r0, {r8-r9} + stm r0, {r8-r9} add r0, r0, r2 bne 6b - ldmfd sp!, {r4-r11,pc} + pop {r4-r11,pc} .align 5 2: - ldmia r1, {r4-r6} + ldm r1, {r4-r6} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 -6: ldmia r1, {r7-r9} +6: ldm r1, {r7-r9} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r7, r8, r9 RND_AVG32 r10, r11, r4, r5, r7, r8, r12 - stmia r0, {r10-r11} + stm r0, {r10-r11} add r0, r0, r2 - ldmia r1, {r4-r6} + ldm r1, {r4-r6} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 subs r3, r3, #1 RND_AVG32 r10, r11, r7, r8, r4, r5, r12 - stmia r0, {r10-r11} + stm r0, {r10-r11} add r0, r0, r2 bne 6b - ldmfd sp!, {r4-r11,pc} + pop {r4-r11,pc} .align 5 3: - ldmia r1, {r4-r6} + ldm r1, {r4-r6} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 -6: ldmia r1, {r7-r9} +6: ldm r1, {r7-r9} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r7, r8, r9 RND_AVG32 r10, r11, r4, r5, r7, r8, r12 - stmia r0, {r10-r11} + stm r0, {r10-r11} add r0, r0, r2 - ldmia r1, {r4-r6} + ldm r1, {r4-r6} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 subs r3, r3, #1 RND_AVG32 r10, r11, r7, r8, r4, r5, r12 - stmia r0, {r10-r11} + stm r0, {r10-r11} add r0, r0, r2 bne 6b - ldmfd sp!, {r4-r11,pc} + pop {r4-r11,pc} .align 5 4: - ldmia r1, {r4-r6} + ldm r1, {r4-r6} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 -6: ldmia r1, {r7-r9} +6: ldm r1, {r7-r9} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r7, r8, r9 RND_AVG32 r10, r11, r4, r5, r7, r8, r12 - stmia r0, {r10-r11} + stm r0, {r10-r11} add r0, r0, r2 - ldmia r1, {r4-r6} + ldm r1, {r4-r6} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 subs r3, r3, #1 RND_AVG32 r10, r11, r7, r8, r4, r5, r12 - stmia r0, {r10-r11} + stm r0, {r10-r11} add r0, r0, r2 bne 6b - ldmfd sp!, {r4-r11,pc} + pop {r4-r11,pc} .endfunc .align 5 @@ -429,97 +429,97 @@ @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] - stmfd sp!, {r4-r11,lr} @ R14 is also called LR + push {r4-r11,lr} mov r3, r3, lsr #1 ldr r12, =0xfefefefe JMP_ALIGN r5, r1 1: - ldmia r1, {r4-r5} + ldm r1, {r4-r5} add r1, r1, r2 -6: ldmia r1, {r6-r7} +6: ldm r1, {r6-r7} add r1, r1, r2 pld [r1] NO_RND_AVG32 r8, r9, r4, r5, r6, r7, r12 - ldmia r1, {r4-r5} + ldm r1, {r4-r5} add r1, r1, r2 - stmia r0, {r8-r9} + stm r0, {r8-r9} add r0, r0, r2 pld [r1] NO_RND_AVG32 r8, r9, r6, r7, r4, r5, r12 subs r3, r3, #1 - stmia r0, {r8-r9} + stm r0, {r8-r9} add r0, r0, r2 bne 6b - ldmfd sp!, {r4-r11,pc} + pop {r4-r11,pc} .align 5 2: - ldmia r1, {r4-r6} + ldm r1, {r4-r6} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 -6: ldmia r1, {r7-r9} +6: ldm r1, {r7-r9} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r7, r8, r9 NO_RND_AVG32 r10, r11, r4, r5, r7, r8, r12 - stmia r0, {r10-r11} + stm r0, {r10-r11} add r0, r0, r2 - ldmia r1, {r4-r6} + ldm r1, {r4-r6} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 subs r3, r3, #1 NO_RND_AVG32 r10, r11, r7, r8, r4, r5, r12 - stmia r0, {r10-r11} + stm r0, {r10-r11} add r0, r0, r2 bne 6b - ldmfd sp!, {r4-r11,pc} + pop {r4-r11,pc} .align 5 3: - ldmia r1, {r4-r6} + ldm r1, {r4-r6} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 -6: ldmia r1, {r7-r9} +6: ldm r1, {r7-r9} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r7, r8, r9 NO_RND_AVG32 r10, r11, r4, r5, r7, r8, r12 - stmia r0, {r10-r11} + stm r0, {r10-r11} add r0, r0, r2 - ldmia r1, {r4-r6} + ldm r1, {r4-r6} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 subs r3, r3, #1 NO_RND_AVG32 r10, r11, r7, r8, r4, r5, r12 - stmia r0, {r10-r11} + stm r0, {r10-r11} add r0, r0, r2 bne 6b - ldmfd sp!, {r4-r11,pc} + pop {r4-r11,pc} .align 5 4: - ldmia r1, {r4-r6} + ldm r1, {r4-r6} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 -6: ldmia r1, {r7-r9} +6: ldm r1, {r7-r9} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r7, r8, r9 NO_RND_AVG32 r10, r11, r4, r5, r7, r8, r12 - stmia r0, {r10-r11} + stm r0, {r10-r11} add r0, r0, r2 - ldmia r1, {r4-r6} + ldm r1, {r4-r6} add r1, r1, r2 pld [r1] ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 subs r3, r3, #1 NO_RND_AVG32 r10, r11, r7, r8, r4, r5, r12 - stmia r0, {r10-r11} + stm r0, {r10-r11} add r0, r0, r2 bne 6b - ldmfd sp!, {r4-r11,pc} + pop {r4-r11,pc} .endfunc .ltorg @@ -529,11 +529,11 @@ @ l1= (a & 0x03030303) + (b & 0x03030303) ?(+ 0x02020202) @ h1= ((a & 0xFCFCFCFCUL) >> 2) + ((b & 0xFCFCFCFCUL) >> 2) .if \align == 0 - ldmia r1, {r6-r8} + ldm r1, {r6-r8} .elseif \align == 3 - ldmia r1, {r5-r7} + ldm r1, {r5-r7} .else - ldmia r1, {r8-r10} + ldm r1, {r8-r10} .endif add r1, r1, r2 pld [r1] @@ -571,9 +571,9 @@ .macro RND_XY2_EXPAND align, rnd RND_XY2_IT \align, \rnd -6: stmfd sp!, {r8-r11} +6: push {r8-r11} RND_XY2_IT \align, \rnd - ldmfd sp!, {r4-r7} + pop {r4-r7} add r4, r4, r8 add r5, r5, r9 ldr r14, =0x0f0f0f0f @@ -583,10 +583,10 @@ and r5, r14, r5, lsr #2 add r4, r4, r6 add r5, r5, r7 - stmia r0, {r4-r5} + stm r0, {r4-r5} add r0, r0, r2 bge 6b - ldmfd sp!, {r4-r11,pc} + pop {r4-r11,pc} .endm .align 5 @@ -594,7 +594,7 @@ @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] - stmfd sp!, {r4-r11,lr} @ R14 is also called LR + push {r4-r11,lr} @ R14 is also called LR JMP_ALIGN r5, r1 1: RND_XY2_EXPAND 0, lsl @@ -617,7 +617,7 @@ @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned pld [r1] - stmfd sp!, {r4-r11,lr} @ R14 is also called LR + push {r4-r11,lr} JMP_ALIGN r5, r1 1: RND_XY2_EXPAND 0, lsr