mirror of
https://github.com/boostorg/atomic.git
synced 2026-01-19 04:02:09 +00:00
37c2b673242fb9ef0a10064f291f0586de12cdee
ARM64EC is similar to ARM64 in that the binary will run natively on ARM64 CPUs and therefore supports all ARM64 intrinsics. The difference is that it also supports AMD64 intrinsics (and therefore defines _M_AMD64 and _M_X64), which will be emulated by an implicitly linked library. ARM64EC also changes ABI compared to ARM64, but it doesn't affect Boost.Atomic. Changed predefined macro checks in order to use msvc_arm backend for ARM64EC instead of msvc_x86. The benefit is that msvc_arm uses memory order-aware intrinsics instead of the full-fence ones on x86. The downside is that 128-bit atomics won't be available (for now). Also define BOOST_ATOMIC_DETAIL_INT_FP_ENDIAN_MATCH for ARM/ARM64 on Windows.
Boost.Atomic, part of collection of the Boost C++ Libraries, implements atomic operations for various CPU architectures, reflecting and extending the standard interface defined in C++11 and later.
Directories
- build - Boost.Atomic build scripts
- doc - QuickBook documentation sources
- include - Interface headers of Boost.Atomic
- src - Compilable source code of Boost.Atomic
- test - Boost.Atomic unit tests
More information
- Documentation
- Report bugs. Be sure to mention Boost version, platform and compiler you're using. A small compilable code sample to reproduce the problem is always good as well.
- Submit your patches as pull requests against develop branch. Note that by submitting patches you agree to license your modifications under the Boost Software License, Version 1.0.
Build status
| Branch | GitHub Actions | AppVeyor | Test Matrix | Dependencies |
|---|---|---|---|---|
master |
||||
develop |
License
Distributed under the Boost Software License, Version 1.0.
Description
Languages
C++
99.3%
CMake
0.7%
