How about declaring 'i' as volatile??

volatile int i;
for (i=0; i<N; i++)
 continue;

Haven't tried this but just maybe...

Regards
-Bill Knight
R O SoftWare

On Fri, 29 Nov 2002 17:00:07 +0300, Dmitry wrote:

>yes...
>this drives me up the wall.

>try:
>       for (i=0;i<N;i++) asm("; loop %0" ::"r"(i));

>then gcc will probably not optimize the loop.



>On Friday 29 November 2002 16:55, Steve Underwood wrote:
>> Hi Dmitry,
>>
>> I think this problem is for you.......
>>
>> I have a delay loop for a slow LCD interface. This includes the
>> following routine:
>>
>> static __inline__ void delay_b(void)
>> {
>>          int i;
>>
>>          for (i = 90;  i > 0;  i--)
>>                  __asm__ __volatile__("; loop");
>> }
>>
>>
>> Compiled with the current mspgcc, this is optimsed to nothing. I
>> reported this problem before. It seemed to be fixed a week or two ago,
>> but is now back. A slightly modified routine:
>>
>> static __inline__ void delay_b(void)
>> {
>>          int i;
>>
>>          for (i = 90;  i > 0;  i--)
>>                  _NOP();
>> }
>>
>> produces a single NOP instruction, and there is no reason why it should
>> not. However, if you take away the __inline__ you get something
>> unexpected. You get 30 nop instructions, with a loop around them to
>> repeat them 3 times. This is correct, but not very efficient :-)
>>
>> The above effects are with -O2 optimisation.
>>
>> Regards,
>> Steve
>>
>>
>>
>>
>> -------------------------------------------------------
>> This SF.net email is sponsored by: Get the new Palm Tungsten T
>> handheld. Power & Color in a compact size!
>> http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0002en
>> _______________________________________________
>> Mspgcc-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/mspgcc-users

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



>-------------------------------------------------------
>This SF.net email is sponsored by: Get the new Palm Tungsten T 
>handheld. Power & Color in a compact size! 
>http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0002en
>_______________________________________________
>Mspgcc-users mailing list
>[email protected]
>https://lists.sourceforge.net/lists/listinfo/mspgcc-users




Reply via email to