summaryrefslogtreecommitdiff
path: root/compiler/GHC/StgToCmm
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2021-07-22 03:58:33 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-08-19 18:02:13 -0400
commitd43442cb8f64449343be2f5516f141ef027b9e99 (patch)
tree8e7b686da96c3ab21aa5c8cae40864e618bbaf89 /compiler/GHC/StgToCmm
parent4ff4d434e9a90623afce00b43e2a5a1ccbdb4c05 (diff)
downloadhaskell-d43442cb8f64449343be2f5516f141ef027b9e99.tar.gz
Make Int64#/Word64# unconditionally available
This prepares us to actually use them when the native size is 64 bits too. I more than saitisfied my curiosity finding they were gated since 47774449c9d66b768a70851fe82c5222c1f60689.
Diffstat (limited to 'compiler/GHC/StgToCmm')
-rw-r--r--compiler/GHC/StgToCmm/Prim.hs9
1 files changed, 0 insertions, 9 deletions
diff --git a/compiler/GHC/StgToCmm/Prim.hs b/compiler/GHC/StgToCmm/Prim.hs
index 290ace9f01..e268761cd7 100644
--- a/compiler/GHC/StgToCmm/Prim.hs
+++ b/compiler/GHC/StgToCmm/Prim.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP #-}
{-# LANGUAGE LambdaCase #-}
{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
@@ -16,8 +15,6 @@ module GHC.StgToCmm.Prim (
shouldInlinePrimOp
) where
-#include "MachDeps.h"
-
import GHC.Prelude hiding ((<*>))
import GHC.Platform
@@ -1100,10 +1097,8 @@ emitPrimOp dflags primop = case primop of
Word16ToInt16Op -> \args -> opNop args
Int32ToWord32Op -> \args -> opNop args
Word32ToInt32Op -> \args -> opNop args
-#if WORD_SIZE_IN_BITS < 64
Int64ToWord64Op -> \args -> opNop args
Word64ToInt64Op -> \args -> opNop args
-#endif
IntToWordOp -> \args -> opNop args
WordToIntOp -> \args -> opNop args
IntToAddrOp -> \args -> opNop args
@@ -1356,7 +1351,6 @@ emitPrimOp dflags primop = case primop of
Word32LtOp -> \args -> opTranslate args (MO_U_Lt W32)
Word32NeOp -> \args -> opTranslate args (MO_Ne W32)
-#if WORD_SIZE_IN_BITS < 64
-- Int64# signed ops
Int64ToIntOp -> \args -> opTranslate64 args (\w -> MO_SS_Conv w (wordWidth platform)) MO_I64_ToI
@@ -1402,7 +1396,6 @@ emitPrimOp dflags primop = case primop of
Word64LeOp -> \args -> opTranslate64 args MO_U_Le MO_W64_Le
Word64LtOp -> \args -> opTranslate64 args MO_U_Lt MO_W64_Lt
Word64NeOp -> \args -> opTranslate64 args MO_Ne MO_x64_Ne
-#endif
-- Char# ops
@@ -1707,7 +1700,6 @@ emitPrimOp dflags primop = case primop of
let stmt = mkAssign (CmmLocal res) (CmmMachOp mop args)
emit stmt
-#if WORD_SIZE_IN_BITS < 64
opTranslate64
:: [CmmExpr]
-> (Width -> MachOp)
@@ -1717,7 +1709,6 @@ emitPrimOp dflags primop = case primop of
case platformWordSize platform of
PW4 -> opCallish args callish
PW8 -> opTranslate args $ mkMop W64
-#endif
-- | Basically a "manual" case, rather than one of the common repetitive forms
-- above. The results are a parameter to the returned function so we know the