ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris Studio 12.3: C ユーザーガイド Oracle Solaris Studio 12.3 Information Library (日本語) |
2.11.3 does_not_read_global_data
2.11.5 does_not_write_global_data
2.11.26 warn_missing_parameter_info
2.14.5 __FUNCTION__ と __PRETTY_FUNCTION__
2.16.1 -I- オプションによる検索アルゴリズムの変更
mmintrin.h ヘッダーファイル内で宣言されたプロトタイプは Intel MMX 組み込み関数をサポートし、互換性のために提供されています。
次の表に示すように、特定のヘッダーファイルは、追加の拡張プラットフォーム組み込み関数のプロトタイプを提供します。
表 2-5 MMX および拡張 x86 組み込み関数
|
各ヘッダーファイルは、表内でそれより前にあるプロトタイプをインクルードします。たとえば、SSE4.1 プラットフォーム上では、smmintrin.h は tmmintrin.h をインクルードし、これは pmmintrin.h をインクルードし、この関係が mmintrin.h まで続くため、smmintrin.h をユーザープログラムにインクルードすることで、SSE4.1、SSSE3、SSE3、SSE2、SSE、および MMX プラットフォームをサポートする組み込み関数名が宣言されます。
ammintrin.h は AMD が発行したものであり、Intel 組み込み関数ヘッダーからは一切インクルードされないことに注意してください。ammintrin.h は pmmintrin.h をインクルードするため、ammintrin.h をインクルードすれば、すべての AMD SSE4A だけでなく、Intel の SSE3、SSE2、SSE、および MMX 関数も宣言されます。
また、単一の Oracle Solaris Studio ヘッダーファイル sunmedia_intrin.h は、Intel ヘッダーファイルの宣言はすべてインクルードしますが、AMD ヘッダーファイル ammintrin.h はインクルードしません。
ホストプラットフォーム (SSE3 など) に配備された、何らかのスーパーセットの組み込み関数 (AVX 用など) を呼び出すコードは、Solaris プラットフォームの場合はロードされませんし、Linux プラットフォームの場合は未定義の動作や不正な結果を伴って失敗する可能性があるので、注意してください。これらのプラットフォーム固有の組み込み関数を呼び出すプログラムは、それらの関数をサポートするプラットフォームにのみ配備してください。
これらはシステムヘッダーファイルであり、次の例に示すようにプログラムに現れるようにしてください。
#include <nmmintrin.h>
これらの組み込み関数の詳細については、最新の Intel C++ コンパイラリファレンスガイドを参照してください。