SSE3 例

この複素数乗算の例では、ストリーミング SIMD 拡張命令 3 をサポートするインテル® Pentium® 4 プロセッサを対象としたコンパイルでパフォーマンスを向上するために、いくつかの SSE3 命令が使用されます。

float _Complex a[100];

float _Complex b[100];

void doit(void)

{

  int i;

  for (i=0;i<100;i++)

  {

    a[i] *= b[i];

  }

}

 

SSE3 命令 同等の組込み関数 説明
addsubps __m128 _mm_addsub_ps(__m128 a, __m128 b) パックド単精度浮動小数点積和/積差
movshdup __m128 _mm_movehdup_ps(__m128 a) 上位パックド単精度浮動小数点の移動および複製
movsldup __m128 _mm_moveldup_ps(__m128 a) 下位パックド単精度浮動小数点の移動および複製