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 AntwortIch möchte mehr über das @ wiss_mm_lddqu_si128
intrinsic 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.