インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
これらの組込み関数は、未定義の値のベクトルを生成します。生成されたベクトルは、通常、すべてのオペランドを初期化する必要があり、特定の引数の内容が問題にならない別の組込み関数への引数として使用されます。
これらの組込み関数を使用する場合、次のように immintrin.h ファイルをインクルードします。
#include <immintrin.h>
例えば、このような組込み関数を xmm レジスターにあるパックド倍精度浮動小数点値の合計を計算するのに使用できます。次のコードは不要な移動を避け、結果から必要な下位 64 ビットを取得します。
__m128d HILO = doSomeWork(); __m128d HI = _mm_unpackhi_pd(HILO, _mm_undefined_pd()); __m128d result = _mm_add_sd(HI, HILO);
extern __m128d _mm_undefined_pd(void);
2 つの倍精度浮動小数点要素のベクトルを返します。ベクトルの内容は、指定されていません。
extern __m128i _mm_undefined_si128(void);
4 つのパックド・ダブルワード整数要素のベクトルを返します。ベクトルの内容は、指定されていません。