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

整数ブロードキャスト操作の組込み関数

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


組込み関数名

演算

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

_mm512_broadcast_i32x4_mm512_mask_broadcast_i32x4_mm512_maskz_broadcast_i32x4

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

VBROADCASTI32X4

_mm512_broadcast_i64x4_mm512_mask_broadcast_i64x4_mm512_maskz_broadcast_i64x4

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

VBROADCASTI64X4

_mm512_broadcastd_epi32_mm512_mask_broadcastd_epi32_mm512_maskz_broadcastd_epi32

ソースの int32 要素をデスティネーションのダブルワード要素にブロードキャストします。

VPBROADCASTD

_mm512_broadcastq_epi64_mm512_mask_broadcastq_epi64_mm512_maskz_broadcastq_epi64

ソースの int64 要素をデスティネーションのクワッドワード要素にブロードキャストします。

VPBROADCASTQ

_mm512_broadcastmb_epi64

入力マスクの下位バイトをデスティネーションのすべての int64 要素にブロードキャストします。

VPBROADCASTMB2Q

_mm512_broadcastmw_epi32

入力マスクの下位ワードをデスティネーションのすべての int32 要素にブロードキャストします。

VPBROADCASTMD2W


変数 定義
k

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

a

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

src

書き込みマスクの結果に応じて使用されるソース要素


_mm512_broadcast_i32x4

extern __m512i __cdecl _mm512_broadcast_i32x4(__m128i a);

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


_mm512_mask_broadcast_i32x4

extern __m512i __cdecl _mm512_mask_broadcast_i32x4(__m512i src, __mmask16 k, __m128i a);

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


_mm512_maskz_broadcast_i32x4

extern __m512i __cdecl _mm512_maskz_broadcast_i32x4(__mmask16 k, __m128i a);

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



_mm512_broadcast_i64x4

extern __m512i __cdecl _mm512_broadcast_i64x4(__m256i a);

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



_mm512_mask_broadcast_i64x4

extern __m512i __cdecl _mm512_mask_broadcast_i64x4(__m512i src, __mmask8 k, __m256i a);

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



_mm512_maskz_broadcast_i64x4

extern __m512i __cdecl _mm512_maskz_broadcast_i64x4(__mmask8 k, __m256i a);

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



_mm512_broadcastd_epi32

extern __m512i __cdecl _mm512_broadcastd_epi32(__m128i a);

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



_mm512_mask_broadcastd_epi32

extern __m512i __cdecl _mm512_mask_broadcastd_epi32(__m512i src, __mmask16 k, __m128i a);

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



_mm512_maskz_broadcastd_epi32

extern __m512i __cdecl _mm512_maskz_broadcastd_epi32(__mmask16 k, __m128i a);

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



_mm512_broadcastq_epi64

extern __m512i __cdecl _mm512_broadcastq_epi64(__m128i a);

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



_mm512_mask_broadcastq_epi64

extern __m512i __cdecl _mm512_mask_broadcastq_epi64(__m512i src, __mmask8 k, __m128i a);

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



_mm512_maskz_broadcastq_epi64

extern __m512i __cdecl _mm512_maskz_broadcastq_epi64(__mmask8 k, __m128i a);

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



_mm512_broadcastmw_epi32

extern __m512i __cdecl _mm512_broadcastmw_epi32(__mmask16 k);

入力マスク k の下位 16 ビットをデスティネーションのすべての 32 ビット要素にブロードキャストします。



_mm512_broadcastmb_epi64

extern __m512i __cdecl _mm512_broadcastmb_epi64(__mmask8 k);

入力マスク k の下位 8 ビットをデスティネーションのすべての 64 ビット要素にブロードキャストします。