Just checked.
do not use volatile.
If you compile the code w/o volatile modifier, you'll see why higher 
optimization option forces some 'extra' reload (you'll see that is saves at 
least 4 cycles).
For more info - doc.txt (#line 1541)
~d


On Saturday 04 January 2003 01:09, Mark Stokes wrote:
> However the second "if" test _Doesn't_ do what I want.   I want to
> remove the extra R15 loads that are not even being used.
> Example:
>         int16 = (unsigned int)int32;
>     1184:       1e 42 04 02             mov     &0x0204,r14     
>     1188:       1f 42 06 02             mov     &0x0206,r15     <<-- not
> needed!!
>     118c:       82 4e 02 02             mov     r14,    &0x0202
>
> I also want the assignments and compares to perform on the RAM directly,
> since it can.  This would save the register loads. Example:
>
>     1184:       92 42 04 02 02 02       mov     &0x0204,&0x0202 ;src
> addr 0x0204

-- 
*********************************************************************
   ("`-''-/").___..--''"`-._     (\       Dimmy the Wild      UA1ACZ
    `6_ 6  )   `-.  (     ).`-.__.`)      Enterprise Information Sys 
    (_Y_.)'  ._   )  `._ `. ``-..-'       Nevsky prospekt,   20 / 44
  _..`--'_..-_/  /--'_.' ,'               Saint Petersburg,   Russia
 (il),-''  (li),'  ((!.-'                 +7 (812) 314-8860, 5585314
*********************************************************************




Reply via email to