Atomic operations on potentially uninitialized integers.
APACHE-2.0 License
Bot releases are visible (Hide)
Support Arm64EC (experimental). (4d94b3c)
Support swap/CAS on AVR (experimental). (71b9a5f)
Make into_inner
const fn
on Rust 1.61+. (align to the std atomic change in Rust 1.79) (9c253dc)
Improve loongarch64 support. (358360c)
Make rustc version detection robust for custom toolchains. (c034611)
Respect RUSTC_WRAPPER
in rustc version detection.
Our build script is now less likely to be re-run unnecessarily in versions where the cargo bug fix is available (cargo 1.79+). (91ec716)
Various optimizations
Published by github-actions[bot] about 1 year ago
Add as_ptr
and from_ptr
.
Optimize weak CAS on PowerPC.
Optimize {8,16}-bit CAS on AArch64.
Published by github-actions[bot] about 1 year ago
MaybeUninit
input/output of inline assembly implemented by rust-lang/rust#114790, where it is available. This greatly improves performance and is almost equivalent to std atomic types. (#19)Published by github-actions[bot] about 1 year ago
Published by github-actions[bot] about 1 year ago
Fix AVR 16-bit atomic load/store.
Optimize AArch64 128-bit atomic store/swap when the lse128
target feature is enabled at compile-time.
Optimize AArch64 128-bit atomic load/store when the rcpc3
target feature is enabled at compile-time.
Published by github-actions[bot] about 1 year ago
Support pre-v6 ARM Linux/Android (e.g., armv5te-unknown-linux-gnueabi, arm-linux-androideabi, etc.).
Support Hexagon (experimental).
Support AVR atomic load/store (experimental).
Improve {8,16}-bit atomic implementations on RISC-V, PowerPC, MIPS, s390x, LoongArch64.
Published by github-actions[bot] about 1 year ago
Support LoongArch64.
Fix build error on MIPS32r6 and MIPS64r6 (both tier 3) since nightly-2023-07-19's target_arch change.
Fix build error on big endian ARMv8 AArch32 (tier 3).
Acknowledge all x86_64 Apple targets support 128-bit atomics.
Our code already recognizes this via cfg(target_feature)
, so this only affects users using pre-1.69 stable rustc.
See also rust-lang/rust#112150.
Optimize inline assemblies.
Published by github-actions[bot] over 1 year ago
Fix build error on aarch64 ILP32 ABI targets (tier 3).
Optimize inline assemblies on PowerPC and s390x.
Published by github-actions[bot] over 1 year ago
Fix bug in s390x atomic RMWs on old nightly.
Optimize inline assemblies on RISC-V, PowerPC, s390x, and MSP430.
Published by github-actions[bot] over 1 year ago
Support 64-bit atomics on ARMv7-R and ARMv8-R.
Fix bug in AArch64 16-bit compare_exchange_weak.
Fix bug in AArch64 128-bit SeqCst load when FEAT_LSE2 is enabled at compile-time.
Optimize AArch64 atomic load when the rcpc
target feature is enabled at compile-time.
Optimize PowerPC/PowerPC64 atomic RMWs.
Published by github-actions[bot] almost 2 years ago
Improve support for ARMv8 AArch32.
Optimize inline assemblies on x86.
Documentation improvements.
Published by github-actions[bot] about 2 years ago
-C target-cpu
rustc flag.Published by github-actions[bot] about 2 years ago
Support MSP430 atomic load/store.
Use track_caller when debug assertions are enabled.
Published by github-actions[bot] about 2 years ago
lse
target feature is enabled at compile-time.Published by github-actions[bot] about 2 years ago
Published by github-actions[bot] over 2 years ago
Published by github-actions[bot] over 2 years ago
Fix bug in powerpc64 128-bit atomics.
Documentation improvements.
Published by github-actions[bot] over 2 years ago
Published by github-actions[bot] over 2 years ago
Support PowerPC.
Support s390x.
Implement RISC-V 8-bit and 16-bit swap.
Implement MIPS32r2 8-bit and 16-bit swap.
Implement MIPS64r2 8-bit and 16-bit swap.