ずっと昔に調べたのだけど、使うことも無くホコリをかぶっていたSSE。なぜか今頃使うことになりそうなので再調査をしていたら、すごいコードを見つけてしまった。こんな書き方が許されるとは。。。雲は正直目が点。
__m128i al;
a.m128i_i8[0] = 10;
雲が知っている範囲では、64bit境界に合わせるとかうるさいことを言われていて、意外と面倒だった記憶がある。まさか、__m128i の型から値を設定できるなんてびっくり。
ちなみに、元の記事はこちら。
_mm_maddubs_epi16
ただ、これが正しいのであれば
_mm_lddqu_si128
は一体何のために用意されているのだろうか?
セコメントをする