インテル® C++ コンパイラー 17.0 デベロッパー・ガイドおよびリファレンス
このトピックは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーにのみ適用されます。
インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャー向け組込み関数は、C データ型のセットをオペランドとして使用します。
__m512 データ型 (__m512、__m512i、および__m512d)
これらのデータ型は、v ベクトルレジスターに直接マップします。
このほかにも、マスクレジスターの値に関連する符号なし short 型 __mmask16 があります。
__m512 データ型は、これらの組込み関数で使用されるインテル® ストリーミング SIMD 拡張命令 (インテル® SSE) のベクトル命令のレジスター内容を表現するのに使用されます。
ヘッダーファイル immintrin.h では、512 ビットのベクトル用に次の __m512 データ型が宣言されています。
データ型 | 対象 |
---|---|
__m512 | 単精度浮動小数点ベクトル (float32 ベクトル) |
__m512i | 32 ビット整数ベクトルと 64 ビット整数ベクトル (int32/int64 ベクトル) |
__m512d | 倍精度浮動小数点ベクトル (float64 ベクトル) |
__m512 データ型は、16 個の 32 ビット浮動小数点値/整数値または 8 個の 64 ビット浮動小数点値/整数値を保持できます。 つまり、ベクトルには 16 個のダブルワード要素または 8 個のクワッドワード要素が含まれます。
コンパイラーは、__m512 型のローカルデータとグローバルデータのアライメントをスタック上の 64 バイト境界に合わせます。 integer 型、float 型、またはdouble 型の配列のアライメントを合わせるには、declspec align(64) 文を使用します。
__m512 データ型は、基本的な ANSI C データ型ではありません。このため、次のような使用上の制限があります。