id summary reporter owner description type status milestone component version severity resolution keywords cc 8574 Optimization for 64 bit loads and stores for 32 bit x86 on gcc Andrey Semashev timblechmann "The attached patch contains some fixes and optimizations for 32 bit x86 atomics support for gcc and its pretenders. In particular, the patch contains: 1. Fix for BOOST_ATOMIC_LLONG_LOCK_FREE macro value on 32 bit x86. The macro should have value 2 when cmpxchg8b instruction is enabled in compile time and 0 otherwise (as long as Boost.Atomic doesn't perform run time detection). 2. Fixed compile time cmpxchg8b presence check. The previous check only worked on compilers with __sync* intrinsics support or on i686 class CPUs (but not later or i586). 3. Optimized 64 bit loads and stores in 32 bit x86. When the target/source memory is 8-byte aligned (which is the most common case) it is possible to avoid expensive ""lock cmpxchg8b"" and use regular loads and stores instead. 4. Added a few missing noexcept specifications." Patches closed To Be Determined atomic Boost Development Trunk Problem fixed