[vorbis-dev] use of 'long' in vorbis structures

David Etherton etherton at rockstarsandiego.com
Wed May 21 16:30:59 PDT 2003



>  I doubt it's something we want to accept into mainline-cvs, but perhaps
we
> could set up a branch for weird-ps2-optimisations, if other people are
going
> to find this useful? long being software-emulated is very weird, I dobut
many
> other platforms do that - and since many of the longs are in the public
API,
> we couldn't change them for the normal version anyway.

Well, it's basically a mips R4000 core with some MMX and SSE thrown in, and
all double-precision support ripped out.  Longs are not emulated per se, but
the multiplier is still only 32x32 -> 64 and the divider is 32/32 -> (32,32)
so

long foo(long a,long b) { return a/b; }

will call a software math routine that will do a multiword divide.  It's
showing up as 3% of my total cpu usage (__divdi3) so I'm trying the "scorch
and burn" approach to get rid of it :-)

(I did get caught up by a few unsigned longs, but a subsequent search on
"unsigned ogg_int32_t" fixed that)

-Dave

--- >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