ARM GCC problem

jirka7a@seznam.cz jirka7a@seznam.cz
Pondělí Červen 11 09:25:11 CEST 2007


A co uzavrit cely kod do volatile ?

Ja treba v GCC pouzivam:
asm volatile("sei" "\t\n");

Neslo by volatile oznaci cely cyklus for ? Popripade nejakym #def .. vypnout 
optimalizaci na tomto miste.

Jirka

----- Original Message ----- 
From: "Marek Peca" <marek@tynska.cuni.cz>
To: "HW-news" <hw-list@list.hw.cz>
Sent: Monday, June 11, 2007 8:54 AM
Subject: Re: ARM GCC problem


Zdravim,

> Takisto mi je zahadou preco sa v primitivnej cakacej gunkcii
>
> delay(uint_32_t t){
>       for(volatile uint32_t n; n < t, n++);
>       }
>
> musi pouzut VOLATILE, okrem main() ju nikde nepouzivam.

to je prece jasne z definice toho, co je "volatile". Kompilator pri
optimalizaci _muze_ zjistit, ze tento cyklus nic nedela (zpozdeni
se nepoklada za zadouci vysledek, naopak), proto jej vyoptimalizuje
pryc.

Ono by bylo dobre si zjistit zaklady modernich (= optimalizujicich)
kompilatoru. To zdaleka nechodi jako za starych casu na PMD-85 (nebo
Borland/Turbo Pascal/C), kdy prekladac prelozil konstrukci jazyka do
pevne dane konstrukce ze strojoveho kodu.


ZdraviM.P.

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list