インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 組込み関数のプロトタイプは、zmmintrin.h ヘッダーファイルで定義されていますが、これらの組込み関数を使用する場合、次のように immintrin.h ファイルをインクルードします。
#include <immintrin.h>
組込み関数名 |
演算 |
対応するインテル® AVX-512 命令 |
---|---|---|
_mm512_rcp14_pd、 _mm512_mask_rcp14_pd、 _mm512_maskz_rcp14_pd |
パックド float64 要素の逆数の近似値を計算します。 |
VRCP14PD |
_mm512_rcp14_ps、 _mm512_mask_rcp14_ps、 _mm512_maskz_rcp14_ps |
パックド float32 要素の逆数の近似値を計算します。 |
VRCP14PS |
_mm_rcp14_sd、 _mm_mask_rcp14_sd、 _mm_maskz_rcp14_sd |
スカラー float64 要素の逆数の近似値を計算します。 |
VRCP14SD |
_mm_rcp14_ss、 _mm_mask_rcp14_ss、 _mm_maskz_rcp14_ss |
スカラー float32 要素の逆数の近似値を計算します。 |
VRCP14SS |
_mm512_rcp28_pd、 _mm512_mask_rcp28_pd、 _mm512_maskz_rcp28_pd _mm512_rcp28_round_pd、 _mm512_mask_rcp28_round_pd、 _mm512_maskz_rcp28_round_pd |
相対誤差の範囲内でパックド float64 要素の逆数の近似値を計算します。 |
VRCP28PD |
_mm_rcp28_sd、 _mm_mask_rcp28_sd、 _mm_maskz_rcp28_sd _mm_rcp28_round_sd、 _mm_mask_rcp28_round_sd、 _mm_maskz_rcp28_round_sd |
相対誤差の範囲内でスカラー float64 要素の逆数の近似値を計算します。 |
VRCP28SD |
_mm512_rcp28_ps、 _mm512_mask_rcp28_ps、 _mm512_maskz_rcp28_ps _mm512_rcp28_round_ps、 _mm512_mask_rcp28_round_ps、 _mm512_maskz_rcp28_round_ps |
相対誤差の範囲内でパックド float32 要素の逆数の近似値を計算します。 |
VRCP28PS |
_mm_rcp28_ss、 _mm_mask_rcp28_ss、 _mm_maskz_rcp28_ss _mm_rcp28_round_ss、 _mm_mask_rcp28_round_ss、 _mm_maskz_rcp28_round_ss |
相対誤差の範囲内でスカラー float32 要素の逆数の近似値を計算します。 |
VRCP28SS |
_mm512_recip_pd、 _mm512_mask_recip_pd |
パックド float64 要素の逆数の近似値を計算します。 |
なし |
_mm512_recip_ps、 _mm512_mask_recip_ps |
パックド float32 要素の逆数の近似値を計算します。 |
なし |
変数 | 定義 |
---|---|
k | セレクターとして使用される書き込みマスク |
a | 1 つ目のソースベクトルの要素 |
b | 2 つ目のソースベクトルの要素 |
src | 書き込みマスクの結果に応じて使用されるソース要素 |
_mm512_rcp14_pd
extern __m512d __cdecl _mm512_rcp14_pd(__m512d a);
a のパックド float64 要素の逆数の近似値を計算し、結果を格納します。
この近似値の最大相対誤差は 2(-14) 未満です。
_mm512_mask_rcp14_pd
extern __m512d __cdecl _mm512_mask_rcp14_pd(__m512d src, __mmask8 k, __m512d a);
a のパックド float64 要素の逆数の近似値を計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
この近似値の最大相対誤差は 2(-14) 未満です。
_mm512_maskz_rcp14_pd
extern __m512d __cdecl _mm512_maskz_rcp14_pd(__mmask8 k, __m512d a);
a のパックド float64 要素の逆数の近似値を計算し、ゼロマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
この近似値の最大相対誤差は 2(-14) 未満です。
_mm512_rcp14_ps
extern __m512 __cdecl _mm512_rcp14_ps(__m512 a);
a のパックド float32 要素の逆数の近似値を計算し、結果を格納します。
この近似値の最大相対誤差は 2(-14) 未満です。
_mm512_mask_rcp14_ps
extern __m512 __cdecl _mm512_mask_rcp14_ps(__m512 src, __mmask16 k, __m512 a);
a のパックド float32 要素の逆数の近似値を計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
この近似値の最大相対誤差は 2(-14) 未満です。
_mm512_maskz_rcp14_ps
extern __m512 __cdecl _mm512_maskz_rcp14_ps(__mmask16 k, __m512 a);
a のパックド float32 要素の逆数の近似値を計算し、ゼロマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
この近似値の最大相対誤差は 2(-14) 未満です。
_mm_rcp14_sd
extern __m128d __cdecl _mm_rcp14_sd(__m128d a, __m128d b);
b の下位 float64 要素の逆数の近似値を計算し、結果をデスティネーションの下位要素に格納し、a の上位要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-14) 未満です。
_mm_mask_rcp14_sd
extern __m128d __cdecl _mm_mask_rcp14_sd(__m128d src, __mmask8 k, __m128d a, __m128d b);
b の下位 float64 要素の逆数の近似値を計算し、書き込みマスク k を使用して結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は src の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-14) 未満です。
_mm_maskz_rcp14_sd
extern __m128d __cdecl _mm_maskz_rcp14_sd(__mmask8 k, __m128d a, __m128d b);
b の下位 float64 要素の逆数の近似値を計算し、ゼロマスク k を使用して結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-14) 未満です。
_mm_rcp14_ss
extern __m128 __cdecl _mm_rcp14_ss(__m128 a, __m128 b);
b の下位 float32 要素の逆数の近似値を計算し、結果をデスティネーションの下位要素に格納し、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-14) 未満です。
_mm_mask_rcp14_ss
extern __m128 __cdecl _mm_mask_rcp14_ss(__m128 src, __mmask8 k, __m128 a, __m128 b);
b の下位 float32 要素の逆数の近似値を計算し、書き込みマスク k を使用して結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は src の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-14) 未満です。
_mm_maskz_rcp14_ss
extern __m128 __cdecl _mm_maskz_rcp14_ss(__mmask8 k, __m128 a, __m128 b);
b の下位 float32 要素の逆数の近似値を計算し、ゼロマスク k を使用して結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-14) 未満です。
_mm512_rcp28_round_pd
extern __m512d __cdecl _mm512_rcp28_round_pd(__m512d a);
a のパックド float64 要素の逆数の近似値を計算し、結果を格納します。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_mask_rcp28_round_pd
extern __m512d __cdecl _mm512_mask_rcp28_round_pd(__m512d src, __mmask8 k, __m512d a);
a のパックド float64 要素の逆数の近似値を計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_maskz_rcp28_round_pd
extern __m512d __cdecl _mm512_maskz_rcp28_round_pd(__mmask8 k, __m512d a);
a のパックド float64 要素の逆数の近似値を計算し、ゼロマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_rcp28_pd
extern __m512d __cdecl _mm512_rcp28_pd(__m512d a);
a のパックド float64 要素の逆数の近似値を計算し、結果を格納します。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_mask_rcp28_pd
extern __m512d __cdecl _mm512_mask_rcp28_pd(__m512d src, __mmask8 k, __m512d a);
a のパックド float64 要素の逆数の近似値を計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_maskz_rcp28_pd
extern __m512d __cdecl _mm512_maskz_rcp28_pd(__mmask8 k, __m512d a);
a のパックド float64 要素の逆数の近似値を計算し、ゼロマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_rcp28_round_ps
extern __m512 __cdecl _mm512_rcp28_round_ps(__m512 a);
a のパックド float32 要素の逆数の近似値を計算し、結果を格納します。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_mask_rcp28_round_ps
extern __m512 __cdecl _mm512_mask_rcp28_round_ps(__m512 src, __mmask16 k, __m512 a);
a のパックド float32 要素の逆数の近似値を計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_maskz_rcp28_round_ps
extern __m512 __cdecl _mm512_maskz_rcp28_round_ps(__mmask16 k, __m512 a);
a のパックド float32 要素の逆数の近似値を計算し、ゼロマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_rcp28_ps
extern __m512 __cdecl _mm512_rcp28_ps(__m512 a);
a のパックド float32 要素の逆数の近似値を計算し、結果を格納します。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_mask_rcp28_ps
extern __m512 __cdecl _mm512_mask_rcp28_ps(__m512 src, __mmask16 k, __m512 a);
a のパックド float32 要素の逆数の近似値を計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_maskz_rcp28_ps
extern __m512 __cdecl _mm512_maskz_rcp28_ps(__mmask16 k, __m512 a);
a のパックド float32 要素の逆数の近似値を計算し、ゼロマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_rcp28_round_sd
extern __m128d __cdecl _mm512_rcp28_round_sd(__m128d a, __m128d b);
b の下位 float64 要素の逆数の近似値を計算し、結果をデスティネーションの下位要素に格納し、a の上位要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_mask_rcp28_round_sd
extern __m128d __cdecl _mm512_mask_rcp28_round_sd(__m128d src, __mmask8 k, __m128d a, __m128d b);
b の下位 float64 要素の逆数の近似値を計算し、書き込みマスク k を使用して結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は src の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_maskz_rcp28_round_sd
extern __m128d __cdecl _mm512_maskz_rcp28_round_sd(__mmask8 k, __m128d a, __m128d b);
b の下位 float64 要素の逆数の近似値を計算し、ゼロマスク k を使用して結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_rcp28_round_sd
extern __m128d __cdecl _mm512_rcp28_round_sd(__m128d a, __m128d b);
b の下位 float64 要素の逆数の近似値を計算し、結果をデスティネーションの下位要素に格納し、a の上位要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_mask_rcp28_round_sd
extern __m128d __cdecl _mm512_mask_rcp28_round_sd(__m128d src, __mmask8 k, __m128d a, __m128d b);
b の下位 float64 要素の逆数の近似値を計算し、書き込みマスク k を使用して結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は src の要素がコピーされます)、a の上位要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_maskz_rcp28_round_sd
extern __m128d __cdecl _mm512_maskz_rcp28_round_sd(__mmask8 k, __m128d a, __m128d b);
b の下位 float64 要素の逆数の近似値を計算し、ゼロマスク k を使用して結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_rcp28_round_ss
extern __m128 __cdecl _mm512_rcp28_round_ss(__m128 a, __m128 b);
b の下位 float32 要素の逆数の近似値を計算し、結果をデスティネーションの下位要素に格納し、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_mask_rcp28_round_ss
extern __m128 __cdecl _mm512_mask_rcp28_round_ss(__m128 src, __mmask8 k, __m128 a, __m128 b);
b の下位 float32 要素の逆数の近似値を計算し、書き込みマスク k を使用して結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は src の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_maskz_rcp28_round_ss
extern __m128 __cdecl _mm512_maskz_rcp28_round_ss(__mmask8 k, __m128 a, __m128 b);
b の下位 float32 要素の逆数の近似値を計算し、ゼロマスク k を使用して結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_rcp28_ss
extern __m128 __cdecl _mm512_rcp28_ss(__m128 a, __m128 b);
b の下位 float32 要素の逆数の近似値を計算し、結果をデスティネーションの下位要素に格納し、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_mask_rcp28_ss
extern __m128 __cdecl _mm512_mask_rcp28_ss(__m128 src, __mmask8 k, __m128 a, __m128 b);
b の下位 float32 要素の逆数の近似値を計算し、書き込みマスク k を使用して結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は src の要素がコピーされます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_maskz_rcp28_ss
extern __m128 __cdecl _mm512_maskz_rcp28_ss(__mmask8 k, __m128 a, __m128 b);
b の下位 float32 要素の逆数の近似値を計算し、ゼロマスク k を使用して結果をデスティネーションの下位要素に格納し (マスクビット 0 が設定されていない場合は要素が 0 に設定されます)、a の上位 3 つのパックド要素をデスティネーションの上位要素にコピーします。
この近似値の最大相対誤差は 2(-28) 未満です。
_mm512_recip_pd
extern __m512d __cdecl _mm512_recip_pd(__m512d a);
a の float64 要素の逆数の近似値を計算し、結果を格納します。
_mm512_mask_recip_pd
extern __m512d __cdecl _mm512_mask_recip_pd(__m512d src, __mmask8 k, __m512d a);
a の float64 要素の逆数の近似値を計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_recip_ps
extern __m512 __cdecl _mm512_recip_ps(__m512 a);
a の float32 要素の逆数の近似値を計算し、結果を格納します。
_mm512_mask_recip_ps
extern __m512 __cdecl _mm512_mask_recip_ps(__m512 src, __mmask16 k, __m512 a);
a の float32 要素の逆数の近似値を計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。