#10521: Wrong results in strict Word8 storage on x64 -------------------------------------+------------------------------------- Reporter: VincentBerthoux2 | Owner: rwbarton Type: bug | Status: patch Priority: highest | Milestone: 7.10.2 Component: Compiler | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: x86_64 Type of failure: Incorrect result | (amd64) at runtime | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: Phab:D993 -------------------------------------+------------------------------------- Comment (by Reid Barton <rwbarton@…>): In [changeset:"a2f828a370b220839ad9b31a274c0198ef91b7fe/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="a2f828a370b220839ad9b31a274c0198ef91b7fe" Be aware of overlapping global STG registers in CmmSink (#10521) Summary: On x86_64, commit e2f6bbd3a27685bc667655fdb093734cb565b4cf assigned the STG registers F1 and D1 the same hardware register (xmm1), and the same for the registers F2 and D2, etc. When mixing calls to functions involving Float#s and Double#s, this can cause wrong Cmm optimizations that assume the F1 and D1 registers are independent. Reviewers: simonpj, austin Reviewed By: austin Subscribers: simonpj, thomie, bgamari Differential Revision: https://phabricator.haskell.org/D993 GHC Trac Issues: #10521 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10521#comment:11> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler