ich die beiden folgenden Schleifen haben:Vektorisierung in Schleifen
For i=1…n
a[i] = a[i+1] + 1
For i=1…n
b[i] = b[i-1] + 1
nun bedenkt, dass sowohl die Arrays initialisiert werden, welche von ihnen vektorisiert werden können? Ändert sich auch die Antwort, wenn die Arrays nicht initialisiert werden, denn wenn die Werte nicht initialisiert werden, dann wird in der ersten Schleife ein [i + 1] benötigt, bevor es berechnet wird.
edit1: Die Schleifen hier versuchen, 4 Bytes zu einer Zeit zu kopieren, wenn ich 16 Bytes gleichzeitig kopieren möchte, kann es getan werden? Gibt es eine Zurückhaltung dafür?
Dies ist nicht C++ - Code, was auch immer Sie fragen. –
Für den Rekord versuchen Sie zu bestimmen, was ein Compiler tun wird, oder warum es das tun wird, weil Letzteres ein bisschen eine Hausaufgabenfrage ist. – West
Wenn Sie sich den Artikel zur automatischen Vektorisierung anschauen, hat er Optionen dafür. – West