diff options
author | simonmar <unknown> | 2006-01-09 10:31:14 +0000 |
---|---|---|
committer | simonmar <unknown> | 2006-01-09 10:31:14 +0000 |
commit | e1001abdb4f7ff4d703fc3dc0d587f861e11740c (patch) | |
tree | aeb786d0f325dd2d2544a455fdbd477c1eab67a3 | |
parent | 9d7da331989abcd1844e9d03b8d1e4163796fa85 (diff) | |
download | haskell-e1001abdb4f7ff4d703fc3dc0d587f861e11740c.tar.gz |
[project @ 2006-01-09 10:31:14 by simonmar]
ord# and chr# should be no-ops, not conversions between wordRep and I32.
-rw-r--r-- | ghc/compiler/codeGen/CgPrimOp.hs | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/ghc/compiler/codeGen/CgPrimOp.hs b/ghc/compiler/codeGen/CgPrimOp.hs index ccb252b484..e59aafd2c1 100644 --- a/ghc/compiler/codeGen/CgPrimOp.hs +++ b/ghc/compiler/codeGen/CgPrimOp.hs @@ -330,6 +330,8 @@ nopOp Int2WordOp = True nopOp Word2IntOp = True nopOp Int2AddrOp = True nopOp Addr2IntOp = True +nopOp ChrOp = True -- Int# and Char# are rep'd the same +nopOp OrdOp = True nopOp _ = False -- These PrimOps turn into double casts @@ -451,9 +453,6 @@ translateOp Float2IntOp = Just (MO_S_Conv F32 wordRep) translateOp Float2DoubleOp = Just (MO_S_Conv F32 F64) translateOp Double2FloatOp = Just (MO_S_Conv F64 F32) -translateOp OrdOp = Just (MO_U_Conv I32 wordRep) -translateOp ChrOp = Just (MO_U_Conv wordRep I32) - -- Word comparisons masquerading as more exotic things. translateOp SameMutVarOp = Just mo_wordEq |