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

_mm256_madd_epi16

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) に格納します。同じ演算は、隣接する別のワードのペアに対しても行われます。

戻り値

乗算の結果。