インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
2 つのベクトルの 16 ビットの符号付きパックド整数データ要素を乗算します。対応するインテル® AVX2 命令は VPMADDW です。
extern __m256i _mm256_madd_epi16(__m256i s1, __m256i s2); |
s1 |
演算に使用する整数ソースベクトル |
s2 |
演算に使用する整数ソースベクトル |
ソースベクトル s1 の各 16 ビットの符号付き整数とソースベクトル s2 の対応する 16 ビットの符号付き整数を乗算し、32 ビット (ダブルワード) の符号付き中間値を生成します。そして、隣接するダブルワードの中間値を合計して、結果をデスティネーション・ベクトルに格納します。
例えば、s2 ベクトルと s1 ベクトルの対応する下位のワード (15:0) と (31-16) を乗算し、結果のダブルワードを足した値をデスティネーション・ベクトルの下位のダブルワード (31-0) に格納します。同じ演算は、隣接する別のワードのペアに対しても行われます。
乗算の結果。