Index: trunk/libavcodec/arm/dsputil_arm_s.S =================================================================== --- trunk.orig/libavcodec/arm/dsputil_arm_s.S +++ trunk/libavcodec/arm/dsputil_arm_s.S @@ -18,6 +18,13 @@ @ License along with FFmpeg; if not, write to the Free Software @ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA @ +#if defined(__ARM_ARCH_5__) || \ + defined(__ARM_ARCH_5T__) || \ + defined(__ARM_ARCH_5TE__) +#define PLD(code...) code +#else +#define PLD(code...) +#endif #include "config.h" #include "asm.S" @@ -106,14 +113,14 @@ function ff_prefetch_arm, export=1 function put_pixels16_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned - pld [r1] + PLD ( pld [r1] ) stmfd sp!, {r4-r11, lr} @ R14 is also called LR JMP_ALIGN r5, r1 1: ldmia r1, {r4-r7} add r1, r1, r2 stmia r0, {r4-r7} - pld [r1] + PLD ( pld [r1] ) subs r3, r3, #1 add r0, r0, r2 bne 1b @@ -123,7 +130,7 @@ function put_pixels16_arm, export=1 ldmia r1, {r4-r8} add r1, r1, r2 ADJ_ALIGN_QUADWORD_D 1, r9, r10, r11, r12, r4, r5, r6, r7, r8 - pld [r1] + PLD ( pld [r1] ) subs r3, r3, #1 stmia r0, {r9-r12} add r0, r0, r2 @@ -134,7 +141,7 @@ function put_pixels16_arm, export=1 ldmia r1, {r4-r8} add r1, r1, r2 ADJ_ALIGN_QUADWORD_D 2, r9, r10, r11, r12, r4, r5, r6, r7, r8 - pld [r1] + PLD ( pld [r1] ) subs r3, r3, #1 stmia r0, {r9-r12} add r0, r0, r2 @@ -145,7 +152,7 @@ function put_pixels16_arm, export=1 ldmia r1, {r4-r8} add r1, r1, r2 ADJ_ALIGN_QUADWORD_D 3, r9, r10, r11, r12, r4, r5, r6, r7, r8 - pld [r1] + PLD ( pld [r1] ) subs r3, r3, #1 stmia r0, {r9-r12} add r0, r0, r2 @@ -158,14 +165,14 @@ function put_pixels16_arm, export=1 function put_pixels8_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned - pld [r1] + PLD ( pld [r1] ) stmfd sp!, {r4-r5,lr} @ R14 is also called LR JMP_ALIGN r5, r1 1: ldmia r1, {r4-r5} add r1, r1, r2 subs r3, r3, #1 - pld [r1] + PLD ( pld [r1] ) stmia r0, {r4-r5} add r0, r0, r2 bne 1b @@ -175,7 +182,7 @@ function put_pixels8_arm, export=1 ldmia r1, {r4-r5, r12} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r12 - pld [r1] + PLD ( pld [r1] ) subs r3, r3, #1 stmia r0, {r4-r5} add r0, r0, r2 @@ -186,7 +193,7 @@ function put_pixels8_arm, export=1 ldmia r1, {r4-r5, r12} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r12 - pld [r1] + PLD ( pld [r1] ) subs r3, r3, #1 stmia r0, {r4-r5} add r0, r0, r2 @@ -197,7 +204,7 @@ function put_pixels8_arm, export=1 ldmia r1, {r4-r5, r12} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r12 - pld [r1] + PLD ( pld [r1] ) subs r3, r3, #1 stmia r0, {r4-r5} add r0, r0, r2 @@ -210,7 +217,7 @@ function put_pixels8_arm, export=1 function put_pixels8_x2_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned - pld [r1] + PLD ( pld [r1] ) stmfd sp!, {r4-r10,lr} @ R14 is also called LR ldr r12, =0xfefefefe JMP_ALIGN r5, r1 @@ -218,7 +225,7 @@ function put_pixels8_x2_arm, export=1 ldmia r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 1, r6, r7, r4, r5, r10 - pld [r1] + PLD ( pld [r1] ) RND_AVG32 r8, r9, r4, r5, r6, r7, r12 subs r3, r3, #1 stmia r0, {r8-r9} @@ -231,7 +238,7 @@ function put_pixels8_x2_arm, export=1 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] + PLD ( pld [r1] ) RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 stmia r0, {r4-r5} @@ -244,7 +251,7 @@ function put_pixels8_x2_arm, export=1 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] + PLD ( pld [r1] ) RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 stmia r0, {r4-r5} @@ -256,7 +263,7 @@ function put_pixels8_x2_arm, export=1 ldmia r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 3, r6, r7, r4, r5, r10 - pld [r1] + PLD ( pld [r1] ) RND_AVG32 r8, r9, r6, r7, r5, r10, r12 subs r3, r3, #1 stmia r0, {r8-r9} @@ -269,7 +276,7 @@ function put_pixels8_x2_arm, export=1 function put_no_rnd_pixels8_x2_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned - pld [r1] + PLD ( pld [r1] ) stmfd sp!, {r4-r10,lr} @ R14 is also called LR ldr r12, =0xfefefefe JMP_ALIGN r5, r1 @@ -277,7 +284,7 @@ function put_no_rnd_pixels8_x2_arm, expo ldmia r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 1, r6, r7, r4, r5, r10 - pld [r1] + PLD ( pld [r1] ) NO_RND_AVG32 r8, r9, r4, r5, r6, r7, r12 subs r3, r3, #1 stmia r0, {r8-r9} @@ -290,7 +297,7 @@ function put_no_rnd_pixels8_x2_arm, expo 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] + PLD ( pld [r1] ) NO_RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 stmia r0, {r4-r5} @@ -303,7 +310,7 @@ function put_no_rnd_pixels8_x2_arm, expo 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] + PLD ( pld [r1] ) NO_RND_AVG32 r4, r5, r6, r7, r8, r9, r12 subs r3, r3, #1 stmia r0, {r4-r5} @@ -315,7 +322,7 @@ function put_no_rnd_pixels8_x2_arm, expo ldmia r1, {r4-r5, r10} add r1, r1, r2 ADJ_ALIGN_DOUBLEWORD_D 3, r6, r7, r4, r5, r10 - pld [r1] + PLD ( pld [r1] ) NO_RND_AVG32 r8, r9, r6, r7, r5, r10, r12 subs r3, r3, #1 stmia r0, {r8-r9} @@ -330,7 +337,7 @@ function put_no_rnd_pixels8_x2_arm, expo function put_pixels8_y2_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned - pld [r1] + PLD ( pld [r1] ) stmfd sp!, {r4-r11,lr} @ R14 is also called LR mov r3, r3, lsr #1 ldr r12, =0xfefefefe @@ -340,13 +347,13 @@ function put_pixels8_y2_arm, export=1 add r1, r1, r2 6: ldmia r1, {r6-r7} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) RND_AVG32 r8, r9, r4, r5, r6, r7, r12 ldmia r1, {r4-r5} add r1, r1, r2 stmia r0, {r8-r9} add r0, r0, r2 - pld [r1] + PLD ( pld [r1] ) RND_AVG32 r8, r9, r6, r7, r4, r5, r12 subs r3, r3, #1 stmia r0, {r8-r9} @@ -357,18 +364,18 @@ function put_pixels8_y2_arm, export=1 2: ldmia r1, {r4-r6} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 1, r7, r8, r9 RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 subs r3, r3, #1 RND_AVG32 r10, r11, r7, r8, r4, r5, r12 @@ -380,18 +387,18 @@ function put_pixels8_y2_arm, export=1 3: ldmia r1, {r4-r6} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 2, r7, r8, r9 RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 subs r3, r3, #1 RND_AVG32 r10, r11, r7, r8, r4, r5, r12 @@ -403,18 +410,18 @@ function put_pixels8_y2_arm, export=1 4: ldmia r1, {r4-r6} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 3, r7, r8, r9 RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 subs r3, r3, #1 RND_AVG32 r10, r11, r7, r8, r4, r5, r12 @@ -428,7 +435,7 @@ function put_pixels8_y2_arm, export=1 function put_no_rnd_pixels8_y2_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned - pld [r1] + PLD ( pld [r1] ) stmfd sp!, {r4-r11,lr} @ R14 is also called LR mov r3, r3, lsr #1 ldr r12, =0xfefefefe @@ -438,13 +445,13 @@ function put_no_rnd_pixels8_y2_arm, expo add r1, r1, r2 6: ldmia r1, {r6-r7} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) NO_RND_AVG32 r8, r9, r4, r5, r6, r7, r12 ldmia r1, {r4-r5} add r1, r1, r2 stmia r0, {r8-r9} add r0, r0, r2 - pld [r1] + PLD ( pld [r1] ) NO_RND_AVG32 r8, r9, r6, r7, r4, r5, r12 subs r3, r3, #1 stmia r0, {r8-r9} @@ -455,18 +462,18 @@ function put_no_rnd_pixels8_y2_arm, expo 2: ldmia r1, {r4-r6} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 1, r7, r8, r9 NO_RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 1, r4, r5, r6 subs r3, r3, #1 NO_RND_AVG32 r10, r11, r7, r8, r4, r5, r12 @@ -478,18 +485,18 @@ function put_no_rnd_pixels8_y2_arm, expo 3: ldmia r1, {r4-r6} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 2, r7, r8, r9 NO_RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 2, r4, r5, r6 subs r3, r3, #1 NO_RND_AVG32 r10, r11, r7, r8, r4, r5, r12 @@ -501,18 +508,18 @@ function put_no_rnd_pixels8_y2_arm, expo 4: ldmia r1, {r4-r6} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 6: ldmia r1, {r7-r9} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 3, r7, r8, r9 NO_RND_AVG32 r10, r11, r4, r5, r7, r8, r12 stmia r0, {r10-r11} add r0, r0, r2 ldmia r1, {r4-r6} add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) ADJ_ALIGN_DOUBLEWORD 3, r4, r5, r6 subs r3, r3, #1 NO_RND_AVG32 r10, r11, r7, r8, r4, r5, r12 @@ -536,7 +543,7 @@ function put_no_rnd_pixels8_y2_arm, expo ldmia r1, {r8-r10} .endif add r1, r1, r2 - pld [r1] + PLD ( pld [r1] ) .if \align == 0 ADJ_ALIGN_DOUBLEWORD_D 1, r4, r5, r6, r7, r8 .elseif \align == 1 @@ -593,7 +600,7 @@ function put_no_rnd_pixels8_y2_arm, expo function put_pixels8_xy2_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned - pld [r1] + PLD ( pld [r1] ) stmfd sp!, {r4-r11,lr} @ R14 is also called LR JMP_ALIGN r5, r1 1: @@ -616,7 +623,7 @@ function put_pixels8_xy2_arm, export=1 function put_no_rnd_pixels8_xy2_arm, export=1 @ void func(uint8_t *block, const uint8_t *pixels, int line_size, int h) @ block = word aligned, pixles = unaligned - pld [r1] + PLD ( pld [r1] ) stmfd sp!, {r4-r11,lr} @ R14 is also called LR JMP_ALIGN r5, r1 1: