diff options
-rw-r--r-- | compiler/cmm/PprC.hs | 12 |
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 |