インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 組込み関数のプロトタイプは、zmmintrin.h ヘッダーファイルで定義されていますが、これらの組込み関数を使用する場合、次のように immintrin.h ファイルをインクルードします。
#include <immintrin.h>
組込み関数名 |
演算 |
対応するインテル® AVX-512 命令 |
---|---|---|
_mm512_sqrt_pd、 _mm512_mask_sqrt_pd |
float64 ベクトル要素の平方根を計算します。 |
なし |
_mm512_sqrt_ps、 _mm512_mask_sqrt_ps |
float32 ベクトル要素の平方根を計算します。 |
なし |
_mm512_invsqrt_pd、 _mm512_mask_invsqrt_pd |
float64 ベクトル要素の逆平方根を計算します。 |
なし |
_mm512_invsqrt_ps、 _mm512_mask_invsqrt_ps |
float32 ベクトル要素の逆平方根を計算します。 |
なし |
_mm512_hypot_pd、 _mm512_mask_hypot_pd |
float64 ベクトル要素の平方根を計算します。 |
なし |
_mm512_hypot_ps、 _mm512_mask_hypot_ps |
float32 ベクトル要素の平方根を計算します。 |
なし |
_mm512_cbrt_pd、 _mm512_mask_cbrt_pd |
float64 ベクトル要素の立方根を計算します。 |
なし |
_mm512_cbrt_ps、 _mm512_mask_cbrt_ps |
float32 ベクトル要素の立方根を計算します。 |
なし |
変数 | 定義 |
---|---|
k | セレクターとして使用される書き込みマスク |
a | 1 つ目のソースベクトルの要素 |
b | 2 つ目のソースベクトルの要素 |
src | 書き込みマスクの結果に応じて使用されるソース要素 |
_mm512_sqrt_pd
extern __m512d __cdecl _mm512_sqrt_pd(__m512d a);
a の float64 ベクトル要素の平方根を計算します。
_mm512_mask_sqrt_pd
extern __m512d __cdecl _mm512_mask_sqrt_pd(__m512d src, __mmask8 k, __m512d a);
a の float64 ベクトル要素の平方根を計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_sqrt_ps
extern __m512 __cdecl _mm512_sqrt_ps(__m512 a);
a の float32 ベクトル要素の平方根を計算します。
_mm512_mask_sqrt_ps
extern __m512 __cdecl _mm512_mask_sqrt_ps(__m512 src, __mmask16 k, __m512 a);
a の float32 ベクトル要素の平方根を計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_invsqrt_pd
extern __m512d __cdecl _mm512_invsqrt_pd(__m512d a);
a の float64 ベクトル要素の逆平方根を計算します。
_mm512_mask_invsqrt_pd
extern __m512d __cdecl _mm512_mask_invsqrt_pd(__m512d src, __mmask8 k, __m512d a);
a の float64 ベクトル要素の逆平方根を計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_invsqrt_ps
extern __m512 __cdecl _mm512_invsqrt_ps(__m512 a);
a の float32 ベクトル要素の逆平方根を計算します。
_mm512_mask_invsqrt_ps
extern __m512 __cdecl _mm512_mask_invsqrt_ps(__m512 src, __mmask16 k, __m512 a);
a の float32 ベクトル要素の逆平方根を計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_hypot_pd
extern __m512d __cdecl _mm512_hypot_pd(__m512d a, __m512d b);
a と b の float64 ベクトル要素を辺に持つ直角三角形の斜辺の長さを計算します。
_mm512_mask_hypot_pd
extern __m512d __cdecl _mm512_mask_hypot_pd(__m512d src, __mmask8 k, __m512d a, __m512d b);
a と b の float64 ベクトル要素を辺に持つ直角三角形の斜辺の長さを計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_hypot_ps
extern __m512 __cdecl _mm512_hypot_ps(__m512 a, __m512 b);
a と b の float32 ベクトル要素を辺に持つ直角三角形の斜辺の長さを計算します。
_mm512_mask_hypot_ps
extern __m512 __cdecl _mm512_mask_hypot_ps(__m512 src, __mmask16 k, __m512 a, __m512 b);
a と b の float32 ベクトル要素を辺に持つ直角三角形の斜辺の長さを計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_cbrt_pd
extern __m512d __cdecl _mm512_cbrt_pd(__m512d a);
a の float64 ベクトル要素の立方根を計算します。
_mm512_mask_cbrt_pd
extern __m512d __cdecl _mm512_mask_cbrt_pd(__m512d src, __mmask8 k, __m512d a);
a の float64 ベクトル要素の立方根を計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_cbrt_ps
extern __m512 __cdecl _mm512_cbrt_ps(__m512 a);
a の float32 ベクトル要素の立方根を計算します。
_mm512_mask_cbrt_ps
extern __m512 __cdecl _mm512_mask_cbrt_ps(__m512 src, __mmask16 k, __m512 a);
a の float32 ベクトル要素の立方根を計算し、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。