4.16. プラットフォーム固有のフラグ

フラグには特定のプラットフォームでしか意味をなさないものがある。

-msse2:

(x86のみ、GHC 7.0.1より追加) ネイティブコード生成器を使っているとき、浮動小数点演算の実装にSSE2のレジスタと命令セットを用いる。これは浮動小数点性能の相当な向上をもたらすが、出来たコードはSSE2対応のプロセッサ(Intel Pentium 4以降またはAMD Athlon 64以降)でしか走らない。LLVMバックエンドも、あなたのプロセッサが対応しているならSSE2を使うが、自動的にこれを検出するのでフラグは必要ない。

x86-64プラットフォームでは、無条件にSSE2が使われる。

-msse4.2:

(x86のみ、GHC 7.4.1より追加) ネイティブコード生成器を使っているとき、浮動小数点演算の実装にSSE4.2の命令セットを用いる。出来たコードはSSE4.2対応のプロセッサ(Intel Core i7以降)でしか走らない。LLVMバックエンドも、あなたのプロセッサが対応しているならSSE4.2を使うが、自動的にこれを検出するのでフラグは必要ない。