stabilize s390x vector registers#154184
Open
folkertdev wants to merge 1 commit intorust-lang:mainfrom
Open
Conversation
This comment has been minimized.
This comment has been minimized.
2986c81 to
ba604f5
Compare
This comment has been minimized.
This comment has been minimized.
ba604f5 to
e182fef
Compare
Amanieu
reviewed
Mar 22, 2026
2 tasks
Contributor
|
Thanks @folkertdev; I'll be looking to see that @Amanieu confirms this is OK after the back and force. @rfcbot fcp merge lang |
Collaborator
|
Team member @traviscross has proposed to merge this. The next step is review by the rest of the tagged team members: No concerns currently listed. Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns. |
Member
Collaborator
|
🔔 This is now entering its final comment period, as per the review above. 🔔 |
Amanieu
approved these changes
Mar 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
tracking issue: #133416
reference PR: rust-lang/reference#2215
Stabilizes s390x vector registers, e.g.
The types that are accepted for vreg registers are
f16,f32,f64,f128i32,i64andi128and their unsigned counterpartsi8x16,i16x8,i32x4,i64x2and their unsigned counterpartsf16x8,f32x4andf64x2Support for all of these is tested in https://github.com/rust-lang/rust/blob/main/tests/assembly-llvm/asm/s390x-types.rs, and the types correspond with the LLVM definition in https://github.com/llvm/llvm-project/blob/df9eb79970c012990e829d174d181d575d414efe/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td#L312-L339
The
f16,f16x8andf128types are unstable, and so can't be used on stable in practice. They do show up in some error messages though.vregwas previously only accepted as a clobber.Currently the vector types in
core::arch::s390xare still unstable. Separately stabilizingvregis still useful because scalar types can also be put intovregs.Implementation history
f16inline ASM support for s390x #150826cc @uweigand @taiki-e
r? @Amanieu