[GHC] #8724: CAS and Xchange in SMP.h don't use quadword instructions on x86_64 systems
GHC
ghc-devs at haskell.org
Sat Feb 1 07:28:31 UTC 2014
#8724: CAS and Xchange in SMP.h don't use quadword instructions on x86_64 systems
----------------------------------+-------------------------------------
Reporter: carter | Owner:
Type: bug | Status: new
Priority: highest | Milestone: 7.8.1
Component: Compiler | Version: 7.8.1-rc1
Keywords: | Operating System: Unknown/Multiple
Architecture: x86_64 (amd64) | Type of failure: None/Unknown
Difficulty: Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: |
----------------------------------+-------------------------------------
Ryan Newton pointed out on the mailing list that CAS wasn't behaving
correctly in his heavy concurrency benchmarks.
http://www.haskell.org/pipermail/ghc-devs/2014-February/003944.html
upon looking at the inline ASM, it looks like both CAS and Xchng were
probably using the 32bit versions of their asm operations, or at least
thats my strawman interpretation.
https://github.com/cartazio/ghc/compare/ghc:ghc-7.8...fix_64bit_intel_cas
is the patch, which should be tested and confirmed to resolve this issue
before getting merged in.
This patch makes the 64 bit versions of CAS and xchg use the quad word
instructions
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8724>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list