summaryrefslogtreecommitdiff
path: root/compiler/nativeGen/PprMach.hs
diff options
context:
space:
mode:
authorBen.Lippmeier@anu.edu.au <unknown>2009-01-20 05:21:13 +0000
committerBen.Lippmeier@anu.edu.au <unknown>2009-01-20 05:21:13 +0000
commit0df5099f0c2088e2ccbb5b8974a7eae4d77eaa1c (patch)
treeb580fa732ad5f534a283725a5b6998eb07f718c2 /compiler/nativeGen/PprMach.hs
parentc6e9a86f03efb4fdef5ed10fcb93b64439fdec60 (diff)
downloadhaskell-0df5099f0c2088e2ccbb5b8974a7eae4d77eaa1c.tar.gz
SPARC NCG: Add support for hardware divide
Diffstat (limited to 'compiler/nativeGen/PprMach.hs')
-rw-r--r--compiler/nativeGen/PprMach.hs16
1 files changed, 13 insertions, 3 deletions
diff --git a/compiler/nativeGen/PprMach.hs b/compiler/nativeGen/PprMach.hs
index eb880fca6a..199fd36498 100644
--- a/compiler/nativeGen/PprMach.hs
+++ b/compiler/nativeGen/PprMach.hs
@@ -2002,9 +2002,19 @@ pprInstr (SLL reg1 ri reg2) = pprRegRIReg (sLit "sll") False reg1 ri reg2
pprInstr (SRL reg1 ri reg2) = pprRegRIReg (sLit "srl") False reg1 ri reg2
pprInstr (SRA reg1 ri reg2) = pprRegRIReg (sLit "sra") False reg1 ri reg2
-pprInstr (RDY rd) = ptext (sLit "\trd\t%y,") <> pprReg rd
-pprInstr (SMUL b reg1 ri reg2) = pprRegRIReg (sLit "smul") b reg1 ri reg2
-pprInstr (UMUL b reg1 ri reg2) = pprRegRIReg (sLit "umul") b reg1 ri reg2
+pprInstr (RDY rd) = ptext (sLit "\trd\t%y,") <> pprReg rd
+pprInstr (WRY reg1 reg2)
+ = ptext (sLit "\twr\t")
+ <> pprReg reg1
+ <> char ','
+ <> pprReg reg2
+ <> char ','
+ <> ptext (sLit "%y")
+
+pprInstr (SMUL b reg1 ri reg2) = pprRegRIReg (sLit "smul") b reg1 ri reg2
+pprInstr (UMUL b reg1 ri reg2) = pprRegRIReg (sLit "umul") b reg1 ri reg2
+pprInstr (SDIV b reg1 ri reg2) = pprRegRIReg (sLit "sdiv") b reg1 ri reg2
+pprInstr (UDIV b reg1 ri reg2) = pprRegRIReg (sLit "udiv") b reg1 ri reg2
pprInstr (SETHI imm reg)
= hcat [