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
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
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