次の倍精度浮動小数点組み込み関数は、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3) 対応インテル® Pentium® 4 プロセッサー用に設計されたものです。
各組み込み関数演算の結果は、R0 レジスターおよび R1 レジスターに配置されます。
これらの組み込み関数のプロトタイプは、ヘッダーファイル pmmintrin.h 内にあります。
組み込み関数名
演算子
対応するインテル® SSE3 命令
_mm_addsub_pd
減算および加算
ADDSUBPD
_mm_hadd_pd
加算
HADDPD
_mm_hsub_pd
減算
HSUBPD
_mm_loaddup_pd
複製
MOVDDUP
_mm_movedup_pd
extern __m128d _mm_addsub_pd(__m128d a, __m128d b);
下位ベクトル要素を引き、上位ベクトル要素を加えます。
R0
R1
a0 - b0;
a1 + b1;
extern __m128d _mm_hadd_pd(__m128d a, __m128d b);
隣接したベクトル要素を加えます。
a0 + a1;
b0 + b1;
extern __m128d _mm_hsub_pd(__m128d a, __m128d b);
隣接したベクトル要素を引きます。
a0 - a1;
b0 - b1;
extern __m128d _mm_loaddup_pd(double const * dp);
double の値を上位と下位ベクトル要素へ複製します。
*dp;
extern __m128d _mm_movedup_pd(__m128d a);
下位ベクトル要素を上位ベクトル要素へ複製します。
a0;