ベクトル化可能な演算は、浮動小数点データと整数データで異なります。
ループ本体内の文には float 型の演算 (通常は配列) を使用できます。可能な算術演算は、加算、減算、乗算、除算、否定、平方根、最大値、および最小値です。Pentium® 4 プロセッサ・システムに合わせて最適化しない限り、倍精度型の演算はできません。
ループ本体内の文には、char、unsigned char、short、unsigned short、int、および unsigned int という各型を使用できます。sqrt や fabs といった関数を呼び出せます。算術演算に使用できるのは、加算、減算、ビット単位 AND、ビット単位 OR、ビット単位 XOR、除算 (16 ビットのみ)、乗算 (16 ビットのみ)、最小値、および最大値だけです。データ型を複数混在させられるのは、変換しても精度が失われない場合だけです。例えば、乗算演算子、シフト演算子、単項演算子は混在させられます。
上記の浮動小数点演算と整数演算以外の文は使用できません。特に、特殊なデータ型である __m64 と __m128 はベクトル化できないので注意してください。ループ本体に関数呼び出しを含めることはできません。ストリーミング SIMD 拡張命令の組込み関数 (_mm_add_ps) は使用できません。