Commit d8640dfb authored by mru's avatar mru

ARM: use plain labels for pc-relative addressing

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@20152 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent a5dc149d
...@@ -65,7 +65,7 @@ function j_rev_dct_ARM, export=1 ...@@ -65,7 +65,7 @@ function j_rev_dct_ARM, export=1
mov lr, r0 @ lr = pointer to the current row mov lr, r0 @ lr = pointer to the current row
mov r12, #8 @ r12 = row-counter mov r12, #8 @ r12 = row-counter
add r11, pc, #(const_array-.-8) @ r11 = base pointer to the constants array adr r11, const_array @ r11 = base pointer to the constants array
row_loop: row_loop:
ldrsh r0, [lr, # 0] @ r0 = 'd0' ldrsh r0, [lr, # 0] @ r0 = 'd0'
ldrsh r2, [lr, # 2] @ r2 = 'd2' ldrsh r2, [lr, # 2] @ r2 = 'd2'
......
...@@ -66,7 +66,7 @@ function simple_idct_ARM, export=1 ...@@ -66,7 +66,7 @@ function simple_idct_ARM, export=1
stmfd sp!, {r4-r11, r14} @ R14 is also called LR stmfd sp!, {r4-r11, r14} @ R14 is also called LR
@@ at this point, R0=block, other registers are free. @@ at this point, R0=block, other registers are free.
add r14, r0, #112 @ R14=&block[8*7], better start from the last row, and decrease the value until row=0, i.e. R12=block. add r14, r0, #112 @ R14=&block[8*7], better start from the last row, and decrease the value until row=0, i.e. R12=block.
add r12, pc, #(__constant_ptr__-.-8) @ R12=__constant_ptr__, the vector containing the constants, probably not necessary to reserve a register for it adr r12, __constant_ptr__ @ R12=__constant_ptr__, the vector containing the constants, probably not necessary to reserve a register for it
@@ add 2 temporary variables in the stack: R0 and R14 @@ add 2 temporary variables in the stack: R0 and R14
sub sp, sp, #8 @ allow 2 local variables sub sp, sp, #8 @ allow 2 local variables
str r0, [sp, #0] @ save block in sp[0] str r0, [sp, #0] @ save block in sp[0]
......
...@@ -57,7 +57,7 @@ function idct_row_armv5te ...@@ -57,7 +57,7 @@ function idct_row_armv5te
mov ip, #16384 mov ip, #16384
sub ip, ip, #1 /* ip = W4 */ sub ip, ip, #1 /* ip = W4 */
smlabb v1, ip, a3, v1 /* v1 = W4*row[0]+(1<<(RS-1)) */ smlabb v1, ip, a3, v1 /* v1 = W4*row[0]+(1<<(RS-1)) */
ldr ip, [pc, #(w26-.-8)] /* ip = W2 | (W6 << 16) */ ldr ip, w26 /* ip = W2 | (W6 << 16) */
smultb a2, ip, a4 smultb a2, ip, a4
smulbb lr, ip, a4 smulbb lr, ip, a4
add v2, v1, a2 add v2, v1, a2
...@@ -65,8 +65,8 @@ function idct_row_armv5te ...@@ -65,8 +65,8 @@ function idct_row_armv5te
sub v4, v1, lr sub v4, v1, lr
add v1, v1, lr add v1, v1, lr
ldr ip, [pc, #(w13-.-8)] /* ip = W1 | (W3 << 16) */ ldr ip, w13 /* ip = W1 | (W3 << 16) */
ldr lr, [pc, #(w57-.-8)] /* lr = W5 | (W7 << 16) */ ldr lr, w57 /* lr = W5 | (W7 << 16) */
smulbt v5, ip, a3 smulbt v5, ip, a3
smultt v6, lr, a4 smultt v6, lr, a4
smlatt v5, ip, a4, v5 smlatt v5, ip, a4, v5
...@@ -93,7 +93,7 @@ function idct_row_armv5te ...@@ -93,7 +93,7 @@ function idct_row_armv5te
smlatt v7, ip, a4, v7 smlatt v7, ip, a4, v7
sub fp, fp, a2 sub fp, fp, a2
ldr ip, [pc, #(w26-.-8)] /* ip = W2 | (W6 << 16) */ ldr ip, w26 /* ip = W2 | (W6 << 16) */
mov a2, #16384 mov a2, #16384
sub a2, a2, #1 /* a2 = W4 */ sub a2, a2, #1 /* a2 = W4 */
smulbb a2, a2, a3 /* a2 = W4*row[4] */ smulbb a2, a2, a3 /* a2 = W4*row[4] */
...@@ -177,7 +177,7 @@ row_dc_only: ...@@ -177,7 +177,7 @@ row_dc_only:
sub v4, v2, a3 sub v4, v2, a3
sub v6, v2, a3 sub v6, v2, a3
add fp, v2, a3 add fp, v2, a3
ldr ip, [pc, #(w26-.-8)] ldr ip, w26
ldr a4, [a1, #(16*2)] ldr a4, [a1, #(16*2)]
add v2, v2, a3 add v2, v2, a3
...@@ -210,9 +210,9 @@ row_dc_only: ...@@ -210,9 +210,9 @@ row_dc_only:
stmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp} stmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp}
ldr ip, [pc, #(w13-.-8)] ldr ip, w13
ldr a4, [a1, #(16*1)] ldr a4, [a1, #(16*1)]
ldr lr, [pc, #(w57-.-8)] ldr lr, w57
smulbb v1, ip, a4 smulbb v1, ip, a4
smultb v3, ip, a4 smultb v3, ip, a4
smulbb v5, lr, a4 smulbb v5, lr, a4
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment