summaryrefslogtreecommitdiff
path: root/compiler/prelude
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2018-10-09 12:39:14 -0400
committerBen Gamari <ben@smart-cactus.org>2018-10-09 12:40:23 -0400
commitd728c3c578cc9e9205def2c1e96934487b364b7b (patch)
treec542d0ea89dad09c0b8a887266375e4303f9a3a6 /compiler/prelude
parent4eeeb51d5f51083d0ae393009a7fd246223e9791 (diff)
downloadhaskell-d728c3c578cc9e9205def2c1e96934487b364b7b.tar.gz
Revert "Add Int8# and Word8#"
This unfortunately broke i386 support since it introduced references to byte-sized registers that don't exist on that architecture. Reverts binary submodule This reverts commit 5d5307f943d7581d7013ffe20af22233273fba06.
Diffstat (limited to 'compiler/prelude')
-rw-r--r--compiler/prelude/PrelNames.hs121
-rw-r--r--compiler/prelude/TysPrim.hs26
-rw-r--r--compiler/prelude/TysWiredIn.hs33
-rw-r--r--compiler/prelude/TysWiredIn.hs-boot6
-rw-r--r--compiler/prelude/primops.txt.pp82
5 files changed, 76 insertions, 192 deletions
diff --git a/compiler/prelude/PrelNames.hs b/compiler/prelude/PrelNames.hs
index 46d4484e47..d69eaebdcb 100644
--- a/compiler/prelude/PrelNames.hs
+++ b/compiler/prelude/PrelNames.hs
@@ -1682,7 +1682,7 @@ addrPrimTyConKey, arrayPrimTyConKey, arrayArrayPrimTyConKey, boolTyConKey,
byteArrayPrimTyConKey, charPrimTyConKey, charTyConKey, doublePrimTyConKey,
doubleTyConKey, floatPrimTyConKey, floatTyConKey, funTyConKey,
intPrimTyConKey, intTyConKey, int8TyConKey, int16TyConKey,
- int8PrimTyConKey, int32PrimTyConKey, int32TyConKey, int64PrimTyConKey, int64TyConKey,
+ int32PrimTyConKey, int32TyConKey, int64PrimTyConKey, int64TyConKey,
integerTyConKey, naturalTyConKey,
listTyConKey, foreignObjPrimTyConKey, maybeTyConKey,
weakPrimTyConKey, mutableArrayPrimTyConKey, mutableArrayArrayPrimTyConKey,
@@ -1703,39 +1703,37 @@ floatTyConKey = mkPreludeTyConUnique 12
funTyConKey = mkPreludeTyConUnique 13
intPrimTyConKey = mkPreludeTyConUnique 14
intTyConKey = mkPreludeTyConUnique 15
-int8PrimTyConKey = mkPreludeTyConUnique 16
-int8TyConKey = mkPreludeTyConUnique 17
-int16TyConKey = mkPreludeTyConUnique 18
-int32PrimTyConKey = mkPreludeTyConUnique 19
-int32TyConKey = mkPreludeTyConUnique 20
-int64PrimTyConKey = mkPreludeTyConUnique 21
-int64TyConKey = mkPreludeTyConUnique 22
-integerTyConKey = mkPreludeTyConUnique 23
-naturalTyConKey = mkPreludeTyConUnique 24
-
-listTyConKey = mkPreludeTyConUnique 25
-foreignObjPrimTyConKey = mkPreludeTyConUnique 26
-maybeTyConKey = mkPreludeTyConUnique 27
-weakPrimTyConKey = mkPreludeTyConUnique 28
-mutableArrayPrimTyConKey = mkPreludeTyConUnique 29
-mutableByteArrayPrimTyConKey = mkPreludeTyConUnique 30
-orderingTyConKey = mkPreludeTyConUnique 31
-mVarPrimTyConKey = mkPreludeTyConUnique 32
-ratioTyConKey = mkPreludeTyConUnique 33
-rationalTyConKey = mkPreludeTyConUnique 34
-realWorldTyConKey = mkPreludeTyConUnique 35
-stablePtrPrimTyConKey = mkPreludeTyConUnique 36
-stablePtrTyConKey = mkPreludeTyConUnique 37
-eqTyConKey = mkPreludeTyConUnique 39
-heqTyConKey = mkPreludeTyConUnique 40
-arrayArrayPrimTyConKey = mkPreludeTyConUnique 41
-mutableArrayArrayPrimTyConKey = mkPreludeTyConUnique 42
+int8TyConKey = mkPreludeTyConUnique 16
+int16TyConKey = mkPreludeTyConUnique 17
+int32PrimTyConKey = mkPreludeTyConUnique 18
+int32TyConKey = mkPreludeTyConUnique 19
+int64PrimTyConKey = mkPreludeTyConUnique 20
+int64TyConKey = mkPreludeTyConUnique 21
+integerTyConKey = mkPreludeTyConUnique 22
+naturalTyConKey = mkPreludeTyConUnique 23
+
+listTyConKey = mkPreludeTyConUnique 24
+foreignObjPrimTyConKey = mkPreludeTyConUnique 25
+maybeTyConKey = mkPreludeTyConUnique 26
+weakPrimTyConKey = mkPreludeTyConUnique 27
+mutableArrayPrimTyConKey = mkPreludeTyConUnique 28
+mutableByteArrayPrimTyConKey = mkPreludeTyConUnique 29
+orderingTyConKey = mkPreludeTyConUnique 30
+mVarPrimTyConKey = mkPreludeTyConUnique 31
+ratioTyConKey = mkPreludeTyConUnique 32
+rationalTyConKey = mkPreludeTyConUnique 33
+realWorldTyConKey = mkPreludeTyConUnique 34
+stablePtrPrimTyConKey = mkPreludeTyConUnique 35
+stablePtrTyConKey = mkPreludeTyConUnique 36
+eqTyConKey = mkPreludeTyConUnique 38
+heqTyConKey = mkPreludeTyConUnique 39
+arrayArrayPrimTyConKey = mkPreludeTyConUnique 40
+mutableArrayArrayPrimTyConKey = mkPreludeTyConUnique 41
statePrimTyConKey, stableNamePrimTyConKey, stableNameTyConKey,
mutVarPrimTyConKey, ioTyConKey,
- wordPrimTyConKey, wordTyConKey, word8PrimTyConKey, word8TyConKey,
- word16TyConKey, word32PrimTyConKey, word32TyConKey,
- word64PrimTyConKey, word64TyConKey,
+ wordPrimTyConKey, wordTyConKey, word8TyConKey, word16TyConKey,
+ word32PrimTyConKey, word32TyConKey, word64PrimTyConKey, word64TyConKey,
liftedConKey, unliftedConKey, anyBoxConKey, kindConKey, boxityConKey,
typeConKey, threadIdPrimTyConKey, bcoPrimTyConKey, ptrTyConKey,
funPtrTyConKey, tVarPrimTyConKey, eqPrimTyConKey,
@@ -1752,25 +1750,24 @@ ioTyConKey = mkPreludeTyConUnique 57
voidPrimTyConKey = mkPreludeTyConUnique 58
wordPrimTyConKey = mkPreludeTyConUnique 59
wordTyConKey = mkPreludeTyConUnique 60
-word8PrimTyConKey = mkPreludeTyConUnique 61
-word8TyConKey = mkPreludeTyConUnique 62
-word16TyConKey = mkPreludeTyConUnique 63
-word32PrimTyConKey = mkPreludeTyConUnique 64
-word32TyConKey = mkPreludeTyConUnique 65
-word64PrimTyConKey = mkPreludeTyConUnique 66
-word64TyConKey = mkPreludeTyConUnique 67
-liftedConKey = mkPreludeTyConUnique 68
-unliftedConKey = mkPreludeTyConUnique 69
-anyBoxConKey = mkPreludeTyConUnique 70
-kindConKey = mkPreludeTyConUnique 71
-boxityConKey = mkPreludeTyConUnique 72
-typeConKey = mkPreludeTyConUnique 73
-threadIdPrimTyConKey = mkPreludeTyConUnique 74
-bcoPrimTyConKey = mkPreludeTyConUnique 75
-ptrTyConKey = mkPreludeTyConUnique 76
-funPtrTyConKey = mkPreludeTyConUnique 77
-tVarPrimTyConKey = mkPreludeTyConUnique 78
-compactPrimTyConKey = mkPreludeTyConUnique 79
+word8TyConKey = mkPreludeTyConUnique 61
+word16TyConKey = mkPreludeTyConUnique 62
+word32PrimTyConKey = mkPreludeTyConUnique 63
+word32TyConKey = mkPreludeTyConUnique 64
+word64PrimTyConKey = mkPreludeTyConUnique 65
+word64TyConKey = mkPreludeTyConUnique 66
+liftedConKey = mkPreludeTyConUnique 67
+unliftedConKey = mkPreludeTyConUnique 68
+anyBoxConKey = mkPreludeTyConUnique 69
+kindConKey = mkPreludeTyConUnique 70
+boxityConKey = mkPreludeTyConUnique 71
+typeConKey = mkPreludeTyConUnique 72
+threadIdPrimTyConKey = mkPreludeTyConUnique 73
+bcoPrimTyConKey = mkPreludeTyConUnique 74
+ptrTyConKey = mkPreludeTyConUnique 75
+funPtrTyConKey = mkPreludeTyConUnique 76
+tVarPrimTyConKey = mkPreludeTyConUnique 77
+compactPrimTyConKey = mkPreludeTyConUnique 78
-- dotnet interop
objectTyConKey :: Unique
@@ -2044,7 +2041,7 @@ sumRepDataConKey = mkPreludeDataConUnique 73
runtimeRepSimpleDataConKeys, unliftedSimpleRepDataConKeys, unliftedRepDataConKeys :: [Unique]
liftedRepDataConKey :: Unique
runtimeRepSimpleDataConKeys@(liftedRepDataConKey : unliftedSimpleRepDataConKeys)
- = map mkPreludeDataConUnique [74..84]
+ = map mkPreludeDataConUnique [74..82]
unliftedRepDataConKeys = vecRepDataConKey :
tupleRepDataConKey :
@@ -2054,29 +2051,29 @@ unliftedRepDataConKeys = vecRepDataConKey :
-- See Note [Wiring in RuntimeRep] in TysWiredIn
-- VecCount
vecCountDataConKeys :: [Unique]
-vecCountDataConKeys = map mkPreludeDataConUnique [85..90]
+vecCountDataConKeys = map mkPreludeDataConUnique [83..88]
-- See Note [Wiring in RuntimeRep] in TysWiredIn
-- VecElem
vecElemDataConKeys :: [Unique]
-vecElemDataConKeys = map mkPreludeDataConUnique [91..100]
+vecElemDataConKeys = map mkPreludeDataConUnique [89..98]
-- Typeable things
kindRepTyConAppDataConKey, kindRepVarDataConKey, kindRepAppDataConKey,
kindRepFunDataConKey, kindRepTYPEDataConKey,
kindRepTypeLitSDataConKey, kindRepTypeLitDDataConKey
:: Unique
-kindRepTyConAppDataConKey = mkPreludeDataConUnique 101
-kindRepVarDataConKey = mkPreludeDataConUnique 102
-kindRepAppDataConKey = mkPreludeDataConUnique 103
-kindRepFunDataConKey = mkPreludeDataConUnique 104
-kindRepTYPEDataConKey = mkPreludeDataConUnique 105
-kindRepTypeLitSDataConKey = mkPreludeDataConUnique 106
-kindRepTypeLitDDataConKey = mkPreludeDataConUnique 107
+kindRepTyConAppDataConKey = mkPreludeDataConUnique 100
+kindRepVarDataConKey = mkPreludeDataConUnique 101
+kindRepAppDataConKey = mkPreludeDataConUnique 102
+kindRepFunDataConKey = mkPreludeDataConUnique 103
+kindRepTYPEDataConKey = mkPreludeDataConUnique 104
+kindRepTypeLitSDataConKey = mkPreludeDataConUnique 105
+kindRepTypeLitDDataConKey = mkPreludeDataConUnique 106
typeLitSymbolDataConKey, typeLitNatDataConKey :: Unique
-typeLitSymbolDataConKey = mkPreludeDataConUnique 108
-typeLitNatDataConKey = mkPreludeDataConUnique 109
+typeLitSymbolDataConKey = mkPreludeDataConUnique 107
+typeLitNatDataConKey = mkPreludeDataConUnique 108
---------------- Template Haskell -------------------
diff --git a/compiler/prelude/TysPrim.hs b/compiler/prelude/TysPrim.hs
index d9e47be060..4a69df8e3e 100644
--- a/compiler/prelude/TysPrim.hs
+++ b/compiler/prelude/TysPrim.hs
@@ -64,9 +64,6 @@ module TysPrim(
weakPrimTyCon, mkWeakPrimTy,
threadIdPrimTyCon, threadIdPrimTy,
- int8PrimTyCon, int8PrimTy,
- word8PrimTyCon, word8PrimTy,
-
int32PrimTyCon, int32PrimTy,
word32PrimTyCon, word32PrimTy,
@@ -88,9 +85,8 @@ import GhcPrelude
import {-# SOURCE #-} TysWiredIn
( runtimeRepTy, unboxedTupleKind, liftedTypeKind
, vecRepDataConTyCon, tupleRepDataConTyCon
- , liftedRepDataConTy, unliftedRepDataConTy, intRepDataConTy, int8RepDataConTy
- , wordRepDataConTy, int64RepDataConTy, word8RepDataConTy, word64RepDataConTy
- , addrRepDataConTy
+ , liftedRepDataConTy, unliftedRepDataConTy, intRepDataConTy
+ , wordRepDataConTy, int64RepDataConTy, word64RepDataConTy, addrRepDataConTy
, floatRepDataConTy, doubleRepDataConTy
, vec2DataConTy, vec4DataConTy, vec8DataConTy, vec16DataConTy, vec32DataConTy
, vec64DataConTy
@@ -147,7 +143,6 @@ exposedPrimTyCons
, doublePrimTyCon
, floatPrimTyCon
, intPrimTyCon
- , int8PrimTyCon
, int32PrimTyCon
, int64PrimTyCon
, bcoPrimTyCon
@@ -168,7 +163,6 @@ exposedPrimTyCons
, proxyPrimTyCon
, threadIdPrimTyCon
, wordPrimTyCon
- , word8PrimTyCon
, word32PrimTyCon
, word64PrimTyCon
@@ -192,14 +186,12 @@ mkBuiltInPrimTc fs unique tycon
BuiltInSyntax
-charPrimTyConName, intPrimTyConName, int8PrimTyConName, int32PrimTyConName, int64PrimTyConName, wordPrimTyConName, word32PrimTyConName, word8PrimTyConName, word64PrimTyConName, addrPrimTyConName, floatPrimTyConName, doublePrimTyConName, statePrimTyConName, proxyPrimTyConName, realWorldTyConName, arrayPrimTyConName, arrayArrayPrimTyConName, smallArrayPrimTyConName, byteArrayPrimTyConName, mutableArrayPrimTyConName, mutableByteArrayPrimTyConName, mutableArrayArrayPrimTyConName, smallMutableArrayPrimTyConName, mutVarPrimTyConName, mVarPrimTyConName, tVarPrimTyConName, stablePtrPrimTyConName, stableNamePrimTyConName, compactPrimTyConName, bcoPrimTyConName, weakPrimTyConName, threadIdPrimTyConName, eqPrimTyConName, eqReprPrimTyConName, eqPhantPrimTyConName, voidPrimTyConName :: Name
+charPrimTyConName, intPrimTyConName, int32PrimTyConName, int64PrimTyConName, wordPrimTyConName, word32PrimTyConName, word64PrimTyConName, addrPrimTyConName, floatPrimTyConName, doublePrimTyConName, statePrimTyConName, proxyPrimTyConName, realWorldTyConName, arrayPrimTyConName, arrayArrayPrimTyConName, smallArrayPrimTyConName, byteArrayPrimTyConName, mutableArrayPrimTyConName, mutableByteArrayPrimTyConName, mutableArrayArrayPrimTyConName, smallMutableArrayPrimTyConName, mutVarPrimTyConName, mVarPrimTyConName, tVarPrimTyConName, stablePtrPrimTyConName, stableNamePrimTyConName, compactPrimTyConName, bcoPrimTyConName, weakPrimTyConName, threadIdPrimTyConName, eqPrimTyConName, eqReprPrimTyConName, eqPhantPrimTyConName, voidPrimTyConName :: Name
charPrimTyConName = mkPrimTc (fsLit "Char#") charPrimTyConKey charPrimTyCon
intPrimTyConName = mkPrimTc (fsLit "Int#") intPrimTyConKey intPrimTyCon
-int8PrimTyConName = mkPrimTc (fsLit "Int8#") int8PrimTyConKey int8PrimTyCon
int32PrimTyConName = mkPrimTc (fsLit "Int32#") int32PrimTyConKey int32PrimTyCon
int64PrimTyConName = mkPrimTc (fsLit "Int64#") int64PrimTyConKey int64PrimTyCon
wordPrimTyConName = mkPrimTc (fsLit "Word#") wordPrimTyConKey wordPrimTyCon
-word8PrimTyConName = mkPrimTc (fsLit "Word8#") word8PrimTyConKey word8PrimTyCon
word32PrimTyConName = mkPrimTc (fsLit "Word32#") word32PrimTyConKey word32PrimTyCon
word64PrimTyConName = mkPrimTc (fsLit "Word64#") word64PrimTyConKey word64PrimTyCon
addrPrimTyConName = mkPrimTc (fsLit "Addr#") addrPrimTyConKey addrPrimTyCon
@@ -508,10 +500,8 @@ primRepToRuntimeRep rep = case rep of
LiftedRep -> liftedRepDataConTy
UnliftedRep -> unliftedRepDataConTy
IntRep -> intRepDataConTy
- Int8Rep -> int8RepDataConTy
WordRep -> wordRepDataConTy
Int64Rep -> int64RepDataConTy
- Word8Rep -> word8RepDataConTy
Word64Rep -> word64RepDataConTy
AddrRep -> addrRepDataConTy
FloatRep -> floatRepDataConTy
@@ -553,11 +543,6 @@ intPrimTy = mkTyConTy intPrimTyCon
intPrimTyCon :: TyCon
intPrimTyCon = pcPrimTyCon0 intPrimTyConName IntRep
-int8PrimTy :: Type
-int8PrimTy = mkTyConTy int8PrimTyCon
-int8PrimTyCon :: TyCon
-int8PrimTyCon = pcPrimTyCon0 int8PrimTyConName Int8Rep
-
int32PrimTy :: Type
int32PrimTy = mkTyConTy int32PrimTyCon
int32PrimTyCon :: TyCon
@@ -573,11 +558,6 @@ wordPrimTy = mkTyConTy wordPrimTyCon
wordPrimTyCon :: TyCon
wordPrimTyCon = pcPrimTyCon0 wordPrimTyConName WordRep
-word8PrimTy :: Type
-word8PrimTy = mkTyConTy word8PrimTyCon
-word8PrimTyCon :: TyCon
-word8PrimTyCon = pcPrimTyCon0 word8PrimTyConName Word8Rep
-
word32PrimTy :: Type
word32PrimTy = mkTyConTy word32PrimTyCon
word32PrimTyCon :: TyCon
diff --git a/compiler/prelude/TysWiredIn.hs b/compiler/prelude/TysWiredIn.hs
index 30ce75ca8a..20c7d2792a 100644
--- a/compiler/prelude/TysWiredIn.hs
+++ b/compiler/prelude/TysWiredIn.hs
@@ -107,9 +107,8 @@ module TysWiredIn (
vecRepDataConTyCon, tupleRepDataConTyCon, sumRepDataConTyCon,
- liftedRepDataConTy, unliftedRepDataConTy, intRepDataConTy, int8RepDataConTy,
- wordRepDataConTy, int64RepDataConTy, word8RepDataConTy, word64RepDataConTy,
- addrRepDataConTy,
+ liftedRepDataConTy, unliftedRepDataConTy, intRepDataConTy,
+ wordRepDataConTy, int64RepDataConTy, word64RepDataConTy, addrRepDataConTy,
floatRepDataConTy, doubleRepDataConTy,
vec2DataConTy, vec4DataConTy, vec8DataConTy, vec16DataConTy, vec32DataConTy,
@@ -415,18 +414,10 @@ sumRepDataConName = mkWiredInDataConName UserSyntax gHC_TYPES (fsLit "SumRep") s
runtimeRepSimpleDataConNames :: [Name]
runtimeRepSimpleDataConNames
= zipWith3Lazy mk_special_dc_name
- [ fsLit "LiftedRep"
- , fsLit "UnliftedRep"
+ [ fsLit "LiftedRep", fsLit "UnliftedRep"
, fsLit "IntRep"
- , fsLit "WordRep"
- , fsLit "Int8Rep"
- , fsLit "Int64Rep"
- , fsLit "Word8Rep"
- , fsLit "Word64Rep"
- , fsLit "AddrRep"
- , fsLit "FloatRep"
- , fsLit "DoubleRep"
- ]
+ , fsLit "WordRep", fsLit "Int64Rep", fsLit "Word64Rep"
+ , fsLit "AddrRep", fsLit "FloatRep", fsLit "DoubleRep" ]
runtimeRepSimpleDataConKeys
runtimeRepSimpleDataCons
@@ -1179,8 +1170,8 @@ runtimeRepSimpleDataCons :: [DataCon]
liftedRepDataCon :: DataCon
runtimeRepSimpleDataCons@(liftedRepDataCon : _)
= zipWithLazy mk_runtime_rep_dc
- [ LiftedRep, UnliftedRep, IntRep, WordRep, Int8Rep, Int64Rep
- , Word8Rep, Word64Rep, AddrRep, FloatRep, DoubleRep ]
+ [ LiftedRep, UnliftedRep, IntRep, WordRep, Int64Rep
+ , Word64Rep, AddrRep, FloatRep, DoubleRep ]
runtimeRepSimpleDataConNames
where
mk_runtime_rep_dc primrep name
@@ -1188,13 +1179,11 @@ runtimeRepSimpleDataCons@(liftedRepDataCon : _)
-- See Note [Wiring in RuntimeRep]
liftedRepDataConTy, unliftedRepDataConTy,
- intRepDataConTy, int8RepDataConTy, wordRepDataConTy, int64RepDataConTy,
- word8RepDataConTy, word64RepDataConTy, addrRepDataConTy,
- floatRepDataConTy, doubleRepDataConTy :: Type
+ intRepDataConTy, wordRepDataConTy, int64RepDataConTy,
+ word64RepDataConTy, addrRepDataConTy, floatRepDataConTy, doubleRepDataConTy :: Type
[liftedRepDataConTy, unliftedRepDataConTy,
- intRepDataConTy, wordRepDataConTy, int8RepDataConTy, int64RepDataConTy,
- word8RepDataConTy, word64RepDataConTy,
- addrRepDataConTy, floatRepDataConTy, doubleRepDataConTy]
+ intRepDataConTy, wordRepDataConTy, int64RepDataConTy,
+ word64RepDataConTy, addrRepDataConTy, floatRepDataConTy, doubleRepDataConTy]
= map (mkTyConTy . promoteDataCon) runtimeRepSimpleDataCons
vecCountTyCon :: TyCon
diff --git a/compiler/prelude/TysWiredIn.hs-boot b/compiler/prelude/TysWiredIn.hs-boot
index 51e0a78e8e..b777fa187b 100644
--- a/compiler/prelude/TysWiredIn.hs-boot
+++ b/compiler/prelude/TysWiredIn.hs-boot
@@ -22,9 +22,9 @@ runtimeRepTy :: Type
liftedRepDataConTyCon, vecRepDataConTyCon, tupleRepDataConTyCon :: TyCon
-liftedRepDataConTy, unliftedRepDataConTy, intRepDataConTy, int8RepDataConTy,
- wordRepDataConTy, int64RepDataConTy, word8RepDataConTy, word64RepDataConTy,
- addrRepDataConTy, floatRepDataConTy, doubleRepDataConTy :: Type
+liftedRepDataConTy, unliftedRepDataConTy, intRepDataConTy,
+ wordRepDataConTy, int64RepDataConTy, word64RepDataConTy, addrRepDataConTy,
+ floatRepDataConTy, doubleRepDataConTy :: Type
vec2DataConTy, vec4DataConTy, vec8DataConTy, vec16DataConTy, vec32DataConTy,
vec64DataConTy :: Type
diff --git a/compiler/prelude/primops.txt.pp b/compiler/prelude/primops.txt.pp
index 162a650b1e..7360ccb758 100644
--- a/compiler/prelude/primops.txt.pp
+++ b/compiler/prelude/primops.txt.pp
@@ -344,88 +344,6 @@ primop ISrlOp "uncheckedIShiftRL#" GenPrimOp Int# -> Int# -> Int#
in the range 0 to word size - 1 inclusive.}
------------------------------------------------------------------------
-section "Int8#"
- {Operations on 8-bit integers.}
-------------------------------------------------------------------------
-
-primtype Int8#
-
-primop Int8Extend "extendInt8#" GenPrimOp Int8# -> Int#
-primop Int8Narrow "narrowInt8#" GenPrimOp Int# -> Int8#
-
-primop Int8NegOp "negateInt8#" Monadic Int8# -> Int8#
-
-primop Int8AddOp "plusInt8#" Dyadic Int8# -> Int8# -> Int8#
- with
- commutable = True
-
-primop Int8SubOp "subInt8#" Dyadic Int8# -> Int8# -> Int8#
-
-primop Int8MulOp "timesInt8#" Dyadic Int8# -> Int8# -> Int8#
- with
- commutable = True
-
-primop Int8QuotOp "quotInt8#" Dyadic Int8# -> Int8# -> Int8#
- with
- can_fail = True
-
-primop Int8RemOp "remInt8#" Dyadic Int8# -> Int8# -> Int8#
- with
- can_fail = True
-
-primop Int8QuotRemOp "quotRemInt8#" GenPrimOp Int8# -> Int8# -> (# Int8#, Int8# #)
- with
- can_fail = True
-
-primop Int8EqOp "eqInt8#" Compare Int8# -> Int8# -> Int#
-primop Int8GeOp "geInt8#" Compare Int8# -> Int8# -> Int#
-primop Int8GtOp "gtInt8#" Compare Int8# -> Int8# -> Int#
-primop Int8LeOp "leInt8#" Compare Int8# -> Int8# -> Int#
-primop Int8LtOp "ltInt8#" Compare Int8# -> Int8# -> Int#
-primop Int8NeOp "neInt8#" Compare Int8# -> Int8# -> Int#
-
-------------------------------------------------------------------------
-section "Word8#"
- {Operations on 8-bit unsigned integers.}
-------------------------------------------------------------------------
-
-primtype Word8#
-
-primop Word8Extend "extendWord8#" GenPrimOp Word8# -> Word#
-primop Word8Narrow "narrowWord8#" GenPrimOp Word# -> Word8#
-
-primop Word8NotOp "notWord8#" Monadic Word8# -> Word8#
-
-primop Word8AddOp "plusWord8#" Dyadic Word8# -> Word8# -> Word8#
- with
- commutable = True
-
-primop Word8SubOp "subWord8#" Dyadic Word8# -> Word8# -> Word8#
-
-primop Word8MulOp "timesWord8#" Dyadic Word8# -> Word8# -> Word8#
- with
- commutable = True
-
-primop Word8QuotOp "quotWord8#" Dyadic Word8# -> Word8# -> Word8#
- with
- can_fail = True
-
-primop Word8RemOp "remWord8#" Dyadic Word8# -> Word8# -> Word8#
- with
- can_fail = True
-
-primop Word8QuotRemOp "quotRemWord8#" GenPrimOp Word8# -> Word8# -> (# Word8#, Word8# #)
- with
- can_fail = True
-
-primop Word8EqOp "eqWord8#" Compare Word8# -> Word8# -> Int#
-primop Word8GeOp "geWord8#" Compare Word8# -> Word8# -> Int#
-primop Word8GtOp "gtWord8#" Compare Word8# -> Word8# -> Int#
-primop Word8LeOp "leWord8#" Compare Word8# -> Word8# -> Int#
-primop Word8LtOp "ltWord8#" Compare Word8# -> Word8# -> Int#
-primop Word8NeOp "neWord8#" Compare Word8# -> Word8# -> Int#
-
-------------------------------------------------------------------------
section "Word#"
{Operations on native-sized unsigned words (32+ bits).}
------------------------------------------------------------------------