dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Re: hello all (Tremor optimization)

Re: hello all (Tremor optimization)

From: Thom Johansen <>
Date: 2005-05-23

Pedro Vasconcelos wrote:
> What I did define the multiplication and cross-products MULT3x, XPROD3x,
> etc. as assembly inlined functions in an asm_mcf5249.h include (i.e.
> analogous to the stock Tremor asm_arm.h). I didn't use the parallel
> loads as these functions aren't used with sequencial memory accesses.
> Maybe I am missing something here?
Sequential memory access or no, the parallel load versions saves two
bytes of code space for every move you do, but they also pretty much
require that you write all the optimisations in pure assembler, it's
a bit of a bother to use.

> I'm not at home at the moment, but I can send you the header file if
> you're interested.
I've got a pretty good grasp of what you've done, so not necessary for

> Sorry, I don't known what the IRAM is--- could you point me to some
> description?
The Coldfire processor we're using has 96kb of fast internal single
cycle access RAM. The slow accesses we get from ordinary RAM is a pretty
big bottleneck, so using this is beneficial.
You can put a variable/array/whatever in IRAM by postfixing the
definition with IDATA_ATTR, like this:
int myarray[512] IDATA_ATTR;
vorbis2wav doesn't support this right now, but I'll commit a fix for
this in five minutes.

Received on Mon May 23 11:28:19 2005

Page was last modified "Jan 10 2012" The Rockbox Crew