summaryrefslogtreecommitdiff
path: root/compiler/GHC/StgToJS
diff options
context:
space:
mode:
authorSylvain Henry <sylvain@haskus.fr>2022-06-15 16:26:04 +0200
committerSylvain Henry <sylvain@haskus.fr>2022-06-15 16:26:04 +0200
commitf893d1f5f8d7197765fa387b57ef8655bfb759d7 (patch)
treef66afd40c05c60ffc3f71369c1a021d41a81a7c2 /compiler/GHC/StgToJS
parent4fc40885f73c0aa256b041df16c114f7ce569c09 (diff)
downloadhaskell-f893d1f5f8d7197765fa387b57ef8655bfb759d7.tar.gz
Add primops
Diffstat (limited to 'compiler/GHC/StgToJS')
-rw-r--r--compiler/GHC/StgToJS/Prim.hs7
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/GHC/StgToJS/Prim.hs b/compiler/GHC/StgToJS/Prim.hs
index f40b4491d1..b1538989d7 100644
--- a/compiler/GHC/StgToJS/Prim.hs
+++ b/compiler/GHC/StgToJS/Prim.hs
@@ -44,6 +44,13 @@ genPrim _ _ CharLtOp [r] [x,y] = PrimInline $ r |= if10 (x .<. y)
genPrim _ _ CharLeOp [r] [x,y] = PrimInline $ r |= if10 (x .<=. y)
genPrim _ _ OrdOp [r] [x] = PrimInline $ r |= x
+genPrim _ _ Int8ToWord8Op [r] [x] = PrimInline $ r |= x
+genPrim _ _ Word8ToInt8Op [r] [x] = PrimInline $ r |= x
+genPrim _ _ Int16ToWord16Op [r] [x] = PrimInline $ r |= x
+genPrim _ _ Word16ToInt16Op [r] [x] = PrimInline $ r |= x
+genPrim _ _ Int32ToWord32Op [r] [x] = PrimInline $ r |= x
+genPrim _ _ Word32ToInt32Op [r] [x] = PrimInline $ r |= x
+
genPrim _ _ IntAddOp [r] [x,y] = PrimInline $ r |= trunc (Add x y)
genPrim _ _ IntSubOp [r] [x,y] = PrimInline $ r |= trunc (Sub x y)
genPrim _ _ IntMulOp [r] [x,y] = PrimInline $ r |= app "h$mulInt32" [x, y]