[FFmpeg-devel] [PATCH] Fix mm_flags, mm_support for ARM

Laurent Desnogues laurent.desnogues
Tue Jul 1 10:37:27 CEST 2008


On Tue, Jul 1, 2008 at 10:00 AM, Siarhei Siamashka
<siarhei.siamashka at gmail.com> wrote:
> Loading from memory (actually from L1 cache) is faster than using an immediate
> operand. Just because you can easily initialize 2 registers per cycle instead
> of just one (on ARM11). The only drawback is the higher latency. With
> immediate operand, you can use this constant right away, but when loading it
> from memory, you have to wait a bit.
>
> You have a number of constants to be loaded from memory anyway, putting one
> more constant into the same cache line will have absolutely no impact on
> performance.

What you say is not always true:  when you have data close
to instructions, you pollute your Icache with data, and your
Dcache with instructions;  on top of that you make sure you
need one Itlb *plus* one Dtlb entry.

I think both approaches have to be benchmarked in real
life situation, and on several processors.

Also when loading from memory, if your data side is blocking
then you are basically stalling your pipeline while the data is
loaded.


Laurent




More information about the ffmpeg-devel mailing list