Open
Description
This tracks the status of s390x vector facilities support in rustc and standard libraries.
- ABI support
- support z13 vector ABI: done in Support s390x z13 vector ABI #131586
rust/compiler/rustc_target/src/abi/call/s390x.rs
Lines 1 to 2 in 58420a0
- remove explicit disabling of the vector feature (blocked on the above FIXME): done in Support s390x z13 vector ABI #131586
- support z13 vector ABI: done in Support s390x z13 vector ABI #131586
- target_feature support
- support nightly-only
cfg(target_feature = "vector")
and unstabletarget_feature(enable = "vector")
(underfeature(s390x_target_feature)
): done in rustc_target: add known safe s390x target features #127506 - support other vector facility-related target features: vector-enhancements-1, vector-enhancements-2, etc. (see also Missing support for target features on s390x #88937); done in add more
s390x
target features #135630 - stabilize
target_feature = "vector"
(and other vector-related target features if available)
At least blocked until ABI support doneUPDATE: ABI support done
And may be more things are needed given the precedent of postponed stabilization of vector features in RISC-V.
- support nightly-only
- asm support
- support clobber-only vector registers: done in Support clobber_abi and vector/access registers (clobber-only) in s390x inline assembly #130630
- stabilize
feature(asm_experimental_arch)
on s390x: done in Stabilize s390x inline assembly #131258 - support
#[repr(simd)]
types in input/output of asm (i.e., fully support vector registers) underfeature(asm_experimental_reg)
: pending in Support input/output in vector registers of s390x inline assembly (under asm_experimental_reg feature) #131664
Both LLVM and GCC do not documentv
constraint, but actually seem to be supported.
Blocked until ABI support done.UPDATE: ABI support done - stabilize
feature(asm_experimental_reg)
for s390x vector registers (Tracking Issue for asm_experimental_reg #133416)
- core_arch support (tracking issue: Tracking Issue for
stdarch_s390x
#135681)- add unstable vector intrinsics to core::arch::s390x: mostly done s390x vector facilities support #130869 (comment)
Blocked until ABI support done.UPDATE: ABI support done
- add unstable vector intrinsics to core::arch::s390x: mostly done s390x vector facilities support #130869 (comment)
- std_detect support (tracking issue: Tracking Issue for
stdarch_s390x_feature_detection
#135413)- support unstable
is_s390x_feature_detected!("vector")
: done in addis_s390x_feature_detected
stdarch#1699
- support unstable
@rustbot label +O-SystemZ
Metadata
Metadata
Assignees
Labels
Area: Concerning the application binary interface (ABI)Area: SIMD (Single Instruction Multiple Data)Area: Inline assembly (`asm!(…)`)Target: SystemZ processors (s390x)Relevant to the compiler team, which will review and decide on the PR/issue.Relevant to the library team, which will review and decide on the PR/issue.