[tremor] Tremor's use of 64-bit math

Owen G. Emry oemry at patriot.net
Thu Sep 12 23:33:09 PDT 2002



Monty <xiphmont at xiph.org> said:

> 
> 
> 
> On Fri, Sep 13, 2002 at 02:02:54AM -0000, Owen G. Emry wrote:
> > Hi, all.
> > 
> > I'd appreciate it if someone who understands the decoder better than I 
could 
> > briefly explain how Tremor uses 64-bit math.  My problem is this:
> 
> Before going too much farther, are you only referring to position
> tracking code (eg granulepos) which uses 64 bit integers, or also the
> 32x32 -> 32,32 multiplications that occur in a number of places, such
> as the mdct?

I'm referring to everything that requires me to link against libgcc.a.  I'm 
targeting ARM, and defining _ARM_ASSEM_ which I _think_ is what does the 
32x32 -> 32,32 multiplications, right?  However, gcc's still generating 
references to these:

__divdi3 (in ov_bitrate, ov_bitrate_instant, ov_time_total, etc.)
__divsi3 (in _book_maptype1_quantvals, _book_unquantize, 
vorbis_book_decodevs_add, floor0_look, etc.)
__modsi3 (in _book_unquantize)

I've poked around for documentation and I honestly can't even figure out what 
these are, but it's obvious from examining the ARM disassembly that they 
result from operations on long longs.  

Thanks very much for your help...

-Owen

--- >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 'tremor-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 Tremor mailing list