#define W26 (W2 | (W6 << 16))
#define W57 (W5 | (W7 << 16))
- .text
- .align
-w13: .long W13
-w26: .long W26
-w57: .long W57
-
function idct_row_armv5te
str lr, [sp, #-4]!
- ldrd v1, [a1, #8]
- ldrd a3, [a1] /* a3 = row[1:0], a4 = row[3:2] */
+ ldrd v1, v2, [a1, #8]
+ ldrd a3, a4, [a1] /* a3 = row[1:0], a4 = row[3:2] */
orrs v1, v1, v2
itt eq
cmpeq v1, a4
mov ip, #16384
sub ip, ip, #1 /* ip = W4 */
smlabb v1, ip, a3, v1 /* v1 = W4*row[0]+(1<<(RS-1)) */
- ldr ip, w26 /* ip = W2 | (W6 << 16) */
+ ldr ip, =W26 /* ip = W2 | (W6 << 16) */
smultb a2, ip, a4
smulbb lr, ip, a4
add v2, v1, a2
sub v4, v1, lr
add v1, v1, lr
- ldr ip, w13 /* ip = W1 | (W3 << 16) */
- ldr lr, w57 /* lr = W5 | (W7 << 16) */
+ ldr ip, =W13 /* ip = W1 | (W3 << 16) */
+ ldr lr, =W57 /* lr = W5 | (W7 << 16) */
smulbt v5, ip, a3
smultt v6, lr, a4
smlatt v5, ip, a4, v5
smultt fp, lr, a3
sub v7, v7, a2
smulbt a2, lr, a4
- ldrd a3, [a1, #8] /* a3=row[5:4] a4=row[7:6] */
+ ldrd a3, a4, [a1, #8] /* a3=row[5:4] a4=row[7:6] */
sub fp, fp, a2
orrs a2, a3, a4
smlatt v7, ip, a4, v7
sub fp, fp, a2
- ldr ip, w26 /* ip = W2 | (W6 << 16) */
+ ldr ip, =W26 /* ip = W2 | (W6 << 16) */
mov a2, #16384
sub a2, a2, #1 /* a2 = W4 */
smulbb a2, a2, a3 /* a2 = W4*row[4] */
add a2, v4, fp
mov a2, a2, lsr #11
add a4, a4, a2, lsl #16
- strd a3, [a1]
+ strd a3, a4, [a1]
sub a2, v4, fp
mov a3, a2, lsr #11
sub a2, v1, v5
mov a2, a2, lsr #11
add a4, a4, a2, lsl #16
- strd a3, [a1, #8]
+ strd a3, a4, [a1, #8]
ldr pc, [sp], #4
bic a3, a3, #0xe000
mov a3, a3, lsl #3
mov a4, a3
- strd a3, [a1]
- strd a3, [a1, #8]
+ strd a3, a4, [a1]
+ strd a3, a4, [a1, #8]
ldr pc, [sp], #4
endfunc
sub v4, v2, a3
sub v6, v2, a3
add fp, v2, a3
- ldr ip, w26
+ ldr ip, =W26
ldr a4, [a1, #(16*2)]
add v2, v2, a3
stmfd sp!, {v1, v2, v3, v4, v5, v6, v7, fp}
- ldr ip, w13
+ ldr ip, =W13
ldr a4, [a1, #(16*1)]
- ldr lr, w57
+ ldr lr, =W57
smulbb v1, ip, a4
smultb v3, ip, a4
smulbb v5, lr, a4