インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 組込み関数のプロトタイプは、zmmintrin.h ヘッダーファイルで定義されていますが、これらの組込み関数を使用する場合、次のように immintrin.h ファイルをインクルードします。
#include <immintrin.h>
組込み関数名 |
演算 |
対応するインテル® AVX-512 命令 |
---|---|---|
_mm512_fmadd_pd、 _mm512_mask3_fmadd_pd、 _mm512_mask_fmadd_pd、 _mm512_maskz_fmadd_pd _mm512_fmadd_round_pd、 _mm512_mask3_fmadd_round_pd、 _mm512_mask_fmadd_round_pd、 _mm512_maskz_fmadd_round_pd |
float64 ベクトル要素の乗算を行った後、結果に float64 ベクトル要素を加算します。 |
VFMADD132PD |
_mm512_fmadd_ps、 _mm512_mask3_fmadd_ps、 _mm512_mask_fmadd_ps、 _mm512_maskz_fmadd_ps _mm512_fmadd_round_ps、 _mm512_mask3_fmadd_round_ps、 _mm512_mask_fmadd_round_ps、 _mm512_maskz_fmadd_round_ps |
float32 ベクトル要素の乗算を行った後、結果に float32 ベクトル要素を加算します。 |
VFMADD132PS |
_mm_mask3_fmadd_sd、 _mm_mask_fmadd_sd、 _mm_maskz_fmadd_sd _mm_mask3_fmadd_round_sd、 _mm_mask_fmadd_round_sd、 _mm_maskz_fmadd_round_sd |
float64 ベクトル要素の乗算を行った後、結果に float64 ベクトル要素を加算します。 |
VFMADD132SD |
_mm_mask3_fmadd_ss、 _mm_mask_fmadd_ss、 _mm_maskz_fmadd_ss _mm_mask3_fmadd_round_ss、 _mm_mask_fmadd_round_ss、 _mm_maskz_fmadd_round_ss |
float32 ベクトル要素の乗算を行った後、結果に float32 ベクトル要素を加算します。 |
VFMADD132SS |
_mm512_fmaddsub_pd、 _mm512_mask3_fmaddsub_pd、 _mm512_mask_fmaddsub_pd、 _mm512_maskz_fmaddsub_pd _mm512_fmaddsub_round_pd、 _mm512_mask3_fmaddsub_round_pd、 _mm512_mask_fmaddsub_round_pd、 _mm512_maskz_fmaddsub_round_pd |
float64 ベクトル要素の乗算を行った後、結果の加算および減算を行います。 |
VFMADDSUB132PD |
_mm512_fmaddsub_ps、 _mm512_mask3_fmaddsub_ps、 _mm512_mask_fmaddsub_ps、 _mm512_maskz_fmaddsub_ps _mm512_fmaddsub_round_ps、 _mm512_mask3_fmaddsub_round_ps、 _mm512_mask_fmaddsub_round_ps、 _mm512_maskz_fmaddsub_round_ps |
float32 ベクトル要素の乗算を行った後、結果の加算および減算を行います。 |
VFMADDSUB132PS |
_mm512_fmsub_pd、 _mm512_mask3_fmsub_pd、 _mm512_mask_fmsub_pd、 _mm512_maskz_fmsub_pd _mm512_fmsub_round_pd、 _mm512_mask3_fmsub_round_pd、 _mm512_mask_fmsub_round_pd、 _mm512_maskz_fmsub_round_pd |
パックド float64 ベクトル要素の乗算を行った後、結果から float64 ベクトル要素を減算します。 |
VFMSUB132PD |
_mm512_fmsub_ps、 _mm512_mask3_fmsub_ps、 _mm512_mask_fmsub_ps、 _mm512_maskz_fmsub_ps _mm512_fmsub_round_ps、 _mm512_mask3_fmsub_round_ps、 _mm512_mask_fmsub_round_ps、 _mm512_maskz_fmsub_round_ps |
パックド float32 ベクトル要素の乗算を行った後、結果から float32 ベクトル要素を減算します。 |
VFMSUB132PS |
_mm_mask3_fmsub_sd、 _mm_mask_fmsub_sd、 _mm_maskz_fmsub_sd _mm_mask3_fmsub_round_sd、 _mm_mask_fmsub_round_sd、 _mm_maskz_fmsub_round_sd |
スカラー float64 ベクトル要素の乗算を行った後、結果から float64 ベクトル要素を減算します。 |
VFMSUB132SD |
_mm_mask3_fmsub_ss、 _mm_mask_fmsub_ss、 _mm_maskz_fmsub_ss _mm_mask3_fmsub_round_ss、 _mm_mask_fmsub_round_ss、 _mm_maskz_fmsub_round_ss |
スカラー float32 ベクトル要素の乗算を行った後、結果から float32 ベクトル要素を減算します。 |
VFMSUB132SS |
_mm512_fmsubadd_pd、 _mm512_mask3_fmsubadd_pd、 _mm512_mask_fmsubadd_pd、 _mm512_maskz_fmsubadd_pd _mm512_fmsubadd_round_pd、 _mm512_mask3_fmsubadd_round_pd、 _mm512_mask_fmsubadd_round_pd、 _mm512_maskz_fmsubadd_round_pd |
float64 ベクトル要素の乗算を行った後、結果の減算および加算を行います。 |
VFMSUBADD132PD |
_mm512_fmsubadd_ps、 _mm512_mask3_fmsubadd_ps、 _mm512_mask_fmsubadd_ps、 _mm512_maskz_fmsubadd_ps _mm512_fmsubadd_round_ps、 _mm512_mask3_fmsubadd_round_ps、 _mm512_mask_fmsubadd_round_ps、 _mm512_maskz_fmsubadd_round_ps |
float32 ベクトル要素の乗算を行った後、結果の減算および加算を行います。 |
VFMSUBADD132PS |
_mm512_fnmadd_pd、 _mm512_mask3_fnmadd_pd、 _mm512_mask_fnmadd_pd、 _mm512_maskz_fnmadd_pd _mm512_fnmadd_round_pd、 _mm512_mask3_fnmadd_round_pd、 _mm512_mask_fnmadd_round_pd、 _mm512_maskz_fnmadd_round_pd |
パックド float64 ベクトル要素の乗算を行った後、float64 ベクトル要素に符号を反転した結果を加算します。 |
VFNMADD132PD |
_mm512_fnmadd_ps、 _mm512_mask3_fnmadd_ps、 _mm512_maskz_fnmadd_ps、 _mm512_mask_fnmadd_ps _mm512_fnmadd_round_ps、 _mm512_mask3_fnmadd_round_ps、 _mm512_mask_fnmadd_round_ps、 _mm512_maskz_fnmadd_round_ps |
パックド float32 ベクトル要素の乗算を行った後、float32 ベクトル要素に符号を反転した結果を加算します。 |
VFNMADD132PS |
_mm_mask3_fnmadd_round_sd、 _mm_mask_fnmadd_round_sd、 _mm_maskz_fnmadd_round_sd _mm_maskz_fnmadd_sd、 _mm_mask_fnmadd_sd、 _mm_mask3_fnmadd_sd |
スカラー float64 ベクトル要素の乗算を行った後、float64 ベクトル要素に符号を反転した結果を加算します。 |
VFNMADD132SD |
_mm_mask3_fnmadd_ss、 _mm_mask_fnmadd_ss、 _mm_maskz_fnmadd_ss _mm_mask3_fnmadd_round_ss、 _mm_mask_fnmadd_round_ss、 _mm_maskz_fnmadd_round_ss |
スカラー float32 ベクトル要素の乗算を行った後、float32 ベクトル要素に符号を反転した結果を加算します。 |
VFNMADD132SS |
_mm512_fnmsub_pd、 _mm512_mask3_fnmsub_pd、 _mm512_mask_fnmsub_pd、 _mm512_maskz_fnmsub_pd _mm512_fnmsub_round_pd、 _mm512_mask3_fnmsub_round_pd、 _mm512_mask_fnmsub_round_pd、 _mm512_maskz_fnmsub_round_pd |
パックド float64 ベクトル要素の乗算を行った後、float64 ベクトル要素から符号を反転した結果を減算します。 |
VFNMSUB132PD |
_mm512_fnmsub_ps、 _mm512_mask3_fnmsub_ps、 _mm512_maskz_fnmsub_ps、 _mm512_mask_fnmsub_ps _mm512_fnmsub_round_ps、 _mm512_mask3_fnmsub_round_ps、 _mm512_maskz_fnmsub_round_ps、 _mm512_mask_fnmsub_round_ps |
パックド float32 ベクトル要素の乗算を行った後、float32 ベクトル要素から符号を反転した結果を減算します。 |
VFNMSUB132PS |
_mm_maskz_fnmsub_round_sd、 _mm_mask_fnmsub_round_sd、 _mm_mask3_fnmsub_round_sd _mm_mask_fnmsub_sd、 _mm_mask3_fnmsub_sd、 _mm_maskz_fnmsub_sd |
スカラー float64 ベクトル要素の乗算を行った後、float64 ベクトル要素から符号を反転した結果を減算します。 |
VFNMSUB132SD |
_mm_maskz_fnmsub_round_ss、 _mm_mask_fnmsub_round_ss、 _mm_mask3_fnmsub_round_ss _mm_mask_fnmsub_ss、 _mm_maskz_fnmsub_ss、 _mm_mask3_fnmsub_ss |
スカラー float32 ベクトル要素の乗算を行った後、float32 ベクトル要素から符号を反転した結果を減算します。 |
VFNMSUB132SS |
変数 | 定義 |
---|---|
k | セレクターとして使用される書き込みマスク |
a | 1 つ目のソースベクトルの要素 |
b | 2 つ目のソースベクトルの要素 |
src | 書き込みマスクの結果に応じて使用されるソース要素 |
round | 丸め制御値。次のいずれかになります (sae によりすべての例外フラグが抑止されます)。
|
_mm512_fmadd_pd
extern __m512d __cdecl _mm512_fmadd_pd(__m512d a, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に中間結果を加算し、最終結果を格納します。
_mm512_mask_fmadd_pd
extern __m512d __cdecl _mm512_mask_fmadd_pd(__m512d a, __mmask8 k, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmadd_pd
extern __m512d __cdecl _mm512_mask3_fmadd_pd(__m512d a, __m512d b, __m512d c, __mmask8 k);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmadd_pd
extern __m512d __cdecl _mm512_maskz_fmadd_pd(__mmask8 k, __m512d a, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に中間結果を加算し、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fmadd_round_pd
extern __m512d __cdecl _mm512_fmadd_round_pd(__m512d a, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に中間結果を加算し、最終結果を格納します。
_mm512_mask_fmadd_round_pd
extern __m512d __cdecl _mm512_mask_fmadd_round_pd(__m512d a, __mmask8 k, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmadd_round_pd
extern __m512d __cdecl _mm512_mask3_fmadd_round_pd(__m512d a, __m512d b, __m512d c, __mmask8 k, int round);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmadd_round_pd
extern __m512d __cdecl _mm512_maskz_fmadd_round_pd(__mmask8 k, __m512d a, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に中間結果を加算し、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fmadd_round_ps
extern __m512 __cdecl _mm512_fmadd_round_ps(__m512 a, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に中間結果を加算し、最終結果を格納します。
_mm512_mask_fmadd_round_ps
extern __m512 __cdecl _mm512_mask_fmadd_round_ps(__m512 a, __mmask16 k, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmadd_round_ps
extern __m512 __cdecl _mm512_mask3_fmadd_round_ps(__m512 a, __m512 b, __m512 c, __mmask16 k, int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmadd_round_ps
extern __m512 __cdecl _mm512_maskz_fmadd_round_ps(__mmask16 k, __m512 a, __m512 b, __m512 c, const int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に中間結果を加算し、ゼロマスク k を使用して最終結果 a を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fmadd_ps
extern __m512 __cdecl _mm512_fmadd_ps(__m512 a, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に中間結果を加算し、最終結果を格納します。
_mm512_mask_fmadd_ps
extern __m512 __cdecl _mm512_mask_fmadd_ps(__m512 a, __mmask16 k, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmadd_ps
extern __m512 __cdecl _mm512_mask3_fmadd_ps(__m512, __m512 b, __m512 c, __mmask16 k);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmadd_ps
extern __m512 __cdecl _mm512_maskz_fmadd_ps(__mmask16 k, __m512 a, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に中間結果を加算し、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fmadd_round_ps
extern __m512 __cdecl _mm512_fmadd_round_ps(__m512 a, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に中間結果を加算し、最終結果を格納します。
_mm512_mask_fmadd_round_ps
extern __m512 __cdecl _mm512_mask_fmadd_round_ps(__m512 a, __mmask16 k, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmadd_round_ps
extern __m512 __cdecl _mm512_mask3_fmadd_round_ps(__m512 a, __m512 b, __m512 c, __mmask16 k, int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmadd_round_ps
extern __m512 __cdecl _mm512_maskz_fmadd_round_ps(__mmask16 k, __m512 a, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に中間結果を加算し、ゼロマスク k を使用して最終結果 a を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_fmadd_sd
extern __m128d __cdecl _mm_mask_fmadd_sd(__m128d a, __mmask8 k, __m128d b, __m128d c);
a と b の下位 float64 要素の乗算を行った後、c の下位要素に中間結果を加算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は a の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fmadd_sd
extern __m128d __cdecl _mm_mask3_fmadd_sd(__m128d a, __m128d b, __m128d c, __mmask8 k);
a と b の下位 float64 要素の乗算を行った後、c の下位要素に中間結果を加算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_maskz_fmadd_sd
extern __m128d __cdecl _mm_maskz_fmadd_sd(__mmask8 k, __m128d a, __m128d b, __m128d c);
a と b の下位 float64 要素の乗算を行った後、c の下位要素に中間結果を加算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask_fmadd_round_sd
extern __m128d __cdecl _mm_mask_fmadd_round_sd(__m128d a, __mmask8 k, __m128d b, __m128d c, int round);
a と b の下位 float64 要素の乗算を行った後、c の下位要素に中間結果を加算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は a の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fmadd_round_sd
extern __m128d __cdecl _mm_mask3_fmadd_round_sd(__m128d a, __m128d b, __m128d c, __mmask8 k, int round);
a と b の下位 float64 要素の乗算を行った後、c の下位要素に中間結果を加算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_maskz_fmadd_round_sd
extern __m128d __cdecl _mm_maskz_fmadd_round_sd(__mmask8 k, __m128d a, __m128d b, __m128d c, int round);
a と b の下位 float64 要素の乗算を行った後、c の下位要素に中間結果を加算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask_fmadd_ss
extern __m128 __cdecl _mm_mask_fmadd_ss(__m128 a, __mmask8 k, __m128 b, __m128 c);
a と b の下位 float32 要素の乗算を行った後、c の下位要素に中間結果を加算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は a の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fmadd_ss
extern __m128 __cdecl _mm_mask3_fmadd_ss(__m128 a, __m128 b, __m128 c, __mmask8 k);
a と b の下位 float32 要素の乗算を行った後、c の下位要素に中間結果を加算します。書き込みマスク k を使用して最終結果を下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_maskz_fmadd_ss
extern __m128 __cdecl _mm_maskz_fmadd_ss(__mmask8 k, __m128 a, __m128 b, __m128 c);
a と b の下位 float32 要素の乗算を行った後、c の下位要素に中間結果を加算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_mask_fmadd_round_ss
extern __m128 __cdecl _mm_mask_fmadd_round_ss(__m128 a, __mmask8 k, __m128 b, __m128 c, int round);
a と b の下位 float32 要素の乗算を行った後、c の下位要素に中間結果を加算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は a の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fmadd_round_ss
extern __m128 __cdecl _mm_mask3_fmadd_round_ss(__m128 a, __m128 b, __m128 c, __mmask8 k, int round);
a と b の下位 float32 要素の乗算を行った後、c の下位要素に中間結果を加算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_maskz_fmadd_round_ss
extern __m128 __cdecl _mm_maskz_fmadd_round_ss(__mmask8 k, __m128 a, __m128 b, __m128 c, int round);
a と b の下位 float32 要素の乗算を行った後、c の下位要素に中間結果を加算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm512_fmaddsub_pd
extern __m512d __cdecl _mm512_fmaddsub_pd(__m512d a, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、最終結果を格納します。
_mm512_mask_fmaddsub_pd
extern __m512d __cdecl _mm512_mask_fmaddsub_pd(__m512d, __mmask8 k, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmaddsub_pd
extern __m512d __cdecl _mm512_mask3_fmaddsub_pd(__m512d a, __m512d k, __m512d b, __mmask8 c);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmaddsub_pd
extern __m512d __cdecl _mm512_maskz_fmaddsub_pd(__mmask8 k, __m512d a, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fmaddsub_round_pd
extern __m512d __cdecl _mm512_fmsubadd_round_pd(__m512d a, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、最終結果を格納します。
_mm512_mask_fmaddsub_round_pd
extern __m512d __cdecl _mm512_mask_fmsubadd_round_pd(__m512d a, __mmask8 k, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmaddsub_round_pd
extern __m512d __cdecl _mm512_mask3_fmsubadd_round_pd(__m512d a, __m512d b, __m512d c, __mmask8 k, int round);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmaddsub_round_pd
extern __m512d __cdecl _mm512_maskz_fmsubadd_round_pd(__mmask8 k, __m512d a, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fmaddsub_ps
extern __m512 __cdecl _mm512_fmaddsub_ps(__m512 a, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、最終結果を格納します。
_mm512_mask_fmaddsub_ps
extern __m512 __cdecl _mm512_mask_fmaddsub_ps(__m512 a, __mmask16 k, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmaddsub_ps
extern __m512 __cdecl _mm512_mask3_fmaddsub_ps(__m512 a, __m512 b, __m512 c, __mmask16 k);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmaddsub_ps
extern __m512 __cdecl _mm512_maskz_fmaddsub_ps(__mmask16 k, __m512 a, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fmaddsub_round_ps
extern __m512 __cdecl _mm512_fmaddsub_round_ps(__m512 a, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、最終結果を格納します。
_mm512_mask_fmaddsub_round_ps
extern __m512 __cdecl _mm512_mask_fmaddsub_round_ps(__m512 a, __mmask16 k, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmaddsub_round_ps
extern __m512 __cdecl _mm512_mask3_fmaddsub_round_ps(__m512 a, __m512 b, __m512 c, __mmask16 k, int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmaddsub_round_ps
extern __m512 __cdecl _mm512_maskz_fmaddsub_round_ps(__mmask16 k, __m512 a, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素と中間結果の加算および減算を行い、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fmsub_pd
extern __m512d __cdecl _mm512_fmsub_pd(__m512d a, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、中間結果から c のパックド要素を減算し、最終結果を格納します。
_mm512_mask_fmsub_pd
extern __m512d __cdecl _mm512_mask_fmsub_pd(__m512d a, __mmask8 k, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmsub_pd
extern __m512d __cdecl _mm512_mask3_fmsub_pd(__m512d a, __m512d b, __m512d c, __mmask8 k);
a と b のパックド float64 要素の乗算を行った後、中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmsub_pd
extern __m512d __cdecl _mm512_maskz_fmsub_pd(__mmask8 k, __m512d a, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、中間結果から c のパックド要素を減算し、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fmsub_round_pd
extern __m512d __cdecl _mm512_fmsub_round_pd(__m512d a, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、中間結果から c のパックド要素を減算し、最終結果を格納します。
_mm512_mask_fmsub_round_pd
extern __m512d __cdecl _mm512_mask_fmsub_round_pd(__m512d a, __mmask8 k, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmsub_round_pd
extern __m512d __cdecl _mm512_mask3_fmsub_round_pd(__m512d a, __m512d b, __m512d c, __mmask8 k, int round);
a と b のパックド float64 要素の乗算を行った後、中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmsub_round_pd
extern __m512d __cdecl _mm512_maskz_fmsub_round_pd(__mmask8 k, __m512d a, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、中間結果から c のパックド要素を減算し、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fmsub_ps
extern __m512 __cdecl _mm512_fmsub_ps(__m512 a, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、中間結果から c のパックド要素を減算し、最終結果を格納します。
_mm512_mask_fmsub_ps
extern __m512 __cdecl _mm512_mask_fmsub_ps(__m512 a, __mmask16 k, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmsub_ps
extern __m512 __cdecl _mm512_mask3_fmsub_ps(__m512 a, __m512 b, __m512 c, __mmask16 k);
a と b のパックド float32 要素の乗算を行った後、中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmsub_ps
extern __m512 __cdecl _mm512_maskz_fmsub_ps(__mmask16 k, __m512 a, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、中間結果から c のパックド要素を減算し、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fmsub_round_ps
extern __m512 __cdecl _mm512_fmsub_round_ps(__m512 a, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、中間結果から c のパックド要素を減算し、最終結果を格納します。
_mm512_mask_fmsub_round_ps
extern __m512 __cdecl _mm512_mask_fmsub_round_ps(__m512 a, __mmask16 k, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmsub_round_ps
extern __m512 __cdecl _mm512_mask3_fmsub_round_ps(__m512 a, __m512 b, __m512 c, __mmask16 k, int round);
a と b のパックド float32 要素の乗算を行った後、中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmsub_round_ps
extern __m512 __cdecl _mm512_maskz_fmsub_round_ps(__mmask16 k, __m512 a, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、中間結果から c のパックド要素を減算し、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_fmsub_sd
extern __m128d __cdecl _mm_mask_fmsub_sd(__m128d a, __mmask8 k, __m128d b, __m128d c);
a と b の下位 float64 要素の乗算を行った後、中間結果から c の下位要素を減算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は a の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fmsub_sd
extern __m128d __cdecl _mm_mask3_fmsub_sd(__m128d a, __m128d b, __m128d c, __mmask8 k);
a と b の下位 float64 要素の乗算を行った後、中間結果から c の下位要素を減算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_maskz_fmsub_sd
extern __m128d __cdecl _mm_maskz_fmsub_sd(__mmask8 k, __m128d a, __m128d b, __m128d c);
a と b の下位 float64 要素の乗算を行った後、中間結果から c の下位要素を減算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask_fmsub_round_sd
extern __m128d __cdecl _mm_mask_fmsub_round_sd(__m128d a, __mmask8 k, __m128d b, __m128d c, int round);
a と b の下位 float64 要素の乗算を行った後、中間結果から c の下位要素を減算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は a の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fmsub_round_sd
extern __m128d __cdecl _mm_mask3_fmsub_round_sd(__m128d a, __m128d b, __m128d c, __mmask8 k, int round);
a と b の下位 float64 要素の乗算を行った後、中間結果から c の下位要素を減算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_maskz_fmsub_round_sd
extern __m128d __cdecl _mm_maskz_fmsub_round_sd(__mmask8 k, __m128d a, __m128d b, __m128d c, int round);
a と b の下位 float64 要素の乗算を行った後、中間結果から c の下位要素を減算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask_fmsub_ss
extern __m128 __cdecl _mm_mask_fmsub_ss(__m128 a, __mmask8 k, __m128 b, __m128 c);
a と b の下位 float32 要素の乗算を行った後、中間結果から c の下位要素を減算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は a の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fmsub_ss
extern __m128 __cdecl _mm_mask3_fmsub_ss(__m128 a, __m128 b, __m128 c, __mmask8 k);
a と b の下位 float32 要素の乗算を行った後、中間結果から c の下位要素を減算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_maskz_fmsub_ss
extern __m128 __cdecl _mm_maskz_fmsub_ss(__mmask8 k, __m128 a, __m128 b, __m128 c);
a と b の下位 float32 要素の乗算を行った後、中間結果から c の下位要素を減算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_mask_fmsub_round_ss
extern __m128 __cdecl _mm_mask_fmsub_round_ss(__m128 a, __mmask8 k, __m128 b, __m128 c, int round);
a と b の下位 float32 要素の乗算を行った後、中間結果から c の下位要素を減算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は a の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fmsub_round_ss
extern __m128 __cdecl _mm_mask3_fmsub_round_ss(__m128 a, __m128 b, __m128 c, __mmask8 k, int round);
a と b の下位 float32 要素の乗算を行った後、中間結果から c の下位要素を減算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_maskz_fmsub_round_ss
extern __m128 __cdecl _mm_maskz_fmsub_round_ss(__mmask8 k, __m128 a, __m128 b, __m128 c, int round);
a と b の下位 float32 要素の乗算を行った後、中間結果から c の下位要素を減算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm512_fmsubadd_pd
extern __m512d __cdecl _mm512_fmsubadd_pd(__m512d a, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、最終結果を格納します。
_mm512_mask_fmsubadd_pd
extern __m512d __cdecl _mm512_mask_fmsubadd_pd(__m512d a, __mmask8 k, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmsubadd_pd
extern __m512d __cdecl _mm512_mask3_fmsubadd_pd(__m512d a, __m512d b, __m512d c, __mmask8 k);
a と b のパックド float64 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmsubadd_pd
extern __m512d __cdecl _mm512_maskz_fmsubadd_pd(__mmask8 k, __m512d a, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、ゼロマスク k を使用して最終結果をデスティネーションに格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fmsubadd_round_pd
extern __m512d __cdecl _mm512_fmaddsub_round_pd(__m512d a, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、最終結果を格納します。
_mm512_mask_fmsubadd_round_pd
extern __m512d __cdecl _mm512_mask_fmaddsub_round_pd(__m512d a, __mmask8 k, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmsubadd_round_pd
extern __m512d __cdecl _mm512_mask3_fmaddsub_round_pd(__m512d a, __m512d b, __m512d c, __mmask8 k, int round);
a と b のパックド float64 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmsubadd_round_pd
extern __m512d __cdecl _mm512_maskz_fmaddsub_round_pd(__mmask8 k, __m512d a, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fmsubadd_ps
extern __m512 __cdecl _mm512_fmsubadd_ps(__m512 a, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、最終結果を格納します。
_mm512_mask_fmsubadd_ps
extern __m512 __cdecl _mm512_mask_fmsubadd_ps(__m512 a, __mmask16 k, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmsubadd_ps
extern __m512 __cdecl _mm512_mask3_fmsubadd_ps(__m512 a, __m512 b, __m512 c, __mmask16 k);
a と b のパックド float32 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmsubadd_ps
extern __m512 __cdecl _mm512_maskz_fmsubadd_ps(__mmask16 k, __m512 a, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fmsubadd_round_ps
extern __m512 __cdecl _mm512_fmsubadd_round_ps(__m512 a, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、最終結果を格納します。
_mm512_mask_fmsubadd_round_ps
extern __m512 __cdecl _mm512_mask_fmsubadd_round_ps(__m512 a, __mmask16 k, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fmsubadd_round_ps
extern __m512 __cdecl _mm512_mask3_fmsubadd_round_ps(__m512 a, __m512 b, __m512 c, __mmask16 k, int round);
a と b のパックド float32 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fmsubadd_round_ps
extern __m512 __cdecl _mm512_maskz_fmsubadd_round_ps(__mmask16 k, __m512 a, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、中間結果と c のパックド要素の減算および加算を行い、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fnmadd_pd
extern __m512d __cdecl _mm512_fnmadd_pd(__m512d a, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、最終結果を格納します。
_mm512_mask_fnmadd_pd
extern __m512d __cdecl _mm512_mask_fnmadd_pd(__m512d a, __mmask8 k, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fnmadd_pd
extern __m512d __cdecl _mm512_mask3_fnmadd_pd(__m512d a, __m512d b, __m512d c, __mmask8 k);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fnmadd_pd
extern __m512d __cdecl _mm512_maskz_fnmadd_pd(__mmask8 k, __m512d a, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fnmadd_round_pd
extern __m512d __cdecl _mm512_fnmadd_round_pd(__m512d a, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、最終結果を格納します。
_mm512_mask_fnmadd_round_pd
extern __m512d __cdecl _mm512_mask_fnmadd_round_pd(__m512d a, __mmask8 k, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fnmadd_round_pd
extern __m512d __cdecl _mm512_mask3_fnmadd_round_pd(__m512d a, __m512d b, __m512d c, __mmask8 k, int round);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fnmadd_round_pd
extern __m512d __cdecl _mm512_maskz_fnmadd_round_pd(__mmask8 k, __m512d a, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fnmadd_ps
extern __m512 __cdecl _mm512_fnmadd_ps(__m512 a, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、最終結果を格納します。
_mm512_mask_fnmadd_ps
extern __m512 __cdecl _mm512_mask_fnmadd_ps(__m512 a, __mmask16 k, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fnmadd_ps
extern __m512 __cdecl _mm512_mask3_fnmadd_ps(__m512 a, __m512 b, __m512 c, __mmask16 k);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fnmadd_ps
extern __m512 __cdecl _mm512_maskz_fnmadd_ps(__mmask16 k, __m512 a, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fnmadd_round_ps
extern __m512 __cdecl _mm512_fnmadd_round_ps(__m512 a, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、最終結果を格納します。
_mm512_mask_fnmadd_round_ps
extern __m512 __cdecl _mm512_mask_fnmadd_round_ps(__m512 a, __mmask16 k, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fnmadd_round_ps
extern __m512 __cdecl _mm512_mask3_fnmadd_round_ps(__m512 a, __m512 b, __m512 c, __mmask16 k, int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fnmadd_round_ps
extern __m512 __cdecl _mm512_maskz_fnmadd_round_ps(__mmask16 k, __m512 a, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、c のパックド要素に符号を反転した中間結果を加算し、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_fnmadd_sd
extern __m128d __cdecl _mm_mask_fnmadd_sd(__m128d a, __mmask8 k, __m128d b, __m128d c);
a と b の下位 float64 要素の乗算を行った後、c の下位要素に符号を反転した中間結果を加算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は a の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fnmadd_sd
extern __m128d __cdecl _mm_mask3_fnmadd_sd(__m128d a, __m128d b, __m128d c, __mmask8 k);
a と b の下位 float64 要素の乗算を行った後、c の下位要素に符号を反転した中間結果を加算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_maskz_fnmadd_sd
extern __m128d __cdecl _mm_maskz_fnmadd_sd(__mmask8 k, __m128d a, __m128d b, __m128d c);
a と b の下位 float64 要素の乗算を行った後、c の下位要素に符号を反転した中間結果を加算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask_fnmadd_round_sd
extern __m128d __cdecl _mm_mask_fnmadd_round_sd(__m128d a, __mmask8 k, __m128d b, __m128d c, int round);
a と b の下位 float64 要素の乗算を行った後、c の下位要素に符号を反転した中間結果を加算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は a の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fnmadd_round_sd
extern __m128d __cdecl _mm_mask3_fnmadd_round_sd(__m128d a, __m128d b, __m128d c, __mmask8 k, int round);
a と b の下位 float64 要素の乗算を行った後、c の下位要素に符号を反転した中間結果を加算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_maskz_fnmadd_round_sd
extern __m128d __cdecl _mm_maskz_fnmadd_round_sd(__mmask8 k, __m128d a, __m128d b, __m128d c, int round);
a と b の下位 float64 要素の乗算を行った後、c の下位要素に符号を反転した中間結果を加算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask_fnmadd_ss
extern __m128 __cdecl _mm_mask_fnmadd_ss(__m128 a, __mmask8 k, __m128 b, __m128 c);
a と b の下位 float32 要素の乗算を行った後、c の下位要素に符号を反転した中間結果を加算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は a の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fnmadd_ss
extern __m128 __cdecl _mm_mask3_fnmadd_ss(__m128 a, __m128 b, __m128 c, __mmask8 k);
a と b の下位 float32 要素の乗算を行った後、c の下位要素に符号を反転した中間結果を加算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_maskz_fnmadd_ss
extern __m128 __cdecl _mm_maskz_fnmadd_ss(__mmask8 k, __m128 a, __m128 b, __m128 c);
a と b の下位 float32 要素の乗算を行った後、c の下位要素に符号を反転した中間結果を加算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_mask_fnmadd_round_ss
extern __m128 __cdecl _mm_mask_fnmadd_round_ss(__m128 a, __mmask8 k, __m128 b, __m128 c, int round);
a と b の下位 float32 要素の乗算を行った後、c の下位要素に符号を反転した中間結果を加算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は a の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fnmadd_round_ss
extern __m128 __cdecl _mm_mask3_fnmadd_round_ss(__m128 a, __m128 b, __m128 c, __mmask8 k, int round);
a と b の下位 float32 要素の乗算を行った後、c の下位要素に符号を反転した中間結果を加算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_maskz_fnmadd_round_ss
extern __m128 __cdecl _mm_maskz_fnmadd_round_ss(__mmask8 k, __m128 a, __m128 b, __m128 c, int round);
a と b の下位 float32 要素の乗算を行った後、c の下位要素に符号を反転した中間結果を加算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm512_fnmsub_pd
extern __m512d __cdecl _mm512_fnmsub_pd(__m512d a, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、最終結果を格納します。
_mm512_mask_fnmsub_pd
extern __m512d __cdecl _mm512_mask_fnmsub_pd(__m512d a, __mmask8 k, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fnmsub_pd
extern __m512d __cdecl _mm512_mask3_fnmsub_pd(__m512d a, __m512d b, __m512d c, __mmask8 k);
a と b のパックド float64 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fnmsub_pd
extern __m512d __cdecl _mm512_maskz_fnmsub_pd(__mmask8 k, __m512d a, __m512d b, __m512d c);
a と b のパックド float64 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fnmsub_round_pd
extern __m512d __cdecl _mm512_fnmsub_round_pd(__m512d a, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、最終結果を格納します。
_mm512_mask_fnmsub_round_pd
extern __m512d __cdecl _mm512_mask_fnmsub_round_pd(__m512d a, __mmask8 k, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fnmsub_round_pd
extern __m512d __cdecl _mm512_mask3_fnmsub_round_pd(__m512d a, __m512d b, __m512d c, __mmask8 k, int round);
a と b のパックド float64 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fnmsub_round_pd
extern __m512d __cdecl _mm512_maskz_fnmsub_round_pd(__mmask8 k, __m512d a, __m512d b, __m512d c, int round);
a と b のパックド float64 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fnmsub_ps
extern __m512 __cdecl _mm512_fnmsub_ps(__m512 a, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、最終結果を格納します。
_mm512_mask_fnmsub_ps
extern __m512 __cdecl _mm512_mask_fnmsub_ps(__m512 a, __mmask16 k, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fnmsub_ps
extern __m512 __cdecl _mm512_mask3_fnmsub_ps(__m512 a, __m512 b, __m512 c, __mmask16 k);
a と b のパックド float32 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fnmsub_ps
extern __m512 __cdecl _mm512_maskz_fnmsub_ps(__mmask16 k, __m512 a, __m512 b, __m512 c);
a と b のパックド float32 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm512_fnmsub_round_ps
extern __m512 __cdecl _mm512_fnmsub_round_ps(__m512 a, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、最終結果を格納します。
_mm512_mask_fnmsub_round_ps
extern __m512 __cdecl _mm512_mask_fnmsub_round_ps(__m512 c, __mmask16 k, __m512 a, __m512 b, int round);
a と b のパックド float32 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は a の要素がコピーされます)。
_mm512_mask3_fnmsub_round_ps
extern __m512 __cdecl _mm512_mask3_fnmsub_round_ps(__m512 a, __m512 b, __m512 c, __mmask16 k, int round);
a と b のパックド float32 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、書き込みマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm512_maskz_fnmsub_round_ps
extern __m512 __cdecl _mm512_maskz_fnmsub_round_ps(__mmask16 k, __m512 a, __m512 b, __m512 c, int round);
a と b のパックド float32 要素の乗算を行った後、符号を反転した中間結果から c のパックド要素を減算し、ゼロマスク k を使用して最終結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
_mm_mask_fnmsub_sd
extern __m128d __cdecl _mm_mask_fnmsub_sd(__m128d c, __mmask8 k, __m128d a, __m128d b);
a と b の下位 float64 要素の乗算を行った後、符号を反転した中間結果から c の下位要素を減算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fnmsub_sd
extern __m128d __cdecl _mm_mask3_fnmsub_sd(__m128d a, __m128d b, __m128d c, __mmask8 k);
a と b の下位 float64 要素の乗算を行った後、符号を反転した中間結果から c の下位要素を減算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_maskz_fnmsub_sd
extern __m128d __cdecl _mm_maskz_fnmsub_sd(__mmask8 k, __m128d a, __m128d b, __m128d c);
a と b の下位 float64 要素の乗算を行った後、符号を反転した中間結果から c の下位要素を減算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask_fnmsub_ss
extern __m128 __cdecl _mm_mask_fnmsub_ss(__m128 c, __mmask8 k, __m128 a, __m128 b);
a と b の下位 float32 要素の乗算を行った後、符号を反転した中間結果から c の下位要素を減算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fnmsub_ss
extern __m128 __cdecl _mm_mask3_fnmsub_ss(__m128 a, __m128 b, __m128 c, __mmask8 k);
a と b の下位 float32 要素の乗算を行った後、符号を反転した中間結果から c の下位要素を減算します。最終結果をデスティネーションの下位要素に格納し、書き込みマスク k を使用して a の上位要素をデスティネーションの上位要素にコピーします (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm_maskz_fnmsub_ss
extern __m128 __cdecl _mm_maskz_fnmsub_ss(__mmask8 k, __m128 a, __m128 b, __m128 c);
a と b の下位 float32 要素の乗算を行った後、符号を反転した中間結果から c の下位要素を減算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_mask_fnmsub_round_ss
extern __m128 __cdecl _mm_mask_fnmsub_round_ss(__m128 c, __mmask8 k, __m128 a, __m128 b, int round);
a と b の下位 float32 要素の乗算を行った後、符号を反転した中間結果から c の下位要素を減算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fnmsub_round_ss
extern __m128 __cdecl _mm_mask3_fnmsub_round_ss(__m128 a, __m128 b, __m128 c, __mmask8 k, int round);
a と b の下位 float32 要素の乗算を行った後、符号を反転した中間結果から c の下位要素を減算し、最終結果をデスティネーションの下位要素に格納し、書き込みマスク k を使用して a の上位要素をデスティネーションの上位要素にコピーします (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm_maskz_fnmsub_round_ss
extern __m128 __cdecl _mm_maskz_fnmsub_round_ss(__mmask8 k, __m128 a, __m128 b, __m128 c, int round);
a と b の下位 float32 要素の乗算を行った後、符号を反転した中間結果から c の下位要素を減算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_mask_fnmsub_round_sd
extern __m128d __cdecl _mm_mask_fnmsub_round_sd(__m128d c, __mmask8 k, __m128d a, __m128d b, int round);
a と b の下位 float64 要素の乗算を行った後、符号を反転した中間結果から c の下位要素を減算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fnmsub_round_sd
extern __m128d __cdecl _mm_mask3_fnmsub_round_sd(__m128d a, __m128d b, __m128d c, __mmask8 k, int round);
a と b の下位 float64 要素の乗算を行った後、符号を反転した中間結果から c の下位要素を減算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_maskz_fnmsub_round_sd
extern __m128d __cdecl _mm_maskz_fnmsub_round_sd(__mmask8 k, __m128d a, __m128d b, __m128d c, int round);
a と b の下位 float64 要素の乗算を行った後、符号を反転した中間結果から c の下位要素を減算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位要素をデスティネーションの上位要素にコピーします。
_mm_mask_fnmsub_ss
extern __m128 __cdecl _mm_mask_fnmsub_ss(__m128 a, __mmask8 k, __m128 b, __m128 c);
a と b の下位 float32 要素の乗算を行った後、符号を反転した中間結果から c の下位要素を減算します。書き込みマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は c の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
_mm_mask3_fnmsub_ss
extern __m128 __cdecl _mm_mask3_fnmsub_ss(__m128 a, __m128 b, __m128 c, __mmask8 k);
a と b の下位 float32 要素の乗算を行った後、符号を反転した中間結果から c の下位要素を減算します。最終結果をデスティネーションの下位要素に格納し、書き込みマスク k を使用して a の上位要素をデスティネーションの上位要素にコピーします (マスクの対応するビットが設定されていない場合は c の要素がコピーされます)。
_mm_maskz_fnmsub_ss
extern __m128 __cdecl _mm_maskz_fnmsub_ss(__mmask8 k, __m128 a, __m128 b, __m128 c);
a と b の下位 float32 要素の乗算を行った後、符号を反転した中間結果から c の下位要素を減算します。ゼロマスク k を使用して最終結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。