[speex-dev] [PATCH] Make SSE Run Time option.

Jean-Marc Valin Jean-Marc.Valin at USherbrooke.ca
Thu Jan 15 12:34:19 PST 2004


> I think there is just a confusion over terminology going on here- I agree that
> support for 3dnow base version may not necessarily be relevant; However,
> even though 3dNow extended is a bastardized version of SSE, it still supports
> the same instructions, and that is what is important- I don't think we 
> intend to
> add any AMD specfic code.

What I'm saying is that the "SSE without xmm" is only used with 3DNow
extended, so you might as well consider it as part of the 3DNow!
extended. Even then, it's basically reduced to integer instructions that
aren't needed in Speex and prefetch instructions that aren't needed
either (Speex completely fits in L1 easily).

> The real issue is cross CPU SSE support, and whether in addition there is 
> access
> to XMM registers or not- whether the OS actually supports XMM as well.  We 
> have
> a fair amount of other stuff we do in assembler, much of which requires SSE 
> instruction
> sets but *not* XMM registers, and some of which is just MMX only.   In 
> speex, I can see
> how you would always want to use the widest register possible for all of 
> the fp ops in
> longish vectors.  However, the more integer stuff  you do, and just as time 
> goes on, the
> more likely it is someone will want to do some type of optimization to 
> accommodate
> lowest common denominator type machines.

But that's the thing. The only acceleration that's really useful for
Speex is float SIMD. The rest is basically useless (can you prove me
wrong?). That's why SSE is useful. 3DNow! would be useful too if you
have an Athlon. I don't think MMX is of any use though.

        Jean-Marc


-- 
Jean-Marc Valin, M.Sc.A., ing. jr.
LABORIUS (http://www.gel.usherb.ca/laborius)
Université de Sherbrooke, Québec, Canada


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: Ceci est une partie de message numériquement signée.
Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20040115/cec45c19/signature-0001.pgp


More information about the Speex-dev mailing list