|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function ff_sbc_analyze_4_armv6, export=1 |
|
|
|
push {r1, r3-r7, lr} |
|
push {r8-r12, r14} |
|
ldrd r4, r5, [r0, #0] |
|
ldrd r6, r7, [r2, #0] |
|
ldrd r8, r9, [r0, #16] |
|
ldrd r10, r11, [r2, #16] |
|
mov r14, #0x8000 |
|
smlad r3, r4, r6, r14 |
|
smlad r12, r5, r7, r14 |
|
ldrd r4, r5, [r0, #32] |
|
ldrd r6, r7, [r2, #32] |
|
smlad r3, r8, r10, r3 |
|
smlad r12, r9, r11, r12 |
|
ldrd r8, r9, [r0, #48] |
|
ldrd r10, r11, [r2, #48] |
|
smlad r3, r4, r6, r3 |
|
smlad r12, r5, r7, r12 |
|
ldrd r4, r5, [r0, #64] |
|
ldrd r6, r7, [r2, #64] |
|
smlad r3, r8, r10, r3 |
|
smlad r12, r9, r11, r12 |
|
ldrd r8, r9, [r0, #8] |
|
ldrd r10, r11, [r2, #8] |
|
smlad r3, r4, r6, r3 |
|
smlad r12, r5, r7, r12 |
|
ldrd r4, r5, [r0, #24] |
|
ldrd r6, r7, [r2, #24] |
|
pkhtb r3, r12, r3, asr #16 |
|
smlad r12, r8, r10, r14 |
|
smlad r14, r9, r11, r14 |
|
ldrd r8, r9, [r0, #40] |
|
ldrd r10, r11, [r2, #40] |
|
smlad r12, r4, r6, r12 |
|
smlad r14, r5, r7, r14 |
|
ldrd r4, r5, [r0, #56] |
|
ldrd r6, r7, [r2, #56] |
|
smlad r12, r8, r10, r12 |
|
smlad r14, r9, r11, r14 |
|
ldrd r8, r9, [r0, #72] |
|
ldrd r10, r11, [r2, #72] |
|
smlad r12, r4, r6, r12 |
|
smlad r14, r5, r7, r14 |
|
ldrd r4, r5, [r2, #80] |
|
smlad r12, r8, r10, r12 |
|
smlad r14, r9, r11, r14 |
|
ldrd r6, r7, [r2, #88] |
|
ldrd r8, r9, [r2, #96] |
|
ldrd r10, r11, [r2, #104] |
|
pkhtb r12, r14, r12, asr #16 |
|
smuad r4, r3, r4 |
|
smuad r5, r3, r5 |
|
smlad r4, r12, r8, r4 |
|
smlad r5, r12, r9, r5 |
|
smuad r6, r3, r6 |
|
smuad r7, r3, r7 |
|
smlad r6, r12, r10, r6 |
|
smlad r7, r12, r11, r7 |
|
pop {r8-r12, r14} |
|
stmia r1, {r4, r5, r6, r7} |
|
pop {r1, r3-r7, pc} |
|
endfunc |
|
|
|
function ff_sbc_analyze_8_armv6, export=1 |
|
|
|
push {r1, r3-r7, lr} |
|
push {r8-r12, r14} |
|
ldrd r4, r5, [r0, #24] |
|
ldrd r6, r7, [r2, #24] |
|
ldrd r8, r9, [r0, #56] |
|
ldrd r10, r11, [r2, #56] |
|
mov r14, #0x8000 |
|
smlad r3, r4, r6, r14 |
|
smlad r12, r5, r7, r14 |
|
ldrd r4, r5, [r0, #88] |
|
ldrd r6, r7, [r2, #88] |
|
smlad r3, r8, r10, r3 |
|
smlad r12, r9, r11, r12 |
|
ldrd r8, r9, [r0, #120] |
|
ldrd r10, r11, [r2, #120] |
|
smlad r3, r4, r6, r3 |
|
smlad r12, r5, r7, r12 |
|
ldrd r4, r5, [r0, #152] |
|
ldrd r6, r7, [r2, #152] |
|
smlad r3, r8, r10, r3 |
|
smlad r12, r9, r11, r12 |
|
ldrd r8, r9, [r0, #16] |
|
ldrd r10, r11, [r2, #16] |
|
smlad r3, r4, r6, r3 |
|
smlad r12, r5, r7, r12 |
|
ldrd r4, r5, [r0, #48] |
|
ldrd r6, r7, [r2, #48] |
|
pkhtb r3, r12, r3, asr #16 |
|
str r3, [sp, #-4]! |
|
smlad r3, r8, r10, r14 |
|
smlad r12, r9, r11, r14 |
|
ldrd r8, r9, [r0, #80] |
|
ldrd r10, r11, [r2, #80] |
|
smlad r3, r4, r6, r3 |
|
smlad r12, r5, r7, r12 |
|
ldrd r4, r5, [r0, #112] |
|
ldrd r6, r7, [r2, #112] |
|
smlad r3, r8, r10, r3 |
|
smlad r12, r9, r11, r12 |
|
ldrd r8, r9, [r0, #144] |
|
ldrd r10, r11, [r2, #144] |
|
smlad r3, r4, r6, r3 |
|
smlad r12, r5, r7, r12 |
|
ldrd r4, r5, [r0, #0] |
|
ldrd r6, r7, [r2, #0] |
|
smlad r3, r8, r10, r3 |
|
smlad r12, r9, r11, r12 |
|
ldrd r8, r9, [r0, #32] |
|
ldrd r10, r11, [r2, #32] |
|
pkhtb r3, r12, r3, asr #16 |
|
str r3, [sp, #-4]! |
|
smlad r3, r4, r6, r14 |
|
smlad r12, r5, r7, r14 |
|
ldrd r4, r5, [r0, #64] |
|
ldrd r6, r7, [r2, #64] |
|
smlad r3, r8, r10, r3 |
|
smlad r12, r9, r11, r12 |
|
ldrd r8, r9, [r0, #96] |
|
ldrd r10, r11, [r2, #96] |
|
smlad r3, r4, r6, r3 |
|
smlad r12, r5, r7, r12 |
|
ldrd r4, r5, [r0, #128] |
|
ldrd r6, r7, [r2, #128] |
|
smlad r3, r8, r10, r3 |
|
smlad r12, r9, r11, r12 |
|
ldrd r8, r9, [r0, #8] |
|
ldrd r10, r11, [r2, #8] |
|
smlad r3, r4, r6, r3 |
|
smlad r12, r5, r7, r12 |
|
ldrd r4, r5, [r0, #40] |
|
ldrd r6, r7, [r2, #40] |
|
pkhtb r3, r12, r3, asr #16 |
|
smlad r12, r8, r10, r14 |
|
smlad r14, r9, r11, r14 |
|
ldrd r8, r9, [r0, #72] |
|
ldrd r10, r11, [r2, #72] |
|
smlad r12, r4, r6, r12 |
|
smlad r14, r5, r7, r14 |
|
ldrd r4, r5, [r0, #104] |
|
ldrd r6, r7, [r2, #104] |
|
smlad r12, r8, r10, r12 |
|
smlad r14, r9, r11, r14 |
|
ldrd r8, r9, [r0, #136] |
|
ldrd r10, r11, [r2, #136]! |
|
smlad r12, r4, r6, r12 |
|
smlad r14, r5, r7, r14 |
|
ldrd r4, r5, [r2, #(160 - 136 + 0)] |
|
smlad r12, r8, r10, r12 |
|
smlad r14, r9, r11, r14 |
|
ldrd r6, r7, [r2, #(160 - 136 + 8)] |
|
smuad r4, r3, r4 |
|
smuad r5, r3, r5 |
|
pkhtb r12, r14, r12, asr #16 |
|
|
|
|
|
pop {r0, r14} |
|
ldrd r8, r9, [r2, #(160 - 136 + 32)] |
|
smuad r6, r3, r6 |
|
smuad r7, r3, r7 |
|
ldrd r10, r11, [r2, #(160 - 136 + 40)] |
|
smlad r4, r12, r8, r4 |
|
smlad r5, r12, r9, r5 |
|
ldrd r8, r9, [r2, #(160 - 136 + 64)] |
|
smlad r6, r12, r10, r6 |
|
smlad r7, r12, r11, r7 |
|
ldrd r10, r11, [r2, #(160 - 136 + 72)] |
|
smlad r4, r0, r8, r4 |
|
smlad r5, r0, r9, r5 |
|
ldrd r8, r9, [r2, #(160 - 136 + 96)] |
|
smlad r6, r0, r10, r6 |
|
smlad r7, r0, r11, r7 |
|
ldrd r10, r11, [r2, #(160 - 136 + 104)] |
|
smlad r4, r14, r8, r4 |
|
smlad r5, r14, r9, r5 |
|
ldrd r8, r9, [r2, #(160 - 136 + 16 + 0)] |
|
smlad r6, r14, r10, r6 |
|
smlad r7, r14, r11, r7 |
|
ldrd r10, r11, [r2, #(160 - 136 + 16 + 8)] |
|
stmia r1!, {r4, r5} |
|
smuad r4, r3, r8 |
|
smuad r5, r3, r9 |
|
ldrd r8, r9, [r2, #(160 - 136 + 16 + 32)] |
|
stmia r1!, {r6, r7} |
|
smuad r6, r3, r10 |
|
smuad r7, r3, r11 |
|
ldrd r10, r11, [r2, #(160 - 136 + 16 + 40)] |
|
smlad r4, r12, r8, r4 |
|
smlad r5, r12, r9, r5 |
|
ldrd r8, r9, [r2, #(160 - 136 + 16 + 64)] |
|
smlad r6, r12, r10, r6 |
|
smlad r7, r12, r11, r7 |
|
ldrd r10, r11, [r2, #(160 - 136 + 16 + 72)] |
|
smlad r4, r0, r8, r4 |
|
smlad r5, r0, r9, r5 |
|
ldrd r8, r9, [r2, #(160 - 136 + 16 + 96)] |
|
smlad r6, r0, r10, r6 |
|
smlad r7, r0, r11, r7 |
|
ldrd r10, r11, [r2, #(160 - 136 + 16 + 104)] |
|
smlad r4, r14, r8, r4 |
|
smlad r5, r14, r9, r5 |
|
smlad r6, r14, r10, r6 |
|
smlad r7, r14, r11, r7 |
|
pop {r8-r12, r14} |
|
stmia r1!, {r4, r5, r6, r7} |
|
pop {r1, r3-r7, pc} |
|
endfunc |
|
|