[FFmpeg-devel] [PATCH] Some IWMMXT functions for libavcodec #2

Siarhei Siamashka siarhei.siamashka
Mon May 19 14:09:56 CEST 2008

On Monday 19 May 2008, Dmitry Antipov wrote:
> Siarhei Siamashka wrote:
> > But your unrolled code still "sucks" :) It has a lot of pipeline stalls
> > that could be eliminated. Please read optimization manual and find
> > a definition of instruction latency. That will help a lot in optimizing
> > code and understanding how CPU works. ARM pipeline is quite simple to
> > comprehend and you will immediately spot potential stalls after you
> > get more practice with assembly code.
> What docs are you using? As I understand, this is the main XScale core
> specification beyond the WMMX-specific stuff:
> http://www.intel.com/design/intelxscale/273473.htm

When checking for potential performance problems in your code I use WMMX1 and 
WMMX2 optimization manuals. Links to them have been mentioned earlier.

Actually I read these manuals only after you submitted the first revision 
of your patch, so I'm still not completely confident with WMMX code
scheduling myself. We are both learning new stuff right now, and looks like
so far it was quite productive :)

> (I'm slightly confused with the relationships between XScale cores and
> ARM{5,7,9,11} ones). 

All the information about ARM11 core was mentioned just to give an 
impression about how similar stuff works on different ARM core and 
what problems/solutions you can generally encounter when optimizing 
code. Sorry, I'll try to avoid referencing any unrelated ARM cores to 
avoid confusion.

Best regards,
Siarhei Siamashka

More information about the ffmpeg-devel mailing list