インテル® C++ コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
インテル® アドバンスト・ベクトル・エクステンション 512 (インテル® AVX-512) 組込み関数のプロトタイプは、zmmintrin.h ヘッダーファイルで定義されていますが、これらの組込み関数を使用する場合、次のように immintrin.h ファイルをインクルードします。
#include <immintrin.h>
この組込み関数はコンパイルに使用されます。命令は生成しません。
組込み関数名 |
演算 |
対応するインテル® AVX-512 命令 |
---|---|---|
_mm512_castpd512_pd128 |
大きな型から小さな型にキャストします。 |
なし |
_mm512_castps512_ps128 |
大きな型から小さな型にキャストします。 |
なし |
_mm512_castsi512_si128 |
大きな型から小さな型にキャストします。 |
なし |
_mm512_castpd512_pd256 |
大きな型から小さな型にキャストします。 |
なし |
_mm512_castps512_ps256 |
大きな型から小さな型にキャストします。 |
なし |
_mm512_castsi512_si256 |
大きな型から小さな型にキャストします。 |
なし |
_mm512_castpd256_pd512 |
小さな型から大きな型へキャストします。 |
なし |
_mm512_castps128_ps512 |
小さな型から大きな型へキャストします。 |
なし |
_mm512_castsi128_si512 |
小さな型から大きな型へキャストします。 |
なし |
_mm512_castpd256_pd512 |
小さな型から大きな型へキャストします。 |
なし |
_mm512_castps256_ps512 |
小さな型から大きな型へキャストします。 |
なし |
_mm512_castsi256_si512 |
小さな型から大きな型へキャストします。 |
なし |
_mm512_castpd_ps |
小さな型から大きな型へキャストします。 |
なし |
_mm512_castpd_si512 |
小さな型から大きな型へキャストします。 |
なし |
_mm512_castps_pd |
小さな型から大きな型へキャストします。 |
なし |
_mm512_castps_si512 |
小さな型から大きな型へキャストします。 |
なし |
_mm512_castsi512_pd |
小さな型から大きな型へキャストします。 |
なし |
_mm512_castsi512_ps |
小さな型から大きな型へキャストします。 |
なし |
変数 | 定義 |
---|---|
a | キャスト操作に使用するベクトル要素 |
_mm512_castpd_ps
extern __m512 __cdecl _mm512_castpd_ps(__m512d a);
値を変更することなく、ベクトル a を __m512d 型から __m512 型にキャストします。
_mm512_castpd_si512
extern __m512i __cdecl _mm512_castpd_si512(__m512d a);
値を変更することなく、ベクトル a を __m512d 型から __m512i 型にキャストします。
_mm512_castps_pd
extern __m512d __cdecl _mm512_castps_pd(__m512 a);
値を変更することなく、ベクトル a を __m512 型から __m512d 型にキャストします。
_mm512_castps_si512
extern __m512i __cdecl _mm512_castps_si512(__m512 a);
値を変更することなく、ベクトル a を __m512 型から __m512i 型にキャストします。
_mm512_castpd128_pd512
extern __m512d __cdecl _mm512_castpd128_pd512(__m128d a);
ベクトル a を __m128d 型から __m512d 型にキャストします。
結果の上位 384 ビットは不定です。
_mm512_castpd256_pd512
extern __m512d __cdecl _mm512_castpd256_pd512(__m256d a);
ベクトル a を __m256d 型から __m512d 型にキャストします。
結果の上位 256 ビットは不定です。
_mm512_castpd512_pd128
extern __m128d __cdecl _mm512_castpd512_pd128(__m512d a);
ベクトル a を __m512d 型から __m128d 型にキャストします。
_mm512_castps512_ps128
extern __m128 __cdecl _mm512_castps512_ps128(__m512 a);
ベクトル a を __m512 型から __m128 型にキャストします。
_mm512_castpd512_pd256
extern __m256d __cdecl _mm512_castpd512_pd256(__m512d a);
ベクトル a を __m512d 型から __m256d 型にキャストします。
_mm512_castps128_ps512
extern __m512 __cdecl _mm512_castps128_ps512(__m128 a);
ベクトル a を __m128 型から __m512 型にキャストします。
結果の上位 384 ビットは不定です。
_mm512_castps256_ps512
extern __m512 __cdecl _mm512_castps256_ps512(__m256 a);
ベクトル a を __m256 型から __m512 型にキャストします。
結果の上位 256 ビットは不定です。
_mm512_castps512_ps256
extern __m256 __cdecl _mm512_castps512_ps256(__m512 a);
ベクトル a を __m512 型から __m256 型にキャストします。
_mm512_castsi128_si512
extern __m512i __cdecl _mm512_castsi128_si512(__m128i a);
ベクトル a を __m128i 型から __m512i 型にキャストします。
結果の上位 384 ビットは不定です。
_mm512_castsi256_si512
extern __m512i __cdecl _mm512_castsi256_si512(__m256i a);
ベクトル a を __m256i 型から __m512i 型にキャストします。
結果の上位 256 ビットは不定です。
_mm512_castsi512_pd
extern __m512d __cdecl _mm512_castsi512_pd(__m512i a);
値を変更することなく、ベクトル a を __m512i 型から __m512d 型にキャストします。
_mm512_castsi512_ps
extern __m512 __cdecl _mm512_castsi512_ps(__m512i a);
値を変更することなく、ベクトル a を __m512i 型から __m512 型にキャストします。
_mm512_castsi512_si128
extern __m128i __cdecl _mm512_castsi512_si128(__m512i a);
ベクトル a を __m512d 型から __m256d 型にキャストします。
_mm512_castsi512_si256
extern __m256i __cdecl _mm512_castsi512_si256(__m512i a);
ベクトル a を __m512i 型から __m256i 型にキャストします。