[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