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

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

-monly-[32]-regs:

(iX86の機械)GHCはパフォーマンスのために四つのレジスタをGCCから「盗もうと」する。これは大抵うまく行く。しかし、ある種のモジュールでは、四つのレジスタを盗まれた状態でGCCがコンパイルしていると、おそらく次のように言ってクラッシュする。

Foo.hc:533: fixed or forbidden register was spilled.
This may be due to a compiler bug or to impossible asm
statements or clauses.

-monly-N-regsでレジスタをいくつか返してやると良い。まず「3」を試し、次に「2」を試す。「2」でもうまく行かないなら、バグとして報告して頂きたい。