summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/cmm/PprC.hs12
1 files changed, 4 insertions, 8 deletions
diff --git a/compiler/cmm/PprC.hs b/compiler/cmm/PprC.hs
index 8b30bbf692..9e8ced88b5 100644
--- a/compiler/cmm/PprC.hs
+++ b/compiler/cmm/PprC.hs
@@ -379,14 +379,10 @@ pprExpr e = case e of
CmmReg reg -> pprCastReg reg
CmmRegOff reg 0 -> pprCastReg reg
- CmmRegOff reg i
- | i < 0 && negate_ok -> pprRegOff (char '-') (-i)
- | otherwise -> pprRegOff (char '+') i
- where
- pprRegOff op i' = pprCastReg reg <> op <> int i'
- negate_ok = negate (fromIntegral i :: Integer) <
- fromIntegral (maxBound::Int)
- -- overflow is undefined; see #7620
+ -- CmmRegOff is an alias of MO_Add
+ CmmRegOff reg i -> sdocWithDynFlags $ \dflags ->
+ pprCastReg reg <> char '+' <>
+ pprHexVal (fromIntegral i) (wordWidth dflags)
CmmMachOp mop args -> pprMachOpApp mop args