diff --git a/ghc/compiler/nativeGen/PprMach.lhs b/ghc/compiler/nativeGen/PprMach.lhs
index 8c686d473fb416261d34c20165ece1eb5328f19a..13d8dfb770296c3bafd435a979b45bbbf46da91b 100644
--- a/ghc/compiler/nativeGen/PprMach.lhs
+++ b/ghc/compiler/nativeGen/PprMach.lhs
@@ -1047,11 +1047,11 @@ pprInstr g@(GCMP sz src1 src2)
              hcat [gtab, text "fcompp ; fstsw %ax ; sahf ; popl %eax"])
 
 pprInstr g@(GABS sz src dst)
-   = pprG g bogus
+   = pprG g (hcat [gtab, gpush src 0, text " ; fabs ; ", gpop dst 1])
 pprInstr g@(GNEG sz src dst)
-   = pprG g bogus
+   = pprG g (hcat [gtab, gpush src 0, text " ; fchs ; ", gpop dst 1])
 pprInstr g@(GSQRT sz src dst)
-   = pprG g bogus
+   = pprG g (hcat [gtab, gpush src 0, text " ; fsqrt ; ", gpop dst 1])
 
 pprInstr g@(GADD sz src1 src2 dst)
    = pprG g (hcat [gtab, gpush src1 0,