X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FnativeGen%2FPprMach.lhs;h=700700e2f5c06c03ee084fac652d1204433e23f2;hb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;hp=bd242bf3e93aaa4c326422575698c9401e7180b7;hpb=9dd6e1c216993624a2cd74b62ca0f0569c02c26b;p=ghc-hetmet.git diff --git a/ghc/compiler/nativeGen/PprMach.lhs b/ghc/compiler/nativeGen/PprMach.lhs index bd242bf..700700e 100644 --- a/ghc/compiler/nativeGen/PprMach.lhs +++ b/ghc/compiler/nativeGen/PprMach.lhs @@ -1,5 +1,5 @@ % -% (c) The AQUA Project, Glasgow University, 1996 +% (c) The AQUA Project, Glasgow University, 1996-1998 % \section[PprMach]{Pretty-printing assembly language} @@ -17,12 +17,10 @@ module PprMach ( pprInstr ) where import MachRegs -- may differ per-platform import MachMisc -import AbsCSyn ( MagicId ) import CLabel ( pprCLabel_asm, externallyVisibleCLabel ) import CStrings ( charToC ) import Maybes ( maybeToBool ) -import OrdList ( OrdList ) -import Stix ( CodeSegment(..), StixTree ) +import Stix ( CodeSegment(..) ) import Char ( isPrint, isDigit ) import Outputable \end{code} @@ -291,6 +289,7 @@ pprImm :: Imm -> SDoc pprImm (ImmInt i) = int i pprImm (ImmInteger i) = integer i pprImm (ImmCLbl l) = pprCLabel_asm l +pprImm (ImmIndex l i) = pprCLabel_asm l <> char '+' <> int i pprImm (ImmLit s) = s pprImm (ImmLab s) | underscorePrefix = (<>) (char '_') s @@ -300,12 +299,12 @@ pprImm (ImmLab s) | underscorePrefix = (<>) (char '_') s pprImm (LO i) = hcat [ pp_lo, pprImm i, rparen ] where - pp_lo = ptext SLIT("%lo(") + pp_lo = text "%lo(" pprImm (HI i) = hcat [ pp_hi, pprImm i, rparen ] where - pp_hi = ptext SLIT("%hi(") + pp_hi = text "%hi(" #endif \end{code} @@ -442,7 +441,7 @@ pprInstr (ASCII True str) asciify ('\\':cs) n = (<>) (text "\\\\") (asciify cs (n-1)) asciify ('\"':cs) n = (<>) (text "\\\"") (asciify cs (n-1)) asciify (c:cs) n | isPrint c = (<>) (char c) (asciify cs (n-1)) - asciify [c] _ = (<>) (text (charToC c)) (text ("\\0\"")) + asciify [c] _ = (<>) (text (charToC c)) (text ("\\0\"")){-"-} asciify (c:(cs@(d:_))) n | isDigit d = (<>) (text (charToC c)) (asciify cs 0) | otherwise = (<>) (text (charToC c)) (asciify cs (n-1)) @@ -469,7 +468,7 @@ pprInstr (DATA s xs) --UNUSED: HB -> SLIT("\t.byte\t") --UNUSED: S -> SLIT("\t.word\t") L -> SLIT("\t.long\t") - F -> SLIT("\t.long\t") + F -> SLIT("\t.float\t") DF -> SLIT("\t.double\t") #endif #if sparc_TARGET_ARCH @@ -1369,9 +1368,9 @@ pprRIReg name b ri reg1 ] pp_ld_lbracket = ptext SLIT("\tld\t[") -pp_rbracket_comma = ptext SLIT("],") -pp_comma_lbracket = ptext SLIT(",[") -pp_comma_a = ptext SLIT(",a") +pp_rbracket_comma = text "]," +pp_comma_lbracket = text ",[" +pp_comma_a = text ",a" #endif {-sparc_TARGET_ARCH-} \end{code}