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

_mm256_sub_epi8/16/32/64

2 つのベクトルの 8/16/32/64 ビットの符号付きまたは符号なしパックド整数データ要素を減算します。対応するインテル® AVX2 命令は VPSUBBVPSUBWVPADDD、または VPSUBQ です。

構文

extern __m256i _mm256_sub_epi8(__m256i s1, __m256i s2);

extern __m256i _mm256_sub_epi16(__m256i s1, __m256i s2);

extern __m256i _mm256_sub_epi32(__m256i s1, __m256i s2);

extern __m256i _mm256_sub_epi64(__m256i s1, __m256i s2);

引数

s1

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

s2

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

説明

2 つ目のソースベクトル s2 の 8/16/32/64 ビットの符号付きまたは符号なしパックド整数を 1 つ目のソースベクトル s1 の対応するビットから引いて、パックド整数結果をデスティネーション・ベクトルに格納します。個々の結果が 8/16/32/64 ビットでは表現できない場合 (オーバーフローが発生した場合)、結果の下位 8/16/32/64 ビットだけがデスティネーション・ベクトルに書き込まれます (キャリーは無視されます)。

検知されないオーバーフロー状態を回避するために、演算を行う値の範囲を制御する必要があります。

戻り値

減算の結果。