タグ

ブックマーク / programmingmemo.blogspot.com (1)

  • Programming Memo: SIMDでテーブル参照

    2009年11月14日土曜日 SIMDでテーブル参照 こんな感じの、いわゆるテーブル参照をSIMDで並列化することを考える。 char table[N] int index[N] char result[N] for ( int i = 0; i Nが16以下ならば簡単。shuffle命令を使えばいい。 __m128i mindex; __m128i mtable; __m128i mresult; mindex = _mm_load_si128( (__m128i *)index ); mtable = _mm_load_si128( (__m128i *)table ); mresult = _mm_shuffle_epi8( mtable, mindex ); _mm_store_si128( (__m128i *)result, mresult ); Nが16より大きい場合は、sh

  • 1