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

インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーのデータ型

このトピックは、インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャーにのみ適用されます。

インテル® メニー・インテグレーテッド・コア (インテル® MIC) アーキテクチャー向け組込み関数は、C データ型のセットをオペランドとして使用します。

これらのデータ型は、v ベクトルレジスターに直接マップします。

このほかにも、マスクレジスターの値に関連する符号なし short 型 __mmask16 があります。

__m512 データ型

__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 データ型ではありません。このため、次のような使用上の制限があります。

関連情報