次の単精度浮動小数点ベクトル組み込み関数は、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3) 対応インテル® Pentium® 4 プロセッサー用に設計されたものです。
各組み込み関数演算の結果は、R0、R1、R2、および R3 レジスターに配置されます。
これらの組み込み関数のプロトタイプは、ヘッダーファイル pmmintrin.h 内にあります。
組み込み関数名
演算子
対応するインテル® SSE3 命令
_mm_addsub_ps
減算および加算
ADDSUBPS
_mm_hadd_ps
加算
HADDPS
_mm_hsub_ps
減算
HSUBPS
_mm_movehdup_ps
複製
MOVSHDUP
_mm_moveldup_ps
MOVSLDUP
extern __m128 _mm_addsub_ps(__m128 a, __m128 b);
奇数ベクトル要素を加え、偶数ベクトル要素を引きます。
R0
R1
R2
R3
a0 - b0;
a1 + b1;
a2 - b2;
a3 + b3;
extern __m128 _mm_hadd_ps(__m128 a, __m128 b);
隣接したベクトル要素を加えます。
a0 + a1;
a2 + a3;
b0 + b1;
b2 + b3;
extern __m128 _mm_hsub_ps(__m128 a, __m128 b);
隣接したベクトル要素を引きます。
a0 - a1;
a2 - a3;
b0 - b1;
b2 - b3;
extern __m128 _mm_movehdup_ps(__m128 a);
奇数ベクトル要素を偶数ベクトル要素へ複製します。
a1;
a3;
extern __m128 _mm_moveldup_ps(__m128 a);
偶数ベクトル要素を奇数ベクトル要素へ複製します。
a0;
a2;