import BlockId
import Cmm
-import MachRegs -- may differ per-platform
-import MachInstrs
+import Regs -- may differ per-platform
+import Instrs
+import Regs
import CLabel ( CLabel, pprCLabel, externallyVisibleCLabel,
labelDynamic, mkAsmTempLabel, entryLblToInfoLbl )
FF32 -> sLit ""
FF64 -> sLit "d"
)
+
+-- suffix to store/ ST instruction
pprStSize :: Size -> Doc
pprStSize x = ptext (case x of
II8 -> sLit "b"
II16 -> sLit "h"
II32 -> sLit ""
+ II64 -> sLit "x"
FF32 -> sLit ""
FF64 -> sLit "d"
#endif
pprData (CmmAlign bytes) = pprAlign bytes
pprData (CmmDataLabel lbl) = pprLabel lbl
pprData (CmmString str) = pprASCII str
-pprData (CmmUninitialised bytes) = ptext (sLit ".space ") <> int bytes
+pprData (CmmUninitialised bytes) = ptext (sLit s) <> int bytes
+ where s =
+#if defined(solaris2_TARGET_OS)
+ ".skip "
+#else
+ ".space "
+#endif
pprData (CmmStaticLit lit) = pprDataItem lit
pprGloblDecl :: CLabel -> Doc
]
pprInstr (JMP addr) = (<>) (ptext (sLit "\tjmp\t")) (pprAddr addr)
+pprInstr (JMP_TBL op ids) = pprInstr (JMP op)
pprInstr (CALL (Left imm) n _)
= hcat [ ptext (sLit "\tcall\t"), pprImm imm, comma, int n ]