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