| 
                 分類:[C/C++] 
  SSE(SSE2,SSE3など)を使って高速化を試していていろいろとHPを見ていたらデータのロードがわからなくなってきました。 インラインアセンブラを使わないのでC言語でAPIを叩いているのだけども、
  __m128i x0 = _mm_lddqu_si128( 初期データ) __m128i x1 = _mm_lddqu_si128( 初期データ)
  を使ってx0, x1 などにデータをロードするものだと思っていたら、
  	x0.m128i_u8[0] = 1; 	x0.m128i_i8[0] = 32; 	x0.m128i_u8[1] = 1; 	x0.m128i_i8[1] = -32;
  のような形で__m128i を初期化できることがわかりました。
  これで初期化が出来るのならば、なにも_mm_lddqu_si128なんて関数を用意する必要も無いように思います。
  そういう意味で、_mm_lddqu_si128の存在意義がわからなくなってきました。この関数は必要なのだろうか?
  |