インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 4FMAPS 命令の組込み関数のプロトタイプは、zmmintrin.h ヘッダーファイルで定義されていますが、
これらの組込み関数を使用する場合、次のように immintrin.h ファイルをインクルードします。
#include <immintrin.h>
_mm512_4fmadd_ps
__mm512i _mm512_4fmadd_ps (__m512 c, __m512 a0, __m512 a1, __m512 a2, __m512 a3, __m128 * b)
変数 | 定義 |
---|---|
an | 1 つ目のソースブロック - 4 つのベクトル |
b | 2 つ目のソースブロックへのポインター |
c | 3 つ目のソース - アキュムレーター |
命令: v4fmaddps zmm1, zmm2+3, m128
ソース・レジスター・ブロック {a0, a1, a2, a3} のパックド単精度浮動小数点値に b がポイントする浮動小数点値を掛けて、結果を c に累積します。
_mm512_mask_4fmadd_ps
__mm512i _mm512_mask_4fmadd_ps (__m512 c, __mmask16 k, __m512 a0, __m512 a1, __m512 a2, __m512 a3, __m128 * b)
変数 | 定義 |
---|---|
an | 1 つ目のソースブロック - 4 つのベクトル |
b | 2 つ目のソースブロックへのポインター |
c | 3 つ目のソース - アキュムレーター |
k | セレクターとして使用されるマスク |
命令: v4fmaddps zmm1 {k}, zmm2+3, m128
マスク k を使用して、ソース・レジスター・ブロック {a0, a1, a2, a3} のパックド単精度浮動小数点値に b がポイントする浮動小数点値を掛けて、結果を c に累積します。マスクの対応するビットが設定されていない場合は c の要素がコピーされます。
_mm512_maskz_4fmadd_ps
__mm512i _mm512 _maskz_4fmadd_ps (__m512 c, __mmask16 k, __m512 a0, __m512 a1, __m512 a2, __m512 a3, __m128 * b)
変数 | 定義 |
---|---|
an | 1 つ目のソースブロック - 4 つのベクトル |
b | 2 つ目のソースブロックへのポインター |
c | 3 つ目のソース - アキュムレーター |
k | セレクターとして使用されるマスク |
命令: v4fmaddps zmm {k}, zmm+3, m128
マスク k を使用して、ソース・レジスター・ブロック {a0, a1, a2, a3} のパックド単精度浮動小数点値に b がポイントする浮動小数点値を掛けて、結果を c に累積します。マスクの対応するビットが設定されていない場合は要素が 0 に設定されます。
_mm512_4fnmadd_ps
__mm512i _mm512_4fnmadd_ps (__m512 c, __m512 a0, __m512 a1, __m512 a2, __m512 a3, __m128 * b)
変数 | 定義 |
---|---|
an | 1 つ目のソースブロック - 4 つのベクトル |
b | 2 つ目のソースブロックへのポインター |
c | 3 つ目のソース - アキュムレーター |
命令: v4fnmaddps zmm1, zmm2+3, m128
ソース・レジスター・ブロック {a0, a1, a2, a3} のパックド単精度浮動小数点値に b がポイントする浮動小数点値を掛けて、符号を反転した結果を c に累積します。
_mm512_mask_4fnmadd_ps
__mm512i _mm512_mask_4fnmadd_ps (__m512 c, __mmask16 k, __m512 a0, __m512 a1, __m512 a2, __m512 a3, __m128 * b)
変数 | 定義 |
---|---|
an | 1 つ目のソースブロック - 4 つのベクトル |
b | 2 つ目のソースブロックへのポインター |
c | 3 つ目のソース - アキュムレーター |
k | セレクターとして使用されるマスク |
命令: v4fnmaddps zmm1 {k}, zmm2+3, m128
マスク k を使用して、ソース・レジスター・ブロック {a0, a1, a2, a3} のパックド単精度浮動小数点値に b がポイントする浮動小数点値を掛けて、符号を反転した結果を c に累積します。マスクの対応するビットが設定されていない場合は c の要素がコピーされます。
_mm512_maskz_4fnmadd_ps
__mm512i _mm512_maskz_4fnmadd_ps (__m512 c, __mmask16 k, __m512 a0, __m512 a1, __m512 a2, __m512 a3, __m128 * b)
変数 | 定義 |
---|---|
an | 1 つ目のソースブロック - 4 つのベクトル |
b | 2 つ目のソースブロックへのポインター |
c | 3 つ目のソース - アキュムレーター |
k | セレクターとして使用されるマスク |
命令: v4fnmaddps zmm1 {k}, zmm2+3, m128
マスク k を使用して、ソース・レジスター・ブロック {a0, a1, a2, a3} のパックド単精度浮動小数点値に b がポイントする浮動小数点値を掛けて、符号を反転した結果を c に累積します。マスクの対応するビットが設定されていない場合は要素が 0 に設定されます。
_mm_4fmadd_ss
__mm512i _mm_4fmadd_ss (__m128 c, __m128 a0, __m128 a1, __m128 a2, __m128 a3, __m128 * b)
変数 | 定義 |
---|---|
an | 1 つ目のソースブロック - 4 つのベクトル |
b | 2 つ目のソースブロックへのポインター |
c | 3 つ目のソース - アキュムレーター |
命令: v4fmaddss xmm1, xmm2+3, m128
ソース・レジスター・ブロック {a0, a1, a2, a3} の下位のパックドスカラー単精度浮動小数点値に b がポイントする浮動小数点値を掛けて、結果の下位要素を c に累積します。
_mm_mask_4fmadd_ss
__mm512i _mm_mask_4fmadd_ss (__m128 c, __mmask8 k, __m128 a0, __m128 a1, __m128 a2, __m128 a3, __m128 * b)
変数 | 定義 |
---|---|
an | 1 つ目のソースブロック - 4 つのベクトル |
b | 2 つ目のソースブロックへのポインター |
c | 3 つ目のソース - アキュムレーター |
k | セレクターとして使用されるマスク |
命令: v4fmaddss xmm1 {k}, xmm2+3, m128
マスク k を使用して、ソース・レジスター・ブロック {a0, a1, a2, a3} の下位のパックドスカラー単精度浮動小数点値に b がポイントする浮動小数点値を掛けて、結果の下位要素を c に累積します。マスクの対応するビットが設定されていない場合は c の要素がコピーされます。
_mm_maskz_4fmadd_ss
__mm512i _mm_maskz_4fmadd_ss (__m128 c, __mmask8 k, __m128 a0, __m128 a1, __m128 a2, __m128 a3, __m128 * b)
変数 | 定義 |
---|---|
an | 1 つ目のソースブロック - 4 つのベクトル |
b | 2 つ目のソースブロックへのポインター |
c | 3 つ目のソース - アキュムレーター |
k | セレクターとして使用されるマスク |
命令: v4fmaddss xmm1 {k}, xmm2+3, m128
マスク k を使用して、ソース・レジスター・ブロック {a0, a1, a2, a3} の下位のパックドスカラー単精度浮動小数点値に b がポイントする浮動小数点値を掛けて、結果の下位要素を c に累積します。マスクの対応するビットが設定されていない場合は要素が 0 に設定されます。
_mm_4fnmadd_ss
__mm512i _mm_4fnmadd_ss (__m128 c, __m128 a0, __m128 a1, __m128 a2, __m128 a3, __m128 * b)
変数 | 定義 |
---|---|
an | 1 つ目のソースブロック - 4 つのベクトル |
b | 2 つ目のソースブロックへのポインター |
c | 3 つ目のソース - アキュムレーター |
命令: v4fnmaddss xmm1, xmm2+3, m128
ソース・レジスター・ブロック {a0, a1, a2, a3} の下位のパックドスカラー単精度浮動小数点値に b がポイントする浮動小数点値を掛けて、符号を反転した結果の下位要素を c に累積します。
_mm_mask_4fnmadd_ss
__mm512i _mm_mask_4fnmadd_ss (__m128 c, __mmask8 k, __m128 a0, __m128 a1, __m128 a2, __m128 a3, __m128 * b)
変数 | 定義 |
---|---|
an | 1 つ目のソースブロック - 4 つのベクトル |
b | 2 つ目のソースブロックへのポインター |
c | 3 つ目のソース - アキュムレーター |
k | セレクターとして使用されるマスク |
命令: v4fnmaddss xmm1 {k}, xmm2+3, m128
マスク k を使用して、ソース・レジスター・ブロック {a0, a1, a2, a3} の下位のパックドスカラー単精度浮動小数点値に b がポイントする浮動小数点値を掛けて、符号を反転した結果の下位要素を c に累積します。マスクの対応するビットが設定されていない場合は c の要素がコピーされます。
_mm_maskz_4fnmadd_ss
__mm512i _mm_maskz_4fnmadd_ss (__m128 c, __mmask8 k, __m128 a0, __m128 a1, __m128 a2, __m128 a3, __m128 * b)
変数 | 定義 |
---|---|
an | 1 つ目のソースブロック - 4 つのベクトル |
b | 2 つ目のソースブロックへのポインター |
c | 3 つ目のソース - アキュムレーター |
k | セレクターとして使用されるマスク |
命令: v4fnmaddss xmm1 {k}, xmm2+3, m128
マスク k を使用して、ソース・レジスター・ブロック {a0, a1, a2, a3} の下位のパックドスカラー単精度浮動小数点値に b がポイントする浮動小数点値を掛けて、符号を反転した結果の下位要素を c に累積します。マスクの対応するビットが設定されていない場合は要素が 0 に設定されます。