-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Support 128-bit atomics on s390x #130558
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Support 128-bit atomics on s390x #130558
Conversation
These commits modify compiler targets. |
I have tested LLVM's s390x 128-bit atomic implementation with LLVM 19 (rustc nightly-2024-09-19) and 18 (rustc nightly-2024-07-31) using the portable-atomic's test suite (that has caught some of the issues mentioned in #99069 (comment) in the past), an |
Thanks! I also ran the portable-atomic tests and core tests with this change on real hardware (z16), and it passed. @bors r+ rollup |
…iaskrgr Rollup of 5 pull requests Successful merges: - rust-lang#128001 (Improve documentation for <integer>::from_str_radix) - rust-lang#130553 ([Clippy] Get rid of most `std` `match_def_path` usage, swap to diagnostic items.) - rust-lang#130554 (`pal::unsupported::process::ExitCode`: use an `u8` instead of a `bool`) - rust-lang#130556 (Mark the `link_cfg` feature as internal) - rust-lang#130558 (Support 128-bit atomics on s390x) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#130558 - taiki-e:s390x-atomic-128, r=cuviper Support 128-bit atomics on s390x Since LLVM 18 (llvm/llvm-project@c568927), 128-bit atomics are fully supported on s390x. And the current minimum external LLVM version is now 18 (rust-lang#130487). s390x 128-bit atomic instructions (lpq,stpq,cdsg) has been present since [the First Edition of the Principles of Operation](https://publibfp.dhe.ibm.com/epubs/pdf/dz9zr000.pdf). (LLVM's minimal supported architecture level [is z10 (the Eighth Edition of the PoP)](https://github.com/llvm/llvm-project/blob/llvmorg-19.1.0/llvm/lib/Target/SystemZ/SystemZProcessors.td#L16-L17).) cc rust-lang#99069 r? `@cuviper`
Since LLVM 18 (llvm/llvm-project@c568927), 128-bit atomics are fully supported on s390x. And the current minimum external LLVM version is now 18 (#130487).
s390x 128-bit atomic instructions (lpq,stpq,cdsg) has been present since the First Edition of the Principles of Operation. (LLVM's minimal supported architecture level is z10 (the Eighth Edition of the PoP).)
cc #99069
r? @cuviper
@rustbot label +O-SystemZ