#14619: Output value of program changes upon compiling with -O optimizations -------------------------------------+------------------------------------- Reporter: sheaf | Owner: AndreasK Type: bug | Status: patch Priority: highest | Milestone: 8.4.1 Component: Compiler | Version: 8.2.2 (CodeGen) | Resolution: | Keywords: Operating System: Windows | Architecture: x86_64 Type of failure: Incorrect result | (amd64) at runtime | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4348 Wiki Page: | -------------------------------------+------------------------------------- Comment (by Ben Gamari <ben@…>): In [changeset:"add4e1f11b88cd603f6c01bc135eb576e1922a8e/ghc" add4e1f/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="add4e1f11b88cd603f6c01bc135eb576e1922a8e" Mark xmm6 as caller saved in the register allocator for windows. This prevents the register being picked up as a scratch register. Otherwise the allocator would be free to use it before a call. This fixes #14619. Test Plan: ci, repro case on #14619 Reviewers: bgamari, Phyx, erikd, simonmar, RyanGlScott, simonpj Reviewed By: Phyx, RyanGlScott, simonpj Subscribers: simonpj, RyanGlScott, Phyx, rwbarton, thomie, carter GHC Trac Issues: #14619 Differential Revision: https://phabricator.haskell.org/D4348 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14619#comment:39> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler