summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/cmm/PprC.hs8
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/cmm/PprC.hs b/compiler/cmm/PprC.hs
index e46fff195d..8b30bbf692 100644
--- a/compiler/cmm/PprC.hs
+++ b/compiler/cmm/PprC.hs
@@ -546,6 +546,14 @@ pprStatics dflags (CmmStaticLit (CmmInt a W32) :
rest)
else pprStatics dflags (CmmStaticLit (CmmInt ((shiftL b 32) .|. a) W64) :
rest)
+pprStatics dflags (CmmStaticLit (CmmInt a W16) :
+ CmmStaticLit (CmmInt b W16) : rest)
+ | wordWidth dflags == W32
+ = if wORDS_BIGENDIAN dflags
+ then pprStatics dflags (CmmStaticLit (CmmInt ((shiftL a 16) .|. b) W32) :
+ rest)
+ else pprStatics dflags (CmmStaticLit (CmmInt ((shiftL b 16) .|. a) W32) :
+ rest)
pprStatics dflags (CmmStaticLit (CmmInt _ w) : _)
| w /= wordWidth dflags
= pprPanic "pprStatics: cannot emit a non-word-sized static literal" (ppr w)