在AVX2 intrinsic文檔尋找有聚集負載指令,例如VPGATHERDD
:AVX2指令集 - 加載地址計算
__m128i _mm_i32gather_epi32 (int const * base, __m128i index, const int scale);
的不是很清楚,我從文檔是否計算負載地址是元件地址或字節地址,即是負載地址元件i
:
load_addr = base + index[i] * scale; // (1) element addressing ?
或:
load_addr = (char *)base + index[i] * scale; // (2) byte addressing ?
從它看起來像它可能是(2),但是這並沒有多大意義,因爲對於聚集的負荷最小單元尺寸是32位的Intel docs - 爲什麼你想從錯位地址加載(即使用量表< 4)?
好的 - 謝謝 - 我認爲這是有道理的,並且與文檔一致。您在加載過程中有一個很好的觀點。 3個字節的像素值。 – 2013-04-24 16:52:17