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

_mm512_fmadd_epi32/_mm512_mask_fmadd_epi32/_mm512_mask3_fmadd_epi32

int32 ベクトルを乗算、加算します。この組込み関数は、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーにのみ適用されます。

構文

マスクなし

extern __m512i __cdecl _mm512_fmadd_epi32(_m512i v1, __m512i v2, __m512i v3);

マスク付き

extern __m512i __cdecl _mm512_mask_fmadd_epi32(_m512i v1, __mmask16 k1, __m512i v2, __m512i v3);

extern __m512i __cdecl _mm512_mask3_fmadd_epi32(_m512i v1, __m512i v2, __m512i v3, __mmask16 k1);

引数

v1

int32 ベクトル v2 と乗算する int32 ベクトル。

構文が v1_old ではなく v1 であることに注意してください。

v2

int32 ベクトル v1 と乗算する int32 ベクトル

v3

v1v2 の積に加算する int32 ベクトル。

k1

書き込みマスク。k1 マスクの対応するビットが '1' にセットされているソースベクトルの要素のみ計算され、結果に格納されます。k1 の対応するビットが 0 にセットされている結果ベクトルの要素は、ベクトル v1_old の要素からコピーされます。

説明

int32 ベクトル v1 と int32 ベクトル v2 間で要素単位の乗算を行った後、結果に int32 ベクトル v3 を加算します。

マスク付きにはさらに引数 k1 があります。 ベクトルマスク k1 の対応するビットがセットされているソースレジスターの要素のみ計算に使用されます。 書き込みマスクが使用されると、マスク引数の直前のベクトル引数からのパススルー値が返されます。例えば、_mm512_mask_fmadd_epi32(v1, k1, v2, v3)v1 からのパススルー値、_mm512_mask3_fmadd_epi32(v1, v2, v3, k3)v3 からのパススルー値が返されます。v2 からのパススルー値を取得するには、_mask_ 形式で v1 と v2 の順序を逆にします。

戻り値

乗算-加算の結果。