AVX(2) ではなく SSE から SSE4.1 を持っていると仮定すると、次のようなパックされたメモリ レイアウト (すべて 32 ビット整数) をロードする最速の方法は次のとおりです。
a0 b0 c0 d0 a1 b1 c1 d1 a2 b2 c2 d2 a3 b3 c3 d3
4 つのベクトルにa, b, c, d
?
a: {a0, a1, a2, a3}
b: {b0, b1, b2, b3}
c: {c0, c1, c2, c3}
d: {d0, d1, d2, d3}
これが関連しているかどうかはわかりませんが、実際のアプリケーションでは 16 個のベクトルがありa0
、a1
メモリ内で 16*4 バイト離れています。