Powerpc IRQ handling breaks strict EABI compliance

Sergei Organov osv at javad.ru
Tue Feb 11 09:58:35 UTC 2003


Valette Eric <eric.valette at free.fr> writes:
> Sergei Organov wrote:
> 
> > What I want to tell is that using of SYSV ABI/EABI indeed makes code
> > smaller and faster, so it'd be fine if PPC port of RTEMS starts to support
> > it again (the old RTEMS 3.x code did support it, BTW).
> 
> This was the reason of my latest post : changing IRQ code not to scratch R2
> is indeed mandatory but have you any evidence of "faster and smaller". I can
> understand smaller but not sure faster as you freeze one machine registers.
> Can you point out part of asm and benchmark to see if modifications are
> really worth?

Faster and smaller because to fetch value of a variable/constant placed into a
small data section you need only 1 instruction as opposed to 2 instructions
(fetch high part of address then the value itself). The same applies to
storing.

Another gain could be achieved by placing small data section(s) into faster
RAM (e.g., internal RAM on mpc5xx).

Loosing one/two GP register for general use is not an issue on PPC anyway.
I've once wrote a code in C for testing purposes that tries to intentionally
use all the available registers -- it was really difficult.

By default, variables/constants not larger than 8 bytes are put into small data
sections, but this is configurable. Actual gain depends on the style
application is written in though.

-- 
Sergei.




More information about the users mailing list