Some flags only make sense for particular target
platforms.
-mv8:
(SPARC machines) Means to pass the like-named
option to GCC; it says to use the Version 8 SPARC
instructions, notably integer multiply and divide. The
similiar -m* GCC options for SPARC also
work, actually.
-monly-[32]-regs:
(iX86 machines) GHC tries to
“steal” four registers from GCC, for performance
reasons; it almost always works. However, when GCC is
compiling some modules with four stolen registers, it will
crash, probably saying:
Foo.hc:533: fixed or forbidden register was spilled.
This may be due to a compiler bug or to impossible asm
statements or clauses.
Just give some registers back with
-monly-N-regs. Try `3' first, then `2'.
If `2' doesn't work, please report the bug to us.