注
次の機能を使用する場合は、ヘッダファイルfvec.hをインクルードする必要があります。
Is16vec4 simd_max(Is16vec4 A, Is16vec4 B);
AとBに含まれているそれぞれの符号付き整数ワードの中で、要素単位で見たときの最大値を計算します。
対応する組込み関数:_mm_max_pi16
Is16vec4 simd_min(Is16vec4 A, Is16vec4 B);
AとBに含まれているそれぞれの符号付き整数ワードの中で、要素単位で見たときの最小値を計算します。
対応する組込み関数:_mm_min_pi16
Iu8vec8 simd_max(Iu8vec8 A, Iu8vec8 B);
AとBに含まれているそれぞれの符号なしバイトの中で、要素単位で見たときの最大値を計算します。
対応する組込み関数:_mm_max_pu8
Iu8vec8 simd_min(Iu8vec8 A, Iu8vec8 B);
Aと Bに含まれているそれぞれの符号なしバイトの中で、要素単位で見たときの最小値を計算します。
対応する組込み関数:_mm_min_pu8
int move_mask(I8vec8 A);
Aに含まれているすべてのバイトの最上位ビットから8ビットマスクを1個作成します。
対応する組込み関数:_mm_movemask_pi8
void mask_move(I8vec8 A, I8vec8 B, signed char *p);
条件に従って、Aのバイト要素をいくつかアドレスpにストアします。選択子B に含まれている各バイトの上位ビットによって、A内の対応バイトがストアされるかされないかが決まります。
対応する組込み関数:_mm_maskmove_si64
void store_nta(__m64 *p, M64 A);
当該キャッシュ・データに影響を与えることなく、Aに含まれているデータをアドレスpにストアします。A はIvec型であれば何でもかまいません。
対応する組込み関数:_mm_stream_pi
Iu8vec8 simd_avg(Iu8vec8 A, Iu8vec8 B);
AとBに含まれているそれぞれの符号なし8ビット整数すべてについて、要素単位で見たときの平均値を計算します。
対応する組込み関数:_mm_avg_pu8
Iu16vec4 simd_avg(Iu16vec4 A, Iu16vec4 B);
AとBに含まれているそれぞれの符号なし16ビット整数すべてについて、要素単位で見たときの平均値を計算します。
対応する組込み関数:_mm_avg_pu16