インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

設定操作の組込み関数

インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 組込み関数のプロトタイプは、zmmintrin.h ヘッダーファイルで定義されていますが、実際にヘッダーをコードにインクルードする場合は、immintrin.h を使用します。

未定義の値のベクトルの設定


組込み関数名

演算

対応するインテル® AVX-512 命令

_mm512_undefined

要素が未定義の __m512i 型のベクトルを返します。

なし

_mm512_undefined_epi32

要素が未定義の __m512i 型のベクトルを返します。

なし

_mm512_undefined_pd

要素が未定義の __m512d 型のベクトルを返します。

なし

_mm512_undefined_ps

要素が未定義の __m512 型のベクトルを返します。

なし

_mm512_set1_pd

float64 要素をデスティネーションのすべての要素にブロードキャストします。

なし

_mm512_set1_ps

float32 要素をデスティネーションのすべての要素にブロードキャストします。

なし

_mm512_set4_pd

繰り返される 4 つの要素のシーケンスを使用して float64 要素をデスティネーションにブロードキャストします。

なし

_mm512_set4_ps

繰り返される 4 つの要素のシーケンスを使用して float32 要素をデスティネーションにブロードキャストします。

なし

_mm512_set_pd

パックド float64 要素を指定された値にブロードキャストします。

なし

_mm512_set_ps

パックド float32 要素を指定された値にブロードキャストします。

なし

_mm512_setr4_pd

繰り返される 4 つの要素のシーケンスの逆順にパックド float64 要素をブロードキャストします。

なし

_mm512_setr4_ps

繰り返される 4 つの要素のシーケンスの逆順にパックド float32 要素をブロードキャストします。

なし

_mm512_setr_pd

指定された値の逆順にパックド float64 要素をブロードキャストします。

なし

_mm512_setr_ps

指定された値の逆順にパックド float32 要素をブロードキャストします。

なし

_mm512_setzero_pd

すべての要素が 0 に設定された __m512d 型のベクトルを返します。

VXORPD

_mm512_setzero_ps

すべての要素が 0 に設定された __m512 型のベクトルを返します。

VXORPS

_mm512_undefined_pd

要素が未定義の __m512d 型のベクトルを返します。

なし

_mm512_undefined_ps

要素が未定義の __m512 型のベクトルを返します。

なし

_mm512_set1_epi8

a の 8 ビット整数をデスティネーションのすべての要素にブロードキャストします。

VPBROADCASTB

_mm512_set1_epi32_mm512_mask_set1_epi32_mm512_maskz_set1_epi32

1 つの int32 要素をデスティネーションのすべての要素にブロードキャストします。

VPBROADCASTD

_mm512_set1_epi64_mm512_mask_set1_epi64_mm512_maskz_set1_epi64

1 つの int64 要素をデスティネーションのすべての要素にブロードキャストします。

VPBROADCASTQ

_mm512_set1_epi16

1 つの int16 要素をデスティネーションのすべての要素にブロードキャストします。

VPBROADCASTW

_mm512_set4_epi32

繰り返される 4 つの要素のシーケンスを使用してパックド int32 要素をブロードキャストします。

なし

_mm512_set4_epi64

繰り返される 4 つの要素のシーケンスを使用してパックド int64 要素をブロードキャストします。

なし

_mm512_set_epi32

パックド int32 要素を指定された値にブロードキャストします。

なし

_mm512_set_epi64

パックド int64 要素を指定された値にブロードキャストします。

なし

_mm512_setr4_epi32

繰り返される 4 つの要素のシーケンスの逆順にパックド int32 要素をブロードキャストします。

なし

_mm512_setr4_epi64

繰り返される 4 つの要素のシーケンスの逆順にパックド int64 要素をブロードキャストします。

なし

_mm512_setr_epi32

指定された値の逆順にパックド int32 要素をブロードキャストします。

なし

_mm512_setr_epi64

指定された値の逆順にパックド int64 要素をブロードキャストします。

なし

_mm512_setzero_epi32

_mm512_setzero_si512

すべての要素が 0 に設定された __m512i 型のベクトルを返します。

VPXOR


変数 定義
k

セレクターとして使用される書き込みマスク

a

1 つ目のソースベクトルの要素

e

設定操作の要素

abcd

設定操作の要素


_mm512_set1_pd

extern __m512d __cdecl _mm512_set1_pd(double a);

a の float64 値をデスティネーションのすべての要素にブロードキャストします。



_mm512_set1_ps

extern __m512 __cdecl _mm512_set1_ps(float a);

a の float32 値をデスティネーションのすべての要素にブロードキャストします。



_mm512_set4_pd

extern __m512d __cdecl _mm512_set4_pd(double d, double c, double b, double a);

デスティネーションのパックド float64 要素を繰り返される 4 つの要素のシーケンス (dcba dcba) に設定します。



_mm512_set4_ps

extern __m512 __cdecl _mm512_set4_ps(float d, float c, float b, float a);

デスティネーションのパックド float32 要素を繰り返される 4 つの要素のシーケンス (dcba dcba dcba dcba) に設定します。



_mm512_set_pd

extern __m512 __cdecl _mm512_set_pd(float e7, float e6, float e5, float e4, float e3, float e2, float e1, float e0);

デスティネーションのパックド float64 要素を指定された値に設定します。



_mm512_set_ps

extern __m512 __cdecl _mm512_set_ps(float e15, float e14, float e13, float e12, float e11, float e10, float e9, float e8, float e7, float e6, float e5, float e4, float e3, float e2, float e1, float e0);

デスティネーションのパックド float32 要素を指定された値に設定します。



_mm512_setr4_pd

extern __m512d __cdecl _mm512_setr4_pd(double a, double b, double c, double d);

デスティネーションのパックド float64 要素を、繰り返される 4 つの要素のシーケンスの逆順にブロードキャストします。



_mm512_setr4_ps

extern __m512 __cdecl _mm512_setr4_ps(float a, float b, float c, float d);

デスティネーションのパックド float32 要素を、繰り返される 4 つの要素のシーケンスの逆順に設定します。



_mm512_setr_pd

extern __m512d __cdecl _mm512_setr_pd(double e0, double e1, double e2, double e3, double e4, double e5, double e6, double e7);

デスティネーションのパックド float64 要素を指定された値の逆順に設定します。



_mm512_setr_ps

extern __m512 __cdecl _mm512_setr_ps(float e0, float e1, float e2, float e3, float e4, float e5, float e6, float e7, float e8, float e9, float e10, float e11, float e12, float e13, float e14, float e15);

デスティネーションのパックド float32 要素を指定された値の逆順に設定します。



_mm512_setzero_pd

extern __m512 __cdecl _mm512_setzero_pd(void);

すべての要素が 0 に設定された __m512d 型のベクトルを返します。



_mm512_setzero_ps

extern __m512 __cdecl _mm512_setzero_ps(void);

すべての要素が 0 に設定された __m512 型のベクトルを返します。



_mm512_undefined_pd

extern __m512 __cdecl _mm512_undefined_pd(void)

要素が未定義の __m512d 型のベクトルを返します。



_mm512_undefined_ps

extern __m512 __cdecl _mm512_undefined_ps(void)

要素が未定義の __m512 型のベクトルを返します。



_mm512_set1_epi16

extern __m512i __cdecl _mm512_set1_epi16(short a);

a の int16 をデスティネーションのすべての要素にブロードキャストします。



_mm512_set1_epi8

extern __m512i __cdecl _mm512_set1_epi8(char a);

a の int8 をデスティネーションのすべての要素にブロードキャストします。



_mm512_set1_epi32

extern __m512i __cdecl _mm512_set1_epi32(int a);

a の int32 をデスティネーションのすべての要素にブロードキャストします。



_mm512_mask_set1_epi32

extern __m512i __cdecl _mm512_mask_set1_epi32(__m512i src, __mmask16 k, int a);

書き込みマスク k を使用して、a の int32 をデスティネーションのすべての要素にブロードキャストします (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_maskz_set1_epi32

extern __m512i __cdecl _mm512_maskz_set1_epi32(__mmask16 k, int a);

ゼロマスク k を使用して、a の int32 をデスティネーションのすべての要素にブロードキャストします (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_set1_epi64

extern __m512i __cdecl _mm512_set1_epi64(__int64 a);

a の int64 をデスティネーションのすべての要素にブロードキャストします。



_mm512_mask_set1_epi64

extern __m512i __cdecl _mm512_mask_set1_epi64(__m512i src, __mmask8 k, __int64 a);

書き込みマスク k を使用して、a の int64 をデスティネーションのすべての要素にブロードキャストします (マスクの対応するビットが設定されていない場合は src の要素がコピーされます)。



_mm512_maskz_set1_epi64

extern __m512i __cdecl _mm512_maskz_set1_epi64(__mmask8 k, __int64 a);

ゼロマスク k を使用して、a の int64 をデスティネーションのすべての要素にブロードキャストします (マスクの対応するビットが設定されていない場合は要素が 0 に設定されます)。



_mm512_set4_epi32

extern __m512i __cdecl _mm512_set4_epi32(int d, int c, int b, int a);

デスティネーションのパックド int32 要素を、繰り返される 4 つの要素のシーケンスに設定します。



_mm512_set4_epi64

extern __m512i __cdecl _mm512_set4_epi64(__int64 d, __int64 c, __int64 b, __int64 a);

デスティネーションのパックド int64 要素を、繰り返される 4 つの要素のシーケンスに設定します。



_mm512_set_epi32

extern __m512i __cdecl _mm512_set_epi32(int e15, int e14, int e13, int e12, int e11, int e10, int e9, int e8, int e7, int e6, int e5, int e4, int e3, int e2, int e1, int e0);

デスティネーションのパックド int32 を指定された値に設定します。



_mm512_set_epi64

extern __m512i __cdecl _mm512_set_epi64(__int64 e7, __int64 e6, __int64 e5, __int64 e4, __int64 e3, __int64 e2, __int64 e1, __int64 e0);

デスティネーションのパックド int64 を指定された値に設定します。



_mm512_setr4_epi32

extern __m512i __cdecl _mm512_setr4_epi32(int a, int b, int c, int d);

デスティネーションのパックド int32 を繰り返される 4 つの要素のシーケンスの逆順に設定します。



_mm512_setr4_epi64

extern __m512i __cdecl _mm512_setr4_epi64(__int64 a, __int64 b, __int64 c, __int64 d);

デスティネーションのパックド int64 を繰り返される 4 つの要素のシーケンスの逆順に設定します。



_mm512_setr_epi32

extern __m512i __cdecl _mm512_setr4_epi32(int a, int b, int c, int d);

デスティネーションのパックド int32 を指定された値の逆順に設定します。



_mm512_setr_epi64

extern __m512i __cdecl _mm512_setr_epi64(__int64 e0, __int64 e1, __int64 e2, __int64 e3, __int64 e4, __int64 e5, __int64 e6, __int64 e7);

デスティネーションのパックド int64 を指定された値の逆順に設定します。



_mm512_setzero_epi32

extern __m512 __cdecl _mm512_setzero(void);

すべての要素が 0 に設定された __m512i 型のベクトルを返します。



_mm512_setzero_si512

extern __m512 __cdecl _mm512_setzero(void);

すべての要素が 0 に設定された __m512i 型のベクトルを返します。



_mm512_undefined_epi32

extern __m512 __cdecl _mm512_undefined_epi32(void);

要素が未定義の __m512i 型のベクトルを返します。



_mm512_setzero

extern __m512 __cdecl _mm512_setzero(void);

すべての要素が 0 に設定された __m512 型のベクトルを返します。



_mm512_undefined

extern __m512 __cdecl _mm512_undefined(void);

要素が未定義の __m512 型のベクトルを返します。