[vorbis-dev] Optimisations

Segher Boessenkool segher at wanadoo.nl
Thu Nov 16 16:13:54 PST 2000



Thanks for the links, Timothy!

> >So these will presumably still work when there will fit more then 4
> >floats in a reg?
> >How do they do this? Or is it fixed at 4? In that case, vecor is a
> >mis-nomer, should be vector4 OSLT.
> 
>   That's a good point.  I don't know if they ever plan on extending the number of elements per vector.  They might just 

They say they will in the near future support 16 operations at once. I
don't think
they will be able to do four separate operations at once, so they most
likely will
widen the registers 

> decide to extend the number of vector registers and number of pipelines :)

They have 32 regs now, more than 64 certainly won't help much, 64 is a
big maybe :-(
Increasing number of registers is easy (unless your Intel; but see the
FP regs in x86-64;
this is way cool, and they say the processors will be cheaper than
current Durons).
It won't increase processor complexity by much (just a few bits extra,
and increasing
the number of architecture (if these are really implemented) and rename registers.

Increasing number of pipelines will require compiler support to be
really effective, and
even then, will have less-than linear benefit (more like logaritmical,
for common
code; can of course be better for tight inner loops).
 
> >According to ANSI C, you want to loose precision.
> 
>   Well, yes.  That is what the compiler has to assume.  But the author may have just been silly when writing the code.  I've seen lots of cases of this when optimizing for PPC (since it is really bad at doing int/float conversions).  Needless casts between int/float can cost a lot.

Is just int->float bad, or float->int as well? i ask this, because I was pleasantly
surprised today, because my G3 was like 10 times faster than my Athlon
(and that one
was _way_ faster than the P-III) in converting an array of float to an
array of int
(in plain stupid C code).

More generally, maybe all of the audience can help: what are the weakest
points of all the
various processors Vorbis will be deployed on?

We'll need this in making reasonable decisions 'bout what/how to optimize.

Dagdag,

Segher

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis-dev mailing list