Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názor k článku
Programujeme v jazyce Assembler v Linuxu: Úvod

Mikulas Patocka
Mikulas Patocka (neregistrovaný)
2. 7. 2004 3:33

Re: MMX a SSE instrukce

celé vlákno

Gcc generuje ne uplne dobry kod. Typicky pripad, ktery gcc nezvladne zoptimalizovat je, kdyz mate ve funkci rychlou casto pouzivanou cestu, ktere staci k vykonani registry, ktere neni treba ukladat (eax, ecx, edx) a druhou pomalou malo pouzivanou cestu, ktera potrebuje spoustu mista na zasobniku a vsechny registry. Gcc da alokaci mista zasobniku a ukladani registru na zacatek funkce pred obe cesty, ne jen do te pomale, jak by to bylo lepsi.

Quake se zrychlil pry 2x, kdyz se prepsaly nejdulezitejsi funkce v assembleru.

Rucne schedulovat instrukce neni problem --- pro Pentium a Pentium 2 jsou ta pravidla jednoducha. Pro Pentium 4 trochu slozitejsi (a ne tak ucinna), ale ne o moc.