SSE AVXのプログラミング
■ このスレッドは過去ログ倉庫に格納されています
0233デフォルトの名無しさん
2011/01/17(月) 20:27:55__m128i ptn = { 0,4,8,12, 16,20,24,28, 1,5,9,13, 17,21,25,29};
__m128i ptn2={ 0,4,8,12, 1,5,9,13, 2,6,10,14, 3,7,11,15};
__m128i v0 = _mm_load_si128((__m128i*) p1);
__m128i v1 = _mm_load_si128((__m128i*) p2);
__m128i v2 = _mm_shuffle_byte(v0, v1, ptn); ←v0とv1を連結して8bit x 32個の要素の中からptnで指定したものだけを並べる
__m128i v3 = _mm_load_shuffle_byte((__m128i*) p3, ptn2); ←8bit x 16個の要素をメモリから読み出し、ptn通りに並べ変える
SSEにこんな感じの命令はありませんか?
無い場合、SSE3までの範囲で代替しようとすると、どのくらい複雑になって遅くなりますか?
■ このスレッドは過去ログ倉庫に格納されています