算術演算の組込み関数
- _mm256_abs_epi8/16/32
指定されたベクトルの符号付きパックド整数データ要素の絶対値を計算します。対応するインテル® AVX2 命令は VPABSB、VPABSW、または VPABSD です。
- _mm256_add_epi8/16/32/64
2 つのベクトルの 8/16/32/64 ビットの符号付きまたは符号なしパックド整数データ要素を加算します。対応するインテル® AVX2 命令は VPADDB、VPADDW、VPADDD、または VPADDQ です。
- _mm256_adds_epi8/16
2 つのベクトルの 8 ビットまたは 16 ビットの符号付き整数データ要素を加算し、飽和処理します。対応するインテル® AVX2 命令は VPADDSB または VPADDSW です。
- _mm256_adds_epu8/16
2 つのベクトルの 8 ビットまたは 16 ビットの符号なし整数データ要素を加算し、飽和処理します。対応するインテル® AVX2 命令は VPADDUSB または VPADDUSW です。
- _mm256_sub_epi8/16/32/64
2 つのベクトルの 8/16/32/64 ビットの符号付きまたは符号なしパックド整数データ要素を減算します。対応するインテル® AVX2 命令は VPSUBB、VPSUBW、VPADDD、または VPSUBQ です。
- _mm256_subs_epi8/16
2 つのベクトルの 8 ビットまたは 16 ビットの符号付き整数データ要素を減算し、飽和処理します。対応するインテル® AVX2 命令は VPSUBSB または VPSUBSW です。
- _mm256_subs_epu8/16
2 つのベクトルの 8 ビットまたは 16 ビットの符号なし整数データ要素を減算し、飽和処理します。対応するインテル® AVX2 命令は VPSUBUSB または VPSUBUSW です。
- _mm256_avg_epu8/16
2 津のベクトルの 8 ビットまたは 16 ビットの符号なし整数データ要素の平均を計算します。対応するインテル® AVX2 命令は VPAVGB または VPAVGW です。
- _mm256_hadd_epi16/32
2 つのベクトルの隣接する 16 ビットまたは 32 ビットの符号付きパックド整数データ要素を水平加算します。対応するインテル® AVX2 命令は VPHADDW または VPHADDD です。
- _mm256_hadds_epi16
2 つのベクトルの隣接する 16 ビットの符号付きパックド整数データ要素を水平加算し、飽和処理します。対応するインテル® AVX2 命令は VPHADDSW です。
- _mm256_hsub_epi16/32
2 つのベクトルの隣接する 16 ビットまたは 32 ビットの符号付きパックド整数データ要素を水平減算します。対応するインテル® AVX2 命令は VPHSUBW または VPHSUBD です。
- _mm256_hsubs_epi16
2 つのベクトルの隣接する 16 ビットの符号付きパックド整数データ要素を水平減算し、飽和処理します。対応するインテル® AVX2 命令は VPHSUBSW です。
- _mm256_madd_epi16
2 つのベクトルの 16 ビットの符号付きパックド整数データ要素を乗算します。対応するインテル® AVX2 命令は VPMADDW です。
- _mm256_maddubs_epi16
1 つ目のベクトルの 16 ビットのパックド符号なし整数データ要素と 2 つ目のベクトルの符号付き要素を乗算します。対応するインテル® AVX2 命令は VPMADDUBSW です。
- _mm256_mul_epi32
2 つの符号付きパックド整数ダブルワード値のベクトルの乗算を行います。対応するインテル® AVX2 命令は VPMULDQ です。
- _mm256_mul_epu32
2 つの符号なしパックド整数ダブルワード値のベクトルの乗算を行います。対応するインテル® AVX2 命令は VPMULUDQ です。
- _mm256_mulhi_epi16
2 つのベクトルの 16/32 ビットの符号付きパックド整数データ要素の乗算を行い、上位ビットを格納します。対応するインテル® AVX2 命令は VPMULHW です。
- _mm256_mulhi_epu16
2 つのベクトルの 16/32 ビットの符号なしパックド整数データ要素の乗算を行い、上位ビットを格納します。対応するインテル® AVX2 命令は VPMULHUW です。
- _mm256_mullo_epi16/32
2 つのベクトルの 16 ビットまたは 32 ビットの符号付きパックド整数データ要素の乗算を行い、下位ビットを格納します。対応するインテル® AVX2 命令は VPMULLW または VPMULLD です。
- _mm256_mulhrs_epi16
2 つのベクトルの拡張パックド符号なし整数を乗算し、結果を丸めてスケールします。対応するインテル® AVX2 命令は VPMULHRSW です。
- _mm256_sign_epi8/16/32
2 つ目のソースベクトルの対応する要素の符号に応じて、1 つ目のソースベクトルの要素の符号を変更します。対応するインテル® AVX2 命令は VPSIGNB、VPSIGNW、または VPSIGND です。
- _mm256_mpsadbw_epu8
2 つのベクトルの符号なし拡張パックド整数値の差分絶対値和を複数回計算します。対応するインテル® AVX2 命令は VMPSADBW です。
- _mm256_sad_epu8
2 つの符号なし拡張パックド値の差分絶対値和を計算します。対応するインテル® AVX2 命令は VPSADBW です。