I just observed very strange thing.
By changing the source line order the same source line (multiplication) is
translated either into
movea.w d4,a0
move.l a0,86(a7)
move.l a0,d0
move.l #-1730,d1
jsr __lmul__
move.l d0,d3
or into
move.w d6,d3
muls.w #-1730,d3
The second alternative seems to be optically shorter, but it actually uses
register value inherited from the previous code. That's OK.
What I don't understand is that in one case the multiplication is realized
via muls instruction, in the other a call to the emulator is used instead.
It is probably clear that the impact on the program can be dramatic (and in
this case it really is).
I am using CW 8.3.
Jan Slodicka
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/support/forums/