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

_mm256_mulhrs_epi16

2 つのベクトルの拡張パックド符号なし整数を乗算し、結果を丸めてスケーリングします。対応するインテル® AVX2 命令は VPMULHRSW です。

構文

extern __m256i _mm256_mulhrs_epi16(__m256i s1, __m256i s2);

引数

s1

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

s2

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

説明

s1 ベクトルの 16 ビットの各符号付き整数と s2 ベクトルの対応する 16 ビットの符号付き整数を垂直乗算し、中間値として 32 ビットの符号付き整数を生成します。そして、各中間値の 32 ビット整数を最上位 18 ビットに切り捨て、18 ビットの最下位ビットに 1 を足して丸めます。

最終結果は、各中間値の 18 ビットの最上位ビットの右隣から 16 ビットを選択し、デスティネーション・オペランドにパックしたものです。

戻り値

乗算、丸め、スケール操作の結果。