フラグには特定のプラットフォームでしか意味をなさないものがある。
-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を使うが、自動的にこれを検出するのでフラグは必要ない。