2

(連続していない) 等間隔のメモリアドレスから float をロードできる Intel SSE 命令はありますか?

たとえば、配列が与えられた場合A = {0, 1, 2, 3 .... n}、一度に 128 ビットのレジスタにロードし{A[0], A[4], A[8], A[12]}、その後に {A[5], A[9], A[13], A[17]}

4

1 に答える 1

3

この種の使用例では、通常、複数の連続したベクトルをロードし、egpshufdまたはpunpckldqetcを使用して必要な配置に並べ替えます。

Haswell 以降の AVX2 では、収集されたロード命令 (例: _mm_i32gather_ps ) があることに注意してください。これも考慮する価値があります。

于 2013-04-22T18:48:22.447 に答える