インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 組込み関数のプロトタイプは、zmmintrin.h ヘッダーファイルで定義されていますが、これらの組込み関数を使用する場合、次のように immintrin.h ファイルをインクルードします。
#include <immintrin.h>
組込み関数名 |
演算 |
対応するインテル® AVX-512 命令 |
---|---|---|
_mm512_ceil_pd、 _mm512_mask_ceil_pd |
float64 ベクトル要素を最も近い整数値へ切り上げます。 |
なし |
_mm512_ceil_ps、 _mm512_mask_ceil_ps |
float32 ベクトル要素を最も近い整数値へ切り上げます。 |
なし |
_mm512_floor_pd、 _mm512_mask_floor_pd |
float64 ベクトル要素を最も近い整数値へ切り下げます。 |
なし |
_mm512_floor_ps、 _mm512_mask_floor_ps |
float32 ベクトル要素を最も近い整数値へ切り下げます。 |
なし |
_mm512_nearbyint_pd、 _mm512_mask_nearbyint_pd |
float64 ベクトル要素を浮動小数点形式の最も近い整数値に丸めます。 |
なし |
_mm512_nearbyint_ps、 _mm512_mask_nearbyint_ps |
float32 ベクトル要素を浮動小数点形式の最も近い整数値に丸めます。 |
なし |
_mm512_rint_pd、 _mm512_mask_rint_pd |
float64 ベクトル要素を最も近い偶数の整数値に丸めます。 |
なし |
_mm512_rint_ps、 _mm512_mask_rint_ps |
float32 ベクトル要素を最も近い偶数の整数値に丸めます。 |
なし |
_mm512_svml_round_pd、 _mm512_mask_svml_round_pd |
float64 ベクトル要素を最も近い整数値に丸めます。 |
なし |
_mm512_trunc_pd、 _mm512_mask_trunc_pd |
float64 ベクトル要素を、その絶対値を超えない最も近い整数値に丸めます。 |
なし |
_mm512_trunc_ps、 _mm512_mask_trunc_ps |
float32 ベクトル要素を、その絶対値を超えない最も近い整数値に丸めます。 |
なし |
変数 | 定義 |
---|---|
k | セレクターとして使用される書き込みマスク |
a | 1 つ目のソースベクトルの要素 |
src | 書き込みマスクの結果に応じて使用されるソース要素 |
_mm512_ceil_pd
extern __m512d __cdecl _mm512_ceil_pd(__m512d a);
a の float64 ベクトル要素を最も近い整数値へ切り上げます。
_mm512_mask_ceil_pd
extern __m512d __cdecl _mm512_mask_ceil_pd(__m512d src, __mmask8 k, __m512d a);
a の float64 ベクトル要素を最も近い整数値へ切り上げ、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_ceil_ps
extern __m512 __cdecl _mm512_ceil_ps(__m512 a);
a の float32 ベクトル要素を最も近い整数値へ切り上げます。
_mm512_mask_ceil_ps
extern __m512 __cdecl _mm512_mask_ceil_ps(__m512 src, __mmask16 k, __m512 a);
a の float32 ベクトル要素を最も近い整数値へ切り上げ、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_floor_pd
extern __m512d __cdecl _mm512_floor_pd(__m512d a);
a の float64 ベクトル要素を最も近い整数値へ切り下げます。
_mm512_mask_floor_pd
extern __m512d __cdecl _mm512_mask_floor_pd(__m512d src, __mmask8 k, __m512d a);
a の float64 ベクトル要素を最も近い整数値へ切り下げ、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_floor_ps
extern __m512 __cdecl _mm512_floor_ps(__m512 a);
a の float32 ベクトル要素を最も近い整数値へ切り下げます。
_mm512_mask_floor_ps
extern __m512 __cdecl _mm512_mask_floor_ps(__m512 src, __mmask16 k, __m512 a);
a の float32 ベクトル要素を最も近い整数値へ切り下げ、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_nearbyint_pd
extern __m512d __cdecl _mm512_nearbyint_pd(__m512d a);
a の float64 ベクトル要素を、浮動小数点形式の最も近い整数値に丸めます。非正確 (inexact) 例外は発生しません。
_mm512_mask_nearbyint_pd
extern __m512d __cdecl _mm512_mask_nearbyint_pd(__m512d src, __mmask8 k, __m512d a);
a の float64 ベクトル要素を、浮動小数点形式の最も近い整数値に丸め、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。非正確 (inexact) 例外は発生しません。
_mm512_nearbyint_ps
extern __m512 __cdecl _mm512_nearbyint_ps(__m512 a);
a の float32 ベクトル要素を、浮動小数点形式の最も近い整数値に丸めます。非正確 (inexact) 例外は発生しません。
_mm512_mask_nearbyint_ps
extern __m512 __cdecl _mm512_mask_nearbyint_ps(__m512 src, __mmask16 k, __m512 a);
a の float32 ベクトル要素を、浮動小数点形式の最も近い整数値に丸め、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。非正確 (inexact) 例外は発生しません。
_mm512_rint_pd
extern __m512d __cdecl _mm512_rint_pd(__m512d a);
a の float64 ベクトル要素を最も近い偶数の整数値に丸めます。
_mm512_mask_rint_pd
extern __m512d __cdecl _mm512_mask_rint_pd(__m512d src, __mmask8 k, __m512d a);
a の float64 ベクトル要素を最も近い偶数の整数値に丸め、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_rint_ps
extern __m512 __cdecl _mm512_rint_ps(__m512 a);
a の float32 ベクトル要素を最も近い偶数の整数値に丸めます。
_mm512_mask_rint_ps
extern __m512 __cdecl _mm512_mask_rint_ps(__m512 src, __mmask16 k, __m512 a);
a の float32 ベクトル要素を最も近い偶数の整数値に丸め、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_svml_round_pd
extern __m512d __cdecl _mm512_svml_round_pd(__m512d a);
a のベクトル要素を最も近い整数値に丸めます。中間の場合は、_mm512_rint_pd 組込み関数のように最も近い偶数の整数値ではなく、丸め方向に関係なくゼロから離れて丸められます。
_mm512_mask_svml_round_pd
extern __m512d __cdecl _mm512_mask_svml_round_pd(__m512d src, __mmask8 k, __m512d a);
a のベクトル要素を最も近い整数値に丸めます。中間の場合は、_mm512_rint_pd 組込み関数のように最も近い偶数の整数値ではなく、丸め方向に関係なくゼロから離れて丸められます。
結果は、書き込みマスク k を使用して格納されます (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_trunc_pd
extern __m512d __cdecl _mm512_trunc_pd(__m512d a);
a の float64 ベクトル要素を、その絶対値を超えない最も近い整数値に丸めます。
_mm512_mask_trunc_pd
extern __m512d __cdecl _mm512_mask_trunc_pd(__m512d src, __mmask8 k, __m512d a);
a の float64 ベクトル要素を、その絶対値を超えない最も近い整数値に丸め、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。
_mm512_trunc_ps
extern __m512 __cdecl _mm512_trunc_ps(__m512 a);
a の float32 ベクトル要素を、その絶対値を超えない最も近い整数値に丸めます。
_mm512_mask_trunc_ps
extern __m512 __cdecl _mm512_mask_trunc_ps(__m512 src, __mmask16 k, __m512 a);
a の float32 ベクトル要素を、その絶対値を超えない最も近い整数値に丸め、書き込みマスク k を使用して結果を格納します (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。