インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

_mm256_blendv_ps

float32 ベクトルの条件付き混合または条件付きマージを実行します。対応するインテル® AVX 命令は VBLENDVPS です。

構文

extern __m256 _mm256_blendv_ps(__m256 m1, __m256 m2, __m256 mask);

引数

m1

演算に使用する float32 ベクトル

m2

演算に使用する float32 ベクトル

mask

演算に使用するマスク付きの float32 ベクトル。要素の最上位ビットが "1" の場合は、2 つ目のソースベクトルの対応する要素が結果にコピーされ、"0" の場合は、1 つ目のソースベクトルの対応する要素が結果にコピーされます。

説明

mask 引数の最上位ビットに応じて、2 つのベクトルの 8 つのパックド単精度浮動小数点要素 (float32 要素) の条件付きマージを実行します。

mask 引数は、演算のマスクを定義します。mask の対応する単精度浮動小数点要素の最上位ビットは、対応する結果ベクトルの単精度浮動小数点要素を 1 つ目のソースと 2 つ目のソースのどちらからコピーするのかを指定します。

mask のビットが "1" の場合、2 つ目のソースベクトルから結果ベクトルに対応する要素がコピーされます。ビットが "0" の場合、1 つ目のソースベクトルから結果ベクトルに対応する要素がコピーされます。つまり、この関数を使用すると、2 つのソースベクトルの要素をマージまたは混合できます。

戻り値

混合操作の結果。