Forum: Mikrocontroller und Digitale Elektronik For schleife in c ausprogrammieren


von Tobi (Gast)


Lesenswert?

Hallo,

ich habe eine for Schleife mit einer festen länge. Wie kann ich den 
Compiler sagen, dass er die schleife ausprogrammieren soll. Speicher 
habe ich genung, jedoch soll die Ausführung möglichst schnell von 
statten gehen.
Die Compiler Optimierung habe ich schon auf höchster stufe, jedoch sehe 
ich im Disassamble, dass die Schleife nich ausprogrammiert wurde.

Bsp:

for(int i = 0; i < 10; i++){
   a[1][i] = b[1][i] + c[1][i];
}

soll zum Schluss so aussehen:

a[1][0] = b[1][0] + c[1][0];
a[1][1] = b[1][1] + c[1][1];
a[1][2] = b[1][2] + c[1][2];
a[1][3] = b[1][3] + c[1][3];
....

von Cyblord -. (cyblord)


Lesenswert?

Stichwort: Loop unrolling

Google: "Loop unrolling gcc"

Ergebnis: 
https://gcc.gnu.org/onlinedocs/gcc-3.4.4/gcc/Optimize-Options.html

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.