In der Regel generieren Sie 4 Partialsummen in Ihrer Schleife und summieren dann horizontal nur die 4 Elemente nach der Schleife, z. B.
%Vor% Hinweis: Für das obige Beispiel muss a
16 Byte ausgerichtet sein und n
muss ein Vielfaches von 4 sein. Wenn die Ausrichtung von a
nicht garantiert werden kann, verwenden Sie _mm_loadu_ps
anstelle von _mm_load_ps
. Wenn n
nicht garantiert ein Vielfaches von 4 ist, fügen Sie am Ende der Funktion eine Skalarschleife hinzu, um alle verbleibenden Elemente zu akkumulieren.