Skip to content

Releases: taiki-e/portable-atomic

1.5.1

29 Oct 16:53
Compare
Choose a tag to compare
  • Fix bug in i{8,16} fetch_{or,xor} on RISC-V without A-extension where unsafe-assume-single-core and force-amo are enabled.

  • Optimize swap for targets that do not have native atomic CAS instructions.

1.5.0

23 Oct 17:24
Compare
Choose a tag to compare
  • Add from_ptr.

  • Add force-amo feature (portable_atomic_force_amo cfg) for single-core RISC-V without A-extension. (#124)

  • Support run-time detection on AArch64 on pre-1.61 rustc. (#98)

    This also solves a compatibility issue with rustc_codegen_cranelift.

  • Support run-time detection of FEAT_LSE2. (#126)

  • Support run-time detection of FEAT_LSE on AArch64 NetBSD. (#66)

  • Acknowledge ESP-IDF targets' 64-bit atomics are not lock-free. See #122 for more.

  • Optimize 128-bit weak CAS on powerpc64.

  • Optimize interrupt disable on no-std pre-v6 ARM where unsafe-assume-single-core and disable-fiq are enabled. (771c45d)

  • Improve detection of Apple hardware. (5c3a43b)

  • Improve compatibility with the future version of Miri.

1.4.3

25 Aug 17:06
Compare
Choose a tag to compare
  • Optimize AArch64 128-bit atomic store/swap/fetch_and/fetch_or when the lse128 target feature is enabled at compile-time. (#68)

  • Optimize AArch64 128-bit atomic load/store when the rcpc3 target feature is enabled at compile-time. (#68)

  • Optimize inline assemblies on ARM, AArch64, and MSP430.

1.4.2

27 Jul 21:43
Compare
Choose a tag to compare
  • Optimize AtomicBool on RISC-V/LoongArch64. This is the same as rust-lang/rust#114034, but is available for all rustc versions.

1.4.1

15 Jul 18:26
Compare
Choose a tag to compare
  • Improve compatibility with the future version of Miri.

1.4.0

11 Jul 19:03
Compare
Choose a tag to compare
  • Allow using embedded-related cfgs as Cargo features. (#94, thanks @Dirbaio)

    Originally, we were providing these as cfgs instead of features, but based on a strong request from the embedded ecosystem, we have agreed to provide them as features as well. See #94 for more.

    cfgs are kept and can be used as aliases for features.

  • Acknowledge all x86_64 Apple targets support 128-bit atomics.

    Our code already recognizes this via cfg(target_feature), so this only affects docs and users using pre-1.69 stable rustc.

    See also rust-lang/rust#112150.

  • Optimize 128-bit atomics on aarch64/s390x.

1.3.3

31 May 00:11
Compare
Choose a tag to compare
  • Fix build error on aarch64 ILP32 ABI targets (tier 3).

  • Optimize 128-bit atomics on s390x.

1.3.2

09 May 17:21
Compare
Choose a tag to compare
  • Fix bug in powerpc64/s390x 128-bit atomic RMWs on old nightly.

  • Optimize 128-bit atomics on powerpc64/s390x.

1.3.1

07 May 04:19
Compare
Choose a tag to compare
  • Documentation improvements.

0.3.20

07 May 04:15
Compare
Choose a tag to compare

The latest version of portable-atomic is 1.x. This release makes portable-atomic 0.3 is built on top of portable-atomic 1.x to make bug fixes and improvements such as support for new targets in 1.x available to the ecosystem that depends on older portable-atomic. portable-atomic 0.3 is still maintained passively, but upgrading to portable-atomic 1.x is recommended. (There are no breaking changes from 0.3, except that a deprecated no-op outline-atomics Cargo feature has been removed.) (#99)