-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support 128-bit atomics on s390x #130558
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