You may specify that a different program be used for one of the phases of the compilation system, in place of whatever the driver `ghc' has wired into it. For example, you might want to try a different assembler. The `-pgm<phase-code><program-name>' option to `ghc' will cause it to use <program-name> for phase <phase-code>, where the codes to indicate the phases are:
code phase ------------------------------------ L literate pre-processor P C pre-processor (if -cpp only) C Haskell compiler c C compiler a assembler l linker