Eine schnellere nicht zugewiesene Ganzzahl-SSE-Last, die selten verwendet wird [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Was ist der Unterschied zwischen _mm256_lddqu_si256 und _mm256_loadu_si256 1 Antwort

Ich möchte mehr über das @ wiss_mm_lddqu_si128intrinsic lddqu Befehl seit SSE3) besonders im Vergleich zum_mm_loadu_si128 intrinsic (movdqu-Anweisung seit SSE2).

Ich habe nur entdeckt_mm_lddqu_si128 heute. Der Intel Intrinsic Guide sagt

dieses intrinsische Verhalten kann besser sein als _mm_loadu_si128, wenn die Daten eine Cache-Zeilengrenze überschreiten

und Ein Kommentar sagt it

wird unter bestimmten Umständen eine bessere Leistung erbringen, jedoch niemals eine schlechtere.

So warum wird es nicht mehr verwendet (SSE3 ist ein ziemlich niedriger Balken, da alle Core2-Prozessoren ihn haben)? Warum funktioniert es möglicherweise besser, wenn Daten eine Cache-Zeile überschreiten? Istlddqu nur möglicherweise besser auf einer bestimmten Teilmenge von Prozessoren. Z.B. vor Nehalem?

Mir ist klar, dass ich ein Intel-Handbuch durchlesen könnte, um die Antwort zu finden, aber ich denke, diese Frage könnte für andere interessant sein.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage