インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
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 つのソースベクトルの要素をマージまたは混合できます。
混合操作の結果。