#5152: GHC generates poor code for large 64-bit literals
--------------------------------------+-------------------------------------
Reporter: bos | Owner: igloo
Type: bug | Status: closed
Priority: normal | Milestone: 7.4.1
Component: Compiler | Version: 7.0.3
Resolution: fixed | Keywords:
Testcase: | Blockedby:
Difficulty: | Os: Unknown/Multiple
Blocking: | Architecture: Unknown/Multiple
Failure: Runtime performance bug |
--------------------------------------+-------------------------------------
Changes (by igloo):
* status: new => closed
* resolution: => fixed
Comment:
With `ghc -O -ddump-simpl` we now get:
{{{
==================== Tidy Core ====================
Result size = 6
Word64.a :: GHC.Word.Word64
[GblId,
Caf=NoCafRefs,
Str=DmdType m,
Unf=Unf{Src=<vanilla>, TopLvl=True, Arity=0, Value=True,
ConLike=True, Cheap=True, Expandable=True,
Guidance=IF_ARGS [] 10 110}]
Word64.a = GHC.Word.W64# __word 11376068507788127593
Word64.b [InlPrag=INLINE (sat-args=0)] :: GHC.Word.Word64
[GblId,
Caf=NoCafRefs,
Str=DmdType m,
Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=False,
ConLike=False, Cheap=False, Expandable=False,
Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=False)
Tmpl= GHC.Word.$fBitsWord64_$cfromInteger
__integer 14097894508562428199}]
Word64.b = GHC.Word.W64# __word 14097894508562428199
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5152#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs