インテル® C++ コンパイラーには、ベクトル算術関数を計算するための SVML (Short Vector Mathematical Library) 組み込み関数が用意されています。この組み込み関数は、IA-32 およびインテル® 64 アーキテクチャーの Windows*、Linux*、Mac OS* X システムで利用できます。
SVML 組み込み関数は、__m128 データ型と __m128d データ型を使用するベクトル用のスカラー算術演算です。 パックドベクトル引数を受け取り、その各要素に対して操作を実行して、結果を格納したパックドベクトルを返します。
例えば、_mm_sin_ps 組み込み関数の引数は、4 つの 32 ビット浮動小数点数からなる 128 ビットのパックドベクトルです。この組み込み関数は、4 つの要素の正弦を計算して、結果を格納した 128 ビットのパックドベクトルを返します。
SVML 組み込み関数を使用したほうが、スカラー算術関数を繰り返し呼び出すよりも早く処理することができます。ただし、組み込み関数とスカラー関数では精度が異なります。
SVML 組み込み関数に対応する命令はありません。SVML 組み込み関数のプロトタイプは、ヘッダーファイル ia32intrin.h 内にあります。