[FFmpeg-devel] [FFmpeg-cvslog] r12171 - trunk/doc/optimization.txt

Måns Rullgård mans
Thu Feb 21 22:11:24 CET 2008


Reimar D?ffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de> writes:

>> my 2.95 doesnt seem to support x86-64
>
> Well, x86-64 is not the only 64 bit system, and I very much doubt that
> only x86 is affected (actually, I know it is not).

OK, I'll bite, seeing as I have an ARM cross-compiler installed (my
annotations for those not fluent in ARM assembler).

        ldr     r2, [pc, #40]   ; r2 = &b
        ldr     r0, [pc, #40]   ; r0 = &a
        ldrh    r3, [r2]        ; r3 = b
        ldr     r1, [r0, #4]    ; r1 = a >> 32
        push    {r4, lr}
        mov     r4, #0          ; r4 = 0
        mul     lr, r1, r3      ; lr = r1 * r3
        ldr     ip, [r0]        ; ip = a
        umull   r0, r1, ip, r3  ; r0 = (ip * r3) >> 32; r1 = ip * r3
        mla     r2, ip, r4, lr  ; r2 = ip * r4 + lr
        add     r1, r2, r1      ; r1 += r2
        pop     {r4, pc}

We have the useless multiply by zero here as well.

-- 
M?ns Rullg?rd
mans at mansr.com




More information about the ffmpeg-devel mailing list