ストリーミング SIMD 拡張命令を使用する浮動小数点演算組み込み関数
ストリーミング SIMD 拡張命令 (SSE) の組み込み関数を使用してプログラムを作成する際は、ストリーミング SIMD 拡張命令 (SSE) によって提供されるハードウェア機能についてよく理解している必要があります。特に、次の 4 つの重要な点に注意してください。
- _mm_loadr_ps や _mm_cmpgt_ss などの一部の組み込み関数は、命令セットによって直接にはサポートされていません。これらの組み込み関数は、プログラミング上の便宜のために用意したもので、実際には 2 つ以上のマシン言語命令で構成されています。
- __m128 オブジェクトとしてロードまたはストアされる浮動小数点データは、通常は 16 バイトにアライメントが合っていなければなりません。
- 一部の組み込み関数は、命令の性質上、引数を即値で、すなわち定数整数 (リテラル) で指定する必要があります。
- 2 つの NaN (Not a Number) 引数を操作する算術演算の結果は未定義です。したがって、NaN 引数を使用する FP (浮動小数点) 演算は、対応するアセンブリー言語命令の予想される動作とは一致しません。