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

_mm256_hadd_epi16/32

2 つのベクトルの隣接する 16 ビットまたは 32 ビットの符号付きパックド整数データ要素を水平加算します。対応するインテル® AVX2 命令は VPHADDW または VPHADDD です。

構文

extern __m256i _mm256_hadd_epi16(__m256i s1, __m256i s2);

extern __m256i _mm256_hadd_epi32(__m256i s1, __m256i s2);

引数

s1

演算に使用する整数ソースベクトル

s2

演算に使用する整数ソースベクトル

説明

ソースベクトル s1s2 の隣接する 2 つの 16 ビットまたは 32 ビットの符号付き整数を水平加算し、16 ビットまたは 32 ビットの符号付き結果をデスティネーション・ベクトルにパックします。

1 つ目と 2 つ目のソースベクトルの下位 16 バイトまたは 32 バイトの 2 つの隣接するデータ要素を水平加算した結果は、デスティネーション・ベクトルの下位 16 バイトまたは 32 バイトにパックされます。1 つ目と 2 つ目のソースベクトルの上位 16 バイトまたは 32 バイトの 2 つの隣接するデータ要素を水平加算した結果は、デスティネーション・ベクトルの上位 16 バイトまたは 32 バイトにパックされます。

戻り値

水平加算の結果。