インテル® C++ コンパイラー 17.0 デベロッパー・ガイドおよびリファレンス
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 |
v1 と v2 の積に加算する 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 の順序を逆にします。
乗算-加算の結果。